티스토리 뷰

Security/Hash

[Study] SHA Hash Function

Gabii_Y 2018. 8. 22. 21:51



이번 포스팅에서는 암호학적 해시 함수 중 하나인 SHA에 대해 다뤄보도록 하겠습니다.


SHA(Secure Hash Algorithm)함수는 미국 NSA에 의해 만들어진 해시 알고리즘으로 미국 국가 표준으로 지정되었습니다.


SHA 함수 군에 속하는 최초의 함수는 SHA라고 불리지만, 나중에 설계된 함수들과 구별하기 위해 SHA-0이라고도 불립니다. 2년 후 SHA-0의 변형인 SHA-1이 발표되었으며, 그 후엔 4종류의 변형(SHA-224, SHA-256, SHA-384, SHA-512)이 추가적으로 발표되었는데 이를 통칭해 SHA-2라고 부르기도 합니다.


SHA-1은 SHA 함수들 중 가장 많이 쓰이며 TLS, SSL, PGP, SSH, IPSec 등 많은 보안 프로토콜과 프로그램에서 사용되고 있습니다. SHA-1은 이전에 널리 사용되던 MD5를 대신해서 쓰이기도 합니다.


아래 그림에서 SHA 해시 함수의 종류와 그 특징을 간략하게 확인할 수 있습니다.




SHA는 이전에도 서술했다싶이 해시 함수입니다. 해시 함수는 임의의 길이를 갖는 메시지를 입력 받아 고정된 길이의 해쉬 값을 출력하는 함수입니다. 암호 알고리즘과 달리 키가 사용되지 않아 같은 입력에 대해서 항상 같은 출력이 나오게 됩니다. 이러한 해시를 사용해 입력 메시지에 대한 변경할 수 없는 증거값을 뽑아냄으로서 메시지의 오류나 변조를 탐지할 수 있는 무결성을 제공하는 목적으로 주로 사용됩니다.


이렇게 무결성을 제공해야 하며 해시 함수를 통해 암호화 된 값을 통해 이전의 평문 값을 찾아내는 것이 불가능에 가까워야 하지만, 이미 SHA-0, SHA-1에 대한 공격이 발견 되었습니다. 그래서 지금은 그나마 안전한 SHA-2(SHA-224, SHA-256, SHA-384, SHA-512) 를 사용하는 것을 권장하긴 하지만 이 또한 언제 가능한 공격이 발견될 지는 알 수 없습니다.


(이 포스팅은 wikipedia와 KISA를 참고하여 정리하였습니다.)



이번 포스팅에서는 SHA 해시 함수에 대한 이론적인 내용을 알아보았습니다.


다음 포스팅에서는 SHA-0, SHA-1에 대한 상세한 이야기와 알고리즘에 대해 알아보도록 하겠습니다.


그럼 다음 포스팅에서 봐요 :)

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함