Voglio crittografare una parte del mio HDD. Ma prima volevo confrontare i diversi algoritmi disponibili chiedendomi se avrei dovuto scegliere aes-xts-256o aes-xts-512.
Nota: non ho aesaccelerazione hardware. I parametri di riferimento sono stati ripetuti più volte senza grandi cambiamenti. Vorrei affermare chiaramente che questi benchmark sono validi solo sul mio computer (Debian, core 2 duo). Questo non vuole essere un confronto LUKS-TrueCrypt completo.
TL; DR: vai alla parte 4
1- Cryptsetup
Quindi ho scaricato cryptsetup v1.6.0per utilizzare il nuovo cryptsetup benchmarkcomando.
Comando
$cryptsetup benchmark
risultati
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 128,2 MiB/s 157,2 MiB/s
serpent-cbc 128b 49,6 MiB/s 57,7 MiB/s
twofish-cbc 128b 138,0 MiB/s 183,8 MiB/s
aes-cbc 256b 97,5 MiB/s 121,9 MiB/s
serpent-cbc 256b 51,8 MiB/s 57,7 MiB/s
twofish-cbc 256b 139,0 MiB/s 183,8 MiB/s
aes-xts 256b 156,4 MiB/s 157,8 MiB/s
serpent-xts 256b 55,7 MiB/s 58,7 MiB/s
twofish-xts 256b 161,5 MiB/s 165,9 MiB/s
aes-xts 512b 120,5 MiB/s 120,9 MiB/s
serpent-xts 512b 55,7 MiB/s 58,5 MiB/s
twofish-xts 512b 161,5 MiB/s 165,3 MiB/s
Pensieri
Incbcmodalità,serpentè sorprendentemente veloce nel decifrare!Inxtsmodalità,serpentè chiaramente il più veloce.- Le dimensioni della chiave sembrano non avere quasi alcun effetto evidente su .
serpenttwofish aesnon si comporta bene quando si aumenta la dimensione della chiave.
Aggiornamenti dalla VM
2- TrueCrypt
Sono rimasto davvero sorpreso perché aesè noto per essere il più veloce (anche senza accelerazione hardware). Quindi ho scaricato TrueCryptper ricontrollare questi risultati. TrueCryptusa la xtsmodalità di default quindi presumo che la usi anche nei suoi benchmark.
Metodo
- Strumenti> Benchmark
- Scegli qualsiasi dimensione del buffer (qui, 5 MB)
- Fai clic su "Benchmark"
risultati
# Algorithm | Encryption | Decryption
AES 106 MB/s 107 MB/s
Twofish 78 MB/s 76 MB/s
Serpent 41 MB/s 42 MB/s
Pensieri
Questi risultati corrispondono molto di più a ciò che ci si aspetta, ma non corrispondono bene ai cryptsetuprisultati.
3- Pensieri generali
cryptsetupha fornito prestazioni generali migliori rispettoTrueCrypta questo caso. Questo potrebbe essere spiegato nel modo seguente:cryptsetupè stato compilato sul mio sistema con routine di ottimizzazione del compilatore mentreTrueCryptera già compilato in modo generico;- AFAIK
cryptsetuputilizza moduli di crittografia kernelspace mentreTrueCryptutilizza routine di crittografia spazio utente.
- Tuttavia, non riesco a spiegare perché
serpent-xts-512sembra essere la strada da percorrerecryptsetupmentreaes-xtsl'unico codice vale la pena usare.
4- Domanda
cryptsetupe TrueCryptfornire risultati qualitativi (velocità di cifratura relativa) e quantitativi (velocità effettiva di ogni cifra) completamente diversi nei benchmark in-RAM.
- È qualcosa che hai già notato?
- Devo fidarmi
cryptsetupe usare laserpent-xts-512crittografia per la velocità?
serpentche è diventato molto più lento. Quindi il problema con il serpente è risolto.Twofishè ancora più veloce cheaesincryptsetupe più lento inTrueCrypt. E non ho alcunaaesaccelerazione hardware ... questa non è una cosa da VM ...