aboutsummaryrefslogtreecommitdiffstats
path: root/anysum.1
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--anysum.1428
1 files changed, 428 insertions, 0 deletions
diff --git a/anysum.1 b/anysum.1
new file mode 100644
index 0000000..b2038cc
--- /dev/null
+++ b/anysum.1
@@ -0,0 +1,428 @@
+.TH ANYSUM 1 anysum
+.SH NAME
+anysum - compute or verify against multiple checksums
+
+.SH SYNOPSIS
+.B anysum
+.RB ( -c
+.RB [ -w ]
+|
+.RB [ -a
+.IR algoritms ]\ ...)
+.RB [ -W
+.IR options ]\ ...
+.RB [ -z ]
+.RI [ file ]\ ...
+
+.SH DESCRIPTION
+The
+.B anysum
+utility can calculate checksums of a file using
+multiple hash functions, or using different parameters for
+the function, in parallel (the utility can calculate checksums
+for multiple files, but these are not calculated in parallel).
+.PP
+The
+.B anysum
+utility can also check a file against multiple
+checksums using multiple hash function and hash function
+parameters in parallel, and check that the file matches at
+least one of the listed checksums.
+
+.SH OPTIONS
+The anysum utility conforms to the Base Definitions volume of
+POSIX.1-2017,
+.IR "Section 12.2" ,
+.IR "Utility Syntax Guidelines" .
+.PP
+The following options are supported:
+.TP
+.BR -a \ \fIalgorithms\fP
+Comma-separated list of hash functions and
+parameters to compute checksums with.
+
+Currently supported values are:
+.RS
+.TP
+.B md2
+For MD2.
+.TP
+.B md4
+For MD4.
+.TP
+.B md5
+For MD5.
+.TP
+.BR ripemd128 " or " rmd128
+For RIPEMD-128.
+.TP
+.BR ripemd160 " or " rmd160
+For RIPEMD-160.
+.TP
+.BR ripemd256 " or " rmd256
+For RIPEMD-256.
+.TP
+.BR ripemd320 " or " rmd320
+For RIPEMD-320.
+.TP
+.B sha0
+For SHA-0.
+.TP
+.B sha1
+For SHA-1.
+.TP
+.B sha224
+For the 224 bit version of SHA-2.
+.TP
+.B sha256
+For the 256 bit version of SHA-2.
+.TP
+.B sha384
+For the 384 bit version of SHA-2.
+.TP
+.B sha512
+For the 512 bit version of SHA-2.
+.TP
+.B sha512/224
+For the 224 bit output variant of the
+512 (and 384) bit version of SHA-2.
+.TP
+.B sha512/256
+For the 256 bit output variant of the
+512 (and 384) bit version of SHA-2.
+.TP
+.BI keccak[r= bitrate ,c= capacity ,n= length ,z= squeezes ]
+For Keccak. The brackets and there parameter
+list, and each parameter, are optional. Any
+parameter the is skipped is automatically
+determined.
+.I bitrate
+and
+.I capacity
+are the Keccak function's bitrate and
+capacity bit bits, and
+.I length
+is the hash length is bits.
+.I squeezes
+is the number of squeezes to perform
+after a input has been feed into the function;
+the default is one, and any number in excess
+of this is the number of squeezes to perform
+before squeezing out the hash.
+.TP
+.B keccak-224
+For Keccak[r=1152,c=448,n=224].
+.TP
+.B keccak-256
+For Keccak[r=1088,c=512,n=256].
+.TP
+.B keccak-384
+For Keccak[r=832,c=768,n=384].
+.TP
+.B keccak-512
+For Keccak[r=576,c=1024,n=512].
+.TP
+.B sha3-224
+For the 224 bit version of SHA-3.
+.TP
+.B sha3-256
+For the 256 bit version of SHA-3.
+.TP
+.B sha3-384
+For the 384 bit version of SHA-3.
+.TP
+.B sha3-512
+For the 512 bit version of SHA-3.
+.TP
+.BI shake-128[n= length ]
+For the 128 bit version of SHAKE. The brackets and
+.BI n= length
+are optional;
+.I length
+shall the output size in bits (default is 128).
+.TP
+.BI shake-256[n= length ]
+For the 256 bit version of SHAKE. The brackets and
+.BI n= length
+are optional;
+.I length
+shall the output size in bits (default is 256).
+.TP
+.BI shake-512[n= length ]
+For the 512 bit version of SHAKE. The brackets and
+.BI n= length
+are optional;
+.I length
+shall the output size in bits (default is 512).
+.TP
+.BI rawshake-128[n= length ]
+For the 128 bit version of RawSHAKE. The
+brackets and
+.BI n= length
+are optional;
+.I length
+shall the output size in bits (default is 128).
+.TP
+.BI rawshake-256[n= length ]
+For the 256 bit version of RawSHAKE. The
+brackets and
+.BI n= length
+are optional;
+.I length
+shall the output size in bits (default is 256).
+.TP
+.BI rawshake-512[n= length ]
+For the 512 bit version of RawSHAKE. The
+brackets and
+.BI n= length
+are optional;
+.I length
+shall the output size in bits (default is 512).
+.TP
+.BR blake224[salt= \fIsalt\fP ] " or " b224[salt= \fIsalt\fP ]
+For the 224 bit version of BLAKE. The brackets and
+.BI salt= salt
+are optional;
+.I salt
+shall be a 32 character long hexadecimal value.
+.TP
+.BR blake256[salt= \fIsalt\fP ] " or " b256[salt= \fIsalt\fP ]
+For the 256 bit version of BLAKE. The brackets and
+.BI salt= salt
+are optional;
+.I salt
+shall be a 32 character long hexadecimal value.
+.TP
+.BR blake384[salt= \fIsalt\fP ] " or " b384[salt= \fIsalt\fP ]
+For the 384 bit version of BLAKE. The brackets and
+.BI salt= salt
+are optional;
+.I salt
+shall be a 64 character long hexadecimal value.
+.TP
+.BR blake512[salt= \fIsalt\fP ] " or " b512[salt= \fIsalt\fP ]
+For the 512 bit version of BLAKE. The brackets and
+.BI salt= salt
+are optional;
+.I salt
+shall be a 64 character long hexadecimal value.
+.PP
+The utility does also recognise similar values
+that are obviously equivalent.
+.RE
+.TP
+.B -b
+Read in binary mode when computing hashes.
+.TP
+.B -c
+Verify the the files listed in file against the
+checksums listed on the same lines. The file
+shall be formatted as the output of the utility
+when this option is not used. See the
+.B STDOUT
+section for more information. If a file is listed
+multiple times, it need only match one of the
+checksums listed for the file.
+
+The length of the listed checksums need not match
+the length output by this utility; before the
+checksums are compared, they are truncated to the
+shorter of the two checksums.
+.TP
+.B -t
+Read in text mode when computing hashes.
+.TP
+.BR -W \ \fIoptions\fP
+Comma-sepearated list of implementation-specific
+options. The following options are supported:
+.RS
+.TP
+.BI output= format
+.I format
+shall be
+.RB \(dq lowercase \(dq
+if the checksums shall be printed in lowercase
+hexadecimal format (default),
+.RB \(dq uppercase \(dq
+for uppercase hexadecimal format, or
+.RB \(dq binary \(dq
+for binary format without anything but the
+checksum printed to standard output. This
+option is ignored if the
+.B -c
+option is used.
+.TP
+.BI input= format
+.I format
+shall be
+.RB \(dq binary \(dq
+if the files are be read in binary mode,
+.RB \(dq text \(dq
+if the files shall be read in text mode, or
+.RB \(dq hexadecimal \(dq
+they shall be decoded from hexadecimal to
+binary. If the
+.B -c
+option is used, the mode specification
+associated with a file is overrides this
+behaviour for that file if the line
+specifies hexadecimal mode.
+.TP
+.BI threads= count
+The maximum number of threads that the
+utility may use. If
+.RB \(dq auto \(dq
+is specified, the utility selects a default
+value, which currently is the number of
+online CPU threads (at any time; assumed to
+be 8 if it cannot be determined) minus 2,
+or 1 if this would be less than 1.
+.TP
+.B recursive
+If a
+.I file
+operand is a directory, the checksum is computed for
+all files recursively. This option is ignored if the
+.B -c
+option is used.
+.TP
+.B no-recursive
+The utility shall traverse directories.
+(This is the default behaviour).
+.RE
+.TP
+.B -w
+Warn about, but skip, lines that are not properly
+formatted.
+.TP
+.B -z
+Use NUL byte as line ending instead of LF.
+.PP
+There is no difference between binary mode and text mode,
+so the
+.B -b
+and
+.B -t
+options are ignored, except that they undo
+.BR "-W input=hexadecimal" .
+
+.SH OPERANDS
+The following operand is supported:
+.TP
+.I file
+The file to read and compute the checksum for, or if the
+.B -c
+option is used, use as the listing of files and checksums
+to verify the files against. If dash
+.RB (' - ')
+is used or if no file operand is specified, standard input
+will be used.
+
+.SH STDOUT
+If the
+.B -c
+option is not used, the utility shall print the following
+line for each calculated checksum, however there are options
+that modify the format; see the
+.B OPTIONS
+section for more information:
+.PP
+.RS
+.B \(dq%s:%s %c%s\en\(dq,
+.RI < "hash function" >\fB,\fP
+.RI < hash >\fB,\fP
+.RI < mode >\fB,\fP
+.RI < file >
+.RE
+.PP
+where
+.I mode
+is SP (' ') for text mode, an asterisk
+.RB (' * ')
+for binary mode, or a pound sign
+.RB (' # ')
+for hexadecimal mode; however if there is no difference
+between binary mode and text mode and either is selected,
+SP (' ') (text mode) is used.
+.PP
+If the
+.B -c
+option the output shall be on the format:
+.PP
+.RS
+.B \(dq%s: %s\en\(dq,
+.RI < file >\fB,\fP
+.RI < validity >
+.RE
+.PP
+where
+.I validity
+is an implementation specified string
+that describes whether the checksum was valid (possibly
+with remarks), the file did not exist, the file could
+not be read (possibly with error information), or if
+the checksum was invalid or could not be compared
+(possibly with remarks). The
+.B -z
+option does not modify the line ending.
+
+.SH EXIT STATUS
+The following exit values are returned:
+.TP
+0
+Successful completion.
+.TP
+1
+Checksums did not match or a file did not exist.
+.TP
+2
+An error occurred.
+
+.SH NOTES
+Other implementations do not necessarily recognise the
+hexadecimal mode specifier
+.RB (' # ')
+in checksum list files.
+.PP
+The
+.B -c
+option accepting truncated checksums is an
+implementation-specific behaviour.
+
+.SH SEE ALSO
+.BR md2sum (1),
+.BR md4sum (1),
+.BR md5sum (1),
+.BR rmd128sum (1),
+.BR rmd256sum (1),
+.BR rmd384sum (1),
+.BR rmd512sum (1),
+.BR sha0sum (1),
+.BR sha1sum (1),
+.BR sha224sum (1),
+.BR sha256sum (1),
+.BR sha384sum (1),
+.BR sha512sum (1),
+.BR sha512-224sum (1),
+.BR sha512-256sum (1),
+.BR sha3sum (1),
+.BR sha3-224sum (1),
+.BR sha3-256sum (1),
+.BR sha3-384sum (1),
+.BR sha3-512sum (1),
+.BR keccaksum (1),
+.BR keccak224sum (1),
+.BR keccak256sum (1),
+.BR keccak384sum (1),
+.BR keccak512sum (1),
+.BR shake128sum (1),
+.BR shake256sum (1),
+.BR shake512sum (1),
+.BR rawshake128sum (1),
+.BR rawshake256sum (1),
+.BR rawshake512sum (1),
+.BR bsum (1),
+.BR b224sum (1),
+.BR b256sum (1),
+.BR b384sum (1),
+.BR b512sum (1)