본문 바로가기
보안

[보안] MD5 와 SHA의 차이

by 뜨는 해 2020. 9. 17.

 

 

MD5 - Message-Digest algorithm 5


MD5는 위키 백과를 참조 하자면,

 


 128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다. 1991년에 로널드 라이베스트가 예전에 쓰이던 MD4를 대체하기 위해 고안했다. 

 

라고 한다. 메세지 축약 알고리즘으로, 파일의 무결성 검사 용도로도 사용된다고 한다.

128비트의 해시 함수를 이용해, 암호화와 복호화를 하는데 사용된다고 한다.

 

MD5의 결함을 발견하고 SHA로 사용하기를 권장하고 있다고 한다.

 

 

SHA - Secure Hash Algorithm


SHA의 정의는 위키 백과에 따르면 이렇다,


SHA(Secure Hash Algorithm, 안전한 해시 알고리즘) 함수들은 서로 관련된 암호학적 해시 함수들의 모음이다. 이들 함수는 미국 국가안보국(NSA)이 1993년에 처음으로 설계했으며 미국 국가 표준으로 지정되었다. SHA 함수군에 속하는 최초의 함수는 공식적으로 SHA라고 불리지만, 나중에 설계된 함수들과 구별하기 위하여 SHA-0이라고도 불린다. 2년 후 SHA-0의 변형인 SHA-1이 발표되었으며, 그 후에 4종류의 변형, 즉 SHA-224, SHA-256, SHA-384, SHA-512가 더 발표되었다. 이들을 통칭해서 SHA-2라고 하기도 한다. 

 

미국 국가보안국에서 처음 설계됐으며, 여러가지 바리에이션이 있다고 한다.

SHA-1, SHA-256, SHA-512... 등등 이 있고, 이름은 내부적으로 해시값의 크기를 나타낸다고 한다. (SHA-1, SHA-0 제외)

 

TLS, SSL, PGP, SSH, IPSec등의 많은 보안 프로토콜에서 쓰이며, 눈사태 효과(avalanche effect)로 인한 해쉬값의 변동이 아주 크기 때문에, 조그만 변화에도 민감하다.

 

 

SHA VS MD5


 

 

 

둘의 차이라고 한다면, 대표적으로 MD5보다는 SHA가 더 안전하다는 것이다.

 

MD5에서의 공격 방법도 있고, 다른 데이터에서의 해시 값이 같은 "Collision"문제도 있다는 것. 이는 치명적인 결함으로, SHA를 이용하는 것을 추천하고 있다고 한다.

 

SHA도 공격방법은 있지만, MD5보다는 덜 치명적이고 안전하다고 한다.

 

또한 SHA알고리즘은 MD5보다 느리다고 한다.

'보안' 카테고리의 다른 글

[네트워크] SNI  (0) 2020.09.21