SHA

SHA (на английски: Secure Hash Algorithm – „Сигурен Хеширащ Алгоритъм“) е хеш-функция разработена от NSA. Резултатът на функцията е при SHA-1 160-битови извлечения, при SHA-2 256 и 512 са битови извлечения. SHA хеш-функциите се използват масово, включително и от стандарта за цифрови подписи.

Дефекти започват да бъдат намирани от 2005 г. От NIST беше обявен конкурс за SHA-3, който да преодолее слабостите на досегашните функции и да бъде въведен като стандарт през 2012 г.

Сравнение на SHA функциите

Сравнение на SHA функциите
Алгоритъм и вариантИзходен размер
(битове)
Размер във вътрешно състояние
(битове)
Размер на блока
(битове)
ЕтапиОперацииСигурност (в битове) срещу колизионни атакиКапацитет
срещу атаки с удължаване на съобщението
Производителност на процесор Intel Skylake (цикли на байт)[1]Публикуван
дълги съобщения8 байта
MD5 (за сравнение)128128
(4 × 32)
51264And, Xor, Rot, Add (mod 232), Or≤18
(колизии)[2]
04,9955,001992
SHA-0160160
(5 × 32)
51280And, Xor, Rot, Add (mod 232), Or<34
(колизии)
0≈ SHA-1≈ SHA-11993
SHA-1<63
(колизии)[3]
3,4752,001995
SHA-2SHA-224
SHA-256
224
256
256
(8 × 32)
51264And, Xor, Rot, Add (mod 232), Or, Shr112
128
32
0
7,62
7,63
84,50
85,25
2004
2001
SHA-384
SHA-512
384
512
512
(8 × 64)
102480And, Xor, Rot, Add (mod 264), Or, Shr192
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-3842012
SHA-3SHA3-224
SHA3-256
SHA3-384
SHA3-512
224
256
384
512
1600
(5 × 5 × 64)
1152
1088
832
576
24[4]And, Xor, Rot, Not112
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

Източници