SHA-1이란?
SHA-1(Secure Hash Algorithm 1)은 160비트(20바이트) 해시 값을 생성하는 암호화 해시 함수로, 일반적으로 40자리 16진수로 표현됩니다. NSA에서 설계하고 1995년 디지털 서명 표준의 일부로 NIST에서 발표했습니다.
주요 특징:
- 결정론적: 동일한 입력은 항상 동일한 해시를 생성
- 빠른 계산: 주어진 입력에 대해 빠르게 계산
- 눈사태 효과: 입력의 작은 변화가 완전히 다른 출력을 생성
- 비가역적: 해시를 역산하여 원본 입력을 찾는 것은 계산적으로 불가능
- 충돌 취약성: 알려진 취약점으로 인해 충돌을 찾는 것이 가능
보안 상태: ⚠️ SHA-1은 암호학적으로 깨졌으며 보안이 중요한 애플리케이션에서는 사용해서는 안 됩니다. 이론적 공격은 2005년에 증명되었고, 실용적인 충돌 공격은 2017년에 달성되었습니다.
일반적인 용도(역사적):
- 디지털 서명 및 인증서(더 이상 사용되지 않음)
- Git 버전 제어 시스템(호환성을 위해)
- SHA-1이 필요한 레거시 시스템
- 파일 무결성 검증(보안 비중요)
- 작업 증명 알고리즘(일부 오래된 암호화폐)
권장 대안:
- 새로운 애플리케이션에는 SHA-256 또는 SHA-3
- 높은 보안 요구사항에는 SHA-512