Quiero encriptar una parte de mi HDD. Pero antes de eso quería comparar los diferentes algoritmos disponibles preguntándome si debería elegir aes-xts-256o aes-xts-512.
Nota: no tengo aesaceleración de hardware. Los puntos de referencia se repitieron varias veces sin muchos cambios. Me gustaría aclarar que estos puntos de referencia solo son válidos en mi computadora (Debian, core 2 duo). Esto no pretende ser una comparación completa de LUKS-TrueCrypt.
TL; DR: vaya a la parte 4
1- Cryptsetup
Así que lo descargué cryptsetup v1.6.0para hacer uso del nuevo cryptsetup benchmarkcomando.
Mando
$cryptsetup benchmark
Resultados
# 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
Pensamientos
Encbcmodo, ¡serpentes sorprendentemente rápido para descifrar!Enxtsmodo,serpentes claramente el más rápido.- El tamaño de la clave parece no tener casi ningún efecto notable .
serpenttwofish aesno se comporta bien cuando se aumenta el tamaño de la clave.
Actualizaciones fuera de VM
2- TrueCrypt
Realmente me sorprendió, ya que aesse sabe que es el más rápido (incluso sin aceleración de hardware). Así que lo descargué TrueCryptpara verificar estos resultados. TrueCryptusa el xtsmodo por defecto, así que supongo que también lo usa en sus puntos de referencia.
Método
- Herramientas> Benchmark
- Elija cualquier tamaño de búfer (aquí, 5 MB)
- Haga clic en "Benchmark"
Resultados
# Algorithm | Encryption | Decryption
AES 106 MB/s 107 MB/s
Twofish 78 MB/s 76 MB/s
Serpent 41 MB/s 42 MB/s
Pensamientos
Estos resultados corresponden mucho más a lo esperado, pero no coinciden bien con cryptsetuplos resultados.
3- pensamientos generales
cryptsetupproporcionó un mejor rendimiento general queTrueCrypten este caso. Esto podría explicarse de la siguiente manera:cryptsetupfue compilado en mi sistema con rutinas de optimización del compilador mientrasTrueCryptya estaba compilado de manera genérica;- AFAIK
cryptsetupusa módulos criptográficos kernelspace mientrasTrueCryptusa rutinas criptográficas de espacio de usuario.
- Sin embargo, no puedo explicar por qué
serpent-xts-512parece ser el camino a seguir,cryptsetupmientras queaes-xtsel único cifrado que vale la pena usar.
4- pregunta
cryptsetupy TrueCryptproporciona resultados cualitativos (velocidad de cifrado relativa) y cuantitativos completamente diferentes (velocidad real de cada cifrado) en puntos de referencia en RAM.
- ¿Es algo que ya has notado?
- ¿Debo confiar
cryptsetupy usar elserpent-xts-512cifrado para la velocidad?
serpentque se hizo mucho más lento. Entonces el problema con la serpiente está resuelto.Twofishsigue siendo más rápido queaesadentrocryptsetupy más lentoTrueCrypt. Y no tengoaesaceleración de hardware en absoluto ... esto no es una cosa VM ...