암호학적으로 해시를 안전하게 설계하기 위해서는 크게 3가지 조건이 필요하다.

 

이를 해시의 3가지 성질이라 한다.

 

제 1역상 저항성(pre-image resistance)

  • 주어진 output 값으로 원래의 input을 알아내기 어려워야 한다.
  • 주어진 해시값 y로부터 $h(x)=y$를 만족하는 x를 찾는 것이 어려워야 함을 의미한다.

 

제 2역상 저항성(second pre-image resistance)

  • 동일한 output을 가지는 input이외의 input'을 찾기 어려워야 한다.
  • 해시함수 h와 x값이 주어졌을 때 동일한 y값을 내는 x`을 찾기 어려워야 한다.

 

 

충돌 저항성(collision resistance)

  • 서로 다른 입력 값을 해시했을 때 같은 output이 나오기 어려워야 한다.
  • 해시함수 h가 주어졌을 때 동일한 y값을 내는 $(x, x')$ 쌍을 찾기 어려워야 한다.

 

한마디로 말해 차례대로 $x, x', (x,x')$을 찾기 어려워야 한다.

+ Recent posts