Difference between revisions of "Template:Comparison of SHA functions"
Jump to navigation
Jump to search
imported>Foia req (SHA-1 shows 2^63. SHA-0's real collision attack is 2^34.) |
(Add quote to citation supporting unlimited MD5 length. The actual padding is identical to SHA-0/1. Maybe just delete "max message size" column? It's never a practical limitation.) |
||
| Line 17: | Line 17: | ||
! First Published | ! First Published | ||
|- style="text-align:center;vertical-align:top;" | |- style="text-align:center;vertical-align:top;" | ||
| − | | colspan="2" | '''[[MD5]]''' (as reference) || 128 || 128<br>{{nowrap|(4 × 32)}} || 512 || Unlimited<ref>{{cite web|url=http://tools.ietf.org/html/rfc1321 |title=The MD5 Message-Digest Algorithm |date= |accessdate=2016-04-18}}</ref> || 64 || And, Xor, Rot, {{nowrap|Add (mod 2<sup>32</sup>),}} Or || {{Bad|<64<br/>(collisions found)}} || 335 || 1992 | + | | colspan="2" | '''[[MD5]]''' (as reference) || 128 || 128<br>{{nowrap|(4 × 32)}} || 512 || Unlimited<ref>{{cite web|url=http://tools.ietf.org/html/rfc1321 |title=The MD5 Message-Digest Algorithm |date= |accessdate=2016-04-18 |quote=In the unlikely event that b is greater than 2^64, then only the low-order 64 bits of b are used.}}</ref> || 64 || And, Xor, Rot, {{nowrap|Add (mod 2<sup>32</sup>),}} Or || {{Bad|<64<br/>(collisions found)}} || 335 || 1992 |
|- style="text-align:center;vertical-align:top;" | |- style="text-align:center;vertical-align:top;" | ||
| colspan="2" | '''{{nowrap|[[SHA-0]]}}''' || 160 || 160<br>{{nowrap|(5 × 32)}} || 512 || 2<sup>64</sup> − 1|| 80 || rowspan="2" | And, Xor, Rot, {{nowrap|Add (mod 2<sup>32</sup>),}} Or || {{Bad|<34<br/>(collisions found)}} || - || 1993 | | colspan="2" | '''{{nowrap|[[SHA-0]]}}''' || 160 || 160<br>{{nowrap|(5 × 32)}} || 512 || 2<sup>64</sup> − 1|| 80 || rowspan="2" | And, Xor, Rot, {{nowrap|Add (mod 2<sup>32</sup>),}} Or || {{Bad|<34<br/>(collisions found)}} || - || 1993 | ||
Revision as of 15:50, 14 July 2017
| Algorithm and variant | Output size (bits) |
Internal state size (bits) |
Block size (bits) |
Max message size (bits) |
Rounds | Operations | Security bits (Info) |
Example performance[2] (MiB/s) |
First Published | |
|---|---|---|---|---|---|---|---|---|---|---|
| MD5 (as reference) | 128 | 128 (4 × 32) |
512 | Unlimited[3] | 64 | And, Xor, Rot, Add (mod 232), Or | <64 (collisions found) |
335 | 1992 | |
| SHA-0 | 160 | 160 (5 × 32) |
512 | 264 − 1 | 80 | And, Xor, Rot, Add (mod 232), Or | <34 (collisions found) |
- | 1993 | |
| SHA-1 | 160 | 160 (5 × 32) |
512 | 264 − 1 | 80 | <63 (collisions found[4]) |
192 | 1995 | ||
| SHA-2 | SHA-224 SHA-256 |
224 256 |
256 (8 × 32) |
512 | 264 − 1 | 64 | And, Xor, Rot, Add (mod 232), Or, Shr | 112 128 |
139 | 2001 |
| SHA-384 SHA-512 SHA-512/224 SHA-512/256 |
384 512 224 256 |
512 (8 × 64) |
1024 | 2128 − 1 | 80 | And, Xor, Rot, Add (mod 264), Or, Shr | 192 256 112 128 |
154 | 2001 | |
| SHA-3 | SHA3-224 SHA3-256 SHA3-384 SHA3-512 |
224 256 384 512 |
1600 (5 × 5 × 64) |
1152 1088 832 576 |
Unlimited[5] | 24[6] | And, Xor, Rot, Not | 112 128 192 256 |
- | 2015 |
| SHAKE128 SHAKE256 |
d (arbitrary) d (arbitrary) |
1344 1088 |
min(d/2, 128) min(d/2, 256) |
- | 2015 | |||||
References
- ↑ "Crypto++ 5.6.0 Benchmarks". Retrieved 2013-06-13.
- ↑ Found on an AMD Opteron 8354 2.2 GHz processor running 64-bit Linux[1]
- ↑ "The MD5 Message-Digest Algorithm". Retrieved 2016-04-18.
In the unlikely event that b is greater than 2^64, then only the low-order 64 bits of b are used.
- ↑ "Announcing the first SHA1 collision". Retrieved 2017-02-23.
- ↑ "The Sponge Functions Corner". Retrieved 2016-01-27.
- ↑ "The Keccak sponge function family". Retrieved 2016-01-27.