Использование Skein для проверки целостности файлов
Я хотел бы знать, можно ли использовать скейн вместо MD5 или SHA1 для проверки целостности файла?
Это действительно лучше или быстрее, чем SHA1 и MD5?
Обновить:
Что касается ваших ответов. На самом деле я хотел бы использовать более быстрый алгоритм для Host IDS, такой как OSSEC (который может выполнять проверку целостности файла, например, каждые 10 минут), чтобы снизить нагрузку на хост и потреблять меньше ресурсов.
Итак, у меня есть два варианта:
- Новый алгоритм
- Улучшите SHA1 или MD5.
Можете ли вы объяснить, какой способ осуществим и лучше?
2 ответа
В ответ на ваш последний вопрос: будучи участником конкурса SHA-3, он должен быть намного лучше, чем SHA-2, не говоря уже о SHA-1.
(Даже не упоминая MD5: он уже сломан, и вы не должны использовать его в любом новом коде.)
Представители Skein утверждают, что максимальная производительность составляет 6,1 такта на обработанный байт, при условии реализации 64-битной сборки и использования Skein-512. Это чуть ниже 400 МБ / с на ядре 2,4 ГГц, что довольно неплохо. Тем не менее, мой собственный C-код для MD5 достигает чуть более 400 МБ / с на одной машине: Skein не быстрее, чем MD5. Но тоже не медленнее.
Skein, однако, достаточно быстр: вам не нужно, чтобы хеш-функция была намного быстрее, чем жесткий диск, хотя более быстрый код может освободить некоторый процессор для запуска других потоков (но, опять же, 2,4 ГГц ПК часто имеет несколько ядер).
Лично я бы предложил использовать установленный стандарт (SHA-256 или SHA-512, если вы хотите быть консервативным, - но для некоторых задач MD5 и даже MD4 достаточно хороши, а MD4 действительно быстр, а его компактный код использует очень маленький кеш L1). Когда " SHA-3" будет официально выбран, настанет время использовать его и развернуть в производстве.