Сравнение криптографических хэш-функций
В следующих таблицах сравниваются общие и технические сведения для ряда криптографических хэш-функций. Дополнительную информацию смотрите в статьях по отдельным функциям. Эта статья не является всеобъемлющей и не обязательно актуальной. Обзор безопасности/ криптоанализа хеш-функций можно найти в сводке по безопасности хеш-функций .
Общая информация [ править ]
Основная общая информация о криптографических хеш-функциях : год, разработчик, ссылки и т. д.
Параметры [ править ]
Алгоритм | Размер вывода (биты) | Размер внутреннего состояния [примечание 1] | Размер блока | Размер длины | Размер слова | Раунды |
---|---|---|---|---|---|---|
БЛЕЙК2б | 512 | 512 | 1024 | 128 [примечание 2] | 64 | 12 |
БЛЕЙК2с | 256 | 256 | 512 | 64 [примечание 3] | 32 | 10 |
БЛЕЙК3 | Безлимитный | 256 [примечание 4] | 512 | 64 | 32 | 7 |
ГОСТЬ | 256 | 256 | 256 | 256 | 32 | 32 |
ДРУГ | 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 | – |
Радио Гатун | Безлимитный [примечание 5] | 58 слов | 19 слов [примечание 6] | – | 1–64 [примечание 7] | 18 [примечание 8] |
РИПЕМД | 128 | 128 | 512 | 64 | 32 | 48 |
РИПЕМД -128, -256 | 128/256 | 128/256 | 512 | 64 | 32 | 64 |
РИПЕМД -160 | 160 | 160 | 512 | 64 | 32 | 80 |
РИПЕМД -320 | 320 | 320 | 512 | 64 | 32 | 80 |
ША-0 | 160 | 160 | 512 | 64 | 32 | 80 |
ША-1 | 160 | 160 | 512 | 64 | 32 | 80 |
ША-224, -256 | 224/256 | 256 | 512 | 64 | 32 | 64 |
ША-384, -512, -512/224, -512/256 | 384/512/224/256 | 512 | 1024 | 128 | 64 | 80 |
ША-3 | 224/256/384/512 [примечание 9] | 1600 | 1600 – 2*бита | – [примечание 10] | 64 | 24 |
ША3-224 | 224 | 1600 | 1152 | – | 64 | 24 |
ША3-256 | 256 | 1600 | 1088 | – | 64 | 24 |
ША3-384 | 384 | 1600 | 832 | – | 64 | 24 |
ША3-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 слов; его мельница, которая ближе всего к «блоку» RadioGatun, имеет размер 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 | АБЛС | Маленький | ||
ХАВАЛ-3-128 | 32 | ×4 = 128 | ×8 = 256 | ×32 = 1,024 | 64 | 32 × 3 = 96 | АБС | Маленький | |
ХАВАЛ-3-160 | ×5 = 160 | ||||||||
ХАВАЛ-3-192 | ×6 = 192 | ||||||||
ХАВАЛ-3-224 | ×7 = 224 | ||||||||
ХАВАЛ-3-256 | ×8 = 256 | ||||||||
ХАВАЛ-4-128 | ×4 = 128 | 32 × 4 = 128 | |||||||
ХАВАЛ-4-160 | ×5 = 160 | ||||||||
ХАВАЛ-4-192 | ×6 = 192 | ||||||||
ХАВАЛ-4-224 | ×7 = 224 | ||||||||
ХАВАЛ-4-256 | ×8 = 256 | ||||||||
ХАВАЛ-5-128 | ×4 = 128 | 32 × 5 = 160 | |||||||
ХАВАЛ-5-160 | ×5 = 160 | ||||||||
ХАВАЛ-5-192 | ×6 = 192 | ||||||||
ХАВАЛ-5-224 | ×7 = 224 | ||||||||
ХАВАЛ-5-256 | ×8 = 256 | ||||||||
MD2 | 8 | ×16 = 128 | ×32 = 256 | ×48 = 384 | ×16 = 128 | Никто | 48 × 18 = 864 | Б | Н/Д |
MD4 | 32 | ×4 = 128 | ×16 = 512 | 64 | 16 × 3 = 48 | АБС | Маленький | ||
MD5 | 16 × 4 = 64 | ||||||||
РИПЕМД | 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 | ||||||||
ША-0 | 32 | ×5 = 160 | ×16 = 512 | 64 | 16 × 5 = 80 | АБС | Большой | ||
ША-1 | |||||||||
ША-256 | ×8 = 256 | ×8 = 256 | 16 × 4 = 64 | ||||||
ША-224 | ×7 = 224 | ||||||||
ША-512 | 64 | ×8 = 512 | ×8 = 512 | ×16 = 1024 | 128 | 16 × 5 = 80 | |||
ША-384 | ×6 = 384 | ||||||||
Тигр-192 | 64 | ×3 = 192 | ×3 = 192 | ×8 = 512 | 64 | 8 × 3 = 24 | АБЛС | Не указан | |
Тигр-160 | ×2.5=160 | ||||||||
Тигр-128 | ×2 = 128 | ||||||||
Функция | Слово | Дайджест | Цепочка ценности | Вычисление ценности | Блокировать | Длина | Слова × Проходит = Раунды | Операции | Эндианский |
Размер ( бит ) |
Примечания [ править ]
- ^ Пропущенные множимые представляют собой размеры слов.
- ^ Некоторые авторы обмениваются пасами и раундами.
- ^ А: сложение, вычитание; B: побитовая операция ; L: таблица поиска ; S: сдвиг, вращение .
- ^ Это относится только к порядку байтов . Если операции состоят только из побитовых операций и справочных таблиц, порядок байтов не имеет значения.
- ^ Размер дайджеста сообщения обычно равен размеру цепочки значений. В усеченных версиях некоторых криптографических хеш-функций, таких как SHA-384, первая меньше второй.
- ^ Размер цепочки значений обычно равен размеру расчетных значений. В некоторых криптографических хэш-функциях, таких как RIPEMD-160, первое меньше, чем второе, поскольку RIPEMD-160 использует два набора значений параллельных вычислений, а затем объединяется в один набор значений цепочки.
- ^ Максимальный размер ввода = 2 размер длины − 1 бит . Например, максимальный размер ввода SHA-1 = 2. 64 − 1 бит.
См. также [ править ]
Ссылки [ править ]
- ^ Доббертин, Ганс ; Босселерс, Антон; Пренил, Барт (21–23 февраля 1996 г.). RIPEMD-160: Усиленная версия RIPEMD (PDF) . Быстрое программное шифрование. Третий международный семинар. Кембридж, Великобритания. стр. 71–82. дои : 10.1007/3-540-60865-6_44 .
Внешние ссылки [ править ]
- ECRYPT Бенчмаркинг криптографических хешей – измерения скорости хеш-функции на различных платформах.
- Веб-сайт хэш-функций ECRYPT — вики для криптографических хеш-функций.
- Проект SHA-3 – Информация о конкурсе SHA-3