В следующих таблицах сравнивается общая и техническая информация для ряда криптографических хэш-функций . См. Статьи об отдельных функциях для получения дополнительной информации. Эта статья не является всеобъемлющей и не обязательно актуальной. Обзор безопасности / криптоанализа хэш-функций можно найти в разделе « Обзор безопасности хэш-функций» .
Основная информация
Основная общая информация о криптографических хеш-функциях : год, дизайнер, ссылки и т. Д.
Функция | Год | Дизайнер | Полученный из | Справка |
---|---|---|---|---|
БЛЕЙК | 2008 г. | Жан-Филипп Аумассон Лука Хензен Вилли Мейер Рафаэль К.-В. Фан | ChaCha20 | Спецификация веб-сайта |
BLAKE2 | 2012 г. | Жан-Филипп Аумассон Самуэль Невес Зуко Уилкокс-О'Хирн Кристиан Виннерлейн | БЛЕЙК | Спецификация веб-сайта RFC 7693 |
BLAKE3 | 2020 г. | Джек О'Коннор Жан-Филипп Аумассон Сэмюэл Невес Зуко Уилкокс-О'Хирн | BLAKE2 | Спецификация веб-сайта |
ГОСТ Р 34.11-94 | 1994 г. | ФАПСИ и ВНИИстандарт | ГОСТ 28147-89 | RFC 5831 |
HAVAL | 1992 г. | Юлианг Чжэн Йозеф Пиепшик Дженнифер Себери | Спецификация веб-сайта | |
КенгуруДвенадцать | 2016 г. | Гвидо Бертони Джоан Дэемен Михаэль Петерс Жиль Ван Аше | Кечак | Спецификация веб-сайта |
MD2 | 1989 г. | Рональд Ривест | RFC 1319 | |
MD4 | 1990 г. | RFC 1320 | ||
MD5 | 1992 г. | MD4 | RFC 1321 | |
MD6 | 2008 г. | Спецификация веб-сайта | ||
RIPEMD | 1992 г. | Консорциум RIPE [1] | MD4 | |
RIPEMD-128 RIPEMD-256 RIPEMD-160 RIPEMD-320 | 1996 г. | Ханс Доббертин Антун Босселэрс Барт Пренель | RIPEMD | Спецификация веб-сайта |
SHA-0 | 1993 г. | АНБ | SHA-0 | |
SHA-1 | 1995 г. | SHA-0 | Технические характеристики | |
SHA-256 SHA-384 SHA-512 | 2002 г. | |||
SHA-224 | 2004 г. | |||
SHA-3 (Кеччак) | 2008 г. | Гвидо Бертони Джоан Дэемен Михаэль Петерс Жиль Ван Аше | RadioGatún | Спецификация веб-сайта |
Стрибог | 2012 г. | ФСБ , ООО «ИнфоТеКС» | RFC 6986 | |
Тигр | 1995 г. | Росс Андерсон Эли Бихам | Спецификация веб-сайта | |
Водоворот | 2004 г. | Винсент Реймен Пауло Баррето | Веб-сайт |
Параметры
Алгоритм | Размер вывода (бит) | Размер внутреннего состояния [примечание 1] | Размер блока | Размер длины | Размер слова | Раундов |
---|---|---|---|---|---|---|
BLAKE2b | 512 | 512 | 1024 | 128 [примечание 2] | 64 | 12 |
BLAKE2s | 256 | 256 | 512 | 64 [примечание 3] | 32 | 10 |
BLAKE3 | Безлимитный | 256 [примечание 4] | 512 | 64 | 32 | 7 |
ГОСТ | 256 | 256 | 256 | 256 | 32 | 32 |
HAVAL | 256/224/192/160/128 | 256 | 1024 | 64 | 32 | 3/4/5 |
MD2 | 128 | 384 | 128 | - | 32 | 18 |
MD4 | 128 | 128 | 512 | 64 | 32 | 3 |
MD5 | 128 | 128 | 512 | 64 | 32 | 64 |
ПАНАМА | 256 | 8736 | 256 | - | 32 | - |
RadioGatún | Без ограничений [примечание 5] | 58 слов | 19 слов [примечание 6] | - | 1–64 [примечание 7] | 18 [примечание 8] |
RIPEMD | 128 | 128 | 512 | 64 | 32 | 48 |
RIPEMD -128, -256 | 128/256 | 128/256 | 512 | 64 | 32 | 64 |
RIPEMD -160 | 160 | 160 | 512 | 64 | 32 | 80 |
RIPEMD -320 | 320 | 320 | 512 | 64 | 32 | 80 |
SHA-0 | 160 | 160 | 512 | 64 | 32 | 80 |
SHA-1 | 160 | 160 | 512 | 64 | 32 | 80 |
SHA-224, -256 | 224/256 | 256 | 512 | 64 | 32 | 64 |
SHA-384, -512, -512/224, -512/256 | 384/512/224/256 | 512 | 1024 | 128 | 64 | 80 |
SHA-3 | 224/256/384/512 [примечание 9] | 1600 | 1600-2 * бит | - [примечание 10] | 64 | 24 |
SHA3 -224 | 224 | 1600 | 1152 | - | 64 | 24 |
SHA3 -256 | 256 | 1600 | 1088 | - | 64 | 24 |
SHA3 -384 | 384 | 1600 | 832 | - | 64 | 24 |
SHA3 -512 | 512 | 1600 | 576 | - | 64 | 24 |
Тигр (2) -192/160/128 | 192/160/128 | 192 | 512 | 64 | 64 | 24 |
Водоворот | 512 | 512 | 512 | 256 | 8 | 10 |
Заметки
- ^ Внутреннее состояние здесь означает «внутренний хэшсумму» после каждого сжатия блока данных. Большинство алгоритмов хеширования также внутренне используют некоторые дополнительные переменные, такие как длина сжатых до сих пор данных, поскольку это необходимо для заполнения длины в конце. См. Конструкцию Меркла-Дамгарда для подробностей.
- ^ Размер счетчика длины сообщения BLAKE2b составляет 128 бит, но он считает длину сообщения в байтах, а не в битах, как другие хэш-функции в сравнении. Следовательно, он может обрабатывать сообщения в восемь раз длиннее, чем можно было бы предположить при длине 128 бит (один байт равен восьми битам). 131 бит - это сопоставимый размер длины ().
- ^ Размер счетчика длины сообщения BLAKE2s составляет 64 бита, но он считает длину сообщения в байтах, а не в битах, как другие хэш-функции в сравнении. Следовательно, он может обрабатывать сообщения в восемь раз длиннее, чем можно было бы предположить при размере 64-битной длины (один байт равен восьми битам). Размер длины 67 бит - это сопоставимый размер длины ().
- ^ Полное инкрементное состояние BLAKE3 включает стек значений цепочки размером до 1728 байт. Однако сама функция сжатия не имеет доступа к этому стеку. Стек меньшего размера также можно использовать, если максимальная длина ввода ограничена.
- ^ RadioGatún - это функция расширяемого вывода, что означает, что он имеет вывод неограниченного размера. Официальные тестовые векторы - это 256-битные хэши. RadioGatún утверждает, что имеет уровень безопасности функции криптографической губки размером 19 слов, что означает, что 32-битная версия имеет безопасность 304-битного хэша при просмотре атак с прообразом , но безопасность 608-битного хеша при просмотре. при столкновении атак . 64-битная версия также имеет безопасность 608-битного или 1216-битного хэша. Чтобы определить, насколько уязвим RadioGatún для атак с расширением длины , между операциями сжатия хэша выводятся только два слова из его состояния,состоящегоиз 58 слов.
- ^ RadioGatún не является конструкцией Меркла-Дамгарда и, как таковая, не имеет размера блока. Его пояс размером 39 слов; его мельница, которая ближе всего RadioGatún к «блоку», имеет размер 19 слов.
- ^ Только 32-битные и 64-битные версии RadioGatún имеют официальные тестовые векторы.
- ^ 18 пустых раундов применяются только один раз в RadioGatún, между концом этапа сопоставления входных данных и перед генерацией выходных битов.
- ^ Хотя базовый алгоритм Keccak имеет произвольную длину хэша, NIST определил 224, 256, 384 и 512 бит вывода как допустимые режимы для SHA-3.
- ^ Зависит от реализации; в соответствии с разделом 7, вторым абзацем снизу страницы 22, FIPS PUB 202.
Функция сжатия
В следующей таблице сравниваются технические данные для функций сжатия в криптографических хэш - функций . Информация взята из спецификаций, пожалуйста, обратитесь к ним для получения более подробной информации.
Функция | Размер ( биты ) [примечание 1] | Слова × Пас = Раунды [примечание 2] | Операции [примечание 3] | Порядок байтов [примечание 4] | |||||
---|---|---|---|---|---|---|---|---|---|
Слово | Дайджест | Объединение значений [примечание 5] | Расчетные значения [примечание 6] | Блокировать | Длина [примечание 7] | ||||
ГОСТ Р 34.11-94 | 32 | × 8 = 256 | × 8 = 256 | 32 | 4 | ABLS | Маленький | ||
HAVAL-3-128 | 32 | × 4 = 128 | × 8 = 256 | × 32 = 1024 | 64 | 32 × 3 = 96 | АБС | Маленький | |
HAVAL-3-160 | × 5 = 160 | ||||||||
HAVAL-3-192 | × 6 = 192 | ||||||||
HAVAL-3-224 | × 7 = 224 | ||||||||
HAVAL-3-256 | × 8 = 256 | ||||||||
HAVAL-4-128 | × 4 = 128 | 32 × 4 = 128 | |||||||
HAVAL-4-160 | × 5 = 160 | ||||||||
HAVAL-4-192 | × 6 = 192 | ||||||||
HAVAL-4-224 | × 7 = 224 | ||||||||
HAVAL-4-256 | × 8 = 256 | ||||||||
HAVAL-5-128 | × 4 = 128 | 32 × 5 = 160 | |||||||
HAVAL-5-160 | × 5 = 160 | ||||||||
HAVAL-5-192 | × 6 = 192 | ||||||||
HAVAL-5-224 | × 7 = 224 | ||||||||
HAVAL-5-256 | × 8 = 256 | ||||||||
MD2 | 8 | × 16 = 128 | × 32 = 256 | × 48 = 384 | × 16 = 128 | Никто | 48 × 18 = 864 | B | N / A |
MD4 | 32 | × 4 = 128 | × 16 = 512 | 64 | 16 × 3 = 48 | АБС | Маленький | ||
MD5 | 16 × 4 = 64 | ||||||||
RIPEMD | 32 | × 4 = 128 | × 8 = 256 | × 16 = 512 | 64 | 16 × 3 = 48 | АБС | Маленький | |
РИПЭМД-128 | 16 × 4 = 64 | ||||||||
РИПЭМД-256 | × 8 = 256 | ||||||||
РИПЭМД-160 | × 5 = 160 | × 10 = 320 | 16 × 5 = 80 | ||||||
РИПЭМД-320 | × 10 = 320 | ||||||||
SHA-0 | 32 | × 5 = 160 | × 16 = 512 | 64 | 16 × 5 = 80 | АБС | Большой | ||
SHA-1 | |||||||||
SHA-256 | × 8 = 256 | × 8 = 256 | 16 × 4 = 64 | ||||||
SHA-224 | × 7 = 224 | ||||||||
SHA-512 | 64 | × 8 = 512 | × 8 = 512 | × 16 = 1024 | 128 | 16 × 5 = 80 | |||
SHA-384 | × 6 = 384 | ||||||||
Тигр-192 | 64 | × 3 = 192 | × 3 = 192 | × 8 = 512 | 64 | 8 × 3 = 24 | ABLS | Не указан | |
Тигр-160 | × 2,5 = 160 | ||||||||
Тигр-128 | × 2 = 128 | ||||||||
Функция | Слово | Дайджест | Цепочка значений | Расчетные значения | Блокировать | Длина | Слова × Пас = Раунды | Операции | Порядок байтов |
Размер ( бит ) |
Заметки
- ^ Пропущенные множители - это размер слова.
- ^ Некоторые авторы меняют местами проходы и раунды.
- ^ A: сложение, вычитание; B: побитовая операция ; L: справочная таблица ; S: сдвиг, вращение .
- ^ Это относится к байт только байтов. Если операции состоят только из побитовых операций и таблиц поиска, порядок байтов не имеет значения.
- ^ Размер дайджеста сообщения обычно равен размеру цепочки значений. В усеченных версиях некоторых криптографических хеш-функций, таких как SHA-384, первое меньше, чем второе.
- ^ Размер цепочки значений обычно равен размеру вычисляемых значений. В некоторых криптографических хэш-функциях, таких как RIPEMD-160, первое меньше, чем второе, потому что RIPEMD-160 использует два набора значений параллельных вычислений, а затем объединяется в один набор значений цепочки.
- ^ Максимальный размер ввода = 2 размера длины - 1 бит . Например, максимальный размер ввода SHA-1 = 2 64 - 1 бит.
Смотрите также
- Список хеш-функций
- Сводка по безопасности хеш-функции
- Word (компьютерная архитектура)
Рекомендации
- ^ Доббертин, Ганс ; Босселаерс, Антун; Пренил, Барт (21–23 февраля 1996 г.). RIPEMD-160: усиленная версия RIPEMD (PDF) . Быстрое программное шифрование. Третий международный семинар. Кембридж, Великобритания. С. 71–82. DOI : 10.1007 / 3-540-60865-6_44 .
Внешние ссылки
- ECRYPT Benchmarking of Cryptographic Hashes - измерения скорости хеш-функции на различных платформах
- Веб-сайт хеш-функций ECRYPT - wiki для криптографических хеш-функций
- Проект SHA-3 - Информация о конкурсе SHA-3