<aside> 💡 MD5(Message-Digest algorithm 5)는 128비트 암호화 해시 함수이다.
</aside>
주로 원본 그대로인지 확인하는 무결성 검사에 사용된다.
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=vjhh0712v&logNo=221447601982
Message-Digest Algorithm 5
MD5는 1991년에 로널드 라이베스트가 이전에 쓰이던 MD4를 대체하기 위해 고안된 알고리즘이다.
MD5는 사실 1996년에 설계상의 결함이 발견되었다.
매우 치명적인 결함은 아니였지만 암호학자들은 해시용도로 SHA1 이상의 안전한 알고리즘을 권장하였다.
하지만 2004년에 더욱 심한 결함이 발견되었고, 2006년에는 노트북 한대로 1분내에 해시 충돌을 찾을 정도의
빠른 알고리즘이 발표되어 현재는 거의 사용되지 않고 있다.
MD5 알고리즘은 보안관련 용도로 권장하지 않는다.
MD5는 임의의 길이의 메시지를 입력받아서 128비트짜리 고정 길이의 출력값을 낸다.
입력 메시지는 512비트 블록들로 쪼개지는데 패딩을 사용하여 512로 나누어 떨어지게 한다.
padding은 블록암호 운용모드에서 설명했었는데, MD5의 경우 512비트 단위로 연산을 하기 때문에 패딩이 필요하다.
패딩조건은 다음과 같다.