Je veux crypter une partie de mon disque dur. Mais avant cela, je voulais comparer les différents algorithmes disponibles en me demandant si je devais choisir aes-xts-256ou aes-xts-512.
Remarque: je n'ai pas d' aesaccélération matérielle. Les repères ont été répétés plusieurs fois sans grand changement. Je voudrais dire clairement que ces benchmarks ne sont valables que sur mon ordinateur (Debian, duo core 2). Il ne s'agit pas d'une comparaison LUKS-TrueCrypt complète.
TL; DR: passez à la partie 4
1- Cryptsetup
J'ai donc téléchargé cryptsetup v1.6.0pour utiliser la nouvelle cryptsetup benchmarkcommande.
Commander
$cryptsetup benchmark
Résultats
# 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
Pensées
Encbcmode,serpentest étonnamment rapide à décrypter!Enxtsmode,serpentc'est clairement le plus rapide.- La taille de la clé semble n'avoir presque aucun effet notable sur .
serpenttwofish aesne se comporte pas bien lorsque la taille de clé est augmentée.
Mises à jour hors VM
2- TrueCrypt
J'ai été vraiment surpris car il aesest connu pour être le plus rapide (même sans accélération matérielle). J'ai donc téléchargé TrueCryptpour revérifier ces résultats. TrueCryptutilise le xtsmode par défaut donc je suppose qu'il l'utilise également dans ses benchmarks.
Méthode
- Outils> Benchmark
- Choisissez n'importe quelle taille de tampon (ici, 5 Mo)
- Cliquez sur "Benchmark"
Résultats
# Algorithm | Encryption | Decryption
AES 106 MB/s 107 MB/s
Twofish 78 MB/s 76 MB/s
Serpent 41 MB/s 42 MB/s
Pensées
Ces résultats correspondent beaucoup plus à ce qui est attendu mais ne correspondent pas bien aux cryptsetuprésultats de.
3- Réflexions générales
cryptsetupfourni de meilleures performances générales queTrueCryptdans ce cas. Cela pourrait s'expliquer de la manière suivante:cryptsetupa été compilé sur mon système avec des routines d'optimisation du compilateur alors qu'ilTrueCryptétait déjà compilé de manière générique;- L'AFAIK
cryptsetuputilise des modules de chiffrement dans l'TrueCryptespace noyau tout en utilisant des routines de chiffrement dans l' espace utilisateur.
- Cependant, je ne peux pas expliquer pourquoi
serpent-xts-512semble être la voie à suivrecryptsetupalors queaes-xtsle seul chiffre vaut la peine d'être utilisé.
4- Question
cryptsetupet TrueCryptdonner des résultats qualitatifs (vitesse de chiffrement relative) et quantitatifs (vitesse réelle de chaque chiffrement) complètement différents dans des points de repère en RAM.
- Est-ce quelque chose que vous avez déjà remarqué?
- Dois-je faire confiance
cryptsetupet utiliser leserpent-xts-512chiffrement pour la vitesse?
serpentce qui est devenu beaucoup plus lent. Le problème avec le serpent est donc résolu.Twofishest encore plus rapide queaesdanscryptsetupet plus lenteTrueCrypt. Et je n'ai pas du tout d'aesaccélération matérielle ... ce n'est pas une chose VM ...