지난 글에서는 해시함수의 기본적인 개념들과 특성들을 공부했다. 이번 글에선 다양한 해시함수의 종류에 대해 공부해보겠다.
- 반복 해시함수
: 입력값의 크기와 상관없이 항상 일정한 크기의 해시값을 출력하기 위해 반복을 사용한 해시함수임.
· 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)에 대해 정리해보겠다.
'정보보안산업기사 필기' 카테고리의 다른 글
| [암호학] 전자서명 (2) | 2026.04.07 |
|---|---|
| [암호학] 메시지 인증코드(MAC) (1) | 2026.04.05 |
| [암호학] 일방향 해시함수 (3) | 2026.04.01 |
| [암호학] 기타 비대칭키 암호 알고리즘 (0) | 2026.04.01 |
| [암호학] RSA (3) | 2026.03.31 |