Безопасные алгоритмы хэширования — это семейство криптографических хэш-функций, опубликованных Национальным институтом стандартов и технологий (NIST) в качестве Федерального стандарта обработки информации США (FIPS), включающее в себя:
Соответствующие стандарты — FIPS PUB 180 (исходный SHA), FIPS PUB 180-1 (SHA-1), FIPS PUB 180-2 (SHA-1, SHA-256, SHA-384 и SHA-512). NIST обновил проект публикации FIPS 202, стандарт SHA-3 отдельно от стандарта Secure Hash (SHS).
В таблице ниже внутреннее состояние означает «внутреннюю хеш-сумму» после каждого сжатия блока данных.
Алгоритм и вариант | Размер выходных данных (бит) | Размер внутреннего состояния (бит) | Размер блока (бит) | Раунды | Операции | Защита от атак столкновений (бит) | Защита от атак с удлинением длины (бит) | Производительность на Skylake (медианная cpb ) [1] | Впервые опубликовано | ||
---|---|---|---|---|---|---|---|---|---|---|---|
Длинные сообщения | 8 байт | ||||||||||
MD5 (в качестве справочного материала) | 128 | 128 (4 × 32) | 512 | 4 (16 операций в каждом раунде) | И, Исключающее или, Или, Вращение, Сложение (mod 2 32 ) | ≤ 18 (найдены столкновения) [2] | 0 | 4.99 | 55.00 | 1992 | |
ША-0 | 160 | 160 (5 × 32) | 512 | 80 | И, Исключающее или, Или, Вращение, Сложение (mod 2 32 ) | < 34 (найдены столкновения) | 0 | ≈ ША-1 | ≈ ША-1 | 1993 | |
ША-1 | < 63 (найдены столкновения) [3] | 3.47 | 52.00 | 1995 | |||||||
ША-2 | ША-224 ША-256 | 224 256 | 256 (8 × 32) | 512 | 64 | И, Исключающее, Или, Рот, Шр, Добавить (мод 2 32 ) | 112 128 | 32 0 | 7.62 7.63 | 84,50 85,25 | 2004 2001 |
ША-384 | 384 | 512 (8 × 64) | 1024 | 80 | И, Исключающее, Или, Вращение, Шр, Сложение (мод 2 64 ) | 192 | 128 | 5.12 | 135,75 | 2001 | |
ША-512 | 512 | 256 | 0 [4] | 5.06 | 135.50 | 2001 | |||||
ША-512/224 ША-512/256 | 224 256 | 112 128 | 288 256 | ≈ SHA-384 | ≈ SHA-384 | 2012 | |||||
ША-3 | SHA3-224 SHA3-256 SHA3-384 SHA3-512 | 224 256 384 512 | 1600 (5 × 5 × 64) | 1152 1088 832 576 | 24 [5] | И, Xor, Rot, Not | 112 128 192 256 | 448 512 768 1024 | 8,12 8,59 11,06 15,88 | 154,25 155,50 164,00 164,00 | 2015 |
ВСТРЯХНУТЬ128 ВСТРЯХНУТЬ256 | d (произвольный) d (произвольный) | 1344 1088 | мин( д /2, 128) мин( д /2, 256) | 256 512 | 7.08 8.59 | 155,25 155,50 |
Все алгоритмы семейства SHA, как функции безопасности, одобренные FIPS, подлежат официальной проверке CMVP ( Программа проверки криптографических модулей), совместной программе, проводимой Американским национальным институтом стандартов и технологий (NIST) и Канадским учреждением по безопасности коммуникаций (CSE).