본문 바로가기
보안

정보보호개론] 6. 해쉬함수

by excelnote2 2013. 5. 9.

해쉬함수

일방향함수

- 변수를 통해 함수값을 구하기는 쉽지만 함수값에서 변수를 구하는 것은 어려운 함수

- 공개키 암호에 있어서 핵심적인 개념

- 자체가 프로토콜은 아니지만 대부분의 프로토콜, 특히 전자서명 프로토콜의 기초가 됨

- 충돌 : 서로 다른 입력값에 대해 동일한 해쉬값이 출력되는 경우(충돌쌍)


해쉬함수

- 임의의 유한 길이의 입력값을 받아 고정된 크기의 출력값으로 바꾸는 함수

- 출력값 = 해쉬값, 메지시 다이제스트, 인증자

- 메시지 거대화 방지, 전자서명시 속도효율성, 메시지 무결성 제공


해쉬함수의 요구조건

- 해쉬값으로 원래의 입력값 찾기 어려움(일방향함수)

- 입력값과 해쉬값으로 또다른 입력값 구하기 어려움

- 같은 해쉬값을 같는 두 개의 다른 입력값을 찾기 어려움


해쉬함수의 종류

- 블록암호를 이용한 해쉬함수 : 블록암호보다 느림(MDC-4, Davies-Mayer방식)

- 모듈러 연산을 이용한 해쉬함수 : 속도가 느려 사용제한

- 전용해쉬 알고리즘

해쉬알고리즘

해쉬값의 크기

입력값

라운드수

MD4

128 비트

512 비트

3 라운드

MD5

128 비트

512 비트

4 라운드

RIPEMD-128

128 비트

512 비트

5 라운드

RIPEMD-160

160 비트

512 비트

5 라운드

HAVAL

128 258 비트

1024 비트

3-5 라운드

SHA-1

160 비트

512 비트

4 라운드

<!--[if !supportEmptyParas]--> <!--[endif]-->

대표적 해쉬 알고리즘

- SHA-1 : · 미국 NSASHA를 보완. 미국연방정부의 표준 해쉬 알고리즘

- HAVAL : 128비트에서 256비트까지 32비트단위로 가변적(라운드도 가변적)


메시지 인증코드(MAC)

- 일반적 메시지 인증절차는 메시지인증코드(MAC)라는 해쉬함수의 특별한 형태로 대칭키 기술에
   의해 메시지를 인증함

- 메시지의 무결성과 작성자의 인증을 동시에 수행

- 입력값으로 메시지와 키를 받는 해쉬함수


MDC

- 키가 없는 해쉬함수

- 메시지 무결성 제공

 

댓글