SHA
IT 위키
더 많은 작업
미국 NIST에서 1993년 발표된 표준 FIPS PUB 180 으로 공표된 해쉬 함수 알고리즘
- 해쉬 알고리즘 중 하나인 MD-4 알고리즘에 기반을 두고 있으며, MD-5 취약성 개선/대체하기 위함
FIPS PUB 180-1, 1995년
- SHA는 입력된 메세지를 512 비트 블록 단위로 처리하여, 160 비트의 출력값(해시값) 생성
- 입력 메세지 길이 상한 : 264
- 해시값 길이 : 160 비트 (20 바이트)
- MD-5,SHA-1 비교
- 사전 패딩 처리는 MD5와 동일
- 출력값에 있어서는 MD-5 보다 길기 때문에 SHA가 더 안전하나,
- SHA 버퍼 크기가 MD-5 보다 더 크기 때문에 속도면에서는 MD-5가 25% 정도 더 빠름
FIPS PUB 180-2, 2002년
- SHA-1 및 그 변형인 SHA-256,SHA-384,SHA-512(해시값 각 256,384,512 비트), 보안 수준을 3DES에 맞게 수정한 SHA-224
- 그냥 SHA-2라하면, SHA-224,SHA-256,SHA-384,SHA-512 4개를 총칭함
- SHA-224 (28 바이트), SHA-256 (32 바이트), SHA-384 (48 바이트), SHA-512 (64 바이트)
| 알고리즘 | 블록 크기 | 워드 크기 | 라운드 수 | 해시 길이 |
|---|---|---|---|---|
| SHA-1 | 512비트 | 32비트 | 80 | 160비트 |
| SHA-224 | 512비트 | 32비트 | 64 | 224비트 |
| SHA-256 | 512비트 | 32비트 | 64 | 256비트 |
| SHA-384 | 1024비트 | 64비트 | 80 | 384비트 |
| SHA-512 | 1024비트 | 64비트 | 80 | 512비트 |
- SHA-1·SHA-224·SHA-256 은 512비트 블록, SHA-384·SHA-512 는 1024비트 블록을 쓴다
- SHA-384 는 SHA-512 와 같은 구조로 계산한 뒤 결과를 384비트로 잘라 낸 것이다. 해시 길이는 256비트가 아니라 384비트다
- SHA-1 의 블록은 256비트가 아니라 512비트다
- 정보통신기술용어해설