SHA-3(Keccak) 해시 계산기 (무료)

무료 도구: 입력한 문자열의 SHA-3(Keccak) 해시값을 브라우저에서 실시간으로 계산합니다. NIST가 2012년 표준화한 차세대 해시 함수로, SHA-2와 근본적으로 다른 '스펀지 구조'를 채택하고 있습니다.

복사되었습니다!

SHA-3 해시 계산이란

SHA-3 해시 계산이란 입력한 문자열을 256비트(32바이트)의 고정 길이 데이터로 변환하는 것입니다. SHA-3는 NIST가 2012년에 표준화한 최신 세대의 해시 함수로, 같은 입력에서는 항상 같은 해시 값이 얻어지는 한편 해시 값에서 원래의 문자열을 역산하는 것은 계산상 불가능하다는 「일방향성」을 갖습니다. 이 도구는 입력란에 문자열을 입력하기만 하면 브라우저 위에서 실시간으로 SHA-3 해시 값을 계산합니다.

SHA-3의 가장 큰 특징은 SHA-2(SHA-256·SHA-512 등)와는 근본적으로 다른 「스펀지 구조」라는 설계를 채용하고 있다는 점입니다. SHA-2에 장래 어떤 취약성이 발견되더라도 설계 원리가 다른 SHA-3까지는 영향이 미치기 어렵다고 여겨져, 암호학적인 「보험」으로 자리매김하고 있습니다. 계산은 모두 브라우저 안에서 완결되며, 입력한 문자열이 서버로 전송되는 일은 없습니다.

SHA-3 해시 계산 사용 방법

  1. 해시화하고 싶은 문자열을 입력합니다 입력란에 비밀번호나 파일의 내용 등, 해시 값을 구하고 싶은 문자열을 입력합니다.
  2. SHA-3 해시 값의 표시를 확인합니다 입력과 동시에 256비트의 SHA-3 해시 값이 16진수 문자열로 실시간 표시됩니다.
  3. 필요에 따라 복사합니다 「복사」 버튼을 누르면 표시 중인 해시 값을 클립보드로 복사할 수 있습니다. 프로그램의 테스트 코드나 대조 용도에 그대로 붙여 넣을 수 있습니다.

더 잘 활용하기 위한 팁

  • SHA-3는 SHA-2와 완전히 다른 설계(스펀지 구조)로, SHA-2가 파괴될 경우의 대안으로 설계
  • Keccak(케체크)이라고도 불리며, 벨기에 팀이 개발
  • SHAKE128·SHAKE256 등 임의 길이 출력(XOF) 변형도 존재
  • SHA-2가 아직 안전하므로 새 시스템에서 SHA-2 대신 반드시 사용할 필요는 없음

SHA-3 해시 계산이 도움이 되는 상황

신규 시스템에서의 해시 함수 검증

앞으로 설계할 시스템에서 SHA-3의 채용을 검토하고 있을 때, 실제 출력 값을 브라우저에서 곧바로 확인하고 구현 코드의 출력과 맞춰 보는 용도로 쓸 수 있습니다.

Keccak 계열 해시를 쓰는 사양의 이해

Ethereum처럼 독자적인 Keccak-256을 채용하는 사양을 조사하는 과정에서, NIST 표준의 SHA-3-256과의 출력 차이를 직접 손을 움직여 비교할 때 도움이 됩니다.

암호 학습·알고리즘 비교의 교재로서

같은 입력에 대해 SHA-3와 SHA-2 계열의 해시 값이 얼마나 다른지 견주어 보고 싶다면, 복수 해시 일괄 계산 도구에서 나란히 확인하면 이해가 깊어집니다.

SHA-256과의 구분 사용의 판단 재료로

기존 시스템과의 호환성을 우선해 SHA-256을 써야 할지 망설여질 때, 우선 양쪽의 해시 값을 실제로 생성해 사양서에 기재할 형식을 확인하는 용도로 쓸 수 있습니다. SHA-256의 계산은 SHA-256 해시 계산 도구를 이용해 주세요.

SHA-3의 관련 용어

SHA-3
NIST가 2012년에 표준화한 해시 함수의 명칭으로, 내부적으로는 Keccak 알고리즘을 채용하고 있습니다. 224·256·384·512비트의 네 가지 출력 길이가 정의되어 있으며, 이 도구에서는 256비트 출력을 사용합니다.
Keccak
벨기에의 연구자 그룹이 설계해 NIST의 SHA-3 공모에서 선정된 알고리즘입니다. SHA-3라는 명칭은 NIST에 의한 표준화 이후의 부르는 방식이며, Keccak 자체는 그 이전부터 존재하는 더 넓은 개념을 가리킵니다.
스펀지 구조
입력 데이터를 내부 상태에 「흡수」시키고, 필요한 길이만큼 출력을 「짜내는」 SHA-3의 설계 방식입니다. SHA-2가 채용하는 Merkle–Damgård 구조와는 다른 구조로, SHA-2에 대한 공격 기법이 그대로 통하기 어려운 구조적 차이를 낳고 있습니다.
충돌 내성
서로 다른 두 입력에서 같은 해시 값이 생성되기 어려운 성질을 말합니다. SHA-3는 현시점에서 실용적인 충돌을 발견하는 공격 방법이 발견되지 않아, 전자 서명이나 데이터 변조 탐지에 안전하게 이용할 수 있습니다.
SHA-2와의 차이
SHA-2(SHA-256·SHA-512 등)와 SHA-3는 이름이 비슷하지만, 내부 구조가 전혀 다른 별개 계통의 알고리즘입니다. NIST는 SHA-2를 대체할 목적이 아니라, 장래 SHA-2가 깨졌을 경우의 대안으로 설계를 요구했습니다.
일방향성 해시 함수
어떤 입력에서 출력(해시 값)을 계산하는 것은 쉬워도, 출력에서 입력을 역산하는 것이 계산상 불가능한 함수를 말합니다. SHA-3도 이 성질을 갖기 때문에 비밀번호의 대조 등에 안전하게 이용할 수 있습니다.

자주 묻는 질문

현재 둘 다 안전합니다. 기존 시스템과의 호환성이 필요하면 SHA-256이 실용적이며, 독립적으로 설계된 알고리즘의 이점을 원하는 새로운 설계에는 SHA-3이 좋은 선택입니다.

다릅니다. Ethereum은 NIST 표준화 이전의 Keccak을 채택했으며, 패딩 방식이 달라 동일한 입력에서도 서로 다른 해시값이 생성됩니다. Ethereum 주소 계산에는 전용 Keccak 구현이 필요합니다.

불가능합니다. SHA-3은 단방향 해시 함수로, 해시값에서 원본 데이터를 역산하는 것은 계산상 불가능합니다. 비밀번호 검증이나 데이터 무결성 확인에 안전하게 활용할 수 있습니다.
툴군

여담 ― Keccak의 탄생과 NIST 공모전: '다음 표준'을 결정한 5년

2006년 SHA-1 충돌 공격 현실화 → NIST 공모전 시작; 64개 알고리즘 응모; 2012년 벨기에 팀(Joan Daemen, AES 공동 설계자)의 Keccak 선정

SHA-2 대체가 아닌 SHA-2 파괴 시 보험으로 설계; SHA-2는 여전히 안전

스펀지 구조 → SHAKE128·SHAKE256(임의 길이 XOF) 응용