SHA-2

SHA-2는 암호학적 해시 함수 계열으로, 무결성, 디지털 서명, HMAC에 사용되는 핵심 암호 기술이다. 블록 반복 처리와 압축 함수를 주요 특징으로 하며 관련 표준에서 입력 형식과 세부 처리 규칙을 정의한다.

분류알고리즘 · 암호학적 해시 함수 계열
설계·표준화NIST 표준화
발표2001년
핵심 구조블록 반복 처리와 압축 함수
매개변수SHA-224·256·384·512 및 SHA-512/224·512/256
표준FIPS 180-4
주요 활용무결성, 디지털 서명, HMAC
자료공식 표준

SHA-2는 암호학적 해시 함수 계열으로, 무결성, 디지털 서명, HMAC에 사용되는 핵심 암호 기술이다. 블록 반복 처리와 압축 함수를 주요 특징으로 하며 관련 표준에서 입력 형식과 세부 처리 규칙을 정의한다.[1]

SHA-2는 단일한 함수가 아니라 서로 관련된 여러 해시 함수의 계열이다. SHA-256과 SHA-512는 각각 다른 워드 크기와 블록 처리 구성을 사용한다. 메시지를 패딩해 일정 크기의 블록으로 나누고 내부 해시 상태를 순차적으로 갱신하여 최종 고정 길이 다이제스트를 생성한다.

SHA-256의 내부 압축 과정에는 메시지 스케줄, 비트 회전과 이동, XOR, 논리 함수 및 모듈러 정수 덧셈이 사용된다. 입력을 한 비트만 변경해도 해시 결과가 크게 달라지는 성질을 지향하며, 보안 목표에는 충돌 저항성과 역상 저항성이 포함된다. 단순한 256비트 다이제스트의 이상적 충돌 공격 비용은 생일 경계에 따라 약 2^128 수준이다.

SHA-2는 HMAC 같은 키 기반 인증 코드와 전자 서명 과정의 메시지 요약에 사용된다. 단순 SHA-256 해시만으로 비밀번호를 보관하는 대신 salt와 비용 인자를 결합한 비밀번호 해시·키 유도 체계를 사용해야 한다. SHA-3와는 내부 설계가 다른 별도의 표준 계열이다.[2]

역사와 표준

수학적·암호학적 원리

기본 개념

핵심 자료 표현

알고리즘 구조

기본 단계

입력과 출력

변형과 매개변수

정확성과 보안 성질

보안 가정

공격 모델

구현

의사 코드

고성능 구현

부채널 보호

표준과 호환성

활용 분야

관련 문서

  1. 표준 원문 ↩
  2. 표준 구현 규칙 ↩