MD
MD(Message Digest function 95)알고리즘에는 MD2, MD4, MD5가 포함된다. RSA를 개발한 미국 MIT의 로널드 리베스트 교수가 공개키 기반 구조를 만들기 위해 RSA와 함께 개발했다. 1989년에 만들어진 MD2는 8비트 컴퓨터에 최적화되어 있고 32비트 컴퓨터에 최적화된 MD4와 MD5가 이후 개발되었다. MD5 알고리즘은 MD4의 확장판으로 높은 데이터 보안성을 제공한다.[1]
개요
MD 알고리즘 시리즈에는 3개의 MD가 포함된다. 최초의 알고리즘인 MD2는 8비트 컴퓨터에 최적화된 알고리즘이다. 그러나 잦은 충돌로 인해 MD2는 점점 더 인기가 떨어졌고 MD4가 개발 됐다.메시지가 512비트 블록으로 처리되는 MD4는 원본 메시지 길이의 64비트 바이너리(binary) 표현이 메시지에 추가되었다. 그러나 MD2와 마찬가지로 MD4도 공격에 취약한 것이 밝혀져 MD5가 개발됐다. MD5는 가변 크기의 입력값을 처리해 고정크기 128비트 출력값을 생성한다.[2] 메시지 다이제스트의 약자인 MD는 키가 필요 없고 암호화 된 암호문을 복호화 할 수 없는 단 방향 암호화 방식이다.[3]
특징
인증
메시지 압축 알고리즘는 주로 인증에 사용된다. 인증은 크게 사용자 인증과 메시지 인증으로 나눌 수 있다. 사용자 인증은 사용자가 옳은 사용자 인지를 인증하는 것이고 메시지 인증은 메시지가 처음 상태에서 변조되지 않았다는 것을 인증하는 것이다.[3] 메시지 인증은 메시지 자체가 변하지 않았다는 것을 보증하는 것이다.[4]
메시지 압축 함수
메시지 압축 함수는 임의의 평문을 입력 받아서 일정한 길이의 데이터를 출력한다. 출력되는 값의 길이는 작게는 128비트부터 크게는 256비트까지 존재한다. 이러한 출력값의 길이는 메시지 압축 알고리즘에 따라 달라진다. 가장 널리 알려진 메시지 압축 알고리즘인 MD5에서는 128비트의 출력 값을 생성한다. 이렇게 메시지 압축 알고리즘에서 생성하는 출력값을 해시 값이라고도 한다. 메시지 압축 알고리즘의 중요한 특징은 다음과 같다. 첫 번째, 키가 필요 없다. 메시지 압축 알고리즘은 키 없이 출력 값을 생성 할 수 있다. 두 번째 메시지 압축 알고리즘에서는 입력된 평문의 길이에 상관없이 동일한 길이의 출력값을 생성한다. 세 번째 메시지 압축 알고리즘은 단방향 암호화이다. 그렇기 때문에 평문을 압축하여 해시값으로 만들 수는 있지만, 해시값을 평문으로 다시 변환할 수는 없다. 마지막으로 메시지 압축 함수에 입력되는 평문의 값 중의 어느 한 비트만 변해도 출력되는 해시값은 크게 달라진다. 일반적으로 메시지 다이제스트 알고리즘에서는 입력 값에서 한 비트만 변경되어도 출력되는 값은 50퍼센트 이상이 다른 값으로 출력된다.[3]
MD 시리즈
- MD2 : 로널드 리베스트 교수에 의해 처음으로 만들어진 메시지 압축 알고리즘이다. 오래 전에 발표된 알고리즘인 만큼 8비트 컴퓨터를 위해서 고안되었다. 이 알고리즘은 매우 안전 하지만 대신 계산할 때 많은 시간이 걸리며 128비트의 출력 해시값을 생선한다.
- MD4 : MD4는 MD2의 느린 속도 문제를 보안하기 위해 설계된 알고리즘으로서 MD2보다는 높은 메시지 압축 속도를 보여준다. 그렇지만 안전성이 약해졌다는 문제가 발생했다. MD4는 128비트의 출력 해시값을 생성한다. 실질적인 사용부분에서 본다면 결함 가능성으로 낮은 사용성을 보여주고 있다.
- MD5 : MD5는 MD4 알고리즘을 수정하여 안전성을 높인 알고리즘이다. MD5 메시지 압축 알고리즘은 폭넓게 사용되여 높은 사용성을 보여주지만 다소 현재의 환경에 사용하기에는 안전성이 떨어진다는 평가를 받고 있다. MD5의 출력 해시값은 128비트로 생성된다.[3]
각주
- ↑ 양대일, 〈해시의 종류〉, 《네이버 지식백과》, 2013-06-28
- ↑ chodahi, 〈Salt & 단방향 함수-해싱(Hashing) 알고리즘〉, 《네이버 블로그》, 2018-11-26
- ↑ 3.0 3.1 3.2 3.3 리노, 〈메시지 다이제스트,MD(1)-메시지 다이제스트 함수란?〉, 《네이버 블로그》, 2011-06-09
- ↑ 리노, 〈메시지 다이제스트,MD(3) - 메시지 인증 코드 MAC(Message Authentication Code)〉, 《네이버 블로그》, 2011-06-09
참고자료
- 양대일, 〈해시의 종류〉, 《네이버 지식백과》, 2013-06-28
- chodahi, 〈Salt & 단방향 함수-해싱(Hashing) 알고리즘〉, 《네이버 블로그》, 2018-11-26
- 리노, 〈메시지 다이제스트,MD(1)-메시지 다이제스트 함수란?〉, 《네이버 블로그》, 2011-06-09
- 리노, 〈메시지 다이제스트,MD(3) - 메시지 인증 코드 MAC(Message Authentication Code)〉, 《네이버 블로그》, 2011-06-09
같이 보기