http://cissoft.dju.ac.kr/amho/sub/07/7_3.htm
![]()
해쉬함수란 임의의 긴 입력값을 적절하게 처리하여 짧은 값을 출력하는 함수를 말한다. 앞 절에서 여러 가지 서명기법에 관하여 설명하였다. 서명은 일반적으로 긴 메시지에 필요하며, DSS나 그 밖의 서명기법을 그대로 적용하려면 긴 메시지를 여러 조각으로 나누어 서명하여야 하는 불편이 있다. 또한 서명을 수행하는 과정이나 인증에 많은 시간을 소모하므로 현실적이지 못하다. 경우에 따라서는 메시지보다 서명값이 더 길어질 때도 있다. 예를 들어 DSS를 사용하면 160비트 메시지에 320비트 서명이 붙는다. 이러한 문제를 해결하는 데 필요한 개념이 Hash 함수이다.
컴퓨터 응용분야에서도 해쉬함수를 사용하고 있지만 암호학에서 사용하는 해쉬함수는 메시지 서명, 메시지 인증, 메시지 무결성 등에 주로 사용한다. 특히, 해쉬함수는 디지털서명과 결합되어 메시지 무결성을 제공하는데 효율적이다.
해쉬함수에 의해 축약된 메시지에 서명을 하면, 서명에 필요한 계산량, 메모리, 전송량이 크게 줄어든다. 예를 들어 DSS서명의 경우 해쉬함수를 사용한 경우와 그러지 않은 경우를 비교해 보면 다음과 같다.
구 분 | 시 간 | 메 모 리 |
해쉬 함수 미사용 | 4800초 | 100KByte |
해쉬 함수 사용 | 16초 | 50.5KByte |
전송 메시지의 크기 : 50KByte
해쉬함수가 디지털 서명에 어떻게 사용되는지 다음 그림으로 알아 보자. 앨리스가 밥에게 디지털 서명이 든 메시지를 보내려고 하는 경우를 생각해 보자. 두 사람은 모두 같은 공개키 암호시스템을 사용하고 있다고 하자.

< 그림 7. 5 : 디지털 서명에의 해쉬함수 적용 방법>
1. 앨리스는 적절한 해쉬함수를 이용하여 메시지 해쉬값을 구하고, 그 해쉬값을 자신의 비밀키로 암호화하여 서명을 만들어 낸다.
2. 앨리스는 메시지와 서명을 밥에게 보낸다. 이 때, 메시지를 외부로부터 감추고 싶다면 적절한 암호시스템을 사용하면 된다. 하지만 메시지의 암호화는 디지털 서명과 별개의 문제이므로 지금은 암호화 부분은 설명하지 않겠다.
3. 밥은 메시지와 그 메시지에 첨부된 디지털 서명을 수신한 다음, 앨리스와 같은 해쉬함수를 사용하여 해쉬값을 계산한다.
4. 또한 함께 따라온 암호화된 디지털 서명을 자신의 비밀키로 복호화하여 3 에서 계산한 해쉬값과 비교한다.
5. 두 값이 동일하다면 정당한 서명으로 받아들이고, 서로 다르면 밥은 메시지 수신을 거절한다.
또한 해쉬함수는 중요한 정보의 인증과 무결성을 해결하기 위한 수단으로 사용할 수 있다. 예를 들어 대부분의 컴퓨터 바이러스는 정상적인 프로그램에 불법적으로 은밀하게 삽입되어 전파된다. 따라서 컴퓨터 프로그램을 어떤 경로를 통해 다운로드하였을 경우 그 프로그램이 오염되지 않은 정상적인 제품인지 반드시 확인할 필요가 있다. 
의 의미는 변수 
모든 라운드를 거친 후 마지막으로 계산된 a, b, c, d 값은 초기값 A, B, C, D와 각각 더한 다음, 다음 메시지 블록을 처리하기 위한 초기값으로 다시 설정된다.
이후 모든 메시지 블록이 끝날 때까지, 각 블록마다 4개의 라운드를 다시 거친 후 최종적으로 출력된 A, B, C, D의 병렬합

Comments List
<a href="http://comedu.cu.ac.kr/mook/zog/" target=_blank ><b>mook's ^▽^*에서 퍼감</b></a><BR/>
오늘 배우긴 배웠는데.ㅡ.ㅡ;<br />
<br />
잔다고.;; 제대로 못들었요.ㅋㅋ
헉..저도 같이 배웁시다..전 세미나 까지 직접 했는데도 모르곘어요T_T
<a href="http://comedu.cu.ac.kr/mook/zog/?no=162" target=_blank ><b>mook's ^▽^*에서 전달한 코멘트</b></a><BR/><A HREF='http://4ellene.cafe24.com/blog/' title='http://4ellene.cafe24.com/blog/' target=_blank >헌정's Blog</A><BR> 역시 창이 작아서 꺠지네요..그래서 전 아쉽더라도 3단 프레임을 안 쓰거든요..^^