-
MD5 개요
R. Rivest가 MD4를 제안한 뒤 안전성의 문제가 제기된 다음 뒤이어 제안한 방식
임의의 길이의 서명문을 128비트의 해쉬값을 출력시키는 함수
임의의 입력 서명문을 512비트 단위로 처리
- 서명문을 512비트의 배수가 되도록 패딩을 부가시킴
서명문의 비트 길이는 512를 법으로 448이 되도록 패딩 ( 512 - 64 = 448 )
만일 서명문의 길이가 512를 법으로 448인 경우라도 패딩을 하게 되며 이 경우 패딩하는 비트 수는 512비트
- 패딩되는 비트 수 = 1~512
- 패딩 패턴 : 100 ... 0
- 64비트 : 서명문 길이 표시, 상위 32비트와 하위 32비트를 바꾸어 그 결과를 붙인다.
- 서명문의 길이가 2^64 보다 크면 서명문의 하위 64비트만을 사용한다.
SHA 개요
NIST, 미 상무성 표준국에서 안전한 해쉬함수로 SHA을 개발
1993년 FIPS PUB 180로 공표
MD4를 기반으로 MD4와 유사하게 설계됨
2^64비트 미만의 길이를 갖는 서명문을 입력으로 160비트의 해쉬값을 출력, 512비트단위로 동작
- 패딩 패턴 :100 ... 0
- 64비트 : 서명문 길이 표시 상위 32비트와 하위 32비트 교환