SHA

혹시 샤(워크래프트)을(를) 찾아오셨나요?

Secure Hash Algorithm

3f57b4255732fbd8df203466ef5cd5f4c980e545

- "https://namu.wiki/w/SHA"(따옴표 제외)의 SHA-1값

a0d20951336a0e6a39da2682efff30ab31012e88ea606aea6fdae9b502012fe5

- "https://namu.wiki/w/SHA"(따옴표 제외)의 SHA-2중 SHA-256값

1e3d31e819d5c890c6d9e48498ba2945f759be742699ad8e70f4b536059e6f38b472f1eea9c0d73aae792371fe38481401b7bef4e18b4a9a1d86056138dcfda2

- "https://namu.wiki/w/SHA"(따옴표 제외)의 SHA-3값 길다 [1]

1993년부터 미국 NSA가 제작하고 미국 국립표준기술연구소(NIST)에서 표준으로 제작한 해쉬 암호 알고리즘이다. 1993년 SHA-0을 시작으로, 현재 최신 버전은 2001년 방식이 나온 SHA-2을 사용 중이고, 2012년 10월에 SHA-3이 정식 발표되었다. #

SHA-1은 SHA-0이 발표된 지 2년 뒤에 SHA-0을 개량해서 나온 것이다. 그러나 2005년도에 한 중국의 대학연구팀에 의해 해독의 가능성이 제시되었으며, 진정한 의미로 대륙의 기상 결국 2008년에 해쉬 충돌이 발생해[2] 2015년엔 주요 브라우저에서도 지원 중단을 예고하는 등 퇴출 수속을 밟고 있다.

2015년, 주로 사용중인 SHA-2는 SHA-1을 대체하는 해쉬 암호로, SHA-224, SHA-256, SHA-384, SHA-512 등의 종류가 있다. 그러나, 일단 기본은 SHA-1과 큰 차이가 없기(...) 때문에 완전히 안전하다(=공격 받을 가능성이 없다.)고 장담하긴 어렵다. 그래서 SHA-1과 2와 생판다른 알고리즘인 SHA-3의 개발이 진행되었으며[3], 2012년 10월 2일자로 Keccak이 SHA-3로 확정되었다. #

대한민국 인터넷뱅킹은 SHA-256을 사용하고 있으며[4], 비트토렌트는 파일을 BASE32로 바꾼 SHA-1을 해쉬로 사용한다. 비트코인은 작업 증명에 SHA-256을 사용한다.
그리고 국세청 홈택스 서비스는 2016년에도 여전히 SHA-1을 사용 중이다.

SHA는 파일 값이 약간만 바뀌어도 값이 천차만별로 바뀔 수 있다. 보통 이를 가리켜 눈사태 효과라 부른다.
  1. 이것은 엄밀히 말해서 Keccak[c=2d]의 512-bit 해시값이다. Keccak 알고리즘은 이전의 SHA 알고리즘과는 달리 출력 길이가 제한되어 있지 않고, 알고리즘 자체에도 변경 가능한 파라미터가 있기에 어떤 파라미터를 쓰느냐에 따라 얼마든지 결과값이 달라질 수 있다.
  2. 물론 이건 알려진 것이다. 모든 암호화 알고리즘이 다 그렇지만 암호학의 지하에선 더 빨리 뚫렸을지 모른다(...)
  3. 개발이라기보단, 여러 보안 전문가들과 컴덕후들이 만들어낸 해시 알고리즘 중 몇 개를 추려서 가장 견고한 것에 SHA-3 딱지를 붙이는 공모전에 가깝다. 고려대학교에서도 아리랑이라는 이름으로 출품했지만... 광탈해버렸다(...) 3차 후보까지 남은 건 BLAKE, Grøstl, JH, Keccak, Skein의 5개 알고리즘이다.
  4. 2011년 전까진 2008년에 이미 뚫린(...) SHA-1을 사용중이었다(...)