해시 알고리즘의 조건
① 압축 : 임의의 길이의 평문을 고정된 길이의 출력 값으로 변환한다.
② 일방향 : 메시지에서 해시값(Hash Code)을 구하는 것은 쉽지만 반대로 해시값에서 원래의 메세지를 구하는 것은 매우 어렵다(역방향 계산 불가능)
③ 효율성 : 메시지로부터 h(메시지)를 구하는데 많은 자원과 노력이 소요되지 않아야 한다.
④ 충돌회피(Collision Free) : 충돌이란 다른 문장을 사용하였는데도 동일한 암호문이 나오는 현상이다. h(M1) = h(M2)인 서로 다른 M1과 M2를 구하기는 계산상 불가능해야 한다.