kb
HASH 의 세가지 성질
Forensist
2011. 4. 3. 23:54
해쉬(HASH) 함수는 가변적 길이의 입력값을 고정적인 짧은 길이의 결과를 출력하는 함수이다. 이러한 특성상 계산복잡도가 높은 RSA 알고리즘에서 길이가 상대적으로 긴 원문을 서명하는 것이 아니라 원문을 해쉬한 결과를 서명하는 방법에도 사용되어 지고 있다. 동일한 입력에 대해 동일한 결과를 출력하는 성질을 메시지 무결성(Identification) 에 많이 사용되는 기술로 MD5, SHA1 등의 알고리즘이 존재한다.
명 칭 | 출력길이 | 개발자 | 비 고 |
SHA-1 | 160 Bit | 미국 NIST | |
RIPEMD | 160 Bit | EU RIPE | |
MD5 | 128 Bit | 미국 RSA | Collisions for random IV |
HAS0160 | 160 Bit | 한국 KISA |
이런 해쉬함수들은 기본적인 다음과 같은 세가지 성질을 만족한다.
1. Preimage
H(x) = y, y 를 알아도 원문에 해당하는 x 를 알지 못하는 성질.
2. 2nd-Preimage
어떤 입력값 x 와 해쉬값 y 가 주저졌을 때 y 에 해당하는 다른 x' 을 찾는 것이 불가능하는 성질.
3. Collision Resistance
H(x) = H(x') 를 만족하는 x 와 x' 를 찾는 것이 계산상으로 불가능한 성질. Birthday Attack 은 Hash 함수의 세가지 성질 중 충돌저항성(Collision Registance) 을 깨기 위한 방법으로 전수조사(Brute Force Attack) 의 방법을 취한 것이다.