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]