Я хочу зашифровать часть моего жесткого диска. Но перед этим я хотел сравнить другой доступный алгоритм, задаваясь вопросом, стоит ли мне выбирать 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
мысли
В режимеcbcserpentудивительно быстр при расшифровке!В режимеxtsserpentявно самая быстрая.- Размер ключа, по-видимому, почти не оказывает
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для скорости?
