Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 86 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
86
Dung lượng
584,61 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI ——————————————– VŨ MẠNH ĐẠT NGHIÊN CỨU MỘT SỐ GIAO THỨC TÍNH TOÁN ĐA BÊN AN TOÀN SỬ DỤNG MÃ ĐỒNG CẤU LUẬN VĂN THẠC SĨ TOÁN HỌC HÀ NỘI, 2017 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI ——————————————– VŨ MẠNH ĐẠT NGHIÊN CỨU MỘT SỐ GIAO THỨC TÍNH TOÁN ĐA BÊN AN TOÀN SỬ DỤNG MÃ ĐỒNG CẤU Chuyên ngành: Toán ứng dụng Mã số: 60 46 01 12 LUẬN VĂN THẠC SĨ TOÁN HỌC Người hướng dẫn khoa học: TS Trần Văn Dũng HÀ NỘI, 2017 LỜI CẢM ƠN Luận văn hoàn thành trường Đại học Sư phạm Hà Nội hướng dẫn TS Trần Văn Dũng Tác giả xin bày tỏ lòng biết ơn sâu sắc tới TS Trần Văn Dũng, giảng viên trường Đại học GTVT Hà Nội nhiệt tình giúp đỡ, trực tiếp bảo hướng dẫn để tác giả hoàn thành luận văn Tác giả xin bày tỏ lòng biết ơn chân thành tới Phòng Sau đại học, thầy cô giáo dạy cao học chuyên ngành Toán Ứng dụng trường Đại học Sư phạm Hà Nội giúp đỡ tác giả suốt trình học tập Cuối tác giả xin gửi lời cảm ơn chân thành đến gia đình, bạn bè, người thân động viên khuyến khích, tạo điều kiện thuận lợi cho tác giả trình học tập hoàn thành luận văn Hà Nội, 15 tháng 07 năm 2017 Tác giả luận văn Vũ Mạnh Đạt LỜI CAM ĐOAN Tôi xin cam đoan số liệu kết nghiên cứu luận văn trung thực, không trùng lặp với luận văn khác Tôi xin cam đoan giúp đỡ cho việc thực luận văn cảm ơn thông tin trích dẫn luận văn rõ nguồn gốc Tác giả luận văn Vũ Mạnh Đạt Mục lục Lời mở đầu Chương CÁC KIẾN THỨC CƠ SỞ 1.1 Số học Mudulo 1.1.1 Các số nguyên tố số nguyên tố 1.1.2 Số học lớp số dư 1.1.3 Lý thuyết đồng dư 1.1.4 Các số nguyên modulo n 1.1.5 Hàm Euler, định lý Euler, định lý Fermat 1.1.6 Thuật toán Euclide mở rộng 10 1.1.7 Định lý phần dư Trung Hoa 12 1.1.8 Căn nguyên thuỷ logarit rời rạc 15 1.2 Mã hóa công khai RSA 19 1.2.1 Mô tả sơ lược 19 1.2.2 Mã hóa 20 1.2.3 Giải mã 21 1.2.4 Tính đắn thuật toán RSA 21 1.3 Chữ ký điện tử DSA 23 1.3.1 Khái niệm 23 1.3.2 Tạo khóa DSA 23 i Luận văn Thạc sĩ toán học Vũ Mạnh Đạt 1.3.3 Tạo chữ ký DSA 24 1.3.4 Xác nhận chữ ký DSA 24 1.3.5 Tính đắn thuật toán DSA 24 1.4 Mã hóa ElGamal mã hóa Paillier 26 1.4.1 Hệ mã hóa ElGamal 26 1.4.2 Hệ mã hóa Paillier 28 1.5 Mã hóa đồng cấu 30 1.5.1 Khái niệm 30 1.5.2 Tính chất đồng cấu 30 Chương TÍNH TOÁN ĐA BÊN AN TOÀN DỰA TRÊN MÃ ĐỒNG CẤU 32 2.1 Các khái niệm mô hình 32 2.1.1 Các khái niệm 32 2.1.2 Các mô hình 33 2.2 Giao thức Sigma 35 2.2.1 Giao thức định danh Schnorr 35 2.2.2 Giao thức Chaum - Pedersen 37 2.2.3 Giao thức “Hoặc" 37 2.3 Giao thức tổng 39 2.3.1 Đặt vấn đề 39 2.3.2 Mô hình công thụ động 40 2.3.3 Mật mã 41 2.3.4 Mô hình công chủ động 42 2.4 Giao thức cực đại 46 2.4.1 Các vấn đề 46 ii Luận văn Thạc sĩ toán học Vũ Mạnh Đạt 2.4.2 Giao thức 47 2.4.3 Giao thức 50 2.4.4 Thảo luận cho mô hình công chủ động 51 Chương MỘT SỐ VÍ DỤ TÍNH TOÁN ĐA BÊN AN TOÀN 54 3.1 Tính toán giao thức Sigma 54 3.1.1 Ví dụ giao thức định danh Schnorr 54 3.1.2 Ví dụ giao thức Chaum – Pedersen 56 3.1.3 Ví dụ giao thức “Hoặc” 57 3.2 Một số tính toán số học đa bên 58 3.2.1 Tính toán giao thức tổng 58 3.2.2 Chứng minh tính hợp lệ rõ sử dụng khóa công khai Elgamal 66 3.3 So sánh đa bên an toàn 70 3.3.1 Mã đồng cấu với tính vô hướng 70 3.3.2 Mã hóa mã hóa 71 3.3.3 Giao thức 73 3.4 Đánh giá an toàn 76 iii Luận văn Thạc sĩ toán học Vũ Mạnh Đạt DANH MỤC KÍ HIỆU, TỪ VIẾT TẮT STT Từ viết tắt Ý nghĩa gcd; UCLN Ước chung lớn max Giá trị lớn Zn Các số nguyên modulo n RSA Mã hóa công khai (Ron Rivest, Adi Shamir Len Adleman) DSA Chữ ký điện tử (Digital Signature Algorithm) MPC Các giao thức tính toán đa bên (Multi Party Computation) ZKP Chứng minh không tiết lộ thông tin (Zero - Knowledge Proofs) ZKPs (SM − ZKP ) Chứng minh phần tử thuộc tập hợp không tiết lộ thông tin (Set Membership – Zero Knowledge Proofs) ZKPs (P E − ZKP ) Kiểm tra hai rõ không tiết lộ thông tin (Plaintext Equality - Zero Knowledge Proofs) 10 DDH Là phương pháp trao đổi khóa (Decisional Diffie Hellman) Luận văn Thạc sĩ toán học Vũ Mạnh Đạt DANH MỤC HÌNH VẼ Hình vẽ Nội dung Ghi Hình 1.1 Sơ đồ mã hóa công khai RSA Trang 20 Hình 2.1 Tổng quan hoạt động mạng Trang 41 Hình 2.2 Mỗi phần i nút nguồn Trang 44 gửi đến q, mã hóa với i (điểm đến) q (xác minh) Hình 2.3 Ở bước phần (b) giao thức mở rộng, Trang 45 nút cung cấp giải mã; họ tổng hợp gửi kết đến q cách tái mã hóa thông điệp Hình 2.4 Ví dụ giá trị cực đại Trang 47 Hình 2.5 Sự so sánh hai nút a b Trang 48 Hình 2.6 Sự so sánh thông qua giá trị nhị phân Trang 50 Hình 2.7 Thứ tự nguy bị rủi ro Trang 51 phủ định sai số lượng khác bit cho tối đa cho giá trị ngẫu nhiên Hình 2.8 Tính toán giá trị 11111b thay 11010b Trang 52 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt LỜI MỞ ĐẦU Lý chọn đề tài Trong sống ngày nay, công nghệ thông tin truyền thông có mặt nhiều phương diện sống hàng ngày chúng ta, điện thoại di động, máy tính để bàn, thư điện tử việc sử dụng Internet trở thành tâm điểm văn hóa cộng đồng chúng ta, qua nhu cầu trao đổi thông tin liệu công ty, quan, doanh nghiệp ngày cao Trong trình trao đổi thông tin vấn đề bảo mật thông tin đề đặt lên hàng đầu, nhiên trình trao đổi bên có mạng bị công, bị kẻ gian lận đánh cắp thông tin, gây tổn thất nặng nề Khi nhu cầu bảo mật thông tin bên phải an toàn tuyệt đối Do đảm bảo việc tính toán đa bên an toàn Giao thức tính toán đa bên an toàn sử dụng mã đồng cấu lĩnh vực mẻ an toàn bảo mật thông tin, hứa hẹn mang đến ứng dụng rộng khắp tất lĩnh vực, ngành nghề cần đảm bảo giữ bí mật riêng tư, có nhiều bên tham gia giải toán chung Mã đồng cấu loại mã cho phép tái lại việc kết hợp rõ thành phần, ta dùng kết kết hợp mã tương ứng chúng Từ đó, người tham gia mã hoá đầu vào từ kết kết hợp mã thành phần biết kết toán chung Đó ý tưởng giao thức tính toán đa bên an toàn Luận văn Thạc sĩ toán học Vũ Mạnh Đạt Đối với người 1: q nhận E1 (δ1 ) = 76; E1 (18) = 46; E1 (6) = 91; E1 (9) = 136; E1 (2) = 31 q kiểm tra: (E1 (18) × E1 (6) × E1 (9) × E1 (2))mod(152 ) = = (46 × 91 × 136 × 31) mod (152 ) = 76 = E1 (δ1 ) Đối với người 2: q nhận E2 (δ2 ) = 18; E2 (12) = 228; E2 (3) = 683; E2 (7) = 753; E2 (13) = 858 q kiểm tra: (E2 (12) × E2 (3) × E2 (7) × E2 (13))(mod352 ) = = (228 × 683 × 753 × 858) mod (352 ) = 851 Mặt khác: (E2 (δ2 ) × 23×35 )(mod352 ) = (18 × 23×35 )(mod352 ) = 851 Đối với người 3: q nhận E3 (δ3 ) = 2616; E3 (14) = 999; E3 (5) = 2385; E3 (8) = 1923; E3 (15) = 845 q kiểm tra: (E3 (14) × E3 (5) × E3 (8) × E3 (15))(mod772 ) = = (999 × 2385 × 1923 × 845) mod (772 ) = 4097 Mặt khác: (E3 (δ3 ) × 33×77 )(mod772 ) = (2616 × 33×77 )(mod772 ) = 4097 Đối với người 4: q nhận E4 (δ4 ) = 6122; E4 (16) = 4218; E4 (4) = 13500; E4 (10) = 8859; E4 (11) = 1005 q kiểm tra: (E4 (16) × E4 (4) × E4 (10) × E4 (11))(mod1192 ) = = (4218 × 13500 × 8859 × 1005) mod (1192 ) = 9349 Mặt khác: (E4 (δ4 ) × 43×119 )(mod1192 ) = = (6122 × 43×119 )(mod1192 ) = 9349 Q kết luận kết người 1,2,3,4 tính tổng S= Dq (δi ) = 153 tổng cần tìm i=1 65 Luận văn Thạc sĩ toán học 3.2.2 Vũ Mạnh Đạt Chứng minh tính hợp lệ rõ sử dụng khóa công khai Elgamal [10, tr.19-25] Phần xem xét rõ mã hóa hệ mã hóa công khai Elgamal, sau giá trị mã hóa gửi tới người xác minh trung thực kèm theo “Chứng minh không tiết lộ thông tin” cho tính hợp lệ rõ ban đầu Giả sử tập hợp {1, 2, , k}, người gửi chọn Ti (với i = 1, k) tập hợp, việc mã hóa rõ phải ghi Ti với i giá trị {1, 2, , k} Bằng mã hóa Elgamal, lựa chọn Ti mã hóa thành (x, y) = (g α , hα Ti ) Như người gửi muốn chứng minh với người xác minh trung thực mã hóa rõ (x, y) hợp lệ phải số k đẳng thức sau đúng: (logg x = logh ( y y )), , ((logg x = logh ( )) T1 Tk (Vì x = g α ⇒ α = logg x, mặt khác y = hα Ti ⇒ y Ti = hα ⇒ α = logg Tyi , suy logg x = logg Tyi ) Để chứng minh đẳng thức mà không bị lộ Ti , người gửi người xác minh trung thực thống dùng giao thức “Chứng minh không tiết lộ thông tin” sau: 66 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt Người gửi Người xác minh Mã hóa rõ (x, y) = (g α , hα Ti ) Chọn ngẫu nhiên w ∈ Zp Tính: = g w mod p bi = hw mod p Với j = 1, , i − 1, i + 1, , k Chọn dj , rj ∈ Zp Tính aj = g rj xdj bj = hrj ( Tyj )dj Đặt (A, B) = (a1 , b1 ), , (ak , bk ) −−−−−−−−→ (x, y), (A, B) ← − c Chọn ngẫu nhiên c ∈ Zp Tính di = c − dj j=i ri = w − αdi −−−−→ (D, R) (D, R) = (d1 , r1 ), , (dk , rk ) Kiểm tra ? c = d1 + + dk ? aj = g rj xdj (j = 1, , k) ? bj = hrj ( Tyj )dj (j = 1, , k) Nếu kết người xác minh kết luận: Mã hóa rõ người gửi tập hợp ban đầu 67 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt Ví dụ 3.5 Giả sử có tập {3; 4; 5}, người gửi chọn Ti (với i = 1, 2, 3) tập hợp để mã hóa Sự lựa chọn hoặc Ký hiệu lựa chọn thứ i Ti Để chứng minh tính hợp lệ người gửi phải chứng minh: (logg x = logh ( y y )), , ((logg x = logh ( )) T1 Tk Để chứng minh điều người gửi người xác minh thống dùng giao thức “Chứng minh không tiết lộ thông tin” sau: Thiết lập thông số miền: Chọn: p = 67; g = 3; α = 8; s = 14 Khóa riêng s = 14 khóa công khai: h = g s mod p = 314 mod 67 = 40 Kí hiệu T1 = 3; T2 = 4; T3 = Giả sử người gửi chọn T3 = 68 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt Người gửi Người xác minh (x, y) = (g α , hα Ti ) = (38 , 408 × 5) = (62, 45) Chọn ngẫu nhiên w = 12 a3 = g w mod p = 312 mod 67 = 64 b3 = hw mod p = 4012 mod 67 = 40 Với j = chọn d1 = 22; r1 = 17 a1 = 317 × 6222 (mod67) = 22 b1 = 4017 × ( 45 ) mod 67 = 24 Với j = chọn d2 = 9; r2 = 10 a2 = 310 × 629 (mod67) = 25 b2 = 4010 × ( 45 ) mod 67 = 43 (A, B) = (a1 , b1 ), (a2 , b2 ), (a3 , b3 ) = (8, 24), (25, 43), (64, 40) Chọn c = 35 d3 = c − dj = 35 − (22 + 9) = j=3 r3 = 12 − × = −20 (D, R) = (d1 , r1 ), (d2 , r2 ), (d3 , r3 ) = (22, 17), (9, 10), (4, −20) d1 + d2 + d3 = 22 + + = 35 = c g r1 xd1 = 317 × 6222 = = a1 22 hr1 ( Ty1 )d1 = 4017 × ( 45 ) = 24 = b1 g r2 xd2 = 310 × 629 = 25 = a2 hr2 ( Ty2 )d2 = 4010 × ( 45 ) = 43 = b2 g r3 xd3 = 3−20 × 624 = 64 = a3 69 hr3 ( Ty3 )d3 = 40−20 × ( 45 ) = 40 = b3 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt Các kết người xác minh kết luận: Mã hóa rõ người gửi đúng, nằm tập hợp ban đầu 3.3 3.3.1 So sánh đa bên an toàn [5, tr.3-7] Mã đồng cấu với tính vô hướng Chúng ta xem xét chương trình mã hóa đồng cấu cộng nhân với tính chất vô hướng Chương trình mã hóa đồng cấu nhân thường hiệu chương trình mã hóa đồng cấu cộng, chương trình mã hóa đồng cấu nhân khi: E(m1 ) E(m2 ) = E(m1 × m2 ) toán tử Một chương trình mã hóa đồng cấu cộng khi: E(m1 ) E(m2 ) = E(m1 + m2 ) Một mã hóa vô hướng, c = E(m) ánh xạ ngẫu nhiên vào mã c = E(mk ) E(km) với k ngẫu nhiên Các chương trình mã hóa Elgamal chương trình mã hóa đồng cấu nhân với thuộc tính vô hướng Đối với hiệu tính toán, thay đổi chương trình để mã phép lũy thừa modul Sự thay đổi không ảnh hưởng đến an toàn chương trình Cho phép r∈R S biểu thị r chọn từ S đồng độc lập Tạo khóa: Cho p = 2q + 1, p q hai số nguyên tố Cho Gp nhóm QRp g phần tử sinh Gp Khóa công khai là: h = g −α , α ∈ Zq chìa khóa riêng tương ứng Mã hóa: Mã hóa thông điệp m ∈ Gq cặp: E(m) = (a, b) = (g r , mhr ), r∈R Zq 70 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt Giải mã: Đối với mã c = (a, b), thông điệp tính toán từ: D(c) = b × aα = m Vô hướng: Chúng ta vô hướng mã c = E(m) = (a, b) cách tính toán c = E(mk ) = (ak , bk ), k∈R Zq Nếu m = 1, tính vô hướng không thay đổi nội dung mã hóa Vô hướng làm cho c phân biệt từ cặp giả định ngẫu nhiên DDH) Chương trình mã hóa Elgamal đồng cấu nhân, tính bảo mật sơ đồ Elgamal dựa giả định DDH, nói tính toán để phân biệt hai tập hợp phân bố sau: D = (g a , g b , g ab ), a, b∈R Zq R = (g a , g b , g c ), a, b, c∈R Zq Nếu cần mã hóa số ngẫu nhiên, không cần phải lựa chọn số ngẫu nhiên mã hóa Này tiêu tốn thời gian mã hóa Thay vào đó, chọn cặp ngẫu nhiên c = (a, b)∈R G2q , mà mã hóa số ngẫu nhiên Nhờ kỹ thuật này, tiết kiệm chi phí mã hóa, mà quan trọng đến hiệu giao thức GT 3.3.2 Mã hóa mã hóa Ý tưởng phép xây dựng để đưa toán GT toán giao tập hợp Chúng ta sử dụng hai mã hóa đặc biệt, mã hóa mã hóa Giả sử s = sn sn−1 s1 ∈ {0, 1}n chuỗi nhị phân độ dài n Mã hóa 71 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt s tập Ss0 chuỗi nhị phân cho: Ss0 = {sn sn−1 si+1 |si = 0, ≤ i ≤ n} Mã hóa s tập Ss1 chuỗi nhị phân cho: Ss1 = {sn sn−1 si |si = 1, ≤ i ≤ n} Cả hai Ss1 Ss0 có n phần tử Nếu mã hóa x vào mã hóa 1của Ss1 y vào mã hóa Ss0 , thấy rằng: x > y Ss1 Ss0 có phần tử chung Ví dụ 3.6 Giả sử x = 22 = 101102 y = 20 = 101002 có độ dài n = Khi ta xác định Sx1 = {sn sn−1 si |si = 1, ≤ i ≤ n} = {1, 101, 1011} Sy0 = {sn sn−1 si+1 |si = 0, ≤ i ≤ n} = {11, 1011, 10101} Suy Sx1 ∩ Sy0 = {1011} hay Sx1 ∩ Sy0 = ∅, x > y Ngược lại x = 20 = 101002 y = 22 = 101102 có độ dài n = Khi ta xác định Sx1 = {sn sn−1 si |si = 1, ≤ i ≤ n} = {1, 101} Sy0 = {sn sn−1 si+1 |si = 0, ≤ i ≤ n} = {11, 10111} Suy Sx1 ∩ Sy0 = ∅, x ≤ y Định lý 3.1 x lớn y Sx1 Sy0 có phần tử chung Chứng minh: Giả sử x = xn xn−1 x1 ∈ {0, 1}n y = yn yn−1 y1 ∈ {0, 1}n Điều kiện cần: Nếu x > y, có vị trí i cho xi = yi = tất j cho i < j ≤ n xj = yj Khi xn xn−1 xi ∈ Sx1 mã hóa yn yn−1 yi+1 ∈ Sy0 mã hóa Như Sx1 Sy0 có phần tử chung 72 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt Điều kiện đủ: Giả sử t = tn tn−1 ti ∈ Sx1 ∩ Sy0 ti = Vì t ∈ Sx1 , xn xn−1 xi = tn tn−1 ti , từ t ∈ Sy0 , yn yn−1 yi+1 y¯i = tn tn−1 ti Suy x>y 3.3.3 Giao thức Nếu Alice Bob so sánh yếu tố Sx1 Sy0 một, cần O(n2 ) so sánh Tuy nhiên, họ so sánh chuỗi tương ứng có chiều dài (nếu hai chúng tồn tại) Sx1 Sy0 Giả sử (G, E, H) chương trình mã hóa đồng cấu nhân Alice sử dụng × n bảng T [i, j] , i ∈ {0, 1} , ≤ j ≤ n, để biểu thị đầu vào x = xn xn−1 x1 với: T [xj , j] = E(1) T [¯ xj , j] = E(r), r số ngẫu nhiên Gq Vì Alice không cần phải biết r (mỗi mục sử dụng r riêng biệt), Alice chọn ngẫu nhiên (a, b) ∈ G2q E(r) Khi Bob muốn so sánh chuỗi t = tn tn−1 t1 Sy0 với chuỗi tương ứng có chiều dài Sx1 Bob tính: ct = T [tn , n] T [tn−1 , n − 1] .T [ti , i] Chúng ta nhìn thấy ct mã hóa t ∈ Sx1 , ngoại trừ với xác suất không đáng kể cho kết sai Ngoài ra, chuỗi Sy0 có quan hệ tiền tố, Bob tính toán phần lớn tất phép toán đồng cấu ct với 2n, thay với n2 phép toán đồng cấu Dựa phân tích trên, giao thức tiến hành sau: Bước Alice với đầu vào riêng x = xn xn−1 x1 thực sau: - Chạy G để chọn cặp khóa (pk, sk) cho (E, D) - Chuẩn bị bảng 73 Luận văn Thạc sĩ toán học 2×n : Vũ Mạnh Đạt T [i, j] , i ∈ {0, 1} , ≤ j ≤ n cho: T [xi , i] = E(1) T [¯ xi , i] = E(ri ), ri ∈ Gq số ngẫu nhiên - Gửi T đến Bob Bước Bob với đầu vào riêng y = yn yn−1 y1 thực sau: - Đối với t = tn tn−1 ti ∈ Sy0 , tính toán ct = T [tn , n] T [tn−1 , n − 1] T [ti , i] - Đại lượng l = n − Sy0 , mã hóa ngẫu nhiên zj = (aj , bj ) ∈ G2q , ≤ j ≤ l - Vô hướng ct s hoán vị ct s số ngẫu nhiên zj s là: c1 , c2 , , cn - Gửi c1 , c2 , , cn đến Alice Bước Alice giải mã D (ci ) = mi , ≤ j ≤ n xác định x > y số mi = Khi x ≤ y, có xác suất không đáng kể mà giao thức GT trả câu trả lời sai ngẫu nhiên Giao thức GT sử dụng bổ sung mã hóa đồng cấu Chúng ta thay E(1) cho E(0) việc thiết lập bảng T Cuối cùng, Alice định x > y số mi = Alice Bob (sở hữu biến riêng tư x y), họ muốn xác định giá trị thật thuộc ”x > y” mà không tiết lộ liệu cá nhân họ, ngoại trừ hiểu ngầm kết Ví dụ 3.7 Giả sử đầu vào riêng Alice x = 1894 = 111011001102 ; đầu vào riêng Bob y = 1883 = 111010110112 , hai giá trị có độ dài 11 Bước Alice thực sau: 74 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt Tạo khóa: Chọn p = 83, q = 41 thỏa mãn p = 2q + 1, p q số nguyên tố, g = phần tử sinh G41 , α = 18 Khi khóa công khai là: h = g −α mod q = 3−18 mod 41 = 32 Khóa bí mật là: α = 18 Với giá trị sở hữu x = 1894 = 111011001102 , Alice tính toán bảng T [i, j]2×n , i ∈ {0, 1} , j ∈ [1, 11] sau: T [1, 11] = E(1) = (9, 40) T [0, 11] = (28, 25) T [1, 10] = E(1) = (32, 40) T [0, 10] = (16, 11) T [1, 9] = E(1) = (38, 32) T [0, 9] = (26, 38) T [0, 8] = E(1) = (3, 32) T [1, 8] = (5, 15) T [1, 7] = E(1) = (40, 1) T [0, 7] = (35, 12) T [1, 6] = E(1) = (27, 9) T [0, 6] = (23, 32) T [0, 5] = E(1) = (14, 9) T [1, 5] = (9, 37) T [0, 4] = E(1) = (27, 9) T [1, 4] = (21, 4) T [1, 3] = E(1) = (1, 1) T [0, 3] = (11, 23) T [1, 2] = E(1) = (9, 40) T [0, 2] = (38, 40) T [0, 1] = E(1) = (38, 32) T [1, 1] = (6, 23) Alice gửi kết T [i, j] cho Bob Bước Bob với giá trị sở hữu giá trị riêng y = 1883 = 111010110112 , Bob tính toán: Sy0 = {s11 s10 si+1 |si = 0, ≤ i ≤ 11} = {1111, 111011, 111010111} * t = 1111 ⇒ ct = T [1, 11] T [1, 10] T [1, 9] T [1, 8] 75 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt = (9, 40).(32, 40).(38, 32).(5, 15) = (26, 29) * t = 111011 ⇒ ct = T [1, 11] T [1, 10] T [1, 9] T [0, 8] T [1, 7] T [1, 6] = (9, 40).(32, 40).(38, 32).(3, 32).(40, 1).(27, 9) = (38, 32) * t = 111010111 ⇒ ct = T [1, 11] T [1, 10] T [1, 9] T [0, 8] T [1, 7] T [0, 6] T [1, 5] T [1, 4] T [1, 3] = (9, 40).(32, 40).(38, 32).(3, 32).(40, 1).(23, 32).(9, 37).(21, 4).(1, 1) = (9, 20) Bob gửi giá trị t cho Alice Bước Alice giải mã: Đối với mã c = (a, b), thông điệp tính toán từ: D(c) = b a−α mod q = b × aα (modq) * D(c) có D(26, 29) ⇒ m = 29 × 2618 (mod41) = 17 * D(c) có D(9, 20) ⇒ m = 20 × 918 (mod41) = 21 * D(c) có D(38, 32) ⇒ m = 32 × 3818 (mod41) = Sau Alice giải mã khóa bí mật mình, Alice nhận thấy có giá trị m = 1, sau Alice gửi kết cho Bob, chứng tỏ giá trị x > y 3.4 Đánh giá an toàn Trong công nghệ thông tin có nhiều biện pháp nhằm nâng cao bảo mật an toàn thông tin nhằm phục vụ cho nhu cầu mục đích người việc giữ bí mật biện pháp giữ bí mật đảm bảo an toàn Qua ví dụ trên, thấy giao thức tính toán đa bên an toàn sử dụng mã đồng cấu đảm bảo giữ bí mật riêng tư, có nhiều bên tham gia giải quyết, tiết kiệm thời gian, cho kết nhanh xác Các toán sử dụng mã đồng cấu cho phép tái lại việc kết hợp rõ thành phần, ta dùng kết kết 76 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt hợp mã tương ứng chúng Qua đó, người tham gia mã hoá đầu vào từ kết kết hợp mã thành phần biết kết toán chung, điều quan trọng bên không để lộ thông tin cho tính toán kết chung Tóm tắt chương Trong chương thực ứng dụng mã hóa đồng cấu, cụ thể mã khóa công khai ElGamal mã hóa Paillier, áp dụng trực tiếp cho toán tính tổng đa bên an toàn (mô hình công chủ động), kết hợp với chứng minh không tiết lộ thông tin, kiểm tra hai rõ toán so sánh giá trị cực đại (thông qua mã hóa 1) Các kết giao thức tính toán cẩn thận, xác, yếu tố bảo mật, an toàn, không lộ thông tin luôn đặt lên hàng đầu xem sở bên có tin tưởng 77 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt KẾT LUẬN Luận văn với đề tài “Nghiên cứu số giao thức tính toán đa bên an toàn sử dụng mã đồng cấu” thực với mục tiêu đưa khái niệm yêu cầu tính toán đa bên an toàn, nhằm mục đích tìm hiểu tính toán với trường hợp đa bên đảm bảo tính an toàn cao kết tính toán cẩn thận, xác, không tiết lộ thông tin cho đầu vào đầu bên Với việc hoàn thành luận văn em đạt số kết sau: - Về lý thuyết toán học: Tìm hiểu kiến thức số học modulo, hàm Euler, định lý Euler định lý Fermat, thuật toán Euclide mở rộng, định lý phần dư Trung Hoa, nguyên thủy logarit rời rạc - Về lý thuyết bảo mật: Tìm hiểu khái niệm, bước an toàn thông tin mạng, xây dựng ví dụ mã công khai RSA, chữ ký điện tử DSA - Về mã hóa đồng cấu: Tìm hiểu xây dựng toán tính toán đa bên an toàn, tính toán khoa học, xác, đảm bảo không tiết lộ thông tin, tìm hiểu mã đồng cấu với phép giãn, mã hóa mã hóa 1, áp dụng đưa ví dụ cụ thể chia sẻ thông tin đảm bảo riêng bên Tuy nhiên thời gian có hạn nên luận văn tập trung tìm hiểu số tính toán đa bên tính toán đa bên an toàn, chưa đưa giải pháp cho vấn đề khác đòi hỏi trợ giúp giải vấn đề cụ thể đảm bảo tính đa bên an toàn Rất mong nhận đóng góp thầy cô bạn để luận văn em hoàn thiện 78 Luận văn Thạc sĩ toán học Vũ Mạnh Đạt TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Phan Đình Diệu (2002), Lý thuyết mật mã an toàn thông tin, NXB Đại học quốc gia Hà Nội [2] Dương Anh Đức (2008), Mã hóa ứng dụng, NXB Đại học quốc gia TPHCM [3] Hà Huy Khoái, Phạm Huy Điển (2004), Mã hóa thông tin sở toán học ứng dụng, NXB Đại học quốc gia Hà Nội Tài liệu tiếng Anh [4] Claudio Orlandi (2011), Is Multiparty Computation Any Good In Practice?, Draft version of a paper appeared at ICASSP 2011 [5] Hsiao -Ying Lin, Wen Guey Tzeng (2005), An Efficient Solution to The Millionaires’ Problem Based on Homomorphic Encryption [6] Ivan Damgard, Valerio Pastro, Nigel Smart, Sarah Zakarias (2011), Multiparty Computation from Somewhat Homomorphic Encryption, Cryptology ePrint Archive, Report 2011/535 [7] Nigel Smart (2004), Cryptography: An Introduction (3rd Edition), Publisher: Mcgraw-Hill College (December 30, 2004) [8] Quentin Santos (2014), Practical secure multiparty computation, Public key CtryptoSystem, June 13,2014 [9] Ronald Cramer, Ivan Damgard, Jesper B Nielsen (2000), Multiparty Computation from Threshold Homomorphic Encryption [10] Zuzana Rjaskova (2002), Electronic Voting Schemes, Comenius University Bratislava 79 ... Nghiên cứu số giao thức tính toán đa bên an toàn sử dụng mã đồng cấu để làm nội dung cho luận văn Mục đích nghiên cứu Tìm hiểu số giao thức tính toán đa bên an toàn dựa mã đồng cấu, sở an toàn chúng... khai, mã đồng cấu, trình bày số giao thức đa bên an toàn sử dụng mã đồng cấu Nêu bước chi tiết giao thức thông qua số liệu riêng Phương pháp nghiên cứu Nghiên cứu sở lý thuyết giao thức áp dụng vào... vụ nghiên cứu Hiểu sở toán học mã công khai có tính chất đồng cấu việc áp dụng chúng để giải số toán tính toán đa bên an toàn Đối tượng phạm vi nghiên cứu 4.1 Đối tượng nghiên cứu Nghiên cứu