Сравнение криптографических хеш-функций - Comparison of cryptographic hash functions

В следующих таблицах сравнивается общая и техническая информация для ряда криптографические хеш-функции. См. Статьи об отдельных функциях для получения дополнительной информации. Эта статья не является всеобъемлющей и не обязательно актуальной. Обзор безопасности / криптоанализа хэш-функций можно найти на сводка по безопасности хэш-функции.

Общая информация

Основная общая информация о криптографические хеш-функции: год, дизайнер, референсы и др.

ФункцияГодДизайнерПроисходит отСсылка
БЛЕЙК2008Жан-Филипп Аумассон
Лука Хензен
Вилли Мейер
Рафаэль К.-В. Фан
ChaCha20Интернет сайт
Технические характеристики
BLAKE22012Жан-Филипп Аумассон
Сэмюэл Невес
Зуко Уилкокс-О'Хирн
Кристиан Виннерляйн
БЛЕЙКИнтернет сайт
Технические характеристики
RFC  7693
BLAKE32020Джек О'Коннор
Жан-Филипп Аумассон
Сэмюэл Невес
Зуко Уилкокс-О'Хирн
BLAKE2Интернет сайт
Технические характеристики
ГОСТ Р 34.11-941994ФАПСИ и ВНИИстандартГОСТ 28147-89RFC  5831
HAVAL1992Юлян Чжэн
Йозеф Пиепшик
Дженнифер Себери
Интернет сайт
Технические характеристики
КенгуруДвенадцать2016Гвидо Бертони
Джоан Дэмен
Михаэль Петерс
Жиль Ван Аше
КечакИнтернет сайт
Технические характеристики
MD21989Рональд РивестRFC  1319
MD41990RFC  1320
MD51992MD4RFC  1321
MD62008Интернет сайт
Технические характеристики
RIPEMD1992Консорциум RIPE[1]MD4
РИПЭМД-128
РИПЭМД-256
РИПЭМД-160
РИПЭМД-320
1996Ганс Доббертин
Антун Босселаерс
Барт Пренил
RIPEMDИнтернет сайт
Технические характеристики
SHA-01993АНБSHA-0
SHA-11995SHA-0Технические характеристики
SHA-256
SHA-384
SHA-512
2002
SHA-2242004
SHA-3 (Кечак)2008Гвидо Бертони
Джоан Дэмен
Михаэль Петерс
Жиль Ван Аше
RadioGatúnИнтернет сайт
Технические характеристики
Стрибог2012ФСБ, ООО «ИнфоТеКС»RFC  6986
Тигр1995Росс Андерсон
Эли Бихам
Интернет сайт
Технические характеристики
Водоворот2004Винсент Реймен
Пауло Баррето
Интернет сайт

Параметры

АлгоритмРазмер вывода (бит)Размер внутреннего состояния[примечание 1]Размер блокаРазмер длиныРазмер словаРаундов
BLAKE2b5125121024128[заметка 2]6412
BLAKE2s25625651264[заметка 3]3210
BLAKE3Безлимитный256[примечание 4]51264327
ГОСТ2562562562563232
HAVAL256/224/192/160/128256102464323/4/5
MD21283841283218
MD412812851264323
MD5128128512643264
ПАНАМА256873625632
RadioGatúnБезлимитный[примечание 5]58 слов19 слов[примечание 6]1–64[примечание 7]18[примечание 8]
RIPEMD128128512643248
RIPEMD -128, -256128/256128/256512643264
RIPEMD -160160160512643280
RIPEMD -320320320512643280
SHA-0160160512643280
SHA-1160160512643280
SHA-224, -256224/256256512643264
SHA-384, -512, -512/224, -512/256384/512/224/25651210241286480
SHA-3224/256/384/512[примечание 9]16001600 - 2 * бит[примечание 10]6424
SHA3-224224160011526424
SHA3-256256160010886424
SHA3-38438416008326424
SHA3-51251216005766424
Тигр (2) -192/160/128192/160/128192512646424
Водоворот512512512256810

