Byte Entropy
v0.1.0Hinzugefügt am 26. Sept. 2026BeispieldatenShannon-Entropie über gleitende Fenster einer Binärdatei, um gepackte oder verschlüsselte Abschnitte zu finden.
cargo install kura-rs
kura add byte-entropyKopiert 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
BeispieldatenGeprüft gegen scipy.stats.entropy 1.14 (Python). Verfahren: Property-based Testing. Beide Implementierungen erhalten dieselben Eingaben, die Ausgaben werden verglichen.
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
Beispieldatenkura-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.
Datentabelle anzeigen
| Eingabegröße | kura-rs (Rust) | scipy.stats.entropy | Speedup |
|---|---|---|---|
| 4.096 | 0,01 ms | 0,35 ms | 35× |
| 65.536 | 0,09 ms | 2,9 ms | 32× |
| 1.048.576 | 1,4 ms | 44 ms | 31× |
| 16.777.216 | 22 ms | 700 ms | 32× |
Dateien
- parts/byte_entropy/mod.rs
Crate-Abhängigkeiten
Keine. Nur die Standardbibliothek.