List of hash functions
This is a list of hash functions, including cyclic redundancy checks, checksum functions, and cryptographic hash functions.
Cyclic redundancy checks
Main article: Cyclic redundancy check
Name | Length | Type |
---|---|---|
BSD checksum | 16 bits | CRC |
Checksum | 32 bits | CRC |
CRC-16 | 16 bits | CRC |
CRC-32 | 32 bits | CRC |
CRC-32 MPEG-2 | 32 bits | CRC |
CRC-64 | 64 bits | CRC |
SYSV checksum | 16 bits | CRC |
Adler-32 is often mistaken for a CRC, but it is not, it's a checksum.
Checksums
Main article: Checksum
Name | Length | Type |
---|---|---|
sum (Unix) | 16 or 32 bits | sum |
sum8 | 8 bits | sum |
sum16 | 16 bits | sum |
sum24 | 24 bits | sum |
sum32 | 32 bits | sum |
fletcher-4 | 4 bits | sum |
fletcher-8 | 8 bits | sum |
fletcher-16 | 16 bits | sum |
fletcher-32 | 32 bits | sum |
Adler-32 | 32 bits | sum |
xor8 | 8 bits | sum |
Luhn algorithm | 4 bits | sum |
Verhoeff algorithm | 4 bits | sum |
Damm algorithm | 1 decimal digit | Quasigroup operation |
Universal hash function families
Main article: Universal hashing
Name | Length | Type |
---|---|---|
Zobrist hashing | variable | xor |
universal one-way hash function | ||
tabulation hashing | variable | xor |
Rabin fingerprint | variable | multiply |
Non-cryptographic hash functions
Name | Length | Type |
---|---|---|
Pearson hashing | 8 bits | xor/table |
Paul Hsieh's SuperFastHash[1] | 32 bits | |
Buzhash | variable | xor/table |
Fowler–Noll–Vo hash function (FNV Hash) |
32, 64, 128, 256, 512, or 1024 bits |
xor/product or product/xor |
Jenkins hash function | 32 or 64 bits | xor/addition |
Java hashCode() | 32 bits | |
Bernstein hash djb2[2] | 32 bits | |
PJW hash / Elf Hash | 32, 64 bits | hash |
MurmurHash | 32, 64, or 128 bits | product/rotation |
SpookyHash | 32, 64 or 128 bits | see Jenkins hash function |
CityHash | 64, 128, or 256 bits | |
numeric hash (nhash)[3] | variable | Division/Modulo |
xxHash[4] | 32, 64 bits |
Keyed cryptographic hash functions
Main article: Message authentication code
Name | Tag Length | Type |
---|---|---|
VMAC | ||
UMAC | ||
Poly1305-AES | 128 bits | nonce-based |
PMAC (cryptography) | ||
SipHash | 64 bits | non-collision-resistant PRF |
One-key MAC | ||
MD6 | 512 bits | Merkle tree NLFSR |
Hash-based message authentication code | ||
Unkeyed cryptographic hash functions
Main article: Cryptographic hash function
Name | Length | Type |
---|---|---|
BLAKE-256 | 256 bits | HAIFA structure[5] |
BLAKE-512 | 512 bits | HAIFA structure[5] |
ECOH | 224 to 512 bits | hash |
FSB | 160 to 512 bits | hash |
GOST | 256 bits | hash |
Grøstl | 256 to 512 bits | hash |
HAS-160 | 160 bits | hash |
HAVAL | 128 to 256 bits | hash |
JH | 512 bits | hash |
MD2 | 128 bits | hash |
MD4 | 128 bits | hash |
MD5 | 128 bits | Merkle–Damgård construction |
MD6 | 512 bits | Merkle tree NLFSR (it is also a keyed hash function) |
RadioGatún | Up to 1216 bits | hash |
RIPEMD | 128 bits | hash |
RIPEMD-128 | 128 bits | hash |
RIPEMD-160 | 160 bits | hash |
RIPEMD-320 | 320 bits | hash |
SHA-1 | 160 bits | Merkle–Damgård construction |
SHA-224 | 224 bits | Merkle–Damgård construction |
SHA-256 | 256 bits | Merkle–Damgård construction |
SHA-384 | 384 bits | Merkle–Damgård construction |
SHA-512 | 512 bits | Merkle–Damgård construction |
SHA-3 (originally known as Keccak) | arbitrary | Sponge function |
Skein | arbitrary | Unique Block Iteration |
Snefru | 128 or 256 bits | hash |
Spectral Hash | 512 bits | Wide pipe Merkle–Damgård construction |
SWIFFT | 512 bits | hash |
Tiger | 192 bits | Merkle–Damgård construction |
Whirlpool | 512 bits | hash |
See also
- Hash function security summary
- NIST hash function competition
- Key derivation functions (category)
References
- ↑ "Hash functions". www.azillionmonkeys.com. Retrieved 2015-06-10.
- ↑ http://www.cse.yorku.ca/~oz/hash.html
- ↑ Perl code at top half of page, English text at bottom half
- ↑ xxHash on GitHub
- 1 2 Eli Biham and Orr Dunkelman (20 July 2007). "A Framework for Iterative Hash Functions – HAIFA".
This article is issued from Wikipedia - version of the Monday, January 25, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.