Content deleted Content added
→Parameters: Wording fix, link length extension attack |
m Bot: http → https |
||
(34 intermediate revisions by 18 users not shown) | |||
Line 1:
{{short description|Tables comparing general and technical information for common hashes}}
The following tables compare general and technical information for a number of == General information ==
Basic general information about the [[cryptographic hash function]]s: year, designer, references, etc.
{| class="wikitable sortable" style="text-align: center"
|-
! Function
! Year
! Designer
! Derived from
Line 13 ⟶ 15:
| [[BLAKE (hash function)|BLAKE]]
| 2008
| Jean-Philippe Aumasson<br
| [[
| [https://131002.net/blake/ Website]<br>[https://web.archive.org/web/20201001184633/http://131002.net/blake/blake.pdf Specification]
|-
| [[
| 2012
| Jean-Philippe Aumasson<br
| [[BLAKE (hash function)|BLAKE]]
| [https://blake2.net/ Website]<br>[https://blake2.net/blake2.pdf Specification]<br>{{IETF RFC|7693}}
|-
| [[BLAKE3]]
| 2020
| Jack O'Connor<br>Jean-Philippe Aumasson<br>Samuel Neves<br>[[Zooko Wilcox-O'Hearn]]
| [[BLAKE2]]
| [https://github.com/BLAKE3-team/BLAKE3 Website]<br>[https://github.com/BLAKE3-team/BLAKE3-specs/blob/master/blake3.pdf Specification]
|-
| [[GOST (hash function)|GOST R 34.11-94]]
Line 27 ⟶ 35:
| [[FAPSI]] and VNIIstandart
| [[GOST (block cipher)|GOST 28147-89]]
| {{IETF RFC
|-
| [[HAVAL]]
| 1992
| [[Yuliang Zheng]]<br
|
| [https://web.archive.org/web/20150111210116/http://labs.calyptix.com/haval.php Website]<br>[https://web.archive.org/web/20140411060613/http://labs.calyptix.com/files/haval-paper.pdf Specification]
|-
| [[KangarooTwelve]]
| 2016
|
| [[Keccak]]
| [
|-
| [[MD2 (
| 1989
| rowspan="4" | [[Ronald Rivest]]
|
|
|-
| [[MD4]]
| 1990
|
|
|-
| [[MD5]]
| 1992
| [[MD4]]
|
|-
| [[MD6]]
| 2008
|
| [
|-
| [[RIPEMD]]
|
| The RIPE Consortium<ref>{{cite conference|first1=Hans|last1=Dobbertin|author-link1=Hans Dobbertin|first2=Antoon|last2=Bosselaers|first3=Bart|last3=Preneel|author-link3=Bart Preneel|title=RIPEMD-160: A strengthened version of RIPEMD|conference=Fast Software Encryption. Third International Workshop|___location=Cambridge, UK|date=21–23 February 1996|pages=71–82|url=https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf|doi=10.1007/3-540-60865-6_44|doi-access=free}}</ref>
| [[MD4]]
|
|-
| [[RIPEMD-128]]<br
| 1996
| [[Hans Dobbertin]]<br
| [[RIPEMD]]
| [
|-
| [[SHA-0]]
Line 78 ⟶ 86:
| rowspan="4"|[[National Security Agency|NSA]]
|
| [https://web.archive.org/web/20090130063617/http://w2.eff.org/Privacy/Digital_signature/?f=fips_sha_shs.info.txt SHA-0]
|-
| [[SHA-1]]
| 1995
| [[SHA-0]]
| rowspan="3" | [
|-
| [[SHA-256]]<br
| 2002
| rowspan="2"|
Line 93 ⟶ 101:
|-
| [[SHA-3]] (Keccak)
| 2008
|
| [[RadioGatún]]
| [https://keccak.team/ Website]<br>[https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf Specification]
|-
| [[Streebog]]
Line 102 ⟶ 110:
| [[Federal Security Service|FSB]], InfoTeCS JSC
|
|
|-
| [[Tiger (
| 1995
| [[Ross J. Anderson|Ross Anderson]]<br
|
| [
|-
| [[Whirlpool (
| 2004
| [[Vincent Rijmen]]<br
|
| [https://web.archive.org/web/20171129084214/http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html Website]
|}
== Parameters ==
{| class="wikitable sortable" style="text-align: center"
|-
! data-sort-type=text | Algorithm
! data-sort-type=number | Output size (bits)
! data-sort-type=number | Internal state size
! data-sort-type=number | Block size
! data-sort-type=number | Length size
! data-sort-type=number | Word size
! data-sort-type=number | [[Round (cryptography)|Rounds]]
|-
| '''[[BLAKE2b]]'''
| 512
| 512
| 1024
| 128{{notetag|The size of BLAKE2b's message length counter is 128-bit, but it counts message length in bytes, not in bits like the other hash functions in the comparison. It can hence handle eight times longer messages than a 128-bit length size would suggest (one byte equaling eight bits). A length size of 131-bit is the comparable length size (<math>8 \times 2^{128} = 2^{131}</math>).}}
| 64
| 12
|-
| '''[[BLAKE2s]]'''
| 256
| 256
|
| 64{{notetag|The size of BLAKE2s's message length counter is 64-bit, but it counts message length in bytes, not in bits like the other hash functions in the comparison. It can hence handle eight times longer messages than a 64-bit length size would suggest (one byte equaling eight bits). A length size of 67-bit is the comparable length size (<math>8 \times 2^{64} = 2^{67}</math>).}}
| 32
| 10
|-
| '''[[BLAKE3]]'''
| Unlimited{{notetag|It's technically 2<sup>64</sup> bytes which equals 2<sup>67</sup> bits<ref>https://github.com/BLAKE3-team/BLAKE3-specs/blob/master/blake3.pdf page 8</ref>}}
| 256{{notetag|The full BLAKE3 incremental state includes a chaining value stack up to 1728 bytes in size. However, the compression function itself does not access this stack. A smaller stack can also be used if the maximum input length is restricted.}}
| 512
| 64
| 32
| 7
|-
| '''[[GOST (hash function)|GOST]]'''
| 256
Line 158 ⟶ 168:
| 32
| 32
|-
| '''[[HAVAL]]'''
| 256/224/192/160/128
| 256
|
| 64
| 32
| 3/4/5
|-
| '''[[MD2 (hash function)|MD2]]'''
| 128
| 384
Line 176 ⟶ 184:
| 32
| 18
|-
| '''[[MD4]]'''
| 128
Line 185 ⟶ 192:
| 32
| 3
|-
| '''[[MD5]]'''
| 128
Line 194 ⟶ 200:
| 32
| 64
|-
| '''[[PANAMA]]'''
| 256
|
| 256
| –
| 32
| –
|-
| '''[[RadioGatún]]'''
| Unlimited
| 58 words
| 19 words
| –
| 1–64
| 18
|-
| '''[[RIPEMD]]'''
| 128
Line 221 ⟶ 224:
| 32
| 48
|-
| '''[[RIPEMD]]-128, -256'''
| 128/256
| 128/256
Line 230 ⟶ 232:
| 32
| 64
|-
| '''[[RIPEMD]]-160'''
| 160
| 160
Line 239 ⟶ 240:
| 32
| 80
|-
| '''[[RIPEMD]]-320'''
| 320
| 320
Line 248:
| 32
| 80
|-
| '''[[SHA-0]]'''
| 160
| 160
Line 257 ⟶ 256:
| 32
| 80
|-
| '''[[SHA-1]]'''
| 160
Line 264 ⟶ 262:
| 512
| 64
|
| 80
|-
| '''[[SHA-2|SHA-224, -256]]'''
| 224/256
| 256
| 512
| 64
|
| 64
|-
| '''[[SHA-2|SHA-384, -512, -512/224, -512/256]]'''
| 384/512/224/256
| 512
|
| 128
| 64
| 80
|-
| '''[[SHA-3]]'''
| 224/256/384/512
| 1600
| 1600 - 2*bits
| –{{notetag|Implementation dependent; as per section 7, second paragraph from the bottom of page 22, of FIPS PUB 202.}}
| 64
| 24
|-
| '''[[SHA3]]'''-224
| 224
| 1600
Line 302 ⟶ 296:
| 64
| 24
|-
| '''[[SHA3]]'''-256
| 256
| 1600
Line 311 ⟶ 304:
| 64
| 24
|-
| '''[[SHA3]]'''-384
| 384
| 1600
Line 320 ⟶ 312:
| 64
| 24
|-
| '''[[SHA3]]'''-512
| 512
| 1600
Line 329 ⟶ 320:
| 64
| 24
|-
| '''[[Tiger (hash function)|Tiger(2)-192/160/128]]'''
| 192/160/128
| 192
Line 338 ⟶ 328:
| 64
| 24
|-
| '''[[Whirlpool (hash function)|Whirlpool]]'''
| 512
| 512
Line 347 ⟶ 336:
| 8
| 10
|}
===Notes===
{{notefoot}}
== Compression function ==
The following tables compare technical information for [[One-way compression function|compression function]]s of [[cryptographic hash function]]s. The information comes from the specifications, please refer to them for more details.
{| class="wikitable" style="text-align: center"
|-
! rowspan="2" | Function
! colspan="6" | Size ([[bit]]s)
! rowspan="2" | Words ×
! rowspan="2" | Operations
! rowspan="2" | [[Endianness|Endian]]
|-
! [[Word (computer architecture)|Word]]
! [[Cryptographic hash function|Digest]]
! [[Merkle–Damgård construction|Chaining
! Computation<br
! [[Merkle–Damgård construction|Block]]
! [[Merkle–Damgård construction#Security characteristics|Length]]<br
|-
| [[GOST (hash function)|GOST R 34.11-94]]
Line 379 ⟶ 367:
| A B L S
| Little
|-
|
| rowspan="15" | 32
|
| colspan="2" rowspan="15" | {{nowrap|×8 {{=}} 256}}
| rowspan="15" | {{nowrap|×32 {{=}} 1,024}}
| rowspan="15" | 64
| rowspan="5"
| rowspan="15" | A B S
| rowspan="15" | Little
|-
| [[HAVAL|HAVAL-3-160]]
Line 436 ⟶ 422:
| {{nowrap|×8 {{=}} 256}}
|-
| [[MD2 (
| 8
| {{nowrap|×16 {{=}} 128}}
Line 446 ⟶ 432:
| B
| N/A
|-
| [[MD4]]
Line 453 ⟶ 438:
| rowspan="2" | {{nowrap|×16 {{=}} 512}}
| rowspan="2" | 64
|
| rowspan="2" | A B S
| rowspan="2" | Little
|-
| [[MD5]]
| {{nowrap|16 × 4 {{=}} 64}}
|-
| [[RIPEMD]]
Line 471 ⟶ 454:
| rowspan="5" | A B S
| rowspan="5" | Little
|-
| [[RIPEMD-128]]
| rowspan="2" | {{nowrap|16 × 4 {{=}} 64}}
|-
| [[RIPEMD-256]]
Line 498 ⟶ 479:
|-
| [[SHA-1]]
|-
| [[SHA-256]]
Line 519 ⟶ 499:
| {{nowrap|×6 {{=}} 384}}
|-
| [[Tiger (
| rowspan="3" | 64
| {{nowrap|×3 {{=}} 192}}
Line 528 ⟶ 508:
| rowspan="3" | A B L S
| rowspan="3" | Not Specified
|-
| [[Tiger (
| ×2.5=160
|-
| [[Tiger (
| {{nowrap|×2 {{=}} 128}}
|-
! rowspan="2" | Function
! [[Word (computer architecture)|Word]]
! [[Cryptographic hash function|Digest]]
! [[Merkle–Damgård construction|Chaining<br>values]]
! Computation<br>values
! [[Merkle–Damgård construction|Block]]
! [[Merkle–Damgård construction#Security characteristics|Length]]
! rowspan="2" | Words ×<br>Passes =<br>Rounds
! rowspan="2" | Operations
! rowspan="2" | [[Endianness|Endian]]
|-
! colspan="6" | Size ([[bit]]s)
|}
=== Notes ===
{{notefoot}}
== See also ==
Line 549 ⟶ 541:
== External links ==
{{Cryptography navbox
[[Category:Cryptographic primitives]]
[[Category:Cryptographic hash functions| ]]
|