Báo cáo môn Mật mã và an toàn thông tin HÀM BĂM MD4 Ứ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 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ã
Trang 1HÀM BĂM MD4
Trang 2NỘ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
Trang 3Ứ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ã
Trang 4 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
HÀM BĂM MD4
Trang 5 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
Trang 6HÀ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
Trang 7CHƯƠ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
Trang 8CÂU HỎI VÀ THẢO LUẬN
Trang 9Cảm ơn thầy và các anh chị đã chú ý lắng nghe!