암호화 해시 함수

암호화 해시 함수(cryptographic hash function)은 해시 함수의 일종으로, 해시 값으로부터 원래의 입력값과의 관계를 찾기 어려운 성질을 가지는 경우를 의미한다. 암호화 해시 함수가 가져야 하는 성질은 다음과 같다.
 역상 저항성(preimage resistance): 주어진 해시 값에 대해, 그 해시 값을 생성하는 입력값을 찾는 것이 계산상 어렵다. 즉, 제 1 역상 공격에 대해 안전해야 한다. 이 성질은 일방향함수와 연관되어 있다.
 제 2 역상 저항성(second preimage resistance): 입력 값에 대해, 그 입력의 해시 값을 바꾸지 않으면서 입력을 변경하는 것이 계산상 어렵다. 제 2 역상 공격에 대해 안전해야 한다.
 충돌 저항성(collision resistance): 해시 충돌에 대해 안전해야 한다. 같은 해시 값을 생성하는 두 개의 입력값을 찾는 것이 계산상 어려워야 한다.

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

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

 암호화 해시 함수의 비교 
가장 널리 사용되는 해시 함수에는 MD5와 SHA-1이 있으나, 이들은 안전하지 않다는 것이 알려져 있다.
미국 US-CERT에서는 2008년 MD5를 사용하지 말아야 한다고 발표했다.
NIST에서는 2008년 SHA-1의 사용을 중지하며 SHA-2를 사용할 것이라고 발표했다.

2012년 10월 1일에 귀도 베르토니조앤 데먼, 질 반 아쉐, 마이클 피터스가 설계한 Keccak이 SHA-3의 해시 알고리즘으로 선정되었다.5년간 공모 끝에 SHA-3 해시 알고리즘 최종 선정!, 보안뉴스(2012년 10월 5일) 2015년 8월 5일, 미국 국립표준기술연구소가 SHA-3 암호화 해시 함수 표준을 발표하였다.

다음은 널리 알려진 암호화 해시 함수 알고리즘의 목록이다. 이들 중에는 안전하지 않다는 것이 밝혀진 것도 있다.

알고리즘출력 비트 수내부 상태 크기Merkle-Damgård 방식에서 각 라운드 시 생성되는 내부 해시의 크기.블록 크기Length sizeWord size라운드 수공격 가능성 (복잡도:최대 라운드 수)라운드 수가 표시되지 않은 경우 전체 라운드에 대한 공격을 의미한다. 충돌 2차 역상 역상 GOST 256 256 256 256 32 256 2105 2192 2192 HAVAL 256/224/192/160/128 256 1,024 64 32 160/128/96 가능  MD2 128 384 128 - 32 864 263.3  273 MD4 128 128 512 64 32 48 3 264 278.4 MD5 128 128 512 64 32 64 220.96  2123.4 PANAMA 256 8,736 256 - 32 - 가능  RadioGatún Up to 608/1,216 (19 words) 58 words 3 words - 1–64 - 2352 또는 2704  RIPEMD 128 128 512 64 32 48 218  RIPEMD-128/256 128/256 128/256 512 64 32 64   RIPEMD-160 160 160 512 64 32 80 251:48  RIPEMD-320 320 320 512 64 32 80   SHA-0 160 160 512 64 32 80 233.6  SHA-1 160 160 512 64 32 80 251 SHA-256/224 256/224 256 512 64 32 64 228.5:24  2248.4:42 SHA-512/384 512/384 512 1,024 128 64 80 232.5:24  2494.6:42 Tiger(2)-192/160/128 192/160/128 192 512 64 64 24 262:19  2184.3 WHIRLPOOL 512 512 512 256 8 10 2120:4.5 

 같이 보기 
 쇄도 효과
 HMAC
 메시지 인증 코드
 SHA-3

 각주 


분류:암호학
분류:해시 함수
분류:해싱