Я хочу зашифровать часть моего жесткого диска. Но перед этим я хотел сравнить другой доступный алгоритм, задаваясь вопросом, должен ли я выбрать 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явно самый быстрый.- Размер ключа, кажется, почти не оказывает заметного влияния .
serpenttwofish 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уже был скомпилирован в общем виде;- AFAIK
cryptsetupиспользует криптографические модули ядра системы во времяTrueCryptиспользования криптографических процедур пользовательского приложения.
- Тем не менее, я не могу объяснить , почему , как
serpent-xts-512представляется, путь сcryptsetupпокаaes-xtsединственным шифром стоит использовать.
4- Вопрос
cryptsetupи TrueCryptдают совершенно разные качественные (относительная скорость шифрования) и количественные (фактическая скорость каждого шифра) результаты в тестах в оперативной памяти.
- Это то, что вы уже заметили?
- Должен ли я доверять
cryptsetupи использоватьserpent-xts-512шифр для скорости?
serpentчто стало намного медленнее. Так что проблема со змеем решена.Twofishвсе еще быстрее, чемaesвcryptsetupи медленнее вTrueCrypt. И у меня нетaesаппаратного ускорения вообще ... это не вещь ВМ ...