Cryptographic hash function
lastmod 2020-09-05created 2015-03-129 edits
A cryptographic hash function is a kind of hash function with the property that it is hard to find the relationship between a hash value and the original input. The properties a cryptographic hash function must have are as follows.
- Preimage resistance: for a given hash value, it is computationally hard to find an input that produces that hash value. That is, it must be secure against first preimage attacks. This property is related to one-way functions.
- Second preimage resistance: for a given input, it is computationally hard to change the input without changing its hash value. It must be secure against second preimage attacks.
- Collision resistance: it must be secure against hash collisions. It must be computationally hard to find two inputs that produce the same hash value.
In other words, for an input and its hash value, it must be secure against attacks that modify the input without breaking the hash value. A hash value with these properties can be used as a mechanism to verify that the original input has not been intentionally tampered with.
Some hash functions, such as the cyclic redundancy check (CRC), lack the resistance needed for cryptographic security; they can detect accidental corruption, but intentional corruption can be made undetectable. For example, Wired Equivalent Privacy (WEP) uses CRC as a cryptographic hash function, but it has been shown that cryptographic attacks exploiting CRC's cryptographic weaknesses are possible.
List of hash function
- GOST
- HAVAL
- MD2
- MD4
- MD5
- PANAMA
- RadioGatún
- RIPEMD
- RIPEMD-128/256
- RIPEMD-160
- RIPEMD-320
- SHA-0
- SHA-1
- SHA-256/224
- SHA-512/384
- Tiger(2)-192/160/128
- WHIRLPOOL
Cryptographic hash function & Message authentication code
| Common functions | |
| Functions | FSB, SHA-3, ECOH, GOST, HAS-160, HAVAL, LM hash, MDC-2, MD2, MD4, MD6, N-Hash, RadioGatun, RIPEMD, Snefru, SWIFFT, Tiger, VSH, WHIRLPOOL, crypt (DES) |
| SHA-3 finalists | BLAKE, Grøstl, JH, Keccak, Skein |
| MAC algorithms | DAA, CBC-MAC, HMAC, OMAC/CMAC, PMAC, VMAC, UMAC, Poly1305-AES |
| Authenticated encryption modes | CCM, CWC, EAX, GCM, IAPM, OCB |
| Attacks | Collision attack, Preimage attack, Birthday attack, Brute force attack, Rainbow table, Distinguishing attack, Side-channel attack |
| Misc | Avalanche effect, Hash collision, Merkle?Damgard construction, Salt |
| Standardization | CRYPTREC, NESSIE, NIST hash function competition |
See also
- Authentication
- Hash function
- Information Security
- Secure Coding (Key store)
- C++:SecureProgramming (C++)
Favorite site
- Wikipedia (en) Description of cryptographic hash functions
- [Recommended] NAVER D2 - Storing passwords securely 1
- [Recommended] The technology of password security 2
- Cho Dae-hyup's blog - Security - Application security 1. Authentication methods and password encryption
- [Recommended] Salted password hashing - doing it right 3