aboutsummaryrefslogblamecommitdiffstats
path: root/doc/sha3sum.texinfo
blob: fd92d982913fc2e52d5bd6cbcc8e0e1536748116 (plain) (tree)






























































                                                                        












                                                 





                 



















































































































































                                                    








                                        
\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 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