Примечания

  1. ^ В внутреннее состояние здесь означает «внутреннюю хеш-сумму» после каждого сжатия блока данных. Большинство алгоритмов хеширования также внутренне используют некоторые дополнительные переменные, такие как длина сжатых до сих пор данных, поскольку это необходимо для заполнения длины в конце. Увидеть Строительство Меркле-Дамгарда для подробностей.
  2. ^ Размер счетчика длины сообщения BLAKE2b составляет 128 бит, но он считает длину сообщения в байтах, а не в битах, как другие хэш-функции в сравнении. Следовательно, он может обрабатывать сообщения в восемь раз длиннее, чем можно было бы предположить при длине 128 бит (один байт равен восьми битам). Размер длины 131 бит - это сопоставимый размер длины ().
  3. ^ Размер счетчика длины сообщения BLAKE2s составляет 64 бита, но он считает длину сообщения в байтах, а не в битах, как другие хеш-функции в сравнении. Следовательно, он может обрабатывать сообщения в восемь раз длиннее, чем можно было бы предположить при размере 64-битной длины (один байт равен восьми битам). Размер длины 67 бит - это сопоставимый размер длины ().
  4. ^ Полное инкрементное состояние BLAKE3 включает стек значений цепочки размером до 1728 байт. Однако сама функция сжатия не имеет доступа к этому стеку. Стек меньшего размера также можно использовать, если максимальная длина ввода ограничена.
  5. ^ RadioGatún - это функция расширяемого вывода, что означает, что он имеет вывод неограниченного размера. Официальные тестовые векторы - это 256-битные хэши. RadioGatún утверждает, что обладает уровнем безопасности криптографического функция губки 19 слов размером, что означает, что 32-битная версия имеет безопасность 304-битного хэша при просмотре атака на прообраз, но безопасность 608-битного хеша при взгляде на столкновения атак. 64-битная версия также имеет безопасность 608-битного или 1216-битного хэша. Для определения степени уязвимости RadioGatún для атаки удлинения длины, только два слова из его состояния из 58 слов выводятся между операциями сжатия хэша.
  6. ^ RadioGatún не является конструкцией Меркла – Дамгарда и, как таковая, не имеет размера блока. Его пояс размером 39 слов; его мельница, которая ближе всего RadioGatún к «блоку», имеет размер 19 слов.
  7. ^ Только 32-битная и 64-битная версии RadioGatún имеют официальные тестовые векторы.
  8. ^ 18 пустых раундов применяются в RadioGatún только один раз, между концом этапа сопоставления входных данных и перед генерацией выходных битов.
  9. ^ Хотя основной алгоритм Кечак имеет произвольную длину хэша, NIST указал 224, 256, 384 и 512 бит вывода как допустимые режимы для SHA-3.
  10. ^ Зависит от реализации; в соответствии с разделом 7, вторым абзацем снизу страницы 22, FIPS PUB 202.

Функция сжатия

В следующих таблицах сравнивается техническая информация для функции сжатия из криптографические хеш-функции. Информация взята из спецификаций, пожалуйста, обратитесь к ним для получения более подробной информации.

ФункцияРазмер (биты )[примечание 1]Слова ×
Проходит =
Раундов[заметка 2]
Операции[заметка 3]Endian[примечание 4]
СловоДайджестЦепочка
значения
[примечание 5]
Вычисление
значения[примечание 6]
БлокироватьДлина
[примечание 7]
ГОСТ Р 34.11-9432×8 = 256×8 = 256324А Б Л СМаленький
HAVAL-3-12832×4 = 128×8 = 256×32 = 1,0246432 × 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 = 12832 × 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 = 12832 × 5 = 160
HAVAL-5-160×5 = 160
HAVAL-5-192×6 = 192
HAVAL-5-224×7 = 224
HAVAL-5-256×8 = 256
MD28×16 = 128×32 = 256×48 = 384×16 = 128Никто48 × 18 = 864BНет данных
MD432×4 = 128×16 = 5126416 × 3 = 48А Б СМаленький
MD516 × 4 = 64
RIPEMD32×4 = 128×8 = 256×16 = 5126416 × 3 = 48А Б СМаленький
РИПЭМД-12816 × 4 = 64
РИПЭМД-256×8 = 256
РИПЭМД-160×5 = 160×10 = 32016 × 5 = 80
РИПЭМД-320×10 = 320
SHA-032×5 = 160×16 = 5126416 × 5 = 80А Б СБольшой
SHA-1
SHA-256×8 = 256×8 = 25616 × 4 = 64
SHA-224×7 = 224
SHA-51264×8 = 512×8 = 512×16 = 102412816 × 5 = 80
SHA-384×6 = 384
Тигр-19264×3 = 192×3 = 192×8 = 512648 × 3 = 24А Б Л СНе указано
Тигр-160×2.5=160
Тигр-128×2 = 128
ФункцияСловоДайджестЦепочка
значения
Вычисление
значения
БлокироватьДлинаСлова ×
Проходит =
Раундов
ОперацииEndian
Размер (биты )

Примечания

  1. ^ Пропущенные множители - это размер слова.
  2. ^ Некоторые авторы меняются местами проходов и раундов.
  3. ^ A: сложение, вычитание; B: побитовая операция; L: Справочная таблица; S: сдвиг, вращение.
  4. ^ Это относится к байт только порядок байтов. Если операции состоят только из побитовых операций и таблиц поиска, порядок байтов не имеет значения.
  5. ^ Размер дайджеста сообщения обычно равен размеру цепочки значений. В усеченных версиях некоторых криптографических хеш-функций, таких как SHA-384, первое меньше, чем второе.
  6. ^ Размер цепочки значений обычно равен размеру вычисляемых значений. В некоторых криптографических хэш-функциях, таких как RIPEMD-160, первое меньше, чем второе, потому что RIPEMD-160 использует два набора значений параллельных вычислений, а затем объединяется в один набор значений цепочки.
  7. ^ Максимальный размер ввода = 2размер длины − 1 биты. Например, максимальный размер ввода SHA-1 = 264 - 1 бит.

Смотрите также

Рекомендации

  1. ^ Доббертин, Ганс; Босселаерс, Антун; Пренил, Барт (21–23 февраля 1996 г.). RIPEMD-160: усиленная версия RIPEMD (PDF). Быстрое программное шифрование. Третий международный семинар. Кембридж, Великобритания. С. 71–82. Дои:10.1007/3-540-60865-6_44.

внешняя ссылка