SHA-256이란?
SHA-256 (Secure Hash Algorithm 256) 입력값으로부터 고정된 256비트(64-헥스 문자) 다이제스트를 생성합니다. SHA-2 계열의 일부로 NSA 에 의해 설계되었으며 표준화되었습니다 NIST 2001년에, 전 세계적으로 보안에 중요한 애플리케이션에 널리 사용됩니다.
보안 참고: SHA-256은 현재의 충돌 및 원상복구 공격에 대해 안전하며, 파일 무결성, 디지털 서명 및 블록체인에 이상적입니다.
SHA-256 작동 방식
- 메시지 패딩 → 길이 ≡ 448 (mod 512) 비트
- 64비트 빅엔디안 메시지 길이 추가
- 여덟 개의 32비트 단어 초기화 (소수의 제곱근 첫 32비트)
- 각 512비트 블록을 64라운드 비트 연산으로 처리
- 결과를 결합하여 256비트 다이제스트 생성
예제 해시
Input | SHA-256 해시 |
---|---|
Hello World | a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e |
password | 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 |
test123 | ecd71870d1963316a97e3ac3408c9835ad8cf0f3c1bc703527c30265534f75ae |
(비어 있음) | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
SHA-256과 다른 해시 함수 비교
Algorithm | Output | Security | Speed |
---|---|---|---|
MD5 | 128 비트 | ❌ 손상됨 | ⚡ 매우 빠름 |
SHA-1 | 160 비트 | ❌ 손상됨 | ⚡ 빠름 |
SHA-256 | 256 비트 | ✅ 안전함 | 🚀 보통 |
SHA-384 | 384 비트 | ✅ 안전함 | 🚀 보통-느림 |
SHA-512 | 512 비트 | ✅ 매우 안전함 | 🚀 느림 |
자주 묻는 질문
SHA-256은 비밀번호에 안전한가요?
SHA-256은 암호학적으로 강력하지만, 비밀번호 저장에는 salting과 함께 bcrypt, Argon2, PBKDF2 같은 전문 해시 알고리즘을 사용하세요.
SHA-256을 역으로 변환할 수 있나요?
아니요. SHA-256은 단방향이며, 역변환은 무차별 대입이나 레인보우 테이블이 필요해 복잡한 입력에 대해 비현실적입니다.
왜 SHA-1 대신 SHA-256을 사용해야 하나요?
SHA-256는 더 강력한 충돌 저항성을 제공하며 보안 애플리케이션을 위해 NIST에서 승인되었습니다.