Tìm Hiểu Thuật Toán MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử
Tìm Hiểu Thuật Tốn MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử MỤC LỤC Lời cảm ơn Lời cam đoan PHẦN I: GIỚI THIỆU VỀ ĐỀ TÀI .5 1.1.Mục đích .5 1.2 Đối tượng nghiên cứu .5 1.2 Phạm vi nghiện cứu .5 1.4 Ý nghĩa đề tài 5 PHẦN II: NỘI DUNG 6 CHƯƠNG 1 :TỔNG QUAN VỀ MẬT MÃ HĨA .6 2.1.1 Khái niệm về mã hóa .6 2.1.2 Các thuật tốn mã hóa 7 2.1.2.1 Mã hóa đối xứng 7 2.1.2.2 Mã hố bất đối xứng 8 2.1.4 Phương pháp RSA 9 2.1.4.1 Khái niệm hệ mật mã RSA 9 2.1.4.2. Độ an tồn của hệ RSA .11 2.1.4.3. Một số tính chất của hệ RSA .12 2.1.4.4 Một số phương pháp tấn cơng giải thuật RSA .13 CHƯƠNG 2 CHỮ KÝ ĐIỆN TỬ .15 2.2.1Giới thiệu 15 2.2.2 Khái niệm về chữ ky ́ điê ̣ n tử 15 2.2.3 Thuật tốn chữ ký điện tử 17 2.2.4 Chứng nhận chữ ký điện tử 19 2.2.5 Ch ̉ n chữ ky ́ điê ̣ n tử (Digital Signature Standard) 19 2.2.6 Giải pháp ứng dụng chữ ký điện tử 22 2.2.6.1 Q trình ký và gửi các tệp văn bản 22 2.2.6.2 Q trình nhận các tệp văn bản 23 2.2.7 Vận dụng vào hệ thống .24 2.2.8 Kết luận 25 CHƯƠNG 3 : TỔNG QUAN VỀ HÀM BĂM VÀ THUẬT TỐN HÀM BĂM MD5 .26 2.3.1 Đăt vấn đề 26 Lê Thị Kim Vui-Lớp T13TVT Trang 1 Tìm Hiểu Thuật Tốn MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử 2.3.2 giới thiệu về hàm băm mật mã .26 2.3.2.1 Tính chất 27 2.3.2.2 Ứng dụng .28 2.3.3 Hàm băm dựa trên mã khối 29 2.3.4 Cấu trúc Merkle-Damgård .29 2.3.5 Birthday attack .30 2.3.6 Hàm băm mật mã .31 2.3.7 Cấu trúc của hàm băm .32 2.3.8 Tính an tồn của hàm băm đối với hiện tượng đụng độ 32 2.3.9 Tính một chiều 33 2.3.10. Sử dụng cho các ngun thủy mật mã khác 33 2.3.11 Ghép các hàm băm mật mã 34 2.3.12 Thuật tốn băm mật mã 34 2.3.13 Phương pháp Secure Hash Standard (SHS) 35 2.3.14 Một số hàm băm nổi tiếng .35 2.3.15 Hàm băm MD5 .35 2.3.15.1 Giới thiệu 35 2.3.15.2 Khái niệm 36 2.3.15.3 Ứng dụng 36 2.3.15.4 Thuật giải .36 2.3.16 MD5 (Message Digest) 37 2.3.16.1 Mơ tả .37 2.3.16.2 Cách thực hiện 40 2.3.17 Sự khác nhau giữa MD4 và MD5 42 CHƯƠNG 4: XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG THUẬT TỐN MD5 43 2.4.1 Nhiệm vụ của chương trình 43 2.4.2 Thuật tốn MD5 và sơ đồ khối 43 2.4.2.1 Thuật tốn .43 2.4.2.2 Sơ đồ khối thuật tốn MD5 .46 2.4.3 Kết quả chương trình mơ phỏng thuật tốn băm MD5 .49 2.4.3.1 Giao diện chương trình mơ phỏng .49 2.4.3.2 Các bước thực hiện chương trình .49 2.4.3.3 Kết quả thực nghiệm 50 PHẦN III: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 53 Lê Thị Kim Vui-Lớp T13TVT Trang 2 Tìm Hiểu Thuật Toán MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử Danh mục tài liệu tham khảo 54 DANH MỤC HÌNH VẼ: Hình 1.1 Mô hình hệ thống mã hóa quy ước 7 Hình 1.2 Nguyên lý của hệ thống mã hoá đối xứng 7 Hình 1.3 Kênh nguyên lý trong hệ thống mã hoá đối xứng 8 Hình 1.4 Nguyên lý cơ bản của mã hoá khoá công khai và thuật toán RSA 9 Hình 1.5 Sơ đồ các bước thực hiện mã hoá theo thuật toán RSA .11 Hình 2.1 Kiểm tra chữ ký điện tử .17 Hình 2.2 Thủ tục ký và kiểm tra chữ ký 19 Hình 2.3 Sơ đồ mô tả quá trình ký và gửi các tệp văn bản 24 Hình 2.4 Sơ đồ mô tả quá trình nhận các tệp văn bản .25 Hình 3.1 Cấu trúc băm Merkle-Damgård .30 Hình 3.2 Sơ đô ̀ vòng lă ̣ p chí nh cu ̉ a MD5 .38 Hình 3.3 Sơ đồ 1 vòng lă ̣ p cu ̉ a MD5 39 Lê Thị Kim Vui-Lớp T13TVT Trang 3 Tìm Hiểu Thuật Toán MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử LỜI MỞ ĐẦU Ngày nay, các ứng dụng Công nghệ thông tin đã và đang ngày càng phổ biến rộng rãi đã ảnh hưởng rất lớn đến diện mạo của đời sống, kinh tế, xã hội. Mọi công việc hàng ngày của chúng ta đều có thể thực hiện được từ xa với sự hổ trợ của máy vi tính và mạng internet (từ việc học tập, giao dịch,… đến việc gửi thư). Tất cả thông tin liên quan đến những công việc này đều do máy vi tính quản lý và truyền đi trên hệ thống mạng. Đối với những thông tin bình thường thì không có ai chú ý đến, nhưng đối với những thông tin mang tính chất sống còn đối với một số cá nhân (hay tổ chức) thì vấn đề bảo mật thật sự rất quan trọng, vấn đề khó khăn đặt ra là làm sao giữ được thông tin bí mật và giữ cho đến đúng được địa chỉ cần đến. Nhiều tổ chức, cá nhân đã tìm kiếm và đưa ra nhiều giải pháp bảo mật phương pháp mã hóa khóa công khai được xem là phương pháp có tính an toàn khá cao. Như vậy việc đảm bảo an toàn thông tin, tránh mọi nguy cơ bị thay đổi, sao chép hoặc mất mát dữ liệu trong các ứng dụng trên mạng luôn là vấn đề bức xúc, được nhiều người quan tâm. Trong bài báo cáo này, em trình bày những vấn đề liên quan về mã hóa thông tin, thuật toán băm MD5, thuật toán mã hóa RSA và chữ ký điện tử. Từ đó, ứng dụng thuật toán MD5 và RSA để phân tích quá trình hoạt động của chữ ký điện tử. Trên cở sở đó, em xin được đề ra giải pháp ứng dụng chữ ký điện tử trên cơ sở kết hợp giữa thuật toán băm MD5 và thuật toán mã hóa RSA trong quá trình gửi và nhận các văn bản. Lê Thị Kim Vui-Lớp T13TVT Trang 4 Tìm Hiểu Thuật Toán MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử PHẦN I GIỚI THIỆU ĐỀ TÀI 1.1 MỤC ĐÍCH Tìm hiểu chung về kỹ thuật nhận thực (chữ ký điện tử) Chữ ký điện tử không được sử dụng nhằm bảo mật thông tin mà nhằm bảo vệ thông tin không bị người khác cố tình thay đổi để tạo ra thông tin sai lệch. Nói cách khác, chữ ký điện tử giúp xác định được người đã tạo ra hay chịu trách nhiệm đối với một thông điệp. Tìm hiểu hàm băm, đi sâu vào thuật toán MD5 Hàm băm (Hash Function): Cho đầu vào là một thông báo có kích thước thay đổi, đầu ra là một mã băm có kích thước cố định. Giải thuật băm MD5 (Message Digest 5): được sử dụng để kiểm tra tính toàn vẹn của khối dữ liệu lớn. Thuật toán nhận đầu vào là một đoạn tin có chiều dài bất kỳ, băm nó thành các khối 512 bit và tạo đầu ra là một đoạn tin 128 bit. Xây dựng chương trình mô phỏng hàm băm MD5 Đưa ra kết quả chương trình mô phỏng và các kết quả thu được đúng với các tài liệu tiêu chuẩn về thuật toán MD5 1.2ĐỐI TƯỢNG NGHIÊN CỨU - các phương pháp mật mã hóa - Chữ ký điện tử và ứng dụng - Thuật toán RSA - Các thuật toán hàm băm 1.3 PHẠM VI NGHIÊN CỨU Bài báo cáo này tập trung nghiên cứu các thuật toán băm MD5 và ứng dụng hàm băm trong chữ ký điện tử 1.4 Ý NGHĨA ĐỀ TÀI Chữ ký điện tử là lĩnh vực được sử dụng rộng rải trong thực tế, nhận thực các bản tin, file văn bản trong vấn đề truyền thông tin trên mạng, xây dụng các giải pháp về giao dịch điện tử và chính phủ điện tử. Nghiên cứu về chữ ký điện tử và tìm hiểu những lĩnh vực ứng dụng của nó có ý nghĩa rất quan trọng trong thực tế Lê Thị Kim Vui-Lớp T13TVT Trang 5 Tìm Hiểu Thuật Toán MD5 Và Ứng Dụng Trong Chữ Ký Điện Tử PHẦN II NỘI DUNG CHƯƠNG 1 TỔNG QUAN VỀ MẬT MÃ HÓA 2.1.1 KHÁI NIỆM VỀ MÃ HÓA Mã hoá là một tiến trình biến đổi thông tin, sử dụng các thuật toán nhằm mục đích không cho người khác có thể nắm bắt được nếu thiếu một vốn thông số nhất định (key) để dịch ngược. Đi kèm với mã hoá là giải mã. Có rất nhiều loại thuật toán mã hoá cho dữ liệu máy tính, chúng được gọi tên theo thuật toán và có thể so sánh trực tiếp với nhau, ví dụ mã hoá 128-bit, Triple-DES, 2048-bit RSA. Trong cùng một loại, dĩ nhiên một phép mã hoá 2048-bit RSA sẽ mạnh mẽ hơn phép mã hoá 1024-bit RSA.Nhưng như vậy không có nghĩa là một phép mã hoá với độ dài dãy bit lớn được xem là an toàn. Thử liên tưởng đến ngôi biệt thự của bạn, với chiếc cổng được khoá bằng ổ khoá 4 chân, mỗi chân như vậy có thể nằm trong 10 vị trí, ổ khoá chỉ mở được khi 4 chân được sắp theo mã khoá của chủ nhà, và để vượt qua, 1 tên trộm cần phải dùng tối đa 10.000 phép thử (brute-force attack). Nhưng nếu tăng ổ khoá lên 10 chân, sẽ tạo nên 10 triệu khe cắm khoá hợp lệ, thì không ai đủ sự thông minh (hay sự ngu dốt) để mở chiếc khoá bằng cách tấn công thuật toán này. Họ có thể phá cửa sổ, hay thậm chí là phá chiếc cổng, giả danh chính quyền, thợ nước… để đột nhập vào căn nhà của bạn. Một ổ khoá tốt không thể chống lại những kiểu tấn công như thế được. Điều đó cho thấy một thuật toán mã hoá cực mạnh sẽ chỉ hữu ít nếu được sư ̉ du ̣ ng ơ ̉ đúng những nơi cần thiết, không phải lúc nào cũng là tối ưu. Cái cần bảo vệ ở trên chính là ngôi nhà của bạn chứ không phải là đặt một hàng rào bẫy và hi vọng kẻ trộm sẽ dính vào cái bẫy đó. Với sự phát triển mạnh mẽ của mình, hầu hết các kênh thông tin đều lấy Internet làm nền tảng để phát triển. Điều tất yếu sẽ nảy sinh là vấn đề An toàn thông tin, một ngày nào đó, bạn bỗng nhận ra rằng, thông tin của bạn đang bị theo dõi. Để vừa đảm bảo thông tin luôn kết nối, vừa đảm bảo yếu tố bảo mật của thông tin thì phương pháp tốt nhất là mã hoá thông tin. Ngày nay việc mã hoá đã trở nên phổ cập, các quốc gia hay là các công ty lớn đều có chính sách phát triển công cụ mã hoá riêng biệt để bảo vệ cho chính thông tin của họ. Lê Thị Kim Vui-Lớp T13TVT Trang 6