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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
NAME
sha3sum - Keccak, SHA-3, SHAKE, and RawSHAKE checksum utilities
SYNOPSIS
keccaksum [option ...] [file ...]
keccak-224sum [option ...] [file ...]
keccak-256sum [option ...] [file ...]
keccak-384sum [option ...] [file ...]
keccak-512sum [option ...] [file ...]
sha3-224sum [option ...] [file ...]
sha3-256sum [option ...] [file ...]
sha3-384sum [option ...] [file ...]
sha3-512sum [option ...] [file ...]
shake256sum [option ...] [file ...]
shake512sum [option ...] [file ...]
rawshake256sum [option ...] [file ...]
rawshake512sum [option ...] [file ...]
DESCRIPTION
Fully configurable byte-orientated checksum utilities
for Keccak and its close derivatives SHA-3, SHAKE and
RawSHAKE.
This utilities can generate checksums or verify the
checksums of files.
OPTIONS
-u
Use upper-case output.
-l
Use lower-case output.
-b
Use binary output.
-c
Check checksums.
-x
Use hexadecimal input.
-v
Be verbose.
-R rate
Select rate.
-C capacity
Select capacity.
-N, -O output-size
Select output size.
-S, -B state-size
Select state size.
-W word-size
Select word size.
-Z squeeze-count
Select squeeze count.
RATIONALE
We probably do not need this, but it is nice to have
in case SHA-2 gets compromised.
SEE ALSO
libkeccak(7), sum(1), cksum(1), md5sum(1), md6sum(1),
sha1sum(1), sha224sum(1), sha256sum(1), sha384sum(1),
sha512sum(1)
PERFORMANCE
Performance comparison on a 1 GiB file (yes, that is
quite large) with /dev/urandom data:
$ keccak-224sum │ $ keccak-256sum
real 0m9.550s │ real 0m9.841s
user 0m9.223s │ user 0m9.560s
sys 0m0.320s │ sys 0m0.260s
│
$ keccak-384sum │ $ keccak-512sum
real 0m12.902s │ real 0m18.084s
user 0m12.580s │ user 0m17.823s
sys 0m0.313s │ sys 0m0.243s
│
$ keccaksum │ $ sha1sum
real 0m10.438s │ real 0m3.421s
user 0m10.140s │ user 0m3.157s
sys 0m0.287s │ sys 0m0.253s
│
$ sha224sum │ $ sha256sum
real 0m8.196s │ real 0m9.361s
user 0m7.910s │ user 0m9.097s
sys 0m0.263s │ sys 0m0.257s
│
$ sha384sum │ $ sha512sum
real 0m5.450s │ real 0m4.507s
user 0m5.223s │ user 0m4.247s
sys 0m0.220s │ sys 0m0.257s
│
$ md5sum │ $ md6sum
real 0m2.987s │ real 1m28.873s
user 0m2.703s │ user 1m28.470s
sys 0m0.283s │ sys 0m0.360s
Note: The times are a bit random, and only one run
has been made. "user" is the most interesting data.
Additionally, only the pure keccak variants have been
tested because the difference is between them and the
other are quite small; and of course the other hashing
utilities from other packages using other
algorithm-families.
NOTES
Packagers are advised to separate sha3sum(1) into its
own packages, apart from the other commands, as it is
mearly provided for compatibility and it could cause
package conflict with other implementations that only
provide sha3sum(1) such as busybox.
|