암호화한 해시함수의 조건
A ≠ B 이면 h(A) ≠ h(B)
즉, 동일한 파일이라면 해시가 모두 같아야 하고, 다른 파일이라면 해시가 모두 달라야 한다.
'충돌'이란?
A ≠ B 인데 h(A) = h(B) 인 사례가 발견되는 경우를 말한다.
안전하다고 여겨지던 SHA-1 함수의 충돌 현상을 2017년에 구글에서 찾아냈고 ,
이를 SHAttered 에 공개, 그리고 크롬과 여러 사이트에서 SHA-1의 지원을 중단하였다.
이와 관련하여, DFC 2020 (Digital Forensics Challenge) 에서는 SHA-1이 안전하지 않음을 깨닫게 하기 위한 문제로서 101번 "Same or Different?" 문제를 출제하였다. 해당 문제에 대한 풀이는 여기에서 볼 수 있다.
SHA-1 충돌 사례
위에서 설명한 SHA-1 함수의 충돌은 구글에서 밝혀냈고, 지금도 사례로서 인터넷에 제공하고 있다.
아래 페이지에서 pdf로 제공된 파일을 다운 받아 확인할 수 있다.
-"Same or Different?" 문제 알아보기