정보보안산업기사 필기

[암호학] 다양한 해시함수

zzadary1012 2026. 4. 5. 22:30

지난 글에서는 해시함수의 기본적인 개념들과 특성들을 공부했다. 이번 글에선 다양한 해시함수의 종류에 대해 공부해보겠다.

 

- 반복 해시함수

: 입력값의 크기와 상관없이 항상 일정한 크기의 해시값을 출력하기 위해 반복을 사용한 해시함수임.

 

· Merkle-Damgard 구조

: 현재 사용되고 있는 많은 해시함수 구조의 기본 틀

→ 압축함수가 충돌 내성을 갖게 되는 반복 해시함수

 

- 키가 없는 해시함수

: 해시함수는 세 종류로 나눌 수 있음

● 전용 해시함수 (처음부터 새로 만드는 것)

● 블록 암호를 기초로 한 해시함수

● 모듈 연산을 기초로 한 함수

 

(1) 전용 해시함수

 

· 메시지 다이제스트(Message Digest, MD2 → MD4 → MD5)

: 임의의 길이를 가진 메시지를 입력받아 고정된 길이의 지문으로 변환하는 해시 알고리즘

· MD5의 특징

① 메시지를 512비트로 된 블록들로 나누어 128비트 다이제스트를 출력

② 128비트 Message Digest는 충돌 내성을 갖기에 짧다는 것으로 알려짐

③ Birthday Attack에 노출되어 보안용 사용 금지

 

· SHA (Secure Hash Algorithm)

: 가장 널리 사용되는 해시함수 → DSS에 사용하기 위해 NSA에 의해 설계됨

▶ SHA-1, SHA-2 존재 (SHA-2 : SHA-256, SHA-384, SHA-512를 함께 지칭)

 

· SHA-1 특징

① MD5의 구조를 따르고 유사한 처리과정 수행

② 메시지 길이 상한 존재

③ 512비트 블록 단위로 처리

④ 160비트 Message Digest 출력

 

· RIPEMD-160 (Race Integrity Primitives Evaluation Message Digest)

: 160비트 Messge Digest를 생성하는 해시 알고리즘

 

· Tiger

: 64비트 시스템에서 해시 함수를 수행하기 위해 설계 

→ 속도가 빠르다

 

· HAVAL

: 가변 길이 해시 알고리즘

① 출력되는 Messge Digest : 128, 160, 192, 224 및 256비트

② 사용되는 블록 크기 : 1024비트

 

항목 MD5 SHA-1 RIPEMD-160
다이제스트 길이 128비트 160비트 160비트
처리 단위 512비트 512비트 512비트
단계수 64 80 160
최대 메시지 크기 무한 2⁶⁴-1 비트 2⁶⁴-1 비트

[표 - 주요 해시 알고리즘 비교]

 

 

 

- 무결성 점검

: 메시지나 문서의 무결성을 점검하기 위해 암호학적 해시 함수 사용

▶ 이전의 MD와 새로운 MD를 비교해야함 (파일을 비교하는 대신 해시값 비교)

 

 

.

.

.

.

 

다음 글에서는 메시지 인증코드(MAC)에 대해 정리해보겠다.