Luận văn thạc sĩ khoa học máy tính nghiên cứu một số thuật toán hệ mật mã khoá công khai elgamal và ứng dụng

20 1 0
Luận văn thạc sĩ khoa học máy tính nghiên cứu một số thuật toán hệ mật mã khoá công khai elgamal và ứng dụng

Đ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

Số hóa bởi Trung tâm Học liệu – ĐHTN http //www lrc tnu edu vn ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM THỊ TUYẾT NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỆ MẬT MÃ KHOÁ CÔNG KH[.]

ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM THỊ TUYẾT NGHIÊN CỨU MỘT SỐ THUẬT TỐN HỆ MẬT MÃ KHỐ CƠNG KHAI ELGAMAL VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUN - 2015 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM THỊ TUYẾT NGHIÊN CỨU MỘT SỐ THUẬT TOÁN HỆ MẬT MÃ KHỐ CƠNG KHAI ELGAMAL VÀ ỨNG DỤNG Chun ngành: Khoa học máy tính Mã số: 60 48 01 01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Ngƣời hƣớng dẫn khoa học: TS NGUYỄN NGỌC CƢƠNG THÁI NGUYÊN - 2015 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn i LỜI CAM ĐOAN Tôi xin cam đoan luận văn “ Nghiên cứu số thuật toán hệ mật mã khố cơng khai ElGamal ứng dụng” cơng trình nghiên cứu cá nhân tơi tìm hiểu, nghiên cứu dƣới hƣớng dẫn TS Nguyễn Ngọc Cƣơng Các kết hoàn toàn trung thực, toàn nội dung nghiên cứu luận văn, vấn đề đƣợc trình bày tìm hiểu nghiên cứu cá nhân tơi đƣợc trích dẫn từ nguồn tài liệu đƣợc trích dẫn thích đầy đủ TÁC GIẢ LUẬN VĂN Phạm Thị Tuyết Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn ii LỜI CẢM ƠN Học viên xin bày tỏ lời cảm ơn chân thành tới tập thể thầy cô giáo Viện công nghệ thông tin, thầy cô giáo Trƣờng Đại học Công nghệ thông tin truyền thông - Đại học Thái Nguyên mang lại cho học viên kiến thức vô quý giá bổ ích suốt trình học tập chƣơng trình cao học trƣờng Đặc biệt học viên xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo TS Nguyễn Ngọc Cƣơng Học viện an ninh định hƣớng khoa học đƣa góp ý, gợi ý, chỉnh sửa quý báu, quan tâm, tạo điều kiện thuận lợi q trình nghiên cứu hồn thành luận văn Cuối cùng, học viên xin chân thành cảm ơn bạn bè đồng nghiệp, gia đình ngƣời thân quan tâm, giúp đỡ chia sẻ với học viên suốt trình học tập Do thời gian kiến thức có hạn nên luận văn khơng tránh khỏi thiếu sót định Học viên mong nhận đƣợc góp ý quý báu thầy cô bạn Thái Nguyên, ngày tháng năm 2015 HỌC VIÊN Phạm Thị Tuyết Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC CÁC HÌNH VẼ, ĐỒ THỊ vi MỞ ĐẦU CHƢƠNG TỔNG QUAN VỀ CÁC HỆ MẬT MÃ 1.1 Lý thuyết toán học 1.1.1 Số nguyên tố, UCLN, BCNN .3 1.1.2 Nhóm, vành, trƣờng, trƣờng hữu hạn 1.1.3 Số học Modulo (phép tính đồng dƣ) 1.1.4 Không gian rời rạc phép lấy Logarit 1.1.5 Định lí Fermat định lí Euler 1.1.6 Hàm phía hàm phía có cửa sập 1.1.7 Định lí Trung Quốc phần dƣ: 1.2 Mật mã 1.2.1 Khái niệm 1.2.2 Những yêu cầu hệ mật mã 1.2.3 Hệ mã hóa RSA 1.2.4 Hệ mã hóa Paillier 1.2.5 Hệ mã hóa ElGamal 10 1.2.6 Hệ mật đƣờng cong Eliptic 10 1.3 Chữ ký điện tử 11 1.3.1 Sơ đồ chữ ký điện tử 11 1.3.2 Chữ ký mù RSA 12 1.3.3 Chữ ký nhóm (Group Signature) 13 1.4 Khái niệm xác thực điện tử 15 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn iv 1.5 Hàm băm (Hash Function) 16 CHƢƠNG :HỆ MẬT MÃ ELGAMAL CẢI TIẾN VÀ MÃ HÓA ĐỒNG CẤU 17 2.1 Hệ mã hóa ElGamal cải tiến 17 2.1.1 Thuật toán mật mã ElGamal cổ điển 17 2.1.2 Một số thuật toán ElGamal cải tiến [3] .18 2.1.2.1 Thuật toán thứ .18 2.1.2.2 Thuật toán thứ hai .21 2.1.2.3 Thuật toán thứ ba 23 2.2 Hệ mã hóa đồng cấu 26 2.2.1 Khái niệm mã hóa đồng cấu 26 2.2.2 Hệ mã hố Elgamal có tính chất đồng cấu 26 2.2.3 Mơ hình hệ mã hóa đồng cấu ElGamal cho mơ hình bỏ phiếu có/khơng 27 2.3 Sơ đồ chia sẻ bí mật 29 2.3.1 Khái niệm chia sẻ bí mật .29 2.3.2 Giao thức “Chia sẻ bí mật” Shamir 31 2.3.2.1 Khái niệm sơ đồ ngƣỡng A(t, m) 31 2.3.2.2 Chia sẻ khố bí mật K 32 2.3.2.3 Khơi phục khóa bí mật K từ t thành viên 33 CHƢƠNG 3: ỨNG DỤNG HỆ MẬT MÃ ELGAMAL TRONG BÀI TỐN BỎ PHIẾU THĂM DỊ TÍN NHIỆM 37 3.1 Hệ thống bỏ phiếu điện tử [5] 37 3.1.1 Khái niệm bỏ phiếu điện tử 37 3.1.2 Yêu cầu hệ thống bỏ phiếu điện tử .38 3.1.3 Những vấn đề cần giải 38 3.1.4.Các thành phần hệ thống bỏ phiếu điện tử 39 3.1.5 Quy trình tốn bỏ phiếu điện tử 39 3.2 Ứng dụng hệ mật ElGamal trình bỏ phiếu thăm dị tín nhiệm 41 3.2.1 Thiết lập 41 3.2.3 Mở phiếu bầu 43 3.3 Xây dựng chƣơng trình thử nghiệm mơ hình bỏ phiếu thăm dị tín nhiệm 44 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn v 3.3.1 Môi trƣờng cài đặt thử nghiệm 44 3.3.2 Phát biểu toán 44 3.3.3 Các đối tƣợng hệ thống 45 3.3.4 Phân tích thiết kế chƣơng trình bỏ phiếu: 45 3.3.5 Các chức 45 3.3.6 Thứ tự thực chƣơng trình 46 3.3.7 Kết thực nghiệm 47 3.4 Phân tích vấn đề bảo mật cần đạt đƣợc 56 3.5 Các tính chất đạt đƣợc 56 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ĐỀ TÀI 57 TÀI LIỆU THAM KHẢO 58 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn vi MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1 Sơ đồ mã hóa giải mã Hình 2.1 Sơ đồ bỏ phiếu đồng ý/ không đồng ý 28 Hình 2.2 Sơ đồ ngƣỡng Shamir 32 Hình 3.1 Sơ đồ Quy trình bỏ phiếu điện tử 40 Hình 3.2 Sơ đồ mơ tả bỏ phiếu thăm dị tín nhiệm 41 Hình 3.3 Sơ đồ giai đoạn bỏ phiếu tín nhiệm 42 Hình 3.4 Giao diện chƣơng trình 47 Hình 3.5 Ban tổ chức đăng nhập vào hệ thống 48 Hình 3.6 Thơng báo tạo sở liệu cán thành công 48 Hình 3.7 Bảng danh sách cán sau đƣợc ban tổ chức tạo sở liệu 49 Hình 3.8 Thơng báo tạo sở liệu ban kiểm phiếu thành công 49 Hình 3.9 Cán đăng nhập vào hệ thống 49 Hình 3.10 Quá trình bỏ phiếu 50 Hình 3.11 Cán cập nhật thông tin 50 Hình 3.12 Thơng báo nhắc nhở lựa chọn cán 51 Hình 3.13 Thơng báo xác nhận lựa chọn cán 51 Hình 3.14 Ban kiểm phiếu đăng nhập vào hệ thống 52 Hình 3.14 Mảnh khóa ban kiểm phiếu 52 Hình 3.15 Ban kiểm phiếu cập nhật thông tin 53 Hình 3.16 Thơng báo xác nhận q trình gửi mảnh khóa 53 Hình 3.17 Xác nhận tổng hợp đủ mảnh khóa 54 Hình 3.18 Thơng báo ghép mảnh khóa thành cơng 54 Hình 3.19 Kết bỏ phiếu 55 Hình 3.20 Cơ sở liệu mơ hình bỏ phiếu tín nhiệm 56 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn MỞ ĐẦU Tính khoa học cấp thiết đề tài Cùng với phát triển công nghệ thơng tin, vấn đề an tồn thơng tin trở nên cần thiết qui mô tồn cầu Đảm bảo tính bảo mật, khả xác thực nguồn gốc gói tin q trình truyền tải thơng tin qua mơi trƣờng khơng an tồn nhƣ Internet vấn đề nóng nghiên cứu thực tiễn Để đảm bảo tính bảo mật xác thực ngƣời ta cần phải mã hố, có số thuật tốn mã hố cơng khai tiếng: RSA, ElGamal, Tuy nhiên, hệ mật mã có nhƣợc điểm khơng có chế xác thực thơng tin đƣợc bảo mật (nguồn gốc, tính tồn vẹn) chúng khơng có khả chống lại số dạng cơng giả mạo thực tế Chính nay, ngƣời ta [3] đề xuất số cải tiến hệ mật mã ElGamal Ƣu điểm thuật toán đề xuất chỗ cho phép bảo mật xác thực thông tin cách đồng thời mà mức độ an toàn thuật tốn đề xuất khơng nhỏ mức độ an tồn thuật tốn ElGamal xét theo khả chống thám mã công trực tiếp vào thủ tục mã hóa giải mã Để góp phần nâng cao hiệu phƣơng pháp mã hóa ElGamal Trong luận văn này, học viên đặt mục tiêu nghiên cứu, thử nghiệm thuật tốn mã hóa Elgamal cải tiến tác giả đƣa ra, so sánh hiệu chúng kiểm định thuật toán ứng dụng thực tiễn Đây toán lựa chọn khả giải pháp có việc mã hóa xác thực nhƣ toán bỏ phiếu điện tử cán tiến hành tốn thăm dị tín nhiệm lãnh đạo đơn vị Những toán ln địi hỏi tính bí mật, ví dụ bỏ phiếu điện tử (e-voting), việc đảm bảo tính đắn bảo mật bao gồm việc khơng để lộ danh tính cử tri (ai bỏ phiếu cho ứng viên nào?), tính (mỗi cử tri đảm bảo tối đa lần bỏ phiếu) Đối tƣợng phạm vi nghiên cứu - Đối tƣợng nghiên cứu: Hệ mật khóa cơng khai ElGamal cải tiến hệ mật mã Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn - Phạm vi nghiên cứu: Nghiên cứu cải tiến dựa thuật tốn có xây dựng chƣơng trình ứng dụng tốn thăm dị dƣ luận mức độ tín nhiệm đơn vị (ở tổng công ty xăng dầu Việt Nam) Hƣớng nghiên cứu đề tài - Nghiên cứu đề xuất số thuật tốn mật mã khóa cơng khai đƣợc phát triển từ hệ mật ElGamal tác giả cơng bố để xây dựng chƣơng trình ứng dụng tốn bỏ phiếu thăm dị dƣ luận mức độ tín nhiệm - Đánh giá ƣu điểm thuật toán tác giả đề xuất mức độ bảo mật xác thực thông tin cách đồng thời Những nội dung nghiên cứu Luận văn đƣợc trình bày chƣơng, có phần mở đầu, phần kết luận, phần mục lục, phần tài liệu tham khảo Các nội dung luận văn đƣợc trình bày theo cấu trúc sau: Chương 1: TỔNG QUAN VỀ CÁC HỆ MẬT MÃ Trong chƣơng tổng trình bày số khái niệm toán học mà hệ mã hoá thƣờng sử dụng nhƣ: mod, số nguyên tố, vành Zn, phép toán cộng, nhân, toán logarrit rời rạc khơng gian Zn Sau đƣa khái niệm mật mã, thuật toán mã hoá, chữ ký số phục vụ cho việc mã hố thơng tin Chương 2: HỆ MẬT MÃ ELGAMAL CẢI TIẾN VÀ MÃ HÓA ĐỒNG CẤU Tập trung nghiên cứu số thuật toán mật mã ElGamal cải tiến, tính chất đồng cấu hệ mật ElGamal sơ đồ chia sẻ bí mật theo ngƣỡng Shamir Chương 3: ỨNG DỤNG HỆ MẬT MÃ ELGAMAL TRONG BÀI TỐN BỎ PHIẾU THĂM DỊ TÍN NHIỆM Cài đặt thử nghiệm thuật toán hệ mật ElGamal cải tiến kỹ thuật chia sẻ khóa bí mật Shamir Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn CHƢƠNG TỔNG QUAN VỀ CÁC HỆ MẬT MÃ 1.1 Lý thuyết toán học 1.1.1 Số nguyên tố, UCLN, BCNN a), Số nguyên tố: số nguyên dƣơng lớn 1và có ƣớc 1và b), Ƣớc chung lớn (ƢCLN): Cho hai số nguyên a b, b  Nếu có số nguyên q cho a = b*q, ta nói a chia hết cho b(b\a) Khi b ƣớc a a bội b Số nguyên d đƣợc gọi ƣớc chung số nguyên a1, a2, , an ƣớc tất số d đƣợc gọi ƣớc chung lớn a1, a2, , an d > số lớn tập hợp ƣớc chung số Ký hiệu d = gcd ( a1, a2, , an ) hay d = UCLN (a1, a2, , an ) a) Bội chung nhỏ (BCNN): Số nguyên m đƣợc gọi bội chung số nguyên a1, a2, , an bội tất số m đƣợc gọi bội chung nhỏ a1, a2, , an m > số nhỏ tập hợp bội chung số Kí hiệu m = lcm(a1, a2, , an ) hay m = BCNN(a1, a2, , an ) Hai số nguyên tố p q đƣợc gọi nguyên tố ƣớc chung lớn chúng Kí hiệu: UCLN (m, n) = 1.1.2 Nhóm, vành, trƣờng, trƣờng hữu hạn a) Phép tốn hai ngơi Cho G tập hơp Phép tốn hai (*) ánh xạ: (*): G  G  G ( x, y)  z  x * y  G,  x, y  G Ví dụ: G = Z Phép toán (*) phép (+) b) Nhóm Nhóm phần tử (G, *) thỏa mãn tính chất sau: Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn - Tính chất kết hợp: ( x * y ) * z = x * ( y * z ), x, y, z  G - Tồn phần tử trung lập e  G: e * x = x * e = x, x  G - Tồn phần tử nghịch đảo x’  G: x’ * x = x * x’ = e Nhóm Cyclic: Nhóm (G, *) đƣợc gọi nhóm Cyclic đƣợc sinh phần tử Tức có phần tử g  G mà với a  G, tồn số n  N để gn = a Khi g phần tử sinh hay phần tử ngun thủy nhóm G Ví dụ: (Z+,*) gồm số nguyên dƣơng nhóm Cyclic có phần tử sinh Cấp nhóm Cyclic: Cho (G,*) nhóm Cyclic với phần tử sinh g, phần tử trung lập e Nếu tồn số tự nhiên nhỏ n mà gn = e G gồm có n phần tử khác nhau: e, g, g1, g2,…, gn-1 Khi G đƣợc gọi nhóm Cyclic hữu hạn cấp n Nếu không tồn số tự nhiên n để gn = e G có cấp vô hạn c, Vành Vành tập R với toán tử + (cộng) * (nhân) thỏa mãn điều kiện sau: nhóm Abel nửa nhóm Phép nhân phân phối phép cộng: với phần tử tùy ý x, y, z  X ta có: x(y + z) = xy + z (y + z) x = yx + zx Nếu phép nhân giao hốn R đƣợc gọi vành giao hoán d, Trƣờng Giả sử F tập hợp khác rỗng, có hai phép tốn đóng hai bất kỳ, chẳng hạn ký hiệu + (cộng) * (nhân) F trƣờng nếu: (F,+) nhóm giao hốn với phần tử đơn vị "0" (F\{0},*) nhóm giao hốn với phần tử đơn vị "1" Các phép toán cộng nhân có tính chất phân phối: a(b+c) = ab + ac Số phần tử trƣờng đƣợc gọi bậc trƣờng Một trƣờng có số phần tử hữu hạn đƣợc gọi trƣờng hữu hạn, trƣờng có số phần tử vơ hạn đƣợc gọi trƣờng vơ hạn Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn Trƣờng hữu hạn trƣờng chứa hữu hạn phần tử Mọi trƣờng hữu hạn có số nguyên tố đặc số trƣờng Một trƣờng F có đặc số với a  F, p pa  a   a  e Trƣờng hữu hạn Fp: Cho p số nguyên tố Trƣờng hữu hạn Fp bao gồm tập số nguyên {0, 1, 2, , p-1} với phép toán: Phép cộng: Nếu a, b  Fp , ta có a + b = r, với r phần dƣ chia a + b cho p  r  p  Đây gọi phép cộng modulo p Phép nhân: Nếu a, b  Fp , ta có a.b = s, với s phần dƣ chia a.b cho p  s  p  Đây gọi phép nhân modulo p Phép nghịch đảo: Nếu a  Fp (a  0), phép nghịch đảo a modulo p, ký hiệu a-1, tồn số nguyên c  Fp cho a.c = Trƣờng hữu hạn F2m: Trƣờng F2m, kí hiệu F2m = {0,1, a1, a2, , a2m-2}, đƣợc gọi trƣờng hữu hạn nhị phân Khi tồn m phần từ  0,  1, ,  m-1 F2m cho phẩn tử   F2m viết dƣới dạng: A = a0  + a1  + + am-1  m-1 với  0,1 Một {  0,  1, ,  m-1 } đƣợc gọi sở F2m F2 Với sở nhƣ phần tử  trƣờng biểu diễn dƣới dạng xâu bit ( a0a1 am-1) 1.1.3 Số học Modulo (phép tính đồng dƣ) Cho số nguyên dƣơng n số nguyên a chia a cho n đƣợc thƣơng q phần dƣ r: a = q*n + r với = < r < n q = [a/n] Kí hiệu [x] số nguyên lớn nhỏ x Nhƣ vậy, a  Z n  Z+ định nghĩa a mod n phần dƣ phép chia a cho n Với ví dụ ta có: r = a mod n Hai số nguyên a b đƣợc gọi đồng dƣ với theo modul n nếu: a mod n = b mod n kí hiệu a  b mod (n) Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn Chú ý: a  mod (n) n|a Từ việc tính đồng dƣ theo mod n ta tách đƣợc số nguyên thành n lớp lớp chứa số nguyên đồng dƣ với theo (mod n) tập lớp đƣợc kí hiệu là: Z/nZ chứa n phần tử thuộc đoạn [0, n-1] 1.1.4 Không gian rời rạc phép lấy Logarit Ta kí hiệu Fp tập lớp đồng dƣ theo Modul p hay Fp = Z/pZ = (0, 1, 2,…, p-1) Zp/Z* tập gồm số nguyên tố với p hay tập phần tử có nghịch đảo Z/pZ Ta kí hiệu Fp* = Z/pZ* Với p số nguyên tố Z/pZ = Z/pZ * = Fp = Fp* = (0, 1, 2, …, p-1) 1.1.5 Định lí Fermat định lí Euler * Định lí Fermat: Nếu p số nguyên tố a số nguyên ap  a (mod p) Nếu a không chia hết cho p tức (a(mod p) ≠ 0) ap-1  (mod p) * Định lí Euler: Nếu gcd(a,m) = aФ(m) = mod m Trong trƣờng hợp m số nguyên tố Ф(m) = m-1 ta có định lí Fermat 1.1.6 Hàm phía hàm phía có cửa sập a, Hàm phía: Một hàm phía hàm mà dễ dàng tính tốn quan hệ chiều nhƣng khó để tính ngƣợc lại Ví dụ: Biết giả thiết x dễ dàng tính f(x), nhƣng biết f(x) khó tính đƣợc x Trong trƣờng hợp “khó” có nghĩa để tính đƣợc kết phải nhiều thời gian để tính tốn b, Hàm phía có cửa sập: F(x) đƣợc gọi hàm phía có cửa sập tính xi y = f(x) dễ tính ngƣợc x = f-1(y ) khó nhiên có “ cửa sập” vấn đề tính ngƣợc trở nên dễ dàng Cửa sập điều kiện giúp dễ dàng tính ngƣợc Ví dụ: Hộp thƣ ví dụ khác hàm phía có cửa sập Bất kỳ bỏ thƣ vào thùng Bỏ thƣ vào thùng hành động công cộng Mở thùng thƣ hành động cơng cộng Nó khó khăn, bạn cần đến mỏ hàn để Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn phá cơng cụ khác Tuy nhiên, bạn có “ cửa sập” ( trƣờng hợp chìa khóa hịm thƣ) cơng việc mở hịm thƣ thật dễ dàng 1.1.7 Định lí Trung Quốc phần dƣ: Giả sử m1, m2,…,mr số nguyên dƣơng nguyên tố đôi cho a1, a2,…,ar số nguyên Khi đó, hệ r đồng dƣ thức: x= mod mi (1 ≤ i ≤ r) có nghiệm theo modul M= m1, m2,…, mr đƣợc tính theo cơng thức sau: r x   M i yi (mod M ) i 1 Trong Mi = M / mi yi = Mi-1 mod mi với ≤ i ≤ r 1.2 Mật mã 1.2.1 Khái niệm - Bản rõ (plaintext or cleartext): Chứa xâu ký tự gốc, thông tin rõ thơng tin cần mã hố để giữ bí mật - Bản mã (ciphertext): Chứa ký tự sau đƣợc mã hoá, mà nội dung đƣợc giữ bí mật - Mật mã học (Crytography): Là khoa học để giữ thơng tin đƣợc an tồn - Sự mã hố (Encryption): Q trình che dấu thơng tin phƣơng pháp để làm ẩn nội dung bên gọi mã hoá - Sự giải mã (Decryption): Quá trình biến đổi trả lại mã thành rõ Q trình mã hố giải mã đƣợc thể sơ đồ sau: Bản rõ Mã hóa Bản mã mãmax max Bản rõ gốc Giải mã Hình 1.1 Sơ đồ mã hóa giải mã - Hệ mật mã: Là hệ bao gồm thành phần (P, C, K, E, D) thoả mãn tính chất sau: P (Plaintext): Là tập hợp hữu hạn rõ Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn C (Ciphertext): Là tập hợp hữu hạn mã K (Key): Là tập hợp khố E (Encrytion): Là tập hợp qui tắc mã hố D (Decrytion): Là tập hợp qui tắc giải mã Với k có hàm lập mã ek, ek:P, hàm giải mã dk, dk:C cho: dk (ek(x)) =x, với  x € P - Một thông báo thƣờng đƣợc tổ chức dƣới dạng rõ Ngƣời gửi làm nhiệm vụ mã hoá rõ, kết thu đƣợc gọi mã Bản mã đƣợc gửi đƣờng truyền tới ngƣời nhận sau nhận đƣợc mã ngƣời nhận giải mã để tìm hiểu nội dung Ek(P) = C Dk (C) = P 1.2.2 Những yêu cầu hệ mật mã Cung cấp mức cao tính bảo mật, tính tồn vẹn, tính chống chối bỏ tính xác thực:  Tính bảo mật: Bảo đảm bí mật cho thơng báo liệu việc che dấu thông tin nhờ kỹ thuật mã hóa  Tính tồn vẹn (integrity): Bảo đảm với bên tin không bị thay đổi đƣờng truyền tin  Tính khơng thể chối bỏ (Non-repudiation): Có thể xác nhận tài liệu đến từ đó, họ cố gắng từ chối  Tính xác thực (Authentication): Cung cấp hai dịch vụ: o Nhận dạng nguồn gốc thông báo cung cấp vài bảo đảm thực o Kiểm tra định danh ngƣời đăng nhập hệ thống, tiếp tục kiểm tra đặc điểm họ trƣờng hợp cố gắng kết nối giả danh ngƣời sử dụng hợp pháp 1.2.3 Hệ mã hóa RSA Sinh khóa: Giả sử A B cần trao đổi thơng tin bí mật thơng qua kênh khơng an tồn (ví dụ nhƣ Internet) Với thuật toán RSA, A cần tạo cho Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn cặp khóa gồm khóa cơng khai khóa bí mật theo bƣớc sau: - Chọn số nguyên tố lớn p q với p  q - Tính: n = p.q - Tính giá trị hàm số Ơle  (n)  (p - 1).(q - 1) - Chọn số tự nhiên e cho < e <  (n) số nguyên tố với  (n) - Tính d cho e.d  (mod( (n)) Khóa cơng khai (n,e) Khóa bí mật (n, d) Mã hóa: Giả sử B muốn gửi đoạn thông tin M cho A Đầu tiên B chuyển M thành số m < n theo hàm đảo ngƣợc (từ m xác định lại M) đƣợc thỏa thuận trƣớc Lúc B có m biết n nhƣ e A gửi B tính c mã hóa m theo cơng thức: c = me mod n Giải mã: A nhận c từ B biết khóa bí mật d A tìm đƣợc m từ c theo công thức sau: m = cd mod n 1.2.4 Hệ mã hóa Paillier Hệ mã hóa Paillier đƣợc đặt theo tên phát minh Pascal Paillier năm 1999 Đây thuật toán bất đối xứng cho hệ mật mã khóa cơng khai Sinh khóa: - Chọn hai số nguyên tố lớn p q - Tính n = p * q cho gcd(n, (p-1)(q-1)) = - Chọn ngẫu nhiên g  Z*n thỏa mãn gcd( L( g  mod n ), n)  với L(u ) = u 1  = lcm(p-1, q-1) n Khóa cơng khai (n, g); Khóa bí mật là: (p, q,  ) Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 10 Mã hóa: Mã hóa thơng điệp m số nguyên tố Đƣờng cong Eliptic y2 = x3 + ax + b Zp tập nghiệm (x,y)  Zp x Zp đồng dƣ thức y2 = x3 + ax + b(mod p) Trong a, b Zp số thỏa mãn 4a3 + 27b2  0(mod p) (để đa thức x3 + ax + b khơng có nghiệm bội) với điểm đặc biệt đƣợc gọi điểm vô hạn - Định lý Hasse: Việc xây dựng hệ mật mã dƣờng cong Eliptic bao gồm việc lựa chọn đƣờng cong E thích hợp điểm G E gọi điểm sở Xét trƣờng K Fq N số điểm E Fq (trƣờng hữu hạn q phần tử) Khi đó: Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 11 N  (q  1)  q Từ định lý Hasse suy E(Fq) = q +1 – t dó t  q - Hệ mật đƣờng cong Eliptic Hệ ElGamal làm việc với nhóm Cyclic hữu hạn Năm 1978, Kobliz đƣa hệ ECC dựa hệ ElGamal Để xây dựng hệ mã hóa dựa đƣờng cong Eliptic ta chọn đƣờng cong E(a,b) điểm G đƣờng cong làm điểm sở Mỗi ngƣời dùng A khóa bí mật nA số ngun sinh khóa cơng khai PA = nA *G Khi hệ mã hóa đƣờng cong Eliptic đƣợc xây dựng tƣơng tự hệ mã hóa ElGamal, thuật tốn mã hóa giải mã đƣợc xác định nhƣ sau: Thuật toán mã hóa: Giả sử ngƣời dùng A muốn gửi thơng điệp cần mã hóa Pm tới ngƣời dùng B, chọn số ngẫu nhiên k gửi thông điệp mã hóa Cm đƣợc tính nhƣ sau: Cm  k * G, Pm + k * PB  (PB khóa cơng khai B) Thuật tốn giả mã: Để giải thông điệp Cm  k * G, Pm + k * PB  , ngƣời dùng B thực tính nhƣ sau: Pm + k * PB - n B * k * G = Pm + k * PB - k * n B * G = Pm + k * PB - k * PB  Pm Chỉ B giải mã B có nB (là khóa bí mật) 1.3 Chữ ký điện tử 1.3.1 Sơ đồ chữ ký điện tử Một sơ đồ chữ ký điện tử S năm: S = (P, A, K, S, V) thỏa mãn điều kiện dƣới đây: P: tập hữu hạn thơng báo có A: tập hữu hạn chữ ký số có K: tập hữu hạn khóa S: tập thuật toán ký V: tập thuật tốn kiểm thử Mỗi khóa K’  K có hai thành phần K’ = (K1, K2), K1 khóa bí mật dùng để ký, cịn K2 khóa cơng khai để xác thực chữ ký Với K’ = (K1, K2), S có thuật tốn kí: Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn 12 Sig K : P  A x  P  y= Sigk(x) Và V có thuật tốn kiểm thử: Nếu VerK : P  A  Đúng, Sai; Hai thuật toán thỏa mãn điều kiện sau với x  P, y  A: Verk(x, y) = Đúng Nếu y = Sigk(x) Sai Nếu y  Sigk(x) 1.3.2 Chữ ký mù RSA a) Khái niệm Chữ ký mù đƣợc David Chaum đƣa vào năm 1983 Trong hệ chữ ký thông thƣờng, ngƣời ký phải đƣợc nắm rõ nội dung văn cần kỹ, lƣu Trong hệ chữ ký mù (blind signature), ngƣời ký khơng đƣợc thấy rõ nội dung mà ký, thơng điệp cần đƣợc kí bị “che” Tuy nhiên hệ chữ ký đảm bảo cho ngƣời ký kiểm tra tính hợp lệ thơng tin cần ký Chữ ký mù thƣờng đƣợc dùng vấn đề địi hỏi ẩn danh, dƣợc ứng dụng phổ biến tiền điện tử, bỏ phiếu điện tử… Nội dung M trƣớc ngƣời A đƣa cho ngƣời kí B bị làm mù thành M’ Ngƣời kí lúc kí M’ khơng phải M Sau có đƣợc chữ kí M’, A xóa mù để có đƣợc chữ kí M Nhƣ ngƣời A có chữ kí hợp lệ ngƣời B M mà B thông tin M Ví dụ: A chuẩn bị văn M, cho vào phịng bì A4, có kèm tờ giấy than, dán lại đƣa cho B B ký lên phía ngồi phong bì, nhƣng chữ ký đƣợc tạo văn bên thông qua tờ giấy than Mặc dù B biết đƣợc nội dung thật văn này, nhƣng đánh giá đƣợc tính trung thực A (khơng tạo xấu cho B) mà phép kiểm tra theo phƣơng pháp thách thức - đáp ứng b) Sơ đồ chữ ký RSA - Chọn p, q nguyên tố lớn Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn ...ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG PHẠM THỊ TUYẾT NGHIÊN CỨU MỘT SỐ THUẬT TỐN HỆ MẬT MÃ KHỐ CƠNG KHAI ELGAMAL VÀ ỨNG DỤNG Chuyên ngành: Khoa học máy tính Mã số: ... niệm mật mã, thuật toán mã hoá, chữ ký số phục vụ cho việc mã hố thơng tin Chương 2: HỆ MẬT MÃ ELGAMAL CẢI TIẾN VÀ MÃ HÓA ĐỒNG CẤU Tập trung nghiên cứu số thuật tốn mật mã ElGamal cải tiến, tính. .. vi nghiên cứu - Đối tƣợng nghiên cứu: Hệ mật khóa cơng khai ElGamal cải tiến hệ mật mã Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn - Phạm vi nghiên cứu: Nghiên cứu cải tiến dựa thuật

Ngày đăng: 28/02/2023, 20:11

Tài liệu cùng người dùng

Tài liệu liên quan