Skip to content

SHA3 hash functions_eac3

Karel Kubicek edited this page Feb 13, 2017 · 1 revision

Table containing some useful information about the SHA-3 candidate functions along with link to authors' website. Further details about the SHA-3 public competition can be found on NIST's website or The SHA-3 Zoo at ECRYPT project.

Num Hash function State OutLengths NumRounds Note Webpage
1 Abacus ok 1-x (?) 1-280 (135) numRounds only changes dataLength in final() operation -
2 ARIRANG ok 224, 256, 384, 512 0-4 (4) webpage
3 AURORA ok 224, 256, 384, 512 0-16 (17) one final round is always added, rounds are executed always 2 together webpage
4 BLAKE ok 224, 256, 384, 512 0-x (l<384 ? 14 : 16) numRounds not limited webpage
5 Blender ok any divsible by 16 0-x (32) round limiting probably does nothing -
6 BMW ok 224, 256, 384, 512 0-16 (16) name: Blue Midnight Wish webpage
7 Boole ok 1-512 0-x (16) Limiting rounds influences only some register copying (probably not interesting) -
8 Cheetah ok 224, 256, 384, 512 l<=256 ? 0-15 (16) : 0-11 (12) one final round is always added webpage
9 CHI ok 224, 256, 384, 512 0-x (l<300 ? 20 : 40) similar small number of rounds (1,2,3 etc) may have same functionality webpage
10 CRUNCH ok 224, 256, 384, 512 0-x (224) rounds less than 34 may do nothing (Why? Ondrej writes so.) -
11 CubeHash ok 8-512, divisible by 8 0-x (8) webpage
12 DCH ok 224, 256, 384, 512 0-x (4) -
13 DynamicSHA ok 224, 256, 384, 512 0-16 (16) -
14 DynamicSHA2 ok 224, 256, 384, 512 1-17 (17) -
15 ECHO ok 1-x 1-x l<=256 ? (8) : (10) webpage
16 ECOH no-compile -
17 EDON ok 224, 256, 384, 512 n/a -
18 EnRUPT no-compile -
19 ESSENCE ok 128-512 8-x (32) numRounds must be divisible by 8 -
  • | FSB | no-code | | | | - 20 | Fugue | ok | 1-x (?) | ?? ( 5,6,8,13) | complicated initialization, not sure of supported hash lengths, code unclear | webpage 21 | Grostl | ok | 1-512, divisible by 8 | l<=256 ? 0-10 (10) : 2-x (14) | in higher variant rounds are executed in pairs | webpage 22 | Hamsi | ok | 224, 256, 384, 512 | 0-x (l<=256 3 : 6) | final has extra 6/12 rounds, when limitted rounds then extra numRounds | webpage 23 | JH | ok | 224, 256, 384, 512 | 0-x (42) | | webpage 24 | Keccak | ok | 224, 256, 384, 512 | n/a | may support arbitrary output length, set hashbitlength 0 | webpage 25 | Khichidi | ok | 224, 256, 384, 512 | n/a | | - 26 | LANE | ok | 224, 256, 384, 512 | (6+3,8+4) | confusing, some num rounds not used in code, limited rounds settings is commented | - 27 | Lesamnta | ok | 224, 256, 384, 512 | 0-32 (32) | | webpage 28 | Luffa | ok | 224, 256, 384, 512 | 0-8 (8) | | webpage 29 | LUX | no-compile | | | | - 30 | MCSSHA3 | ok | 224, 256, 384, 512 | n/a | | webpage 31 | MD6 | ok | 1-512 | 0-104 (104) | if number of rounds is >104, then 40+(hashLength/4) rounds are used | webpage 32 | MeshHash | ok | 0-32767 (divisible by 8) | (32) | number of rounds is internally multiplied by 8, limiting number of rounds probably does nothing | - 33 | NaSHA | ok | 224, 256, 384, 512 | n/a | | webpage 34 | SANDstorm | no-compile | | | | - 35 | Sarmal | ok | 224, 256, 384, 512 | l<=256 ? 0-16 (16) : 0-20 (20) | | -
  • | Sgail | no-code | | | | webpage 36 | Shabal | ok | 192, 224, 256, 384, 512 | n/a | | webpage 37 | SHAMATA | ok | 224, 256, 384, 512 | n/a | | webpage 38 | SHAvite3 | ok | 224, 256, 384, 512 | l<=256 ? 0-11 (12) : 0-14 (14) | | webpage 39 | SIMD | ok | 1-512 | 0-4 (4) | | webpage 40 | Skein | ok | 1-512 | n/a | | webpage 41 | SpectralHash | ok | 128-512 (divisible by 32) | n/a | | - 42 | StreamHash | ok | 224, 256, 384, 512 | n/a | | - 43 | SWIFFTX | no-compile | | | | - 44 | Tangle | ok | 224, 256, 384, 512, 768, 1024 | 0-x (72, 80, 96, 112, 128, 144) | default number of rounds depends on hahsLength | - 45 | TIB3 | no-compile | | | | - 46 | Twister | ok | 32-512 (divisible by 32) | l<=256 ? 0-9 (9) : 0-10 (10) | | - 47 | Vortex | no-compile | 224, 256, 384, 512 | 0-15 (15) | | webpage 48 | WaMM | ok | 192-2048 (divisible by 32) | 0-x (2) | complicated round handling, may not support arbitraty number of rounds | - 49 | Waterfall | ok | 1-512 (divisible by 32) | 0-x (4+16) | steps done by macros, complicated, number of rounds apply to operation in Final with fixed input (may or may not be interesting) | - 50 | Tangle2 | ok | ?224, 256, 384, 512, 768, 1024? | ?0-x (72, 80, 96, 112, 128, 144)? | ?default number of rounds depends on hahsLength? | -

Num
Constant used to distinguish this function inside EACirc. For detailed usage, see [configuration of SHA-3 project](Project-SHA3-(configuration)_eac3)

Hash function
Name of the function as submitted to the SHA-3 competition.

State
Working state in EACirc - ok/no-compile/no-run/no-code.

OutLengths
The competition required the algorithms to support 224, 256, 384, and 512-bit message digests and support a maximum message length of at least 264 bits. However, some hash functions also provide other message digest lengths.

NumRounds
If a function can be reduced in number of rounds, allowed range is stated here. Standard number of rounds is written in parentheses.

Note Any further information, particularly regarding limiting the number of rounds.

Webpage
Link to webpage provided by the authors of the function, as submitted to SHA-3 competition.

Clone this wiki locally