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 | |
| HighwayHash[5] | 64..256 bits | product/permutation | 
Keyed cryptographic hash functions
Main article: Message authentication code
| Name | Tag Length | Type | 
|---|---|---|
| VMAC | ||
| UMAC | ||
| BLAKE2 | up to 512 bits | keyed hash function (prefix-MAC) | 
| 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[6] | 
| BLAKE-512 | 512 bits | HAIFA structure[6] | 
| BLAKE2s | Up to 256 bits | HAIFA structure[6] | 
| BLAKE2b | Up to 512 bits | HAIFA structure[6] | 
| 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 | 
| 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 | 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
 - ↑ Jyrki Alakuijala, Jan Wassenberg (2016-03-01). "HighwayHash on Github".
 - 1 2 3 4 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, April 25, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.