-
Notifications
You must be signed in to change notification settings - Fork 8
SHA3 hash functions_eac3
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.
--
You are on EACirc 3 wiki!
--
Building notes
Running notes
Recommencing computation
--
Framework components
Circuit back-ends
Main computation loop
Projects
Evaluators
CUDA support
Testing
Known bugs
Third party libraries
I/O-Files structure
Java bytecode simulator
--
Project eStream
Project SHA-3
Project CAESAR
Project Files
--