Difference between revisions of "The SHA-3 Zoo"
(Updated table of tweaks) |
(Merged tables of non-round 2 functions) |
||
| Line 3: | Line 3: | ||
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] and 14 submissions have made it into [http://csrc.nist.gov/groups/ST/hash/sha-3/Round2/index.html round 2]. |
The following table should give a first impression on the remaining SHA-3 candidates. It shows only 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]]. | The following table should give a first impression on the remaining SHA-3 candidates. It shows only 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]]. | ||
| Line 48: | Line 48: | ||
| − | The following hash functions have advanced to | + | The following hash functions have not advanced to round 2 (functions |
| + | conceded broken had advanced to round 1): | ||
| + | |||
{| 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 || conceded broken || 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 || conceded broken || 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 || conceded broken || 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 || conceded broken || 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 || | ||
| + | |- | ||
| + | | [[MeshHash]] || Björn Fay || conceded broken || style="background:orange" | 2nd preimage || | ||
| + | |- | ||
| + | | [[MCSSHA-3]] || Mikhail Maslennikov || in round 1|| style="background:orange" | 2nd preimage || | ||
|- | |- | ||
| − | | [[ | + | | [[MD6]] || Ronald L. Rivest || in round 1|| || |
|- | |- | ||
| − | | [[ | + | | [[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 || conceded broken || style="background:red" | collision || |
|- | |- | ||
| − | | [[ | + | | [[Spectral Hash]] || <nowiki>Çetin Kaya Koç</nowiki> || in round 1|| style="background:red" | collision || |
|- | |- | ||
| − | | [[ | + | | [[StreamHash]] || Michal Trojnara || conceded broken || style="background:red" | collision || |
| − | | | ||
| − | | | ||
|- | |- | ||
| − | | [[ | + | | [[SWIFFTX]] || Daniele Micciancio || in round 1|| || |
|- | |- | ||
| − | | [[ | + | | [[Tangle]] || Rafael Alvarez || conceded broken || 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 || conceded broken || style="background:red" | collision || |
|- | |- | ||
| − | | [[ | + | | [[Waterfall]] || Bob Hattersley || conceded broken || style="background:orange" | collision || |
|- | |- | ||
| − | + | | [[ZK-Crypt]] || Carmi Gressel || not in round 1 || || | |
| − | |||
| − | | [[ZK-Crypt]] || Carmi Gressel || not in round 1 || | ||
| − | | | ||
|} | |} | ||
| + | |||
Your analysis is not mentioned? Drop a line at sha3zoo@iaik.tugraz.at to let us know! | Your analysis is not mentioned? Drop a line at sha3zoo@iaik.tugraz.at to let us know! | ||
Revision as of 11:44, 24 November 2009
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 and 14 submissions have made it into round 2.
The following table should give a first impression on the remaining SHA-3 candidates. It shows only 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
New: Round 2 tweaks for all candidates
| Hash Name | Principal Submitter | Best Attack on Main NIST Requirements | Best Attack on other Hash Requirements |
|---|---|---|---|
| BLAKE | Jean-Philippe Aumasson | ||
| Blue Midnight Wish | Svein Johan Knapskog | ||
| CubeHash | Daniel J. Bernstein | preimage | |
| ECHO | Henri Gilbert | ||
| Fugue | Charanjit S. Jutla | ||
| Grøstl | Lars R. Knudsen | ||
| Hamsi | Özgül Küçük | ||
| JH | Hongjun Wu | preimage | |
| Keccak | The Keccak Team | ||
| Luffa | Dai Watanabe | ||
| Shabal | Jean-François Misarsky | ||
| SHAvite-3 | Orr Dunkelman | ||
| SIMD | Gaëtan Leurent | ||
| Skein | Bruce Schneier |
The following hash functions have not advanced to round 2 (functions conceded broken had advanced to round 1):
| Hash Name | Principal Submitter | Status | Best Attack on Main NIST Requirements | Best Attack on other Hash Requirements |
|---|---|---|---|---|
| Abacus | Neil Sholer | conceded broken | 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 | conceded broken | 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 | conceded broken | 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 | conceded broken | 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 | |
| MeshHash | Björn Fay | conceded broken | 2nd preimage | |
| MCSSHA-3 | Mikhail Maslennikov | in round 1 | 2nd preimage | |
| MD6 | Ronald L. Rivest | in round 1 | ||
| 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 | conceded broken | collision | |
| Spectral Hash | Çetin Kaya Koç | in round 1 | collision | |
| StreamHash | Michal Trojnara | conceded broken | collision | |
| SWIFFTX | Daniele Micciancio | in round 1 | ||
| Tangle | Rafael Alvarez | conceded broken | 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 | conceded broken | collision | |
| Waterfall | Bob Hattersley | conceded broken | collision | |
| ZK-Crypt | Carmi Gressel | not in round 1 |
Your analysis is not mentioned? Drop a line at sha3zoo@iaik.tugraz.at to let us know!