1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
COMPLETE STATUS:
Java 1.2+ :: optimised
Python 3 :: optimised
Python 2 :: optimised for Python 3
C ISO C90 :: optimised
Java/C JNI :: optimised
Vala :: under development
NASM :: planned (maybe)
Python 3 + C :: planned (maybe)
Haskell :: planned (maybe)
Perl :: planned (maybe)
D :: planned (maybe)
Common Lisp :: planned (perhaps)
Scala :: planned (perhaps)
Magic :: planned (perhaps)
PERFORMANCE COMPARISON:
C ISO C90 :: 0,082s ~ 1
Java/C JNI :: 0,175s ~ 2.13
Java 1.2+ :: 0,258s ~ 3.15
Python 3 :: 25,057s ~ 306
Python 2 :: 37,488s ~ 457
Based on test against a 2,3 MB file.
**SHA-3/Keccak checksum calculator**
*USAGE:*
sha3sum [option...] < FILE
sha3sum [option...] file...
*OPTIONS:*
-r BITRATE
--bitrate The bitrate to use for SHA-3. (default: 1024)
-c CAPACITY
--capacity The capacity to use for SHA-3. (default: 576)
-w WORDSIZE
--wordsize The word size to use for SHA-3. (default: 64)
-o OUTPUTSIZE
--outputsize The output size to use for SHA-3. (default: 512)
-s STATESIZE
--statesize The state size to use for SHA-3. (default: 1600)
-i ITERATIONS
--iterations The number of hash iterations to run. (default: 1)
-j SQUEEZES
--squeezes The number of hash squeezes to run. (default: 1)
-h
--hex Read the input in hexadecimal, rather than binary.
-b
--binary Print the checksum in binary, rather than hexadecimal.
-m
--multi Print the chechsum at all iterations.
Pending the standardisation of SHA-3, there is no specification of particular SHA-3 functions yet.
Our defaults are based on Keccak[] being Keccak[r = 1024, c = 576] rather than the functions in
Wikipedias entires that uses [r = 576, c = 1024].
If you want to contribute with an implementation in another
language, please try do so in the earliest version of the
language officially supported on GNU/Linux, unless there are
backwards incompatibilities (as is the case with Python.)
This helps for embedded devices.
|