MD5 hay trong kỹ thuật người ta còn gọi là Message-Digest Algorithm 5, là một hàm băm mã hóa, được sử dụng để kiểm tra tính toàn vẹn của file người dùng tải về trên mạng hoặc copy giữa các thiết bị lưu trữ với nhau.
Lịch sử và lỗ hổng trên MD5
MD5 chỉ là một trong 3 thuật toán của Ronald Rivest. Hàm băm đầu tiên được tạo ra là MD2 vào năm 1989, được xây dựng cho các máy tính 8bit. Dù MD2 vẫn còn được sử dụng nhưng nó không dành cho những ứng dụng cần mức độ bảo mật cao, vì nó rất dễ bị tấn công bởi các kiểu hack thông thường.
MD2 sau đó được thay thế bằng MD4 vào năm 1990. MD4 được tạo cho các máy 32-bit và nhanh hơn MD2 khá nhiều. Tuy nhiên MD4 cũng có những điểm yếu và đã bị Internet Engineering Task Force đánh giá là lỗi thời.
MD5 được phát hành vào năm 1992 và cũng dành cho máy 32-bit. MD5 không nhanh như MD4 nhưng an toàn hơn. MD5 vẫn tồn tại những lỗ hổng bảo mật và SHA-1 được đề xuất để thay thế hàm băm này.
Đại học Carnegie Mellon thuộc Viện kỹ thuật phần mềm nói về MD5: "Các nhà phát triển phần mềm, Certification Authorities, các chủ sở hữu trang web và người dùng nên tránh sử dụng thuật toán MD5 mỗi khi có thể. Nghiên cứu trước đây đã chỉ ra rằng MD5 có thể bị phá vỡ về mặt mã hóa và không phù hợp để sử dụng".
Vào năm 2008, MD6 đã được đề xuất lên National Institute of Standards and Technology như một giải pháp thay thế cho SHA-3.