1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu một số phương pháp mã hóa bằng chữ ký số và cài đặt thử nghiệm

61 104 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI VIỆN CÔNG NGHỆ THƠNG TIN ĐỒNG THỊ THỎA TÌM HIỂU MỘT SỐ PHƯƠNG PHÁP MÃ HÓA BẰNG CHỮ KÝ SỐ VÀ CÀI ĐẶT THỬ NGHIỆM KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Sư phạm Tin học HÀ NỘI, 2019 TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN ĐỒNG THỊ THỎA TÌM HIỂU MỘT SỐ PHƯƠNG PHÁP MÃ HÓA BẰNG CHỮ KÝ SỐ VÀ CÀI ĐẶT THỬ NGHIỆM KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Sư phạm Tin học Người hướng dẫn khoa học ThS Đỗ Thị Lan Anh HÀ NỘI, 2019 LỜI CẢM ƠN Em xin chân thành cảm ơn ThS Đỗ Thị Lan Anh, giảng viên Viện Công Nghệ Thông tin – Trường Đại học Sư phạm Hà Nội 2, người trực tiếp hướng dẫn em suốt thời gian qua để em hồn thành khóa luận Em xin chân thành cảm ơn thầy, cô giáo Viện Công Nghệ Thông tin bạn lớp k41- Sư phạm Tin học tạo điều kiện, động viên khích lệ em suốt trình học tập nghiên cứu Do thời gian nghiên cứu hạn chế nên vấn đề mà em trình bày khóa luận khơng tránh khỏi thiếu sót Em kính mong nhận ý kiến đóng góp từ thầy bạn để khóa luận em hồn thiện Em xin chân thành cảm ơn! Hà Nội, ngày tháng năm 2019 Tác giả Đồng Thị Thỏa LỜI CAM ĐOAN Tơi xin cam đoan khóa luận hoàn thành cố gắng, nỗ lực thân, hướng dẫn tận tình ThS Đỗ Thị Lan Anh tham khảo số tài liệu ghi rõ nguồn Khóa luận hồn tồn khơng chép từ tài liệu có sẵn Kết nghiên cứu không trùng lặp với tác giả khác Nếu sai, tơi xin hồn tồn chịu trách nhiệm! Hà Nội, ngày tháng năm 2019 Tác giả Đồng Thị Thỏa MỤC LỤC MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THÔNG TIN 1.1 Giới thiệu an tồn bảo mật thơng tin 1.1.1 Lý cần đảm bảo an tồn bảo mật thơng tin 1.1.2 Khái niệm an toàn bảo mật thông tin 1.1.3 Nội dung an toàn bảo mật thông tin 1.1.4 Các chiến lược bảo vệ an toàn cho hệ thống 1.2 Vai trò an tồn bảo mật thơng tin 1.3 Một số phương pháp mã hóa liệu 1.3.1 Hệ mã hóa 1.3.2 Tiêu chuẩn đánh giá hệ mật mã 11 1.3.3 Phân loại hệ mã hóa 12 1.4 Các hệ mã hóa khóa bí mật 13 1.5 Các hệ mã hóa khóa cơng khai 20 1.5.1 Hệ mã hóa RSA 20 1.5.2 Hệ mã hóa Elgamal 21 CHƯƠNG 2: CHỮ KÝ SỐ 24 2.1 Tổng quan chữ ký số 24 2.1.1 Giới thiệu 24 2.1.2 Khái niệm 25 2.1.3 Phân loại chữ ký số 25 2.1.4 Sơ đồ chữ ký số 26 2.2 Hàm băm 27 2.2.1 Khái niệm hàm băm 27 2.2.2 Đặc tính hàm băm 27 2.2.3 Ứng dụng hàm băm 27 2.2.4 Các tính chất hàm băm 28 2.2.5 Một số hàm băm thông dụng 29 2.3 Một số phương pháp mã hóa chữ ký số 32 2.3.1 Mã hóa chữ ký RSA 32 2.3.2 Mã hóa chữ ký Elgamal 34 2.3.3 Chữ ký mù theo Sơ đồ chữ ký RSA 36 CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM 38 3.1 Phát biểu toán 38 3.2 Yêu cầu toán 38 3.3 Giao diện chương trình 38 3.4 Đánh giá kết chương trình 41 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 42 TÀI LIỆU THAM KHẢO 43 DANH MỤC CHỮ CÁI VIẾT TẮT CSDL Cơ sở liệu CNTT Công nghệ thông tin RSA UCLN Hệ thống mã chứng thực Ron Rivest, Adi Shamir, Leonard Adleman đề xuất Ước chung lớn DANH MỤC HÌNH VẼ Hình 2.1: Giải thuật MD5 31 Hình 3.1: Giao diện chương trình 38 Hình 3.2: Giao diện q trình tạo khóa 39 Hình 3.3: Giao diện trình làm mù báo cáo 39 Hình 3.4: Giao diện trình ký 40 Hình 3.5: Giao diện trình lấy lại chữ ký 40 Hình 3.6: Giao diện trình lấy lại rõ 41 MỞ ĐẦU Lí chọn đề tài Với bùng nổ mạng Internet nay, mạng máy tính ngày đóng vai trò thiết yếu lĩnh vực hoạt động tồn xã hội trở thành phương tiện điều hành hệ thống nhu cầu bảo mật thông tin đặt lên hàng đầu Việc sử dụng chữ ký số giải pháp hữu hiệu, ngày ứng dụng nhiều thực tế, không giới hạn ngành công nghệ thông tin, mật mã học mà áp dụng nhiều lĩnh vực khác ngân hàng, viễn thông,… Được đồng ý ThS Đỗ Thị Lan Anh, em chọn đề tài “Tìm hiểu số phương pháp mã hóa chữ ký số cài đặt thử nghiệm” để làm đề tài khóa luận tốt nghiệp Mục đích nghiên cứu Từ việc tìm hiểu số phương pháp mã hóa chữ ký số để xây dựng mơ kĩ thuật mã hóa chữ ký số mù theo sơ đồ chữ ký RSA Nhiệm vụ nghiên cứu - Tìm hiểu an tồn bảo mật thơng tin - Tìm hiểu số phương pháp mã hóa chữ ký số - Cài đặt kỹ thuật mã hóa chữ ký số mù theo sơ đồ chữ ký RSA Đối tượng phạm vi nghiên cứu - Một số vấn đề an tồn bảo mật thơng tin - Phương pháp mã hóa chữ ký số Ý nghĩa khoa học thực tiễn đề tài - Phần nghiên cứu lí thuyết cung cấp cách nhìn tổng quan vấn đề an tồn bảo mật thơng tin - Việc cài đặt thử nghiệm phương pháp mã hóa chữ ký số giúp cho việc đảm bảo an tồn liệu q trình gửi nhận tin ràng chuyên gia mã hóa nghĩ đến việc phải đưa thuật giải khác, SHA-1… 2.3 Một số phương pháp mã hóa chữ ký số 2.3.1 Mã hóa chữ ký RSA Sơ đồ * Tạo cặp khóa (bí mật, cơng khai), (a, b) Chọn bí mật số ngun tố lớn p, q Sau đó, tính n = p*q, cơng khai n Đặt P = C = Zn Tính bí mật (n) = (p-1).(q-1) Chọn khóa cơng khai b < (n) ngun tố với (n) Khóa bí mật a phần tử nghịch đảo b theo mod (mod (n)) Tập cặp khóa (a, b) K = {(a, b)/ a, b Zn, a*b (n): a*b (mod (n))}  Ký số: Với mã khóa K, ta định nghĩa x P y = mod n, y A  Kiểm tra chữ ký: (x, y) =  (x) = x mod n Nhận xét - Sự tương ứng sơ đồ mã hóa RSA với sơ đồ chữ ký RSA là: + Việc “ký số” thực chất “mã hóa”, việc kiểm tra chữ ký việc giải mã + Việc ký số vào x tương ứng với việc mã hóa tài liệu x Kiểm tra chữ ký việc giải mã “chữ ký”, để kiểm tra xem tài liệu giải mã có tài liệu trước ký hay khơng Thuật tốn kiểm tra chữ ký cơng khai kiểm tra chữ ký Ví dụ: chữ kí x =  Tạo cặp khóa (a, b)  Chọn bí mật số nguyên tố p = 3, q = 11, n = p * q = 33  Đặt P = C = Zn, (n) = (p-1).(q-1) = (3-1).(11-1) = 20  Chọn khóa cơng khai b = < (n), b nguyên tố với (n)  Khi đó, khóa bí mật a = 7, phần tử nghịch đảo b theo mod (n): a*b (mod (n))  Ký số: chữ ký x = y=  Kiểm tra chữ ký: (x) = P mod n = mod 33 = 29 (x, y) =   x mod n mod 33 Độ an toàn chữ ký RSA - Người gửi G gửi tài liệu x chữ ký y đến người nhận n có cách xử lý: * Ký trước, mã hóa sau: G ký trước vào x chữ ký y = (x), sau mã hóa x y nhận z = (x, y) G gửi z cho N Sau nhận z, N giải mã z để x, y Cuối kiểm tra chữ ký * Mã hóa trước, ký sau: G mã hóa trước x u = (x, y) = đúng? (x), sau ký vào u chữ ký v = (u) Sau G gửi (u, v) cho N Khi nhận (u, v), N giải mã u x Tiếp theo kiểm tra chữ ký (u, v) = đúng? - Giả sử H lấy trộm thông tin đường truyền từ G đến N + Trong trường hợp a, H lấy trộm z Trong trường hợp b, H lấy trộm (u, v) + Để công x trường hợp, H phải giải mã thông tin lấy + H thay chữ ký v u, chữ ký H v’ = (u) gửi (u, v’) đến N Khi nhận v’, N kiểm thử thấy sai gửi phản hồi lại G Sau đó, G chứng minh chữ ký giả mạo Trong q trình G gửi chữ ký v cho N, trình truyền tin bị chậm lại Chính vậy, trường hợp b, H giả mạo chữ ký mà khơng cần giải mã Vì vậy, ký trước mã hóa chữ ký sau 2.3.2 Mã hóa chữ ký Elgamal Sơ đồ:  Tạo cặp khóa (bí mật, cơng khai) (a, b) Chọn số ngun tố p cho toán logarit rời rạc Zp khó gi ả Chọ n phầ n tử ngu yên thủy g Đặt P= ,A = Zp1 l od p Tập khóa K định nghĩa: K= {(p, g, a, h): h mod p} Các giá trị p, g, h công khai a giữ bí mật a  Ký số: Dùng khóa để ký: khóa a khóa ngẫu nhiên bí mật r (vì r mod (p-1)) Chữ ký x P y = Trong đó: = Zp-1; T í n , nên nguyên tố p-1, dẫn đến tồn = mod p  Kiểm tra chữ ký: mod p (x, (x, r) = ( = (x- a* )* ), y mod (p-1) ) =  Lưu ý: Nếu chữ ký tính đúng, kiểm tra thành công bởi: h mod p mod p Do = (x- a* )* mod (p-1) nên ( C k h h ọ ó n a k c Chọn khóa bí mật a = 211 h Tính khóa cơng khai h ó n Tập khóa K định nghĩa: K= {(p, g, a, h): h a g mod p} Các giá trị p, g, h công khai a x mod (p-1) Ví dụ: Chữ ký Elgamal liệu x = 112  Tạo cặp khóa (bí mật, cơng khai) (a, b) Chọn số ngun tố p = 463 Đặt P = giữ bí mật k í h a m i ậ t ,A= Zp-1 Chọn phần tử nguyên thủy g = b h m A mod p = mod 463 = 249  Ký số: Dùng khóa để ký: khóa a khóa ngẫu nhiên bí mật r = 235 Vì r , nên nguyên tố p-1, dẫn đến tồn UCLN (r, p-1) = UCLN (235, 462) =1, nên = Chữ ký x Trong đó: ) = (16, 108) mod p = = (x- a* )* mod (p-1) mod 462 = 289 ( = mod (p-1)) mod 463 = 16 mod (p-1) = (112- 211* 16) * 289 mod 462 = 108  Kiểm tra chữ ký: = (x, * mod p = ) =  mod 463 = 132 mod p mod 463 = 132 Hai giá trị nhau, chữ ký Độ an toàn chữ ký Elgamal * Vấn đề giả mạo chữ ký Elgamal +) Trường hợp 1: Giả mạo chữ ký không với tài liệu ký H cố giả mạo chữ ký x mà khơng biết khóa bí mật a  Nếu chọn trước , H phải tính qua đẳng thức  Nếu chọn trước , H phải tính qua phương trình: mod p mod p  Nếu chọn trước rạc Như từ đẳng thức x , sau tính x, H phải giải toán logarit rời mod p ta suy +) Trường hợp 2: Giả mạo chữ ký với tài liệu ký H ký tài liệu ngẫu nhiên cách chọn trước đồng thời  Nếu ( ) chữ ký tài liệu x có từ trước giả mạo chữ ký tài liệu x’ khác Chọn số nguyên k, i, j thỏa mãn điều kiện: k, i, j p-2, (k -j , p- 1) = = mod p, = (  = ( ).( mod (p-1) mod (p-1) ) chữ ký x’ thỏa mãn điều kiện kiểm thử: mod p 2.3.3 Chữ ký mù theo Sơ đồ chữ ký RSA * Mục đích có chữ ký RSA m: Theo sơ đồ chữ ký RSA, chữ ký m giá trị y = (mod n) * Các bước thực hiện: Người nhận chữ ký: Làm “mù” thông điệp m, (hay “che giấu” m) Phần tử “làm mù” r chọn ngẫu nhiên: Giá trị “mù” m là: z = m r Zn* (mod n) (z thông điệp “mù”) Người ký: Tạo chữ ký z, (hay chữ ký “mù” m) y- mu = Sig(z) = (mod n) = (m (mod n) = * (mod n) = * r (mod n) Người nhận chữ ký: Xoá mù chữ ký y- mu, nhận chữ ký y m UnBlind (y- mu) = y- mu / r = * r (mod n) / r = (mod n) Ví dụ: * Chọn p = 3, q = => n = 15, = Chọn b = => a= * Mục đích có chữ ký RSA m =2 Theo ví dụ trên, giá trị y = (mod n) = (mod 15) =  Các bước thực hiện: Người nhận chữ ký: Làm “mù” thông điệp m = Phần tử “làm mù” chọn r = Giá trị “mù” m z = m (mod n) = (mod 15) = Người ký: Tạo chữ ký z, (hay chữ ký “mù” m) y -mu = Sig (z) = (mod n) = (mod 15) = Người nhận chữ ký: Xoá mù chữ ký y-mu Nhận chữ ký m y = (mod n) = UnBlind (y-mu) = y-mu / r =2 / 4(mod 15) = CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM 3.1 Phát biểu toán Bài toán giúp đảm bảo độ an toàn tin cậy cho hệ mật q trình mã hóa giải mã văn Mục tiêu tốn muốn người nhận văn nội dung văn người gửi Khi đó, người nhận ký xác thực lên văn nhận sau gửi lại cho người gửi ban đầu Người gửi sau nhận lại văn thực xóa mù chữ ký để xác thực xem có thay đổi hay sai sót q trình truyền liệu hay khơng 3.2 u cầu tốn Mục đích: Xây dựng chương trình minh họa chữ ký mù sơ đồ chữ ký RSA Yêu cầu cấu hình hệ thống: - Phần cứng: RAM tốc độ Gb trở lên - Phần mềm: Hệ điều hành Windows Môi trường thử nghiệm: Microsoft.NET Framework 4.5 Ngơn ngữ lập trình C++ Microsoft Visual Studio 2013 3.3 Giao diện chương trình a) Giao diện chương trình Hình 3.1: Giao diện chương trình b) Tạo khóa Nhấn vào hộp thoại “Taokhoa” để bắt đầu q trình tạo khóa Hình 3.2: Giao diện q trình tạo khóa c) Làm mù báo cáo Nhấn vào hộp thoại “LamMuBC” để tiến hành làm mù thơng điệp Chương trình tiến hành định dạng file nào: file văn (.doc), file hình ảnh (jpg, jpeg,…) Do ta nhập file vào hộp thoại lựa chọn rõ Nhấn vào nút “Lam mu bao cao” để tiến hành làm mù Hình 3.3: Giao diện trình làm mù báo cáo d) Ký Nhấn vào hộp thoại “Ky” để tiến hành ký mù Hình 3.4: Giao diện trình ký e) Lấy lại chữ ký Nhấn vào hộp thoại “LaylaiCK” thực thao tác để lấy lại c h ữ k ý Hìn h 3.5: Gia o diện trìn h lấy lại chữ ký f) Lấy lại rõ Ta lấy lại rõ từ chữ ký cách kích vào hộp thoại “Lay lai ban ro” Hình 3.6: Giao diện trình lấy lại rõ 3.4 Đánh giá kết chương trình Ưu điểm: - Chương trình mơ hình hóa phương pháp mã hóa chữ ký số dựa sơ đồ chữ ký RSA - Chương trình truyền đạt nội dung thuật tốn - Chương trình dễ hiểu, giao diện thân thiện, sử dụng ngơn ngữ lập trình tiên tiến Hạn chế: - Chương trình chưa thử nghiệm đường truyền mạng KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết đạt Nhu cầu bảo mật thông tin đặt lên hàng đầu trở thành vấn đề nóng đặc biệt hầu hết hoạt động trao đổi thông tin người thực thông qua mạng truyền thông công cộng Internet Nắm bắt tình hình trên, em chọn đề tài “Tìm hiểu số phương pháp mã hóa chữ ký số cài đặt thử nghiệm” nghiên cứu, tìm hiểu nội dung sau: Tìm hiểu số vấn đề an toàn bảo mật thơng tin: Tìm hiểu nội dung an tồn bảo mật thơng tin; Vấn đề mã hóa liệu, hệ mã hóa liệu ứng dụng Nghiên cứu, tìm hiểu số phương pháp mã hóa: Hệ mã hóa khóa bí mật, hệ mã hóa khóa cơng khai, hệ mã hóa cổ điển, hệ mã hóa dịch chuyển, hệ mã hóa hốn vị cục bộ, hệ mã hóa Hill, hệ mã hóa thay thế, hệ mã hóa Affine, hệ mã hóa Vigenere, hệ mã hóa RSA, hệ mã hóa Elgamal,… Cài đặt thử nghiệm thuật toán chữ ký số mù RSA Hướng phát triển luận văn - Nghiên cứu thêm phương pháp mã hóa đưa vào thực tế nhằm làm tăng thêm độ an toàn tin cậy cho hệ mật - Phát triển chương trình nhiều người sử dụng - Nghiên cứu phát triển ứng dụng phương pháp mã hóa chữ ký số TÀI LIỆU THAM KHẢO Tiếng Việt [1] PGS.TS Trịnh Nhật Tiến (2008), “Giáo trình An tồn liệu”, Nhà xuất Đại học Quốc Gia Hà Nội [2] Nguyễn Hữu Tuân (2008), “Giáo trình An tồn bảo mật thơng tin”, Trường Đại học Hàng Hải [3] Hà Thị Thanh, Nguyễn Văn Tảo, Nguyễn Lan Oanh Giáo trình An tồn thơng tin, Đại học Công nghệ Thông tin Truyền thông, Đại học Thái Nguyên, 2008 [4] Lương Văn Quyên (2013), “Nghiên cứu khả ứng dụng hệ mật toán logarit rời rạc chữ ký số”, luận văn thạc sĩ, Học viện Cơng nghệ bưu viễn thông [5] Phạm Văn Việt – Trương Lập Vĩ Ngôn ngữ lập trình C# Tiếng Anh [6] A.J Menezes, P.C Van Oorschot, S.A Vanstone Handbook of Applied Cryptography, CRC Press, 1997 [7] William Stallings – Prentice Hall Cryptography and Network Security Principles and Practices, 4th Edition, 2005 ... việc tìm hiểu số phương pháp mã hóa chữ ký số để xây dựng mơ kĩ thuật mã hóa chữ ký số mù theo sơ đồ chữ ký RSA Nhiệm vụ nghiên cứu - Tìm hiểu an tồn bảo mật thơng tin - Tìm hiểu số phương pháp mã. .. Chuyển RÕ_CHỮ 3/ Chuyển RÕ_SỐ 4/ Chuyển MÃ_SỐ MÃ_SỐ RÕ_SỐ MÃ_CHỮ Quá trình Giải mã thực theo bước sau: 1/ Nhập mã ký tự: MÃ_CHỮ 2/ Chuyển MÃ_CHỮ MÃ_SỐ 3/ Chuyển MÃ_SỐ RÕ_SỐ 4/ Chuyển RÕ_SỐ RÕ_CHỮ Để... phương pháp mã hóa chữ ký số - Cài đặt kỹ thuật mã hóa chữ ký số mù theo sơ đồ chữ ký RSA Đối tượng phạm vi nghiên cứu - Một số vấn đề an tồn bảo mật thơng tin - Phương pháp mã hóa chữ ký số Ý nghĩa

Ngày đăng: 10/09/2019, 15:45

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w