본문/내용
1. CHAPTER 1. MD5의 개요
MD5는 메시지 다이제스트 5(Message-Digest algorithm 5)의 약자로, 1991년 로널드 리 베리스트(Ronald Rivest)에 의해 설계된 해시 함수이다. MD5는 주어진 입력 데이터를 128비트(16바이트)의 해시 값으로 변환하는 알고리즘으로, 주로 데이터 무결성을 확인하는 데 사용된다. 원래 MD4를 기반으로 하여 속도와 보안성을 개선하기 위해 개발되었고, 다양한 응용 프로그램에서 널리 사용되었다. MD5의 주요 특징은 입력값에 대한 고유한 해시 값을 생성할 수 있다는 점으로, 두 개의 다른 입력값이 동일한 해시 값을 가질 확률은 매우 낮다. 이런 특성 덕분에 MD5는 파일이나 메시지의 무결성을 검증하는 데 유용하게 쓰였으며, 특히 소프트웨어 배포나 데이터 저장 시에 해시 값으로 파일의 변화 여부를 감지하는 용도로 빈번히 활용되었다. 하지만 시간이 지남에 따라 MD5는 여러 보안 취약점이 발견되었고, 일반적으로 해킹이나 데이터 충돌 공격에 취약하다는 이유로 그 사용이 점차 줄어들었다. 특히, 충돌 공격이나 일부러 동일한 해시 값을 생성하는 공격이 가능하게 되면서 MD5는 이론적으로 안전하지 않은 해시 함수로 여겨지게 되었다…