Difference between revisions of "The SHA-3 Zoo"
(Updated table of tweaks) |
Mschlaeffer (talk | contribs) (tables updated) |
||
| (8 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
The SHA-3 Zoo (work in progress) is a collection of cryptographic hash functions (in alphabetical order) submitted to the [http://www.nist.gov/hash-competition SHA-3 contest] (see also [http://en.wikipedia.org/wiki/SHA-3 here]). It aims to provide an overview of design and cryptanalysis of all submissions. A list of all [[SHA-3 submitters]] is also available. For a software performance related overview, see [http://bench.cr.yp.to/ebash.html eBASH]. At a separate page, we also collect [[SHA-3_Hardware_Implementations | hardware implementation results]] of the candidates. Another categorization of the SHA-3 submissions can be found [http://eprint.iacr.org/2008/511.pdf here]. | The SHA-3 Zoo (work in progress) is a collection of cryptographic hash functions (in alphabetical order) submitted to the [http://www.nist.gov/hash-competition SHA-3 contest] (see also [http://en.wikipedia.org/wiki/SHA-3 here]). It aims to provide an overview of design and cryptanalysis of all submissions. A list of all [[SHA-3 submitters]] is also available. For a software performance related overview, see [http://bench.cr.yp.to/ebash.html eBASH]. At a separate page, we also collect [[SHA-3_Hardware_Implementations | hardware implementation results]] of the candidates. Another categorization of the SHA-3 submissions can be found [http://eprint.iacr.org/2008/511.pdf here]. | ||
| − | + | ||
The idea of the SHA-3 Zoo is to give a good overview of cryptanalytic results. We try to avoid additional judgement whether a submission is broken. The answer to this question is left to NIST. However, we categorize the cryptanalytic results by their impact from very theoretic to practical attacks. A detailed description is given in [[Cryptanalysis Categories]]. | The idea of the SHA-3 Zoo is to give a good overview of cryptanalytic results. We try to avoid additional judgement whether a submission is broken. The answer to this question is left to NIST. However, we categorize the cryptanalytic results by their impact from very theoretic to practical attacks. A detailed description is given in [[Cryptanalysis Categories]]. | ||
| − | At this time, 56 out of 64 submissions to the SHA-3 competition are publicly known and available. 51 submissions have advanced to [http://csrc.nist.gov/groups/ST/hash/sha-3/Round1/index.html | + | At this time, 56 out of 64 submissions to the SHA-3 competition are publicly known and available. 51 submissions have advanced to [http://csrc.nist.gov/groups/ST/hash/sha-3/Round1/index.html round 1], 14 submissions have made it into [http://csrc.nist.gov/groups/ST/hash/sha-3/Round2/index.html round 2] and 5 candidates have been selected for the [http://csrc.nist.gov/groups/ST/hash/sha-3/Round3/index.html final]. |
| − | The following | + | The following tables give a first impression on the cryptanalysis of the SHA-3 candidates. The tables only show the best known attack, more detailed results are collected at the individual hash function pages. A description of the main table is given [[Cryptanalysis_Categories#Main_Cryptanalysis_Table | here]]. |
[http://ehash.iaik.tugraz.at/index.php?title=Special:Recentchangeslinked&target=The_SHA-3_Zoo&days=7&limit=50&hideminor=1 Recent updates of the SHA-3 Zoo] | [http://ehash.iaik.tugraz.at/index.php?title=Special:Recentchangeslinked&target=The_SHA-3_Zoo&days=7&limit=50&hideminor=1 Recent updates of the SHA-3 Zoo] | ||
| + | (Your analysis is not mentioned? Drop a line at sha3zoo@iaik.tugraz.at to let us know!) | ||
| − | |||
| + | |||
| + | Keccak has been selected as the SHA-3 standard: | ||
| + | |||
| + | {| border="1" cellpadding="4" cellspacing="0" align="center" class="wikitable" style="text-align:center" | ||
| + | |- style="background:#efefef;" | ||
| + | ! width="120"| Hash Name !! width="160" | Principal Submitter !! width="150"| Best Attack on Main NIST Requirements !! width="140"| Best Attack on other Hash Requirements | ||
| + | |- | ||
| + | | [[Keccak]] || The Keccak Team || || | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | The other 4 finalists of the SHA-3 competition are: | ||
{| border="1" cellpadding="4" cellspacing="0" align="center" class="wikitable" style="text-align:center" | {| border="1" cellpadding="4" cellspacing="0" align="center" class="wikitable" style="text-align:center" | ||
| Line 17: | Line 32: | ||
|- | |- | ||
| [[BLAKE]] || Jean-Philippe Aumasson || || | | [[BLAKE]] || Jean-Philippe Aumasson || || | ||
| + | |- | ||
| + | | [[Groestl|Grøstl]] || Lars R. Knudsen || || | ||
| + | |- | ||
| + | | [[JH]] || Hongjun Wu || style="background:greenyellow" | preimage || | ||
| + | |- | ||
| + | | [[Skein]] || Bruce Schneier || || | ||
| + | |- | ||
| + | |} | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | The following SHA-3 candidates advanced to round 2 but did not get into the final: | ||
| + | |||
| + | [http://ehash.iaik.tugraz.at/uploads/c/ce/20090922-2230_SHA-3_round2_tweaks.pdf Round 2 tweaks for all candidates] | ||
| + | |||
| + | |||
| + | {| border="1" cellpadding="4" cellspacing="0" align="center" class="wikitable" style="text-align:center" | ||
| + | |- style="background:#efefef;" | ||
| + | ! width="120"| Hash Name !! width="160" | Principal Submitter !! width="150"| Best Attack on Main NIST Requirements !! width="140"| Best Attack on other Hash Requirements | ||
|- | |- | ||
| [[Blue Midnight Wish]] || Svein Johan Knapskog || || | | [[Blue Midnight Wish]] || Svein Johan Knapskog || || | ||
| Line 26: | Line 61: | ||
| [[Fugue]] || Charanjit S. Jutla || || | | [[Fugue]] || Charanjit S. Jutla || || | ||
|- | |- | ||
| − | |||
| − | |||
| [[Hamsi]] || <nowiki>Özgül Küçük</nowiki> || || | | [[Hamsi]] || <nowiki>Özgül Küçük</nowiki> || || | ||
| − | |||
| − | |||
| − | |||
| − | |||
|- | |- | ||
| [[Luffa]] || Dai Watanabe || || | | [[Luffa]] || Dai Watanabe || || | ||
| Line 42: | Line 71: | ||
| [[SIMD]] || <nowiki>Gaëtan Leurent</nowiki> || || | | [[SIMD]] || <nowiki>Gaëtan Leurent</nowiki> || || | ||
|- | |- | ||
| − | |||
| − | |||
|} | |} | ||
| − | The following hash functions have advanced to | + | |
| + | |||
| + | The following submitted hash functions have not advanced to round 2: | ||
{| border="1" cellpadding="4" cellspacing="0" align="center" class="wikitable" style="text-align:center" | {| border="1" cellpadding="4" cellspacing="0" align="center" class="wikitable" style="text-align:center" | ||
|- style="background:#efefef;" | |- style="background:#efefef;" | ||
| − | ! width="120"| Hash Name !! width="160" | Principal Submitter !! width="150"| Best Attack on Main NIST Requirements !! width="140"| Best Attack on other Hash Requirements | + | ! width="120"| Hash Name !! width="160" | Principal Submitter !! width="120" | Status !! width="150"| Best Attack on Main NIST Requirements !! width="140"| Best Attack on other Hash Requirements |
| + | |- | ||
| + | | [[Abacus]] || Neil Sholer || in round 1 || style="background:orange" | 2nd-preimage || | ||
|- | |- | ||
| − | | [[ARIRANG]] || Jongin Lim || || | + | | [[ARIRANG]] || Jongin Lim || in round 1 || || |
|- | |- | ||
| − | | [[AURORA]] || Masahiro Fujita || style="background:orange"| 2nd preimage || | + | | [[AURORA]] || Masahiro Fujita || in round 1|| style="background:orange"| 2nd preimage || |
| + | |- | ||
| + | | [[Blender]] || Colin Bradbury || in round 1|| style="background:orange" | collision, preimage || near-collision | ||
| + | |- | ||
| + | | [[Boole]] || Greg Rose || in round 1 || style="background:red" | collision || | ||
| + | |- | ||
| + | | [[Cheetah]] || Dmitry Khovratovich || in round 1|| || length-extension | ||
|- | |- | ||
| − | | [[ | + | | [[CHI]] || Phillip Hawkes || in round 1|| || |
|- | |- | ||
| − | | [[ | + | | [[CRUNCH]] || Jacques Patarin || in round 1|| || length-extension |
|- | |- | ||
| − | | [[ | + | | [[DCH]] || David A. Wilson || in round 1 || style="background:red" | collision || |
| − | |||
| − | |||
|- | |- | ||
| − | | [[Dynamic SHA]] || Xu Zijie || style="background:red"|collision || length-extension | + | | [[Dynamic SHA]] || Xu Zijie || in round 1|| style="background:red"|collision || length-extension |
|- | |- | ||
| − | | [[Dynamic SHA2]] || Xu Zijie || style="background:orange"|collision || length-extension | + | | [[Dynamic SHA2]] || Xu Zijie || in round 1|| style="background:orange"|collision || length-extension |
|- | |- | ||
| − | | [[ECOH]] || Daniel R. L. Brown || style="background:orange"| 2nd preimage || | + | | [[ECOH]] || Daniel R. L. Brown || in round 1|| style="background:orange"| 2nd preimage || |
|- | |- | ||
| − | | [[Edon-R (SHA-3 submission)|Edon-R]] || Danilo Gligoroski || style="background:yellow" | preimage || | + | | [[Edon-R (SHA-3 submission)|Edon-R]] || Danilo Gligoroski || in round 1|| style="background:yellow" | preimage || |
|- | |- | ||
| − | | [[EnRUPT]] || Sean O'Neil || style="background:red" | collision || | + | | [[EnRUPT]] || Sean O'Neil || in round 1|| style="background:red" | collision || |
|- | |- | ||
| − | | [[ESSENCE]] || Jason Worth Martin || style="background:orange" | collision || | + | | [[ESSENCE]] || Jason Worth Martin || in round 1|| style="background:orange" | collision || |
|- | |- | ||
| − | | [[FSB (SHA-3 submission) | FSB]] || Matthieu Finiasz || || | + | | [[FSB (SHA-3 submission) | FSB]] || Matthieu Finiasz || in round 1|| || |
|- | |- | ||
| − | | [[ | + | | [[HASH 2X]] || Jason Lee || not in round 1 || style="background:red" | 2nd-preimage || |
| − | |- | ||
| − | |||
|- | |- | ||
| − | | [[ | + | | [[Khichidi-1]] || M. Vidyasagar || in round 1 || style="background:red" | collision || |
| − | | | ||
| − | | | ||
|- | |- | ||
| − | | [[ | + | | [[LANE]] || Sebastiaan Indesteege || in round 1|| || |
| − | |- | + | |- |
| − | | [[ | + | | [[Lesamnta]] || Hirotaka Yoshida || in round 1|| || |
|- | |- | ||
| − | | [[ | + | | [[LUX]] || <nowiki>Ivica Nikolić</nowiki> || in round 1|| style="background:orange" | collision, 2nd preimage || DRBG,HMAC |
| + | |- | ||
| + | | [[Maraca]] || Robert J. Jenkins || not in round 1 || style="background:red" | preimage || | ||
| + | |- | ||
| + | | [[MCSSHA-3]] || Mikhail Maslennikov || in round 1|| style="background:orange" | 2nd preimage || | ||
| + | |- | ||
| + | | [[MD6]] || Ronald L. Rivest || in round 1|| || | ||
| + | |- | ||
| + | | [[MeshHash]] || Björn Fay || in round 1 || style="background:orange" | 2nd preimage || | ||
| + | |- | ||
| + | | [[NaSHA]] || Smile Markovski || in round 1|| style="background:orange" | collision || | ||
|- | |- | ||
| − | | [[ | + | | [[NKS2D]] || Geoffrey Park || not in round 1 || style="background:red" | collision || |
| − | |||
| − | |||
|- | |- | ||
| − | | [[ | + | | [[Ponic]] || Peter Schmidt-Nielsen || not in round 1 || style="background:yellow" | 2nd-preimage |
| − | |||
| − | |||
|- | |- | ||
| − | | [[ | + | | [[SANDstorm]] || Rich Schroeppel || in round 1|| || |
|- | |- | ||
| − | | [[ | + | | [[Sarmal]] || <nowiki>Kerem Varıcı</nowiki> || in round 1|| style="background:yellow" | preimage || |
|- | |- | ||
| − | | [[ | + | | [[Sgàil]] || Peter Maxwell|| in round 1|| style="background:red" | collision || |
| − | | | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | | | ||
| − | |||
| − | | | ||
| − | |||
|- | |- | ||
| − | | [[ | + | | [[SHAMATA]] || Orhun Kara || in round 1 || style="background:red" | collision || |
|- | |- | ||
| − | | [[ | + | | [[Spectral Hash]] || <nowiki>Çetin Kaya Koç</nowiki> || in round 1|| style="background:red" | collision || |
| − | |||
| − | |||
|- | |- | ||
| − | | [[ | + | | [[StreamHash]] || Michal Trojnara || in round 1 || style="background:red" | collision || |
|- | |- | ||
| − | | [[ | + | | [[SWIFFTX]] || Daniele Micciancio || in round 1|| || |
|- | |- | ||
| − | | [[ | + | | [[Tangle]] || Rafael Alvarez || in round 1 || style="background:red" | collision || |
|- | |- | ||
| − | | [[ | + | | [[TIB3]] || Daniel Penazzi || in round 1|| style="background:yellow" | collision || |
|- | |- | ||
| − | | [[ | + | | [[Twister]] || Michael Gorski || in round 1|| style="background:orange" | preimage || |
|- | |- | ||
| − | | [[ | + | | [[Vortex (SHA-3 submission)|Vortex]] || Michael Kounavis || in round 1|| style="background:yellow" | preimage || |
| − | |||
| − | | | ||
| − | |||
| − | |||
|- | |- | ||
| − | | [[WaMM]] || John Washburn || | + | | [[WaMM]] || John Washburn || in round 1 || style="background:red" | collision || |
|- | |- | ||
| − | | [[Waterfall]] || Bob Hattersley || | + | | [[Waterfall]] || Bob Hattersley || in round 1 || style="background:orange" | collision || |
|- | |- | ||
| − | | [[ZK-Crypt]] || Carmi Gressel || not in round 1 || | + | | [[ZK-Crypt]] || Carmi Gressel || not in round 1 || || |
| − | | | ||
|} | |} | ||
| − | |||
| − | |||
| − | |||
Latest revision as of 16:32, 28 January 2013
The SHA-3 Zoo (work in progress) is a collection of cryptographic hash functions (in alphabetical order) submitted to the SHA-3 contest (see also here). It aims to provide an overview of design and cryptanalysis of all submissions. A list of all SHA-3 submitters is also available. For a software performance related overview, see eBASH. At a separate page, we also collect hardware implementation results of the candidates. Another categorization of the SHA-3 submissions can be found here.
The idea of the SHA-3 Zoo is to give a good overview of cryptanalytic results. We try to avoid additional judgement whether a submission is broken. The answer to this question is left to NIST. However, we categorize the cryptanalytic results by their impact from very theoretic to practical attacks. A detailed description is given in Cryptanalysis Categories.
At this time, 56 out of 64 submissions to the SHA-3 competition are publicly known and available. 51 submissions have advanced to round 1, 14 submissions have made it into round 2 and 5 candidates have been selected for the final.
The following tables give a first impression on the cryptanalysis of the SHA-3 candidates. The tables only show the best known attack, more detailed results are collected at the individual hash function pages. A description of the main table is given here.
Recent updates of the SHA-3 Zoo (Your analysis is not mentioned? Drop a line at sha3zoo@iaik.tugraz.at to let us know!)
Keccak has been selected as the SHA-3 standard:
| Hash Name | Principal Submitter | Best Attack on Main NIST Requirements | Best Attack on other Hash Requirements |
|---|---|---|---|
| Keccak | The Keccak Team |
The other 4 finalists of the SHA-3 competition are:
| Hash Name | Principal Submitter | Best Attack on Main NIST Requirements | Best Attack on other Hash Requirements |
|---|---|---|---|
| BLAKE | Jean-Philippe Aumasson | ||
| Grøstl | Lars R. Knudsen | ||
| JH | Hongjun Wu | preimage | |
| Skein | Bruce Schneier |
The following SHA-3 candidates advanced to round 2 but did not get into the final:
Round 2 tweaks for all candidates
| Hash Name | Principal Submitter | Best Attack on Main NIST Requirements | Best Attack on other Hash Requirements |
|---|---|---|---|
| Blue Midnight Wish | Svein Johan Knapskog | ||
| CubeHash | Daniel J. Bernstein | preimage | |
| ECHO | Henri Gilbert | ||
| Fugue | Charanjit S. Jutla | ||
| Hamsi | Özgül Küçük | ||
| Luffa | Dai Watanabe | ||
| Shabal | Jean-François Misarsky | ||
| SHAvite-3 | Orr Dunkelman | ||
| SIMD | Gaëtan Leurent |
The following submitted hash functions have not advanced to round 2:
| Hash Name | Principal Submitter | Status | Best Attack on Main NIST Requirements | Best Attack on other Hash Requirements |
|---|---|---|---|---|
| Abacus | Neil Sholer | in round 1 | 2nd-preimage | |
| ARIRANG | Jongin Lim | in round 1 | ||
| AURORA | Masahiro Fujita | in round 1 | 2nd preimage | |
| Blender | Colin Bradbury | in round 1 | collision, preimage | near-collision |
| Boole | Greg Rose | in round 1 | collision | |
| Cheetah | Dmitry Khovratovich | in round 1 | length-extension | |
| CHI | Phillip Hawkes | in round 1 | ||
| CRUNCH | Jacques Patarin | in round 1 | length-extension | |
| DCH | David A. Wilson | in round 1 | collision | |
| Dynamic SHA | Xu Zijie | in round 1 | collision | length-extension |
| Dynamic SHA2 | Xu Zijie | in round 1 | collision | length-extension |
| ECOH | Daniel R. L. Brown | in round 1 | 2nd preimage | |
| Edon-R | Danilo Gligoroski | in round 1 | preimage | |
| EnRUPT | Sean O'Neil | in round 1 | collision | |
| ESSENCE | Jason Worth Martin | in round 1 | collision | |
| FSB | Matthieu Finiasz | in round 1 | ||
| HASH 2X | Jason Lee | not in round 1 | 2nd-preimage | |
| Khichidi-1 | M. Vidyasagar | in round 1 | collision | |
| LANE | Sebastiaan Indesteege | in round 1 | ||
| Lesamnta | Hirotaka Yoshida | in round 1 | ||
| LUX | Ivica Nikolić | in round 1 | collision, 2nd preimage | DRBG,HMAC |
| Maraca | Robert J. Jenkins | not in round 1 | preimage | |
| MCSSHA-3 | Mikhail Maslennikov | in round 1 | 2nd preimage | |
| MD6 | Ronald L. Rivest | in round 1 | ||
| MeshHash | Björn Fay | in round 1 | 2nd preimage | |
| NaSHA | Smile Markovski | in round 1 | collision | |
| NKS2D | Geoffrey Park | not in round 1 | collision | |
| Ponic | Peter Schmidt-Nielsen | not in round 1 | 2nd-preimage | |
| SANDstorm | Rich Schroeppel | in round 1 | ||
| Sarmal | Kerem Varıcı | in round 1 | preimage | |
| Sgàil | Peter Maxwell | in round 1 | collision | |
| SHAMATA | Orhun Kara | in round 1 | collision | |
| Spectral Hash | Çetin Kaya Koç | in round 1 | collision | |
| StreamHash | Michal Trojnara | in round 1 | collision | |
| SWIFFTX | Daniele Micciancio | in round 1 | ||
| Tangle | Rafael Alvarez | in round 1 | collision | |
| TIB3 | Daniel Penazzi | in round 1 | collision | |
| Twister | Michael Gorski | in round 1 | preimage | |
| Vortex | Michael Kounavis | in round 1 | preimage | |
| WaMM | John Washburn | in round 1 | collision | |
| Waterfall | Bob Hattersley | in round 1 | collision | |
| ZK-Crypt | Carmi Gressel | not in round 1 |