SHA
Облик
SHA (на английски: Secure Hash Algorithm – „Сигурен Хеширащ Алгоритъм“) е хеш-функция разработена от NSA. Резултатът на функцията е при SHA-1 160-битови извлечения, при SHA-2 256 и 512 са битови извлечения. SHA хеш-функциите се използват масово, включително и от стандарта за цифрови подписи.
Дефекти започват да бъдат намирани от 2005 г. От NIST беше обявен конкурс за SHA-3, който да преодолее слабостите на досегашните функции и да бъде въведен като стандарт през 2012 г.
Сравнение на SHA функциите
[редактиране | редактиране на кода]Алгоритъм и вариант | Изходен размер (битове) |
Размер във вътрешно състояние (битове) |
Размер на блока (битове) |
Етапи | Операции | Сигурност (в битове) срещу колизионни атаки | Капацитет срещу атаки с удължаване на съобщението |
Производителност на процесор Intel Skylake (цикли на байт)[1] | Публикуван | ||
---|---|---|---|---|---|---|---|---|---|---|---|
дълги съобщения | 8 байта | ||||||||||
MD5 (за сравнение) | 128 | 128 (4 × 32) |
512 | 64 | And, Xor, Rot, Add (mod 232), Or | ≤18 (колизии)[2] |
0 | 4,99 | 55,00 | 1992 | |
SHA-0 | 160 | 160 (5 × 32) |
512 | 80 | And, Xor, Rot, Add (mod 232), Or | <34 (колизии) |
0 | ≈ SHA-1 | ≈ SHA-1 | 1993 | |
SHA-1 | <63 (колизии)[3] |
3,47 | 52,00 | 1995 | |||||||
SHA-2 | SHA-224 SHA-256 |
224 256 |
256 (8 × 32) |
512 | 64 | And, Xor, Rot, Add (mod 232), Or, Shr | 112 128 |
32 0 |
7,62 7,63 |
84,50 85,25 |
2004 2001 |
SHA-384 SHA-512 |
384 512 |
512 (8 × 64) |
1024 | 80 | And, Xor, Rot, Add (mod 264), Or, Shr | 192 256 |
128 (≤ 384) 0 |
5,12 5,06 |
135,75 135,50 |
2001 | |
SHA-512/224 SHA-512/256 |
224 256 |
112 128 |
288 256 |
≈ SHA-384 | ≈ SHA-384 | 2012 | |||||
SHA-3 | SHA3-224 SHA3-256 SHA3-384 SHA3-512 |
224 256 384 512 |
1600 (5 × 5 × 64) |
1152 1088 832 576 |
24[4] | And, 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 |
SHAKE128 SHAKE256 |
d (произволен) d (произволен) |
1344 1088 |
min(d/2, 128) min(d/2, 256) |
256 512 |
7,08 8,59 |
155,25 155,50 |
Източници
[редактиране | редактиране на кода]- ↑ Measurements table
- ↑ Tao, Xie, Liu, Fanbao, Feng, Dengguo. Fast Collision Attack on MD5. International Association for Cryptologic Research, 2013.
- ↑ Stevens, Marc, Bursztein, Elie, Karpman, Pierre. The first collision for full SHA-1. Google Research.
- ↑ The Keccak sponge function family // Посетен на 27 януари 2016.