Skip to content
This repository has been archived by the owner on Jul 19, 2022. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
	sha3sum - Keccak, SHA-3, SHAKE, and RawSHAKE checksum utilities

	keccaksum      [option ...] [file ...]
	keccak-224sum  [option ...] [file ...]
	keccak-256sum  [option ...] [file ...]
	keccak-384sum  [option ...] [file ...]
	keccak-512sum  [option ...] [file ...]
	sha3-224sum    [option ...] [file ...]
	sha3-256sum    [option ...] [file ...]
	sha3-384sum    [option ...] [file ...]
	sha3-512sum    [option ...] [file ...]
	shake128sum    [option ...] [file ...]
	shake256sum    [option ...] [file ...]
	shake512sum    [option ...] [file ...]
	rawshake128sum [option ...] [file ...]
	rawshake256sum [option ...] [file ...]
	rawshake512sum [option ...] [file ...]

	Fully configurable byte-orientated checksum utilities
	for Keccak and its close derivatives SHA-3, SHAKE and

	This utilities can generate checksums or verify the
	checksums of files.


		Use upper-case output.

		Use lower-case output.

		Use binary output.

		Check checksums.

		Use hexadecimal input.

		Be verbose.

	-R rate
		Select rate.

	-C capacity
		Select capacity.

	-N, -O output-size
		Select output size.

	-S, -B state-size
		Select state size.

	-W word-size
		Select word size.

	-Z squeeze-count
		Select squeeze count.

	We probably do not need this, but it is nice to have
	in case SHA-2 gets compromised.

	libkeccak(7), sum(1), cksum(1), md5sum(1), md6sum(1),
	sha1sum(1), sha224sum(1), sha256sum(1), sha384sum(1),

	Performance comparison on a 1 GiB file (yes, that is
	quite large) with /dev/urandom data:

	$ keccak-224sum		│	$ keccak-256sum
	real	0m9.550s	│	real	0m9.841s
	user	0m9.223s	│	user	0m9.560s
	sys	0m0.320s	│	sys	0m0.260s
	$ keccak-384sum		│	$ keccak-512sum
	real	0m12.902s	│	real	0m18.084s
	user	0m12.580s	│	user	0m17.823s
	sys	0m0.313s	│	sys	0m0.243s
	$ keccaksum		│	$ sha1sum
	real	0m10.438s	│	real	0m3.421s
	user	0m10.140s	│	user	0m3.157s
	sys	0m0.287s	│	sys	0m0.253s
	$ sha224sum		│	$ sha256sum
	real	0m8.196s	│	real	0m9.361s
	user	0m7.910s	│	user	0m9.097s
	sys	0m0.263s	│	sys	0m0.257s
	$ sha384sum		│	$ sha512sum
	real	0m5.450s	│	real	0m4.507s
	user	0m5.223s	│	user	0m4.247s
	sys	0m0.220s	│	sys	0m0.257s
	$ md5sum		│	$ md6sum
	real	0m2.987s	│	real	1m28.873s
	user	0m2.703s	│	user	1m28.470s
	sys	0m0.283s	│	sys	0m0.360s

	Note: The times are a bit random, and only one run
	has been made. "user" is the most interesting data.
	Additionally, only the pure keccak variants have been
	tested because the difference is between them and the
	other are quite small; and of course the other hashing
	utilities from other packages using other

	Packagers are advised to separate sha3sum(1) into its
	own packages, apart from the other commands, as it is
	mearly provided for compatibility and it could cause
	package conflict with other implementations that only
	provide sha3sum(1) such as busybox.