[go: up one dir, main page]

Skip to content
This repository has been archived by the owner on Oct 6, 2024. It is now read-only.
/ blakesum Public archive

Checksum utilities for the BLAKE-family of hashing functions

License

Notifications You must be signed in to change notification settings

maandree/blakesum

Repository files navigation

This repo has been moved to Codeberg and may be out of date on GitHub.
Canonical repo: https://codeberg.org/maandree/blakesum


NAME
	blakesum - Checksum utilities for the BLAKE-family of hashing functions

SYNOPSIS
	bsum [-l bits] [-S salt] [-c | -B | -L | -U] [-xz] [file] ...
	b224sum [-S salt] [-c | -B | -L | -U] [-xz] [file] ...
	b256sum [-S salt] [-c | -B | -L | -U] [-xz] [file] ...
	b384sum [-S salt] [-c | -B | -L | -U] [-xz] [file] ...
	b512sum [-S salt] [-c | -B | -L | -U] [-xz] [file] ...
	b2sum [-l bits | -X bits] [-K key] [-P pepper] [-S salt] \
		[-c | -B | -L | -U] [-sxz] [file] ...

DESCRIPTION
	Print or check BLAKE, BLAKE2, or BLAKE2X checksums.

	bsum is used for BLAKE2 checksums, and b2sum is used for
	BLAKE2 and BLAKE2X checksums.

	b224sum is an alias for bsum -l 224.

	b256sum is an alias for bsum -l 256.

	b384sum is an alias for bsum -l 384.

	b512sum is an alias for bsum -l 512.

OPTIONS
	The following options are supported:

	-B	Output checksums in binary representation. This
		suppresses the filenames and checksum delimiters.
		Only the checksums are printed.

	-c	Read checksums from the file and check them against
		the files on your systems. The input files files
		should be formatted as the output of the program,
		or similarly. This is not going to work if any of
		the filenames in the input files starts with <space>
		or <tab>, or if they contain a <newline>, unless the
		-z option is also used.

	-K key
		(Only available in b2sum)
		Specify a key (which is used for MAC and PRF), that is
		up to 32 bytes (if the -s option is used) or 64 bytes
		(otherwise) long, that the algorithm shall use. The
		key shall be expressed in hexadecimal: each byte in the
		key shall be expressed, from left to right, as a pairs
		of hexadecimal digits where highest bits in each byte
		is stored in the left digit in its pair and the lowest
		bits in each byte is stored in the right digit in its
		pair. No delimiters are used, so for a 4 byte key where
		each byte's value is its index, the key is expessed as
		00010203, however each letter may be either small or
		capital. The key may not be empty.

	-L	Output checksums in lower-case hexadecimal
		representation. (Default)

	-l bits
		For bsum:
			Select version of the BLAKE algorithm. Valid
			values are 224 (default), 256, 384, and 512.

		For b2sum:
			Select output size, valid values are multiples
			of 8 between 8 and 512, inclusively, or if
			the -s option is used between 8 and 256,
			inclusively. (Default is maximum.)

	-P pepper
		(Only available in b2sum)
		Specify an 8-byte (if the -s option is used) or 16-byte
		pepper ("personalisation") (otherwise) that the algorithm
		shall use. This pepper shall be expressed in full length
		hexadecimal: 16 (for 8-byte) or 32 (for 16-byte)
		hexadecimal digits, or rather 8 or 16 pairs of hexadecimal
		digits, ordered from left to right to specify the values
		from index 0 to the last byte. In each pair, the left
		digit stores the high bits of the byte, and the right
		digit stores the low bits of the byte. For example, the
		digit pair 80 represents a byte with the decimal value
		128, whereas the digit pair 08 represents a byte with
		the decimal value 8. The pairs are joined without any
		delimiters, and no byte may be omitted. So, for a 8 byte
		pepper where each byte's value is its index, the pepper
		is expressed as 0001020304050607, however each letter
		may be either small or capital. If no pepper is specified,
		an all-zeroes pepper is used.

	-S salt
		Specify a salt that the algorithm shall use. The
		size of the salt depends on which algorithm used.
		This salt shall be expressed in full length hexadecimal.
		The decimal digits are logically groupped in pairs that
		are ordered from left to right to specify the values
		from index 0 to the last byte. In each pair, the left
		digit stores the high bits of the byte, and the right
		digit stores the low bits of the byte. For example,
		the digit pair 80 represents a byte with the decimal
		value 128, whereas the digit pair 08 represents a byte
		with the decimal value 8. The pairs are joined without
		any delimiters, and no byte may be omitted. So, for a
		16 byte salt where each byte's value is its index, the
		salt is expressed as 000102030405060708090a0b0c0d0e0f,
		however each letter may be either small or capital. If
		no salt is specified, an all-zeroes salt is used.

	-s	(Only available in b2sum)
		Use BLAKE2s instead of BLAKE2b.

	-U	Output checksums in upper-case hexadecimal
		representation.

	-X bits
		(Only available in b2sum)
		Use BLAKE2Xb instead of BLAKE2b or BLAKE2Xs instead
		of BLAKE2s, and select the extended output function
		output length, in bits; must be a non-zero multiple
		of 8, and no greater than 34359738360 or (if the -s
		option is used) 524280.

	-x	Convert input files from hexadecimal form to binary
		form before calculating the checksums.

	-z	Lines end with NUL instead of LF. If used with -c,
		this applies to read files (not the output), but it
		will also apply more strict parsing and allow any
		whitespace in file names.

OPERANDS
	The following operands are supported:

	file	File to read. The standard input will be used - or no
		file is specified.

EXIT STATUS
	0	Successful completion.

	1	Checksums did not match or a file did not exist.

	2	An error occurred.

NOTES
	BLAKE2X has not been finalised as of 2022-02-20.

SEE ALSO
	sha3sum, sha256sum(1), sha512sum(1)