Luận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tửLuận văn thạc sĩ: Nghiên cứu các thuật toán mã hóa khóa công khai và ứng dụng trong chữ ký điện tử
ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT & TT THÁI NGUYÊN Trƣơng Mạnh Cƣờng LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH NGHIÊN CỨU CÁC THUẬT TỐN MÃ HĨA KHĨA CƠNG KHAI VÀ ỨNG DỤNG TRONG CHỮ KÝ ĐIỆN TỬ Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60 48 01 THÁI NGUYÊN - 2014 Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT & TT THÁI NGUYÊN Trƣơng Mạnh Cƣờng LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH NGHIÊN CỨU CÁC THUẬT TỐN MÃ HĨA KHĨA CƠNG KHAI VÀ ỨNG DỤNG TRONG CHỮ KÝ ĐIỆN TỬ GIÁO VIÊN HƢỚNG DẪN PGS.TS BÙI THẾ HỒNG THÁI NGUYÊN - 2014 Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ MỤC LỤC DANH MỤC CÁC CHỮ TIẾNG ANH VIẾT TẮT DANH MỤC CÁC HÌNH MỞ ĐẦU Lý nghiên cứu đề tài CHƢƠNG TỔNG QUAN VỀ CÁC THUẬT TỐN MÃ HĨA KHĨA CƠNG KHAI 1.1 Khái niệm mã hóa khóa cơng khai 1.1.1 Mật mã hóa khóa đối xứng 1.1.2 Mật mã hóa khóa cơng khai 1.2 Các thuật tốn mật mã hóa khóa cơng khai 13 1.2.1 Thuật toán RSA 13 1.2.2 Trao đổi thỏa thuận khóa Diffie-Hellman 17 1.2.3 Hệ mã ElGammal 19 1.3 So sánh ƣu nhƣợc điểm thuật toán 21 1.3.1 Ưu điểm 21 1.3.2 Hạn chế 22 CHƢƠNG 2: HÀM BĂM VÀ CHỮ KÝ ĐIỆN TỬ 24 2.1 Hàm băm 24 2.1.1 Tổng quan hàm băm 24 2.1.2 Một số hàm băm sử dụng phổ biến 29 2.1.2.1 Họ hàm băm SHA (Secure Hash Algorithm) 29 2.1.2.2 Họ hàm băm MD (Message-Digest algorithm) 32 2.2 Chữ ký điện tử 39 2.2.1 Tổng quan chữ ký điện tử 39 2.2.2 Định nghĩa chữ ký điện tử 42 Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ 2.2.3 Một số qui ước chữ ký điện tử 43 2.3 Những vấn đề trao đổi cặp khóa đặt thực tế 44 2.3.1 Sự tương tự với bưu 44 2.3.2 Mối quan hệ khóa cơng khai với thực thể sở hữu khóa 47 2.3.3 Các vấn đề liên quan tới thời gian thực 47 CHƢƠNG 3: XÂY DỰNG ỨNG DỤNG 52 3.1 Phát triển ứng dụng 52 3.1.1 Sơ đồ hệ thống chức ứng dụng 52 3.1.1.1 Sơ đồ hệ thống 52 3.1.1.2 Chức ứng dụng 53 3.1.2 Phân tích ứng dụng 54 3.1.2.1 Tạo khóa cơng khai bí mật thuật tốn RSA 54 3.1.2.2 Băm liệu hàm băm MD5 54 3.1.3.3 Mã hóa giá trị băm khóa bí mật 54 3.1.4.4 Giải mã khóa cơng khai kiểm tra tính tồn vẹn văn 54 3.2 Cài đặt ứng dụng 55 3.2.1 Giới thiệu chương trình 55 3.2.2 Một số giao diện chương trình 55 3.2.2.1 Giao diện chương trình 55 3.2.2.2 Tạo file khóa cơng khai bí mật, lưu file khóa 56 3.2.2.3 Lựa chọn văn 56 3.2.2.4 Ký văn 57 3.2.2.5 Giải mã chữ ký 57 58 GIẢI THÍCH MỘT SỐ THUẬT NGỮ 59 TÀI LIỆU THAM KHẢO 60 Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ DANH MỤC CÁC CHỮ TIẾNG ANH VIẾT TẮT NIST National Institute of Standards and Technology RSA R Rivest, A Shamir, L Adleman MITM Man-In-The-Middle attack MD Message-Digest algorithm SHA Secure Hash Algorithm MAC Message Authentication Code PKCS Public Key Cryptography Standards Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ DANH MỤC CÁC HÌNH STT TÊN HÌNH TRANG Hình 1.1: Kênh liên lạc Hình 2.1: Hoạt động hàm băm tiêu biểu 21 Hình 2.2: Mơ hình ký gửi thơng điệp sử dụng hàm băm 25 Hình 2.3: Mơ hình xác minh chữ ký, kiểm tra tính tồn vẹn thơng điệp 26 Hình 2.4: Mơ hình chữ ký điện tử 40 Hình 3.1: Sơ đồ hệ thống ứng dụng 53 Hình 3.2: Giao diện chương trình 55 Hình 3.3: Giao diện tao cặp khóa 56 Hình 3.4: Giao diện lựa chọn văn cần ký 56 10 11 Hình 3.5: Giao diện ký văn lựa chọn khóa bí mật Hình 3.6: Giao diện giải mã văn ký khóa cơng khai Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ 57 57 MỞ ĐẦU Lý nghiên cứu đề tài Bảo mật thông tin nhu cầu cần thiết lĩnh vực tình báo, qn sự, ngoại giao, thơng tin thương mại Bảo mật thông tin vấn đề nghiên cứu từ xưa đến Bảo mật thông tin trì tính bảo mật, tính tồn vẹn, tính sẵn sàng Tính bảo mật đảm bảo thơng tin tiếp cận người cấp quyền trao đổi thơng tin Tính tồn vẹn thơng tin bảo vệ xác, hồn chỉnh thông tin thông tin thay đổi người cấp quyền Tính sẵn sàng thơng tin người quyền sử dụng truy xuất thông tin họ cần Để đảm bảo u cầu thơng tin nhiều người nước giới tập trung nghiên cứu tìm giải pháp để đảm bảo an toàn, an ninh cho giao dịch điện tử máy tính Giao dịch điện tử Việt Nam quan tâm Những giao dịch điện tử xuất với phổ dụng máy tính mạng Internet Đã có luật, văn luật cho lĩnh vực an tồn thơng tin giao dịch điện tử như: Quốc hội thông qua luật thương mại, luật giao dịch điện tử Thủ tướng Chính phủ ban hành Quyết định số 1073/QĐ-TTg ngày 12/7/2010 phê duyệt kế hoạch tổng thể phát triển thương mại điện tử giai đoạn 2010 – 2015 Cùng với xu chung đất nước, u cầu đặt với cơng việc mình, học viên chọn đề tài an tồn thông tin, mà cụ thể áp dụng thuật tốn mã hóa khóa cơng khai, hàm băm, chữ ký điện tử, làm mục tiêu nghiên cứu Mong muốn tìm tịi xây dựng ứng dụng phục vụ cho quan, đơn vị nơi học viên công tác Nghiên cứu giải thuật mã hóa khóa cơng khai Nghiên cứu chữ ký điện tử, tìm hiểu hàm băm giải thuật hàm băm Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ Cài đặt thử nghiệm giải thuật sinh chữ ký điện tử Một số thuật toán sinh khóa cơng khai, khóa bí mật; Một số hàm băm thường sử dụng nay; Chữ ký điện tử Ph Tìm hiểu dựa sở lý thuyết, thuật tốn hay sinh khóa cơng khai, khóa bí mật có từ trước So sánh để thấy ưu điểm, hạn chế thuật toán Từ sở cải tiến, triển khai ứng dụng cài đặt giải thuật tối ưu vào thực tiễn Trong trình triển khai ứng dụng nêu lên hạn chế đề tài khó khăn thực đề tài Đề xuất hướng phát triển đề tài thời gian tới ăn Ngồi phần mở đầu kết luận đề tài có cấu gồm chương: Chương : Tổng quan thuật tốn mã hóa khóa cơng khai Chương 2: Hàm băm chữ ký điện tử Chương 3: Xây dựng ứng dụng Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ CHƢƠNG TỔNG QUAN VỀ CÁC THUẬT TOÁN MÃ HĨA KHĨA CƠNG KHAI 1.1 Khái niệm mã hóa khóa cơng khai 1.1.1 Mật mã hóa khóa đối xứng Trong mật mã học, thuật tốn khóa đối xứng (symmetric key algorithms) lớp thuật toán mật mã hóa khóa dùng cho việc mật mã hóa giải mã có quan hệ rõ ràng với (có thể dễ dàng tìm khóa biết khóa kia) Khóa dùng để mã hóa có liên hệ cách rõ ràng với khóa dùng để giải mã có nghĩa chúng hồn tồn giống nhau, khác nhờ biến đổi đơn giản hai khóa Trên thực tế, khóa đại diện cho bí mật phân hưởng hai bên nhiều sử dụng để giữ gìn bí mật kênh truyền thơng tin Thuật tốn đối xứng chia làm hai thể loại, mật mã luồng (stream ciphers) mật mã khối (block ciphers) Mật mã luồng mã hóa bit thông điệp mật mã khối gộp số bit lại mật mã hóa chúng đơn vị Cỡ khối dùng thường khối 64 bit Những thuật tốn mã hóa khóa đối xứng tiếng DES AES Các thuật toán đối xứng thường không sử dụng độc lập Trong thiết kế hệ thống mật mã đại, hai kiểu mật hóa khóa đối xứng khóa bất đối xứng thường sử dụng phối hợp để tận dụng ưu điểm chúng 1.1.2 Mật mã hóa khóa cơng khai Là dạng mật mã hóa cho phép người sử dụng trao đổi thông tin mật mà khơng cần phải trao đổi khóa chung bí mật trước Điều thực cách sử dụng cặp khóa có quan hệ tốn học với khóa cơng khai khóa cá nhân (hay khóa bí mật) Thuật ngữ "mật mã hóa khóa bất đối xứng" thường dùng đồng nghĩa với "mật mã hóa khóa cơng khai" hai khái niệm khơng hồn tồn tương đương Có thuật tốn mật mã khóa bất đối xứng khơng có Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ tính chất khóa cơng khai bí mật đề cập mà hai khóa (cho mã hóa giải mã) cần phải giữ bí mật Trong mật mã hóa khóa cơng khai, khóa cá nhân phải giữ bí mật khóa cơng khai phổ biến cơng khai Trong khóa, dùng để mã hóa khóa lại dùng để giải mã Điều quan trọng hệ thống khơng thể tìm khóa bí mật biết khóa cơng khai Hệ thống mật mã hóa khóa cơng khai sử dụng với mục đích: Mã hóa: giữ bí mật thơng tin có người có khóa bí mật giải mã Tạo chữ ký số: cho phép kiểm tra văn có phải tạo với khóa bí mật hay khơng Thỏa thuận khóa: cho phép thiết lập khóa dùng để trao đổi thơng tin mật bên Thông thường, kỹ thuật mật mã hóa khóa cơng khai địi hỏi khối lượng tính tốn nhiều kỹ thuật mã hóa khóa đối xứng lợi điểm mà chúng mang lại khiến cho chúng áp dụng nhiều ứng dụng Có thể hình dung hệ mật tương tự sau A đặt vật vào hộp kim loại khố lại khố số B để lại Chỉ có B người mở hộp có người biết tổ hợp mã khố số Thuật tốn mã hóa cơng khai thuật tốn thiết kế cho khóa mã hóa khác so với khóa giải mã Mà khóa giải mã hóa khơng thể tính tốn từ khóa mã hóa Khóa mã hóa gọi khóa cơng khai (public key), khóa giải mã gọi khóa riêng (private key) Số hóa trung tâm học liệu http://www.lrc-tnu.edu.vn/ ... kế cho khóa mã hóa khác so với khóa giải mã Mà khóa giải mã hóa khơng thể tính tốn từ khóa mã hóa Khóa mã hóa gọi khóa cơng khai (public key), khóa giải mã gọi khóa riêng (private key) Số hóa trung... KHĨA CƠNG KHAI 1.1 Khái niệm mã hóa khóa cơng khai 1.1.1 Mật mã hóa khóa đối xứng 1.1.2 Mật mã hóa khóa cơng khai 1.2 Các thuật tốn mật mã hóa khóa cơng khai ... CÁC THUẬT TỐN MÃ HĨA KHĨA CƠNG KHAI 1.1 Khái niệm mã hóa khóa cơng khai 1.1.1 Mật mã hóa khóa đối xứng Trong mật mã học, thuật tốn khóa đối xứng (symmetric key algorithms) lớp thuật tốn mật mã