Learning
토픽 23 / 210·암호학

해시 함수 (Hash Function)

해시 함수 (Hash Function)

임의 길이 입력을 고정 길이 출력으로 변환하는 단방향 함수로 역산이 계산적으로 불가능한 암호학적 기본 요소

특징: 단방향, 고정 길이 출력, 눈사태 효과(1비트→50% 변경), 충돌 저항성

3대속성: 역상 저항성(h→m 역산 불가/2^n), 제2역상 저항성(m1→m2 역산 불가/2^n), 충돌 저항성(m1≠m2, H 동일 쌍 불가/2^(n/2) 생일공격)

SHA-256: SHA-2 계열, Merkle-Damgard 구조, 64라운드, 256비트 출력, 충돌 저항 2^128, 현행 표준

SHA-3: Keccak 기반 스펀지 구조, SHA-2와 다른 설계(동시 취약 불가), 길이 확장 공격 면역, SHAKE(가변 출력)

MD5/SHA-1: MD5(128비트/2004 충돌 발견/사용 금지), SHA-1(160비트/2017 SHAttered 충돌/사용 금지)

비교: MD5(파괴/금지) vs SHA-1(파괴/금지) vs SHA-256(안전/표준) vs SHA-3(안전/대안) vs BLAKE3(고속/병렬)

용도: 무결성 검증, 전자서명, 비밀번호 저장, 블록체인, HMAC

적용사례: 파일 무결성(SHA-256), 전자서명(RSA-SHA256), 비밀번호(Argon2), 블록체인(Bitcoin)

연관: 전자서명, 비밀번호 해싱, MAC, 블록체인