Nếu bạn tải những file có dung lượng nhỏ, thời gian truyền tải ngắn nên trong quá trình truyền tin không có nhiều sai sót. Tuy nhiên đối với những file có dung lượng lớn, thời gian truyền tải dài dễ xảy ra lỗi trong quá trình tuyền tải file. Vì vậy bạn cần kiểm tra mã MD5 và so sánh với mã MD5 gốc. Vậy MD5 là gì?
1. MD5 là gì?
MD5 (viết tắt của từ Message- Digest algorithm 5, giải thuật tiêu hóa tin 5) là một hàm băm mật mã theo chuẩn RFC 1321, có giá trị hash dài 128bit. MD5 được phát triển vào năm 1991, bởi Giáo sư Ronald L. Rivest để thay thế cho hàm băm MD4 trước đó. MD5 không phải là thuật toán nhanh như thuật toán MD4, nhưng bảo mật dữ liệu trên MD5 an toàn hơn. MD5 được sử dụng trong nhiều ứng dụng bảo mật và để kiểm tra tính toàn vẹn của file dữ liệu, xác minh xem file đã bị thay đổi hay chưa.
Bạn có thể hình dung, bạn có 2 bộ dữ liệu và cần so sánh xem chúng có hoàn toàn giống nhau không, nếu không có MD5, bạn sẽ phải so sánh dữ liệu thô của 2 bộ dữ liệu đó. MD5 không làm vậy, nó tạo ra một checksum trên 2 bộ dữ liệu rồi so sánh checksum này để quyết định xem 2 bộ dữ liệu có giống nhau không.
Dù an toàn hơn MD4, nhưng MD5 vẫn có một số lỗ hổng bảo mật, vì vậy nó không hữu ích cho những ứng dụng mã hóa cao cấp và thường được dùng để kiểm tra xem một file có chuẩn hay không hơn.
2. 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.
Tham khảo thêm:
Chúc các bạn thành công!