해시 알고리즘 핵심 스펙 표
용어: MD = Message Digest(출력 길이) / 블록 = 입력 블록 크기 / 단계 = 블록 1개 처리 시 메인 루프 스텝(라운드) / 최대메시지 = 표준에서 허용하는 입력 길이 상한 / 워드길이 = 연산 기본 단위(w-bit word)
| 알고리즘 | MD(출력) | 블록 | 단계(라운드/스텝) | 최대 메시지 길이 | 워드길이 |
|---|---|---|---|---|---|
| MD5 | 128-bit | 512-bit | 64 스텝 (Round 1~4 각 16) | ℓ mod 2^64(길이 64-bit만 반영) | 32-bit(16워드 블록) |
| SHA-1 | 160-bit | 512-bit | 80 스텝(W0~W79) | 0 ≤ ℓ < 2^64 | 32-bit |
| RIPEMD-160 | 160-bit | 512-bit(16×32-bit) | 80 스텝(5라운드×16) × 좌/우 2라인 병렬 → 총 160 스텝 | 마지막 64-bit에 길이 포함(= 사실상 0 ≤ ℓ < 2^64) | 32-bit |
| SHA-224 | 224-bit | 512-bit | 64 스텝(W0~W63) | 0 ≤ ℓ < 2^64 | 32-bit |
| SHA-256 | 256-bit | 512-bit | 64 스텝(W0~W63) | 0 ≤ ℓ < 2^64 | 32-bit |
| SHA-384 | 384-bit | 1024-bit | 80 스텝(W0~W79) | 0 ≤ ℓ < 2^128 | 64-bit |
| SHA-512 | 512-bit | 1024-bit | 80 스텝(W0~W79) | 0 ≤ ℓ < 2^128 | 64-bit |
정보보안기사 “한 방 암기” 포인트
블록/워드로 2그룹만 외우면 빨라요.
512-bit 블록 + 32-bit 워드: MD5 / SHA-1 / SHA-224 / SHA-256 / RIPEMD-160
1024-bit 블록 + 64-bit 워드: SHA-384 / SHA-512
단계(스텝) 숫자 패턴
64 스텝: MD5, SHA-224/256
80 스텝: SHA-1, SHA-384/512
RIPEMD-160: “80인데 2라인이라 총 160” 느낌으로 기억
최대 메시지 길이(= 길이필드 크기)
끝에 64-bit 길이 붙이면 → 2^64급(SHA-1/224/256, RIPEMD-160, MD5)
끝에 128-bit 길이 붙이면 → 2^128급(SHA-384/512)