List of hash functions
From HandWiki
Short description: none
This is a list of hash functions, including cyclic redundancy checks, checksum functions, and cryptographic hash functions.
Cyclic redundancy checks
Name | Length | Type |
---|---|---|
cksum (Unix) | 32 bits | CRC with length appended |
CRC-8 | 8 bits | CRC |
CRC-16 | 16 bits | CRC |
CRC-32 | 32 bits | CRC |
CRC-64 | 64 bits | CRC |
Adler-32 is often mistaken for a CRC, but it is not: it is a checksum.
Checksums
Name | Length | Type |
---|---|---|
BSD checksum (Unix) | 16 bits | sum with circular rotation |
SYSV checksum (Unix) | 16 bits | sum with circular rotation |
sum8 | 8 bits | sum |
Internet Checksum | 16 bits | sum (ones' complement) |
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 | 1 decimal digit | sum |
Verhoeff algorithm | 1 decimal digit | sum |
Damm algorithm | 1 decimal digit | Quasigroup operation |
Universal hash function families
Name | Length | Type |
---|---|---|
Rabin fingerprint | variable | multiply |
tabulation hashing | variable | XOR |
universal one-way hash function | ||
Zobrist hashing | variable | XOR |
Non-cryptographic hash functions
Name | Length | Type |
---|---|---|
Pearson hashing | 8 bits (or more) | 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 |
Bernstein's hash djb2[2] | 32 or 64 bits | shift/add or mult/add or shift/add/xor or mult/xor |
PJW hash / Elf Hash | 32 or 64 bits | add,shift,xor |
MurmurHash | 32, 64, or 128 bits | product/rotation |
Fast-Hash[3] | 32 or 64 bits | xorshift operations |
SpookyHash | 32, 64, or 128 bits | see Jenkins hash function |
CityHash[4] | 32, 64, 128, or 256 bits | |
FarmHash[5] | 32, 64 or 128 bits | |
MetroHash[6] | 64 or 128 bits | |
numeric hash (nhash)[7] | variable | division/modulo |
xxHash[8] | 32, 64 or 128 bits | product/rotation |
t1ha (Fast Positive Hash)[9] | 64 or 128 bits | product/rotation/XOR/add |
GxHash[10] | 32, 64 or 128 bits | AES block cipher |
pHash[11] | fixed or variable | see Perceptual hashing |
dhash[12] | 128 bits | see Perceptual hashing |
SDBM [2][13] | 32 or 64 bits | mult/add or shift/add also used in GNU AWK |
OSDB hash[14] | 64 bits | add |
komihash[15] | 64 bits | product/split/add/XOR |
Keyed cryptographic hash functions
Name | Tag Length | Type |
---|---|---|
BLAKE2 | keyed hash function (prefix-MAC) | |
BLAKE3 | 256 bits | keyed hash function (supplied IV) |
HMAC | ||
KMAC | arbitrary | based on Keccak |
MD6 | 512 bits | Merkle tree NLFSR |
One-key MAC (OMAC; CMAC) | ||
PMAC (cryptography) | ||
Poly1305-AES | 128 bits | nonce-based |
SipHash | 32, 64 or 128 bits | non-collision-resistant PRF |
HighwayHash[16] | 64, 128 or 256 bits | non-collision-resistant PRF |
UMAC | ||
VMAC |
Unkeyed cryptographic hash functions
Name | Length | Type |
---|---|---|
BLAKE-256 | 256 bits | HAIFA structure[17] |
BLAKE-512 | 512 bits | HAIFA structure[17] |
BLAKE2s | up to 256 bits | HAIFA structure[17] |
BLAKE2b | up to 512 bits | HAIFA structure[17] |
BLAKE2X | arbitrary | HAIFA structure,[17] extendable-output functions (XOFs) design[18] |
BLAKE3 | arbitrary | Merkle tree |
ECOH | 224 to 512 bits | hash |
FSB | 160 to 512 bits | hash |
GOST | 256 bits | hash |
Grøstl | up to 512 bits | hash |
HAS-160 | 160 bits | hash |
HAVAL | 128 to 256 bits | hash |
JH | 224 to 512 bits | hash |
LSH[19] | 256 to 512 bits | wide-pipe Merkle–Damgård construction |
MD2 | 128 bits | hash |
MD4 | 128 bits | hash |
MD5 | 128 bits | Merkle–Damgård construction |
MD6 | up to 512 bits | Merkle tree NLFSR (it is also a keyed hash function) |
RadioGatún | arbitrary | ideal mangling function |
RIPEMD | 128 bits | hash |
RIPEMD-128 | 128 bits | hash |
RIPEMD-160 | 160 bits | hash |
RIPEMD-256 | 256 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 (subset of 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 |
Streebog | 256 or 512 bits | 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
- Secure Hash Algorithms
- NIST hash function competition
- Key derivation functions (category)
References
- ↑ "Hash functions". http://www.azillionmonkeys.com/qed/hash.html.
- ↑ 2.0 2.1 "Hash functions". http://www.cse.yorku.ca/~oz/hash.html.
- ↑ Zilong Tan (31 December 2021). "fast-hash on Github". https://github.com/ZilongTan/fast-hash.
- ↑ on GitHub
- ↑ on GitHub
- ↑ on GitHub
- ↑ Perl code at top half of page, English text at bottom half
- ↑ on GitHub
- ↑ Leonid Yuriev (25 January 2022). "t1ha on Github". https://github.com/leo-yuriev/t1ha.
- ↑ on GitHub
- ↑ "pHash.org: Home of pHash, the open source perceptual hash library". http://www.phash.org/.
- ↑ "dhash". 2017-08-23. https://pypi.org/project/dhash/.
- ↑ "original SDBM source code". https://github.com/davidar/sdbm/blob/29d5ed2b5297e51125ee45f6efc5541851aab0fb/hash.c#L18-L47.
- ↑ "HashSourceCodes". https://trac.opensubtitles.org/projects/opensubtitles/wiki/HashSourceCodes.
- ↑ on GitHub
- ↑ on GitHub
- ↑ 17.0 17.1 17.2 17.3 17.4 Eli Biham and Orr Dunkelman (20 July 2007). "A Framework for Iterative Hash Functions – HAIFA". Cryptology ePrint Archive. http://eprint.iacr.org/2007/278.
- ↑ Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O’Hearn, and Christian Winnerlein (3 December 2016). "BLAKE2X". https://blake2.net/blake2x.pdf.
- ↑ Kim, Dong-Chan; Hong, Deukjo; Lee, Jung-Keun; Kim and, Woo-Hwan; Kwon, Daesung (2016). "LSH: A New Fast Secure Hash Function Family". Information Security and Cryptology - ICISC 2014. Lecture Notes in Computer Science. 8949. pp. 286–313. doi:10.1007/978-3-319-15943-0_18. ISBN 978-3-319-15942-3. https://pdfs.semanticscholar.org/567d/09feb818cc156d2b1e8def1b4bfff63f8e91.pdf.
Original source: https://en.wikipedia.org/wiki/List of hash functions.
Read more |