Voglio crittografare una parte del mio HDD. Ma prima volevo confrontare i diversi algoritmi disponibili chiedendomi se avrei dovuto scegliere aes-xts-256
o aes-xts-512
.
Nota: non ho aes
accelerazione 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.0
per utilizzare il nuovo cryptsetup benchmark
comando.
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
Incbc
modalità,serpent
è sorprendentemente veloce nel decifrare!Inxts
modalità,serpent
è chiaramente il più veloce.- Le dimensioni della chiave sembrano non avere quasi alcun effetto evidente su .
serpent
twofish
aes
non 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 TrueCrypt
per ricontrollare questi risultati. TrueCrypt
usa la xts
modalità 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 cryptsetup
risultati.
3- Pensieri generali
cryptsetup
ha fornito prestazioni generali migliori rispettoTrueCrypt
a questo caso. Questo potrebbe essere spiegato nel modo seguente:cryptsetup
è stato compilato sul mio sistema con routine di ottimizzazione del compilatore mentreTrueCrypt
era già compilato in modo generico;- AFAIK
cryptsetup
utilizza moduli di crittografia kernelspace mentreTrueCrypt
utilizza routine di crittografia spazio utente.
- Tuttavia, non riesco a spiegare perché
serpent-xts-512
sembra essere la strada da percorrerecryptsetup
mentreaes-xts
l'unico codice vale la pena usare.
4- Domanda
cryptsetup
e TrueCrypt
fornire 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
cryptsetup
e usare laserpent-xts-512
crittografia per la velocità?
serpent
che è diventato molto più lento. Quindi il problema con il serpente è risolto.Twofish
è ancora più veloce cheaes
incryptsetup
e più lento inTrueCrypt
. E non ho alcunaaes
accelerazione hardware ... questa non è una cosa da VM ...