Skip to content

Cryptographic hash function

암호화 해시 함수(cryptographic hash function)은 해시 함수의 일종으로, 해시 값으로부터 원래의 입력값과의 관계를 찾기 어려운 성질을 가지는 경우를 의미한다. 암호화 해시 함수가 가져야 하는 성질은 다음과 같다.

  • 역상 저항성(preimage resistance): 주어진 해시 값에 대해, 그 해시 값을 생성하는 입력값을 찾는 것이 계산상 어렵다. 즉, 제 1 역상 공격에 대해 안전해야 한다. 이 성질은 일방향함수와 연관되어 있다.
  • 제 2 역상 저항성(second preimage resistance): 입력 값에 대해, 그 입력의 해시 값을 바꾸지 않으면서 입력을 변경하는 것이 계산상 어렵다. 제 2 역상 공격에 대해 안전해야 한다.
  • 충돌 저항성(collision resistance): 해시 충돌에 대해 안전해야 한다. 같은 해시 값을 생성하는 두 개의 입력값을 찾는 것이 계산상 어려워야 한다.

즉, 입력값과 해시 값에 대해서, 해시 값을 망가뜨리지 않으면서 입력값을 수정하는 공격에 대해 안전해야 한다. 이러한 성질을 가지는 해시 값은 원래 입력값을 의도적으로 손상시키지 않았는지에 대한 검증 장치로 사용할 수 있다.

순환 중복 검사(CRC)와 같은 몇몇 해시 함수는 암호 안전성에 필요한 저항성을 가지지 않으며, 우연적인 손상을 검출할 수는 있지만 의도적인 손상의 경우 검출되지 않도록 하는 것이 가능하기도 하다. 가령, 유선 동등 프라이버시(WEP)의 경우 암호화 해시 함수로 CRC를 사용하나, CRC의 암호학적 취약점을 이용한 암호공격이 가능하다는 것이 밝혀져 있다.

List of hash function

Cryptographic hash function & Message authentication code

Cryptographic hash function & Message authentication code

Common functions

MD5, SHA-1, SHA-2

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

Favorite site

References


  1. NAVER_D2_-_Secure_password_storage.pdf 

  2. Technology_of_password_security_-_CODEOK.pdf 

  3. Salted_Password_Hashing_-_Doing_it_Right.pdf