Практический выбор алгоритма шифрования
Недавно озадачился проблемой шифрования данных на hdd. Много искал по инету, но в итоге нашел совсем мало, а бенчмарков производительности нет совсем. Решил спросить совета тут. Итак используемая платформа: ноутбук Intel Core i3-370, 6 Gb RAM, обычный HDD (не ssd), OS Linux Debian 7 х64.
Думаю шифровать вместе с системой, использовать dm-crypt, в нем есть алгоритмы AES, Blowfish, Twofish и Serpent (при установке предлагает только их). Но вот что из них выбрать? какой будет работать быстрее на данном железе? большая ли будет разница в производительности межу х64 и х86 ?
как можно оценить скорость их работы, может есть какой тест ?
Так как все таки правильно провести эксперимент ?
комментариев: 1060 документов: 16 редакций: 32
Там в скрипте сделан сброс кэша. Единственное, было бы правильно sleep небольшой после этого поставить, операция-то вроде несинхронная.
Вообще, соотношение скоростей чтения/записи от теста к тесту гуляет довольно сильно, а после сброса кэша можно увидеть повышенный iowait. Неужто проклятый 12309? По хорошему надо поприбивать все сколько-нибудь активно читающие/пишущие процессы на время теста.
так что именно отредактировать? пжл приведи корректный скрипт.
Еще есть предложение чтоб сперва шел бенч НЕ шифрованного раздела, а потом уже замеры по алгоритмам. Так проще ориентироваться в происходящем. Сам в скриптах не силен, мне это не поднять.
У меня от теста к тесту плавала только скорость записи, чтение шло почти стабильно.
например? у меня чистая система, только поставил. запускал из под терминала в xfce, параллельно ничего не было.
комментариев: 1060 документов: 16 редакций: 32
2) Отключите swap совсем
3) иксы для теста тоже лучше бы потушить, хоть и xfce не страдает прожорливостью
выполнил все три пункта, вот результаты:
1-го прогона
3-го прогона
еще могу признаться что при установке для пробы зашифровал корневой раздел в блоуфиш, просто экспериментировал, но это другой раздел – sda5. Также имеются временные фс (я их не делал):
Какие есть еще предложения ?
Какие есть недостатки у блоуфиш? длины ключа 256 хватит или надо больше ? (кстати пробовал задать в параметрах теста 448, скорость так и не просела ..)
комментариев: 9796 документов: 488 редакций: 5664
Сам по себе этой стойкий шифр. Но по размеру блока он относится к 64-битным шифрам, что нехорошо при шифровании разделов большого размера.
Кое-что упоминалось здесь, и здесь вторая часть ответа в коментарии.
Наконец, новые, улучшенные режимы XTS-PLAIN и XTS-BENBI гарантированно правильно работают только с AES. С другими шифрами они работать тоже будут, но нет никакой гарантии, что когда-нибудь после обновления вы сможете расшифровать данные на новой системе или что их реализация проверялась с другими шифрами (будет выдано сообщение, что тестовый вектор для такого сочетания шифра и режима неизвестен). Поэтому, в принципе XTS-PLAIN и XTS-BENBI использовать не рекомендуется пока они не устоялись (из них XTS-PLAIN уже устарел) или только для временных данных (шифрованный своп). CBC-ESSIV будет работать со всеми шифрами и это устоявшийся режим, его уязвимости некритичны.
Это похоже на реальные особенности ключеого расписания блуфиша — ключ не разворачивается для каждого раунда на лету, а получается заполнением массива путём исполнения раундовой функции над ключом за фиксированное число итераций, независимо от длины ключа. Это медленное и очень стойкое ключевое расписание, сейчас таких не проектируют (пытаются добиться стойкости не в ущерб производительности и затратам ресурсов при распараллеливании).
Ну неужели нет чего нибудь по быстрее (и совместимого с luks)?
комментариев: 9796 документов: 488 редакций: 5664
Это и так оптимальные по скорости и стойкости шифры. Если данные нужно хранить, то лучше не искать каких-то экзотических вариантов у которых может вообще не оказаться поддержки в будущем. Нормальные шифры по скорости не так уж сильно различаются. Может что-то в железе поменять, чем рисковать безопасностью ради незначительных софтовых оптимизаций?
Вот оно.