공격 시나리오를 통해 차이를 유발할 수 있습니다.
A의 첫 번째 프리 이미지 공격 , 우리는 주어진 적이 물어 찾기 위해, 또는 일부 등이 = . 웹 사이트 가 대신 를 데이터베이스에 저장한다고 가정합니다 . 웹 사이트는 암호를 수락하고 비교하여 사용자의 진위 여부를 확인할 수 있습니다 (의 확률 일부 대형 대 가양 경우). 이제이 데이터베이스가 유출되거나 그렇지 않다고 가정합니다. 첫 번째 프리 이미지 공격H(m)mm′H(m′)H(m){username,H(password)}{username,password}1 / 2 N NH(input)=?H(password)1/2nn 공격자가 메시지 요약에만 액세스 할 수 있고이 값으로 해시되는 메시지를 생성하려고하는 상황입니다.
A의 두 번째 프리 이미지 공격 , 우리는 상대의 더 많은 정보를 수 있습니다. 구체적으로, 우리는 그에게 를 줄뿐만 아니라 m 도줍니다 . 해시 함수를 고려하십시오 H ( m ) = m dH(m)m, P 와 Q가 큰 소수되고, D는 공용 상수이다. 명백히첫 번째 사전 이미지 공격의 경우이것은 RSA 문제가되고 어렵습니다. 그러나두 번째 사전 이미지 공격의 경우충돌을 쉽게 찾을 수 있습니다. 한 세트의 경우 해요 ' = m P Q + m , H를 ( m P Q + m ) = ( m P Q + m ) DH(m)=mdmodpqpqdm′=mpq+m . 그래서 적은 계산이 거의 또는 전혀없는 충돌을 발견했습니다.H(mpq+m)=(mpq+m)dmodpq=mdmodpq
우리에 내성으로 일방향 해시 함수를 원하는 초 프리 이미지 공격 하는 경우로 인해 디지털 서명 방식, 와 공개 정보로 간주되며 (간접의 레벨을 통해)을 따라 전달되고 문서의 모든 사본. 여기서 공격자는 d o c u m e n t 와 H ( d o c u m e n t ) 에 모두 액세스 할 수 있습니다H( document)documentH(document). 공격자가 원본 문서 (또는 완전히 새로운 메시지)를 변경 하여 H ( d ' ) = H ( d o c u m e n t ) 와 같이 문서를 게시 한 것처럼 원래 서명자.d′H(d′)=H(document)
충돌 공격은 원수에게 더 많은 기회가 있습니다. 이 계획에서 우리는 적에게 (Bob이라고 부를 수 있습니까) H ( m 1 ) = H ( m 2 ) 와 같은 두 개의 메시지 과 m 2 를 찾도록 요청합니다 . 비둘기 구멍 원리와 생일 역설로 인해 '완벽한'해시 함수조차도 사전 이미지 공격보다 충돌 공격에 2 차적으로 약합니다. 다시 말해, 예측 불가능하고 돌이킬 수없는 메시지 요약 함수가 주어진 경우 f ( { 0 , 1 } ∗ ) = { 0m1m2H(m1)=H(m2) 무차별 대입 시간에 O ( 2 n ) 시간이 걸리면예상 시간 O ( s q r t ( 2 n ) ) = O ( 2 n / 2 ) 에서 충돌을 항상 찾을 수 있습니다.f({0,1}∗)={0,1}nO(2n)O(sqrt(2n))=O(2n/2)
Bob은 여러 가지 방법으로 충돌 공격을 사용하여 이점을 얻을 수 있습니다. 가장 간단한 방법 중 하나는 다음과 같습니다. Bob은 b가 유효한 Microsoft Windows 보안 패치이고 b ' 가 맬웨어가되도록 두 이진 와 b ' ( H ( b ) = H ( b ' ) ) 간의 충돌을 찾습니다 . (Bob은 Windows에서 작동합니다). Bob은 보안 패치를 명령 체인으로 보내고, 볼트 뒤에서 코드에 서명하고 바이너리를 전 세계 Windows 사용자에게 제공하여 결함을 수정합니다. Bob은 이제 전 세계의 모든 Windows 컴퓨터에 b ' 및 Microsoft가 b에 대해 계산 한 서명으로 연락하여 감염시킬 수 있습니다.bb′H(b)=H(b′)b′b′b. 이러한 종류의 공격 시나리오 외에도 해시 함수가 충돌 방지 기능으로 여겨지면 해시 함수도 사전 이미지 방지 기능이 될 가능성이 높습니다.