본문 바로가기

해시

Hashing and Signing 어떤 메세지 전체에 대해서 서명을 하는 것은, 메세지가 길 경우 불리한 점이 많다. 이와 같은 문제를 해결하기 위해, 해시 함수가 사용된다. 즉, 서명은 메세지 자체보다는 메세지의 해시값에 대해서 이루어진다. 해시 함수 h(m)은 알려져 있으며, Alice는 h(m)을 계산한다. h(m)은 메세지 m에 비해서 크기가 줄어든 결과를 출력하며, h(m)에 대한 서명을 훨씬 빨리 이루어진다. Alice는 sig(h(m))을 계산하며, 이것을 원래의 메세지 m에 대한 서명으로 사용하게 된다. 즉, (m, sig(h(m))은 원래의 메세지의 서명을 대신하게 된다. 이와 같은 방법은 안전한가? 예를 들어, Eve가 Alice의 서명된 메세지 (m, sig(h(m))을 가지고 있다고 해보자. Eve는 Alice의 메.. 더보기
Hash Function 많은 암호 알고리즘들은 기본 구성 요소는 해시 함수라고 알려져 있는 것들이다. 해시 함수가 일방적이라는 성질은 알고리즘을 더 효과적으로 만든다. 암호학에서 사용되는 해시 함수 h는 입력으로 임의의 길이의 메세지를 받으며, 고정된 길이의 출력을 만든다. 또, 해시 함수는 다음과 같은 속성을 만족해야 한다. 1. 메세지 m이 주어졌을 때, 메세지를 줄이는 해시 함수 h(m)은 매우 빠르게 계산되어야 한다. 2. y가 주어졌을 때, h(m´) = y에서 m´을 찾는 것이 불가능해야 한다. 이러한 함수를 일방 함수(one-way function)라 한다. 3. h(m1) = h(m2)에서 메세지 m1, m2를 알아내는 것이 불가능해야 한다. 이러한 성질을 만족하는 함수 h를 충돌 회피에 강한(strongly c.. 더보기