[2021년 정보시스템감리사][보안] 106번
106. SHA-2를 대체하기 위해서 발표한 해시함수인 SHA-3에 대한 설명으로 가장 적절하지 않은 것은?
① SHA-3의 입력되는 데이터의 크기는 2128-1로 제한된다.
② SHA-1, SHA-2와는 전혀 다른 스펀지 구조가 사용되고 있다.
③ 출력 비트열의 길이에 따라 SHA3-224, SHA3-256, SHA3-384, SHA3-512의 4종류가 있다.
④ SHA-3는 해시값 생성뿐만 아니라 의사난수 생성기, 스트림 암호 등의 기능에도 활용할 수 있다.
[해설]
▣ 해쉬함수 특징
1) SHA-0 ~ SHA-2
| 알고리즘 | 해시값 크기 | 내부 상태 크기 | 블록 크기 | 입력 한계 | 워드 크기 | round | 사용되는 연산 | 충돌 |
| SHA-0 | 160 | 160 | 512 | 264 | 32 | 80 | +,and,or,xor,rotl | 발견됨 |
| SHA-1 | 160 | 160 | 512 | 264 | 32 | 80 | +,and,or,xor,rotl | 발견됨 |
| SHA-256/ 224 | 256/224 | 256 | 512 | 264 | 32 | 64 | +,and,or,xor,shr,rotr | - |
| SHA-512/ 384 | 512/384 | 512 | 1024 | 2128 | 64 | 80 | +,and,or,xor,shr,rotr | - |
2) SHA-3
- 안전성에 문제가 제기된 SHA-1과 SHA-2를 대체하기 위하여 NIST에서 SHA-3 해시함수 공모를 통해 선정한 해시함수
- 2007년 SHA-3 공모를 통해, 2012년 KECCAK 알고리즘이 SHA-3로 선정
- SHA3-224, SHA3-256, SHA3-384, SHA3-512 4개의 해시함수와 SHAKE128, SHAKE256 2개의 확장 가능한 출력함수(Extendable-output functions, XOF)로 구성
- 입력 데이터의 크기 제한이 없음
3) SHA-3 스펀지 구조
- MD5 구조를 가지는 SHA-1, SHA-2와 달리 SHA-3는 스펀지 구조를 갖음
- b비트 순열을 갖는 f함수와 메시지를 패딩하는 패딩함수를 이용하여 메시지 압축과정을 진행
- 입력된 메시지는 정해진 bitrate에 따라 f함수 출력과 XOR 연산 과정을 통해 흡수(absorbing)과정을 거치게 되고 마지막 압착(squeezing)과정을 통해 최종 해시값을 출력

댓글
댓글 쓰기