Я хочу зашифровать часть моего жесткого диска. Но перед этим я хотел сравнить другой доступный алгоритм, задаваясь вопросом, стоит ли мне выбирать aes-xts-256
или aes-xts-512
.
Примечание: Я не aes
аппаратного ускорения. Тесты были повторены несколько раз без особых изменений. Я хотел бы четко заявить, что эти тесты действительны только на моем компьютере (Debian, core 2 duo). Это не предназначено для полного сравнения LUKS-TrueCrypt.
TL; DR: перейти к части 4
1- Cryptsetup
Поэтому я скачал cryptsetup v1.6.0
чтобы использовать новую cryptsetup benchmark
.
команда
$cryptsetup benchmark
Результаты
# 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
мысли
В режимеcbc
serpent
удивительно быстр при расшифровке!В режимеxts
serpent
явно самая быстрая.- Размер ключа, по-видимому, почти не оказывает
serpent
влияния надвойку .twofish
aes
плохо себя ведет, когда размер ключа увеличивается.
Обновления вне ВМ
2- TrueCrypt
Я был очень удивлен, поскольку aes
как известно, самый быстрый (даже без аппаратного ускорения). Поэтому я скачал TrueCrypt
чтобы перепроверить эти результаты. TrueCrypt
по умолчанию использует режим xts
, поэтому я предполагаю, что он также использует его в своих тестах.
метод
- Инструменты> Тест
- Выберите любой размер буфера (здесь, 5 МБ)
- Нажмите на "Benchmark"
Результаты
# Algorithm | Encryption | Decryption
AES 106 MB/s 107 MB/s
Twofish 78 MB/s 76 MB/s
Serpent 41 MB/s 42 MB/s
мысли
Эти результаты намного больше соответствуют ожидаемым, но не очень хорошо соответствуют результатам cryptsetup
.
3- Общие мысли
cryptsetup
обеспечил лучшую общую производительность, чемTrueCrypt
в этом случае. Это можно объяснить следующим образом:cryptsetup
был скомпилирован в моей системе с подпрограммами оптимизации компилятора, в то время какTrueCrypt
уже был скомпилирован универсальным способом;cryptsetup
использует криптомодули пространства ядра, в то время какTrueCrypt
использует криптовалюты пространства пользователя.
- Тем не менее, я не могу объяснить, почему
serpent-xts-512
кажетсяcryptsetup
то время какaes-xts
- единственный шифр, который стоит использовать.
4- Вопрос
cryptsetup
и TrueCrypt
дают совершенно разные качественные (относительная скорость шифрования) и количественные (фактическая скорость каждого шифра) результаты в тестах в оперативной памяти.
- Это то, что вы уже заметили?
- Стоит ли доверять
cryptsetup
и использовать шифрserpent-xts-512
для скорости?