\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