aboutsummaryrefslogtreecommitdiffstats
path: root/doc/sha3sum.texinfo
blob: 595c7258a8aef48a670bc0dcccd9a3b94deef39a (plain) (blame)
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
\input texinfo   @c -*-texinfo-*-

@c %**start of header
@setfilename sha3sum.info
@settitle sha3sum
@afourpaper
@documentencoding UTF-8
@documentlanguage en
@finalout
@c %**end of header


@dircategory Utilities
@direntry
* sha3sum: (sha3sum).                SHA-3 and Keccak checksum utility
@end direntry


@copying
Copyright @copyright{} 2014 Mattias Andrée

@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
``GNU Free Documentation License''.
@end quotation
@end copying

@ifnottex
@node Top
@top sha3sum -- SHA-3 and Keccak checksum utility
@insertcopying
@end ifnottex

@titlepage
@title sha3sum
@subtitle SHA-3 and Keccak checksum utility
@author by Mattias Andrée (maandree)

@page
@c @center `'
@vskip 0pt plus 1filll
@insertcopying
@end titlepage

@contents



@menu
* Overview::                        Brief overview of @command{sha3sum}.
* Invoking::                        Invocation of @command{sha3sum}.
* GNU Free Documentation License::  Copying and sharing this manual.
@end menu



@node Overview
@chapter Overview

@command{sha3sum} is a collection of utilities
around Keccak and its close derivatives SHA-3,
SHAKE and RawSHAKE for calculating checksums
and verifying the integrity of files.

@command{sha3sum} is based on the library
@command{libkeccak} which is not optimised for
any particular microarchitecture. If you find
a library optimised for your microarchitecture,
not too much work should be required to make it
@command{libkeccak}-compatible, if it isn't
already; or alternatively, make @command{sha3sum}
compatible with that library.



@node Invoking
@chapter Invoking

@command{sha3sum} include a collection of
similar utilities:

@table @command
@item keccak-224sum
Calculates Keccak-224 checksums,
which is Keccak[r=1152,c=448,n=224].

@item keccak-256sum
Calculates Keccak-256 checksums,
which is Keccak[r=1088,c=512,n=256].

@item keccak-384sum
Calculates Keccak-384 checksums,
which is Keccak[r=832,c=768,n=384].

@item keccak-512sum
Calculates Keccak-512 checksums,
which is Keccak[r=576,c=1024,n=512].

@item keccaksum
Calculates Keccak[] checksums,
which is Keccak[r=1024,c=576,n=512].

@item sha3-224sum
Calculates SHA3-224 checksums.

@item sha3-256sum
Calculates SHA3-256 checksums.

@item sha3-384sum
Calculates SHA3-384 checksums.

@item sha3-512sum
Calculates SHA3-512 checksums.

@item rawshake256sum
Calculates RawSHAKE-256 checksums.

@item rawshake512sum
Calculates RawSHAKE-512 checksums.

@item shake256sum
Calculates SHAKE-256 checksums.

@item shake512sum
Calculates SHAKE-512 checksums.
@end table

The @command{sha3sum} utilities recognises the
following options, and takes any number
of files.

@table @option
@item --
Parse all following arguments as filenames.

@item ++
Parse the next argument as a filename.

@item -h
@itemx --help
Display a summary of options.

@item -u
@itemx --upper
@itemx --uppercase
@itemx --upper-case
Output the checksums in upper case hexadecimal.

@item -l
@itemx --lower
@itemx --lowercase
@itemx --lower-case
Output the checksums in lower case hexadecimal.

@item -b
@itemx --binary
Output the checksums in binary format. When this
is selected, no filenames or checksum delimiters
are included in the output. Thus using this for
more than one file will require some work.

@item -x
@itemx --hex
@itemx --hex-input
Input files are in hexadecimal rather than binary.

@item -c
@itemx --check
Read checksums from the file and check them against
the files on your systems. The input files files
should be formated as the output of the
@command{sha3sum} utilities when @option{--check}
is not used, or similarly. This is not going to work
if any of the filenames in the input files starts
with a regular blank space or horizontal tab space,
or if they contain a line feed, carriage return or
form feed.

@item -v
@itemx --verbose
Print extra information.
@end table

If no file is selected, or when @file{-} is used,
standard input will be used.

The utilities also support checking the parameters
for the hash algorithm. These options are however
only intended to be used with @command{keccaksum}
unless stated otherwise.

@table @option
@item -R
@itemx --bitrate
@itemx --rate RATE
Change the rate.

@item -C
@itemx --capacity CAPACITY
Change the capacity.

@item -N
@itemx -O
@itemx --output-size
@itemx --output SIZE
Change the output size.

This should @emph{always} be specified when using
@command{rawshake256sum}, @command{rawshake512sum},
@command{shake256sum} and @command{shake512sum}.

@item -S
@itemx -B
@itemx --state-size
@itemx --state SIZE
Change the state size.

@item -W
@itemx --word-size
@itemx --word SIZE
Change the word size.

@item -Z
@itemx --squeezes COUNT
Change the number of squeezes that is performed.
@end table



@node GNU Free Documentation License
@appendix GNU Free Documentation License
@include fdl.texinfo

@bye