HÀM BĂM MD4
Giảng viên : PGS.TS. Trịnh Nhật Tiến
Sinh viên : Phan Thị Thơm
1
Nội dung
Ứng dụng của hàm băm
Hàm băm MD4
Chương trình tính giá trị hàm băm dòng MD4
Môi trường và ngôn ngữ phát triển
Demo chương trình
2
Ứng dụng của hàm băm
Hàm băm được dùng để tạo đại diện bản tin
Hàm băm được dùng để xác định tính toàn vẹn dữ liệu
Hàm băm được dùng để bảo mật một số dữ liệu đặc biệt.
Ví dụ : Bảo vệ mật khẩu, bảo vệ khóa mật mã
Hàm băm
3
Tạo thông điệp đệm M
Thông điệp đệm được lưu trong mảng
M = M[0] M[1]…M[N-1]
Trong đó :
M[i] là xâu bit có độ dài 32 bit
(N mod 16 ) = 0
Băm trên thông điệp đệm để tạo ra đại diện tài liệu
4
Hàm băm MD4
Hàm băm MD4
Ví dụ xâu đầu vào là a = “ABC”
Có A = 65, B = 66, C = 67
A = 65 = 01000001 , B = 66 = 01000010, C = 67 = 01000011
Xâu a có độ dài a = 24 bit
d = 447 – (|a| mod 512) = 447 – 24 = 423
Do xâu ghép |a| + 1 + d = 24 + 1 + 423 = 448 mod 512
5
Hàm băm MD4
Khi đó biểu diễn nhị phân của xâu a là
L = |a| mod 2^64 = 24 = (00 59 số …0)11000
Xâu M = a || 1 || 0 0 || L = 01000001 01000010 01000011 || 1 || 00…432 số…0 || 00…59 số…0 11000
Độ dài của xâu M là 512
Xâu M được biểu diễn là M = M[0] M[1]…M[N-1] với mỗi M[i] có độ dài 32 bit.
6
Chương trình tính giá trị hàm băm dòng MD4
Môi trường : Netbeans IDE
Xây dựng giao diện chương trình thuận tiện
Ngôn ngữ : Java
Xử lý trên xâu ký tự
Hỗ trợ các thao tác với bit dữ liệu
Demo chương trình
7
Câu hỏi và thảo luận
8
Cảm ơn thầy và các anh chị đã chú ý lắng nghe!
9