본문 바로가기

정보보호/정보보호론(박승철)

정보보호론-(14) 해시 함수

정보보호론-(14) 해시 함수

해시 함수(Hash Function)
- 메시지에 대해 길이가 짧고 일정하며, 고유한 메시지 지문(해시값, 메시지 다이제스트) 생성
- 메시지 지문의 길이는 해시 함수에 따라 128~512 비트

메시지 무결성(Message Integrity)
- 메시지가 의도적으로 또는 비의도적으로 변경되지 않은 원본이 맞음을 나타내는 성질
- 메시지 원본 대신 해시값을 사용하여 간단하게 무결성을 확인한다

해시 함수의 응용
- 메시지 무결성 확인(Integrity)
- 메시지 발신자 인증(MAC, Message Authentication Code)
- 디지털 서명 : 문서에 대한 해시값을 개인키로 암호화(=서명)
- 공인 인증서

해시 함수의 성질
- 일방향성
- 약한 충돌 내성
- 강한 충돌 내성

해시 함수의 일방향성
- 메시지 지문인 해시값(h)으로부터 해시값을 생성한 원래의 메시지를 추론할 수 없게 하는 성질
- 상대방에 비밀번호를 전송할 때 비밀번호를 전송하는 것이 아닌 비밀번호의 해시값을 전송하여 네트워크상에서 스니핑되더라도 비밀번호를 추론할 수 없음

해시 함수의 약한 충돌 내성
- 해시값(h)를 생성한 메시지x와 동일한 해시값을 생성하여 충돌(collision)을 일으키는 다른 메시지 y를 발견할 수 없게 하는 성질
- 공격자가 비밀 메시지를 추론하지 않고도 비밀 메시지의 해시값과 동일한 해시값을 생성하는 공격을 방지한다.

<그림 1: 약한 충돌 내성>

해시 함수의 강한 충돌 내성
- 동일한 해시값(h)을 생성하여 충돌을 일으키는 서로 다른 메시지 x, y를 발견할 수 없게 하는 성질
- 동일한 해시값 h를 갖는 서로 다른 2개의 계약서(진본과 가짜)를 작성하고 추후 진본 계약서 대신 가짜 계약서로 교체하는 방식

<그림 2: 강한 충돌 내성>

해시 함수의 구조 특징
- 큰 메시지를 짧은 해시값으로 압축하는 함수
- 해시값은 입력 메시지의 전체 비트에 의존하여 결정된다
- 입력 메시지의 변경이 반드시 해시값의 변경으로 연결되는 구조

해시 함수의 종류
- MD4, MD5, SHA-1, SHA-2

Reference
1. 

제14강+해시함수.pdf
0.76MB

2. https://www.youtube.com/watch?v=RbVd3ayLifU