Byte Entropy

v0.1.0Hinzugefügt am 26. Sept. 2026Beispieldaten

Shannon-Entropie über gleitende Fenster einer Binärdatei, um gepackte oder verschlüsselte Abschnitte zu finden.

cargo install kura-rs
kura add byte-entropy

Kopiert die Quelldatei in dein Projekt. Ab dann gehört der Code dir.

Wenn ein anderes Tool bereits einen kura-Befehl installiert, führe cargo install kura-rs --bin kura-rs aus und nutze stattdessen kura-rs add.

use crate::parts::byte_entropy::windows;

for w in windows(&binary, 4096) {
    if w.entropy > 7.2 {
        println!("offset {:#x}: likely packed ({:.2} bits/byte)", w.offset, w.entropy);
    }
}

Verifikation

Beispieldaten

Geprüft gegen scipy.stats.entropy 1.14 (Python). Verfahren: Property-based Testing. Beide Implementierungen erhalten dieselben Eingaben, die Ausgaben werden verglichen.

Referenz
scipy.stats.entropy
Python 1.14
Testfälle
4.000
Property-based Testing
Bestanden
4.000 / 4.000
Alle Fälle stimmen überein
Letzter Lauf
26. Sept. 2026
UTC

Diese Werte sind Platzhalter. Sie wurden noch nicht gemessen und dürfen nicht als echte Ergebnisse gelesen werden. Dieser Baustein ist in seiner Registry-Datei mit "sample": true markiert.

Benchmarks

Beispieldaten

kura-rs (Rust) im Vergleich zu scipy.stats.entropy über verschiedene Eingabegrößen. Bei jeder gemessenen Eingabegröße schneller, bis zu 35× schneller.

Diese Werte sind Platzhalter. Sie wurden noch nicht gemessen und dürfen nicht als echte Ergebnisse gelesen werden. Dieser Baustein ist in seiner Registry-Datei mit "sample": true markiert.

kura-rs (Rust)scipy.stats.entropy
Laufzeit pro Durchlauf (niedriger ist besser).
Datentabelle anzeigen
Eingabegrößekura-rs (Rust)scipy.stats.entropySpeedup
4.0960,01 ms0,35 ms35×
65.5360,09 ms2,9 ms32×
1.048.5761,4 ms44 ms31×
16.777.21622 ms700 ms32×

Dateien

  • parts/byte_entropy/mod.rs

Crate-Abhängigkeiten

Keine. Nur die Standardbibliothek.