Quero criptografar uma parte do meu disco rígido. Mas antes disso eu queria comparar os diferentes algoritmos disponíveis, imaginando se eu deveria escolher aes-xts-256ou aes-xts-512.
Nota: Não tenho aesaceleração de hardware. Os benchmarks foram repetidos várias vezes sem muita alteração. Eu gostaria de afirmar claramente que essas referências são válidas apenas no meu computador (Debian, core 2 duo). Isso não pretende ser uma comparação completa do LUKS-TrueCrypt.
TL; DR: vá para a parte 4
1- Cryptsetup
Então eu baixei cryptsetup v1.6.0para fazer uso do novo cryptsetup benchmarkcomando.
Comando
$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
Pensamentos
Nocbcmodo,serpenté surpreendentemente rápido na descriptografia!Noxtsmodo,serpenté claramente o mais rápido.- O tamanho da chave parece não ter quase nenhum efeito perceptível .
serpenttwofish aesnão se comporta bem quando o tamanho da chave é aumentado.
Atualizações fora da VM
2- TrueCrypt
Fiquei realmente surpreso, como aesé conhecido por ser o mais rápido (mesmo sem aceleração de hardware). Então eu baixei TrueCryptpara verificar esses resultados. TrueCryptusa o xtsmodo por padrão, então suponho que ele também seja usado em seus benchmarks.
Método
- Ferramentas> Referência
- Escolha qualquer tamanho de buffer (aqui, 5 MB)
- Clique em "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
Pensamentos
Esses resultados correspondem muito mais ao esperado, mas não combinam bem com cryptsetupos resultados.
3- Pensamentos gerais
cryptsetupproporcionou melhor desempenho geral do queTrueCryptneste caso. Isso pode ser explicado da seguinte maneira:cryptsetupfoi compilado no meu sistema com rotinas de otimização do compilador enquantoTrueCryptjá foi compilado de maneira genérica;- O AFAIK
cryptsetupusa módulos de criptografia do kernelspace enquantoTrueCryptusa rotinas de criptografia do espaço do usuário.
- No entanto, não posso explicar por que
serpent-xts-512parece ser o caminho a seguir,cryptsetupenquantoaes-xtsa única cifra vale a pena usar.
4- Pergunta
cryptsetupe TrueCryptfornecer resultados qualitativos (velocidade relativa de cifra) e quantitativos completamente diferentes (velocidade real de cada cifra) em valores de referência na RAM.
- Isso é algo que você já notou?
- Devo confiar
cryptsetupe usar aserpent-xts-512cifra para velocidade?
serpentque ficou muito mais lento. Então o problema com a serpente está resolvido.Twofishainda é mais rápido do queaesdentrocryptsetupe mais lentoTrueCrypt. E eu não tenhoaesa aceleração de hardware em tudo ... isto não é uma coisa VM ...