케차크

용어요약

Keccak

케차크(Keccak)는 스펀지 구조를 기반으로 하는 암호학적 해시 함수 계열로, 미국 표준기술연구소(NIST)의 SHA-3 표준으로 채택되었으며 이더리움 등 여러 블록체인에서 사용된다.

1.개요

케차크(Keccak)는 귀도 베르토니, 요안 다먼, 미카엘 페이터스, 힐레스 판 아셔가 설계한 암호학적 해시 함수 계열이다. 2012년 미국 표준기술연구소(NIST)가 주관한 SHA-3 공모전에서 최종 우승자로 선정되어, 2015년 SHA-3 표준의 기반이 되었다. 기존의 MD5나 SHA-1, SHA-2 계열이 사용하던 머클-담고르 구조와 달리, 케차크는 '스펀지 구조(sponge construction)'라는 새로운 방식을 채택하여 설계 원리 면에서 근본적인 차이를 가진다.

해시 함수는 임의 길이의 입력 데이터를 고정된 길이의 값(해시값)으로 변환하는 함수로, 같은 입력에는 항상 같은 결과를 내면서도 결과값으로부터 원래 입력을 되돌리기 어렵고 서로 다른 입력이 같은 결과를 내기 어렵다는 성질을 가진다. 케차크는 이러한 성질을 만족하도록 설계되었으며, 출력 길이를 유연하게 조절할 수 있다는 특징이 있다.

2.상세

케차크의 핵심은 '스펀지 구조'이다. 이는 데이터를 흡수(absorbing)하는 단계와 결과를 짜내는(squeezing) 단계로 나뉘며, 내부 상태에 입력을 반복적으로 섞어 넣은 뒤 원하는 길이만큼 출력을 뽑아내는 방식이다. 이 구조 덕분에 케차크는 고정된 길이뿐 아니라 임의 길이의 출력을 생성할 수 있는 확장 가능 출력 함수(XOF)로도 활용된다.

SHA-3 공모전에서는 케차크 외에도 스케인 등 여러 후보가 최종 후보에 올랐으나, 케차크가 기존 SHA-2와 구조적으로 완전히 달라 특정 공격에 대한 안전 여유를 확보한 점 등이 높이 평가되어 최종 선정되었다.

주의할 점은 NIST가 SHA-3으로 표준화하는 과정에서 패딩 규칙을 일부 변경했다는 것이다. 그 결과 원본 케차크(Keccak-256 등)와 최종 SHA-3-256의 출력값은 서로 다르다. 따라서 두 용어는 종종 혼용되지만 엄밀히는 구분해야 한다.

3.관련

블록체인 분야에서 케차크가 널리 알려진 것은 이더리움이 원본 케차크-256(Keccak-256)을 표준 해시 함수로 채택했기 때문이다. 이더리움은 주소 생성, 트랜잭션 해싱, 머클 트리 구성 등 곳곳에서 케차크-256을 사용하며, 솔리디티 언어에서는 이를 계산하는 내장 함수를 제공한다. 이 때문에 스마트 컨트랙트 개발자에게 케차크는 자주 접하는 개념이다.

한편 비트코인 등에서 작업증명 방식의 채굴에 사용되는 해시 함수(SHA-256 등)와 케차크는 목적과 알고리즘이 다르며, 채굴 과정의 논스 탐색에 쓰이는 해시 함수가 반드시 케차크인 것은 아니다. 블록체인마다 채택하는 해시 함수는 서로 다르다.

이 문서 인용하기
토큰포스트 위키, “케차크”, 2026-07-28 수정, https://wiki.tokenpost.kr/w/keccak

문단 3개 · 연표 0건 · 각주 0