SHA-3(케착) (SHA-3 (Keccak))
쉽게 풀면
해시 함수는 어떤 데이터를 입력하면 항상 같은 길이의 고유한 지문 같은 값을 출력해주는 함수입니다. SHA-3는 이 지문을 만드는 새로운 방식으로, 기존 SHA-2 계열과 완전히 다른 내부 구조(스펀지 구조)를 사용해 만들어졌습니다. 스펀지가 물을 흡수했다가 짜내는 것처럼, 데이터를 흡수하는 단계와 결과를 짜내는 단계로 나뉘어 동작한다고 이해하면 됩니다.
왜 중요한가
기존 SHA-1, SHA-2가 공유하는 Merkle-Damgård 구조에 대한 이론적 우려가 제기되면서, 정보보안학 분야에서는 구조적으로 다른 대안 해시 함수의 필요성이 논의되었고, NIST가 2015년 공모전을 통해 Keccak을 SHA-3로 표준화하면서 이후 관련 응용 및 성능 비교 연구가 이어지고 있습니다.
논문에서는 이렇게 쓰입니다
서로 다른 해시 알고리즘 간의 실제 성능 비교를 다루는 문맥입니다.
다른 암호 알고리즘의 구성 요소로 SHA-3가 활용되는 사례를 설명하는 문맥입니다.
조금 더 깊게 보면
SHA-3는 스펀지 구조를 기반으로 하며, 내부적으로 1600비트 상태를 갖는 케착 순열(Keccak-f)을 반복 적용해 동작합니다. SHA3-224, SHA3-256, SHA3-384, SHA3-512와 같이 출력 길이가 다른 버전과, 출력 길이를 임의로 조절할 수 있는 SHAKE128, SHAKE256 같은 확장 가능 출력 함수(XOF)도 함께 표준화되어 있습니다.
주의할 점
SHA-3가 표준화되었다고 해서 기존 SHA-2가 안전하지 않다는 의미는 아니며, 현재까지 SHA-2 역시 실용적인 공격이 알려져 있지 않아 두 계열 모두 널리 사용되고 있습니다.