package cryptokit
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=b933c32b4e03e7236add969c2f583df241aeff8eabd2cabb1f345a78250fcea6
sha512=7b1e2ba8b99b11a04522ffe4b6b92278bc772d9888967757ab013151211fc85d29847af566677f2b9c3200e45b857600a70356ca6ed80ca299508808057358b1
doc/cryptokit/Cryptokit/Hash/index.html
Module Cryptokit.Hash
Source
The Hash
module implements unkeyed cryptographic hashes (SHA-1, SHA-256, SHA-512, SHA-3, RIPEMD-160 and MD5), also known as message digest functions. Hash functions used in cryptography are characterized as being one-way (given a hash value, it is computationally infeasible to find a text that hashes to this value) and collision-resistant (it is computationally infeasible to find two different texts that hash to the same value). Thus, the hash of a text can be used as a compact replacement for this text for the purposes of ensuring integrity of the text.
Recommended hashes
SHA-3, the latest NIST standard for cryptographic hashing, produces hashes of 224, 256, 384 or 512 bits (24, 32, 48 or 64 bytes). The parameter is the desired size of the hash, in bits. It must be one of 224, 256, 384 or 512.
The Keccak submission for the SHA-3 is very similar to sha3
but uses a slightly different padding. The parameter is the same as that of sha3
.
SHA-2, another NIST standard for cryptographic hashing, produces hashes of 224, 256, 384, or 512 bits (24, 32, 48 or 64 bytes). The parameter is the desired size of the hash, in bits. It must be one of 224, 256, 384 or 512.
The BLAKE2b hash function produces hashes of length 1 to 64 bytes. The parameter is the desired size of the hash, in bits. It must be between 8 and 512, and a multiple of 8.
The BLAKE2s hash function produces hashes of length 1 to 32 bytes. The parameter is the desired size of the hash, in bits. It must be between 8 and 256, and a multiple of 8.
The BLAKE3 hash function produces hashes of arbitrary length. The recommended length is 32 bytes (256 bits). Shorter hashes are less secure, but longer hashes are not more secure. The parameter is the desired size of the hash, in bits. It must be positive and a multiple of 8.
The BLAKE3 hash function, specialized to 256 bit hashes (32 bytes).
Weak hashes, not recommended for new applications
SHA-1 is the Secure Hash Algorithm revision 1. It is a NIST standard, is widely used, and produces 160-bit hashes (20 bytes). While popular in many legacy applications, it is now known to be insecure. In particular, it is not collision-resistant.