MD5 (Message-Digest algorithm 5) là một hàm băm mật mã đƣợc sử dụng phổ biến, đƣợc thiết kể bởi Giáo sƣ Ronald L. Rivest tại trƣờng MIT vào năm 1991 để thay thế cho hàm băm trƣớc đó là MD4 (1990). Là một chuẩn Internet (RFC 1321), MD5 đã đƣợc dùng trong nhiều ứng dụng bảo mật và cũng đƣợc dùng phổ biến để kiểm tra tính toàn vẹn của tập tin. Cũng nhƣ các hàm băm
18 khác nhƣ MD4 và SHS (Secure Hash Standard), MD5 là phƣơng pháp có ƣu điểm tốc độ xử lý rất nhanh, thích hợp với các thông điệp dài và cho ra giá trị băm dài 128 bit.
Trong MD5, thông điệp ban đầu X sẽ đƣợc mở rộng thành dãy bit X có độ dài là bội của 512. Dãy bit X gồm các thành phần đƣợc sắp thứ tự nhƣ sau: Dãy bit X ban đầu, một bit 1, dãy d bit 0 (d đƣợc tính sao cho dãy X cuối cùng là bội của 512), dãy 64 bit l biểu diễn chiều dài của thông điệp. Đơn vị xử lý trong MD5 là các từ 32-bit, nên dãy bit X ở trên sẽ đƣợc biểu diễn thành dãy các từ X[i] 32-bit sau:
X=X[0] X[1] X[2] …X[N−1] , với N là bội của 16.[5]
2.7.3.Chuẩn băm an toàn SHS
SHS (Secure Hash Standard) là chuẩn gồm tập hợp các thuật toán băm mật mã an toàn (Secure Hash Algorithm – SHA) nhƣ SHA-1, SHA-224, SHA- 256, SHA-384, SHA-512 do NIST2 và NSA3 xây dựng.
Phƣơng pháp SHA-1 (cũng nhƣ SHA-0) đƣợc xây dựng trên cùng cơ sở với phƣơng pháp MD4 và MD5. Tuy nhiên, phƣơng pháp SHA-1 sử dụng trên hệ thống Big-endian5 thay vì Little-endian6 nhƣ phƣơng pháp MD4 và MD5. Ngoài ra, hàm băm SHA-1 tạo ra thông điệp rút gọn kết quả có độ dài 160 bit nên thƣờng đƣợc sử dụng
Phƣơng pháp SHA-1 giống với MD5 (cải tiến từ MD4) nhƣng thông điệp tóm tắt đƣợc tạo ra có độ dài 160 bit. Dƣới đây là một số điểm so sánh giữa MD5 và SHA1
- Giống nhƣ MD5, SHA-1 cũng thêm chu kỳ thứ 4 để tăng mức độ an toàn cho thuật toán. Tuy nhiên, chu kỳ 4 của SHA-1 sử dụng lại hàm f của chu kỳ thứ 2.
- Trong SHA-1, 20 bƣớc biến đổi trong cùng một chu kỳ sử dụng cùng một hàng số K[t] . Trong khi đó, mỗi bƣớc biến đổi trong cùng một chu kỳ của MD5 sử dụng các hằng số khác nhau.
19 - So với MD4, hàm G trong MD5 đƣợc thay thế thành hàm mới để làm giảm tính đối xứng. Trong khi SHA-1, hàm G trong SHA-1 vẫn giữ lại hàm G của MD4.
- Cả MD5 và SHA-1, mỗi bƣớc biến đổi trong từng chu kỳ chịu ảnh hƣởng kết quả của biến đổi trƣớc, vì vậy làm tăng nhanh tốc độ của hiệu ứng lan truyền.