Ich möchte einen Teil meiner Festplatte verschlüsseln. Aber vorher wollte ich die verschiedenen verfügbaren Algorithmen vergleichen und mich fragen, ob ich aes-xts-256oder wählen sollte aes-xts-512.
Hinweis: Ich habe keine aesHardwarebeschleunigung. Die Benchmarks wurden ohne große Änderung mehrmals wiederholt. Ich möchte klarstellen, dass diese Benchmarks nur auf meinem Computer gültig sind (Debian, Core 2 Duo). Dies ist kein vollständiger LUKS-TrueCrypt-Vergleich.
TL; DR: Weiter mit Teil 4
1- Cryptsetup
Also habe ich heruntergeladen cryptsetup v1.6.0, um den neuen cryptsetup benchmarkBefehl zu nutzen.
Befehl
$cryptsetup benchmark
Ergebnisse
# 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
Gedanken
ImcbcModusserpentist überraschend schnell beim Entschlüsseln!ImxtsModusserpentist eindeutig der schnellste.- Die Schlüsselgröße scheint fast keinen merklichen Einfluss darauf zu haben .
serpenttwofish aesverhält sich nicht gut, wenn die Schlüsselgröße erhöht wird.
Updates von VM
2- TrueCrypt
Ich war wirklich überrascht, da aesbekannt ist, dass es das schnellste ist (auch ohne Hardwarebeschleunigung). Also habe ich heruntergeladen TrueCrypt, um diese Ergebnisse zu überprüfen. TrueCryptVerwendet den xtsModus standardmäßig, daher gehe ich davon aus, dass er auch in seinen Benchmarks verwendet wird.
Methode
- Tools> Benchmark
- Wählen Sie eine beliebige Puffergröße (hier 5 MB)
- Klicken Sie auf "Benchmark"
Ergebnisse
# Algorithm | Encryption | Decryption
AES 106 MB/s 107 MB/s
Twofish 78 MB/s 76 MB/s
Serpent 41 MB/s 42 MB/s
Gedanken
Diese Ergebnisse entsprechen viel mehr den Erwartungen, stimmen jedoch nicht gut mit cryptsetupden Ergebnissen überein .
3- Allgemeine Gedanken
cryptsetuplieferte eine bessere allgemeine Leistung alsTrueCryptin diesem Fall. Dies könnte folgendermaßen erklärt werden:cryptsetupwurde auf meinem System mit Compiler-OptimierungsroutinenTrueCryptkompiliert, während es bereits generisch kompiliert wurde;- AFAIK
cryptsetupverwendet Kernelspace-Kryptomodule, während Benutzerraum-Kryptoroutinen verwendet werdenTrueCrypt.
- Ich kann jedoch nicht erklären, warum
serpent-xts-512dies der richtige Weg zu sein scheint,cryptsetupobwohl esaes-xtsdie einzige Chiffre ist, die es wert ist, verwendet zu werden.
4- Frage
cryptsetupund TrueCryptgeben völlig unterschiedliche qualitative (relative Verschlüsselungsgeschwindigkeit) und quantitative (tatsächliche Geschwindigkeit jeder Verschlüsselung) Ergebnisse in In-RAM-Benchmarks.
- Ist dir das schon aufgefallen?
- Sollte ich der Geschwindigkeit vertrauen
cryptsetupund sie verwendenserpent-xts-512?
serpentdie viel langsamer wurden. Damit ist das Problem mit der Schlange gelöst.Twofishist immer noch schneller alsaesincryptsetupund langsamer inTrueCrypt. Und ich habe überhaupt keineaesHardwarebeschleunigung ... das ist keine VM-Sache ...