Nghiên cứu hệ thống bầu cử điện tử dựa trên mã đồng cấu

52 350 1
Nghiên cứu hệ thống bầu cử điện tử dựa trên mã đồng cấu

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI NGUYỄN THỊ LOAN NGHIÊN CỨU HỆ THỐNG BẦU CỬ ĐIỆN TỬ DỰA TRÊN 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, 2016 LỜI CẢM ƠN Đầu tiên, xin trân trọng cảm ơn Ban giám hiệu trường Đại học sư phạm Hà Nội 2, phòng sau đại học thầy cô giáo nhà trường giúp đỡ tạo điều kiện thuận lợi cho suốt trình thực tập Tôi xin trân trọng gửi lời cảm ơn tới thầy giáo TS Trần Văn Dũng, người nhiệt tình giúp đỡ, trực tiếp bảo, hướng dẫn suốt trình thực luận văn cao học Trong trình làm việc với thầy, tiếp thu thêm nhiều kiến thức bổ ích, kinh nghiệm vô quý báu suốt thời gian qua Sau cùng, cho phép cảm ơn bạn bè, gia đình giúp đỡ, ủng hộ nhiều toàn trình học tập nghiên cứu hoàn thành luận văn Do thời gian có hạn kinh nghiệm nghiên cứu khoa học chưa nhiều nên luận văn nhiều thiếu sót, mong nhận ý kiến góp ý Thầy / Cô anh chị học viên Hà Nội, ngày tháng năm 2016 Học viên thực Nguyễn Thị Loan LỜI CAM ĐOAN Tôi xin cam đoan: Những kết nghiên cứu trình bày luận văn hoàn toàn trung thực, không vi phạm điều luật sở hữu trí tuệ pháp luật Việt Nam Trong trình làm luận văn có tham khảo liệu có liên quan ghi rõ nguồn tài liệu tham khảo Những kiến thức trình bày luận văn chưa trình bày hoàn chỉnh tài liệu TÁC GIẢ LUẬN VĂN NGUYỄN THỊ LOAN MỤC LỤC MỞ ĐẦU 1 Lí chọn đề tài Mục đích nghiên cứu Nhiệm vụ nghiên cứu Đối tượng phạm vi nghiên cứu .2 Dự kiến đóng góp .2 Phương pháp nghiên cứu NỘI DUNG CHƯƠNG 1: KIẾN THỨC CHUẨN BỊ 1.1 Số học modulo .3 1.1.1 Các phép toán modulo 1.1.1.1 Số nghịch đảo Modulo 1.1.1.2 Định lý Fermat 1.1.1.3 Định lí Euler 1.1.1.4 Định lí phần dư Trung Hoa .8 1.1.2 Logarit rời rạc 1.1.2.1 Bài toán logarit trường số thực R 1.1.2.2 Bài toán logarit trường hữu hạn 1.1.2.3 Bài toán logarit rời rạc 11 1.1.2.4 Bản chất toán logarit rời rạc 11 1.2 Hệ mã khóa công khai 12 1.2.1 Mã khoá công khai RSA 12 1.2.2 Khởi tạo khóa RSA 12 1.2.3 Sử dụng RSA 13 1.2.4 Cơ sở RSA 13 1.3 Mã Elgamal 14 1.3.1 Hệ mã hóa Elgamal 14 1.3.2 Khái niệm mã hóa đồng cấu 15 1.4 Chữ ký điện tử DSA 15 1.4.1 Tạo chữ ký DSA .15 1.4.2 Kiểm chứng chữ ký DSA 16 CHƯƠNG 2: MỘT SỐ GIAO THỨC AN NINH NÂNG CAO 18 2.1 Lược đồ chia sẻ thông tin mật Shamir 18 2.1.1 Phân phối mảnh cho thành viên 19 2.1.2 Khôi phục khoá K từ t thành viên .20 2.1.3 Tính chất đồng cấu hệ mã hóa Elgamal 22 2.1.4 Lược đồ chia sẻ bí mật Shamir phối hợp với hệ mã hóa Elgamal 25 2.2 Cam kết 28 2.3 Chứng minh không tiết lộ thông tin .29 2.4 Giao thức kết hợp 30 CHƯƠNG 3: PHƯƠNG PHÁP BẦU CỬ ĐIỆN TỬ DỰA TRÊN MÃ ĐỒNG CẤU 33 3.1 Bầu cử điện tử .33 3.2 Phương pháp dựa mã đồng cấu 33 3.2.1 Khởi tạo hệ thống 33 3.2.2 Công bố phiếu bầu 33 3.2.3 Phân phối phiếu 34 3.2.4 Kiểm tra tính quán 34 3.2.5 Kiểm đếm .35 3.3 Trường hợp bầu số ứng cử viên tuỳ ý 40 KẾT LUẬN .46 DANH MỤC TÀI LIỆU THAM KHẢO .47 MỞ ĐẦU Lí chọn đề tài Trong năm trở lại đây, phát triển vũ bão xu công nghệ thông tin điều tất yếu Máy móc thông minh dần thay nhiều hoạt động người xã hội đại Bỏ phiếu điện tử bước ngoặt lớn lao Phương thức bỏ phiếu truyền thống ngày gặp phải số hạn chế, với cử tri vùng sâu vùng xa, khoảng cách địa lý phần ngăn cản trình bầu cử Tính độc lập, quyền cá nhân, quyền riêng tư bị ảnh hưởng lớn Tính minh bạch giảm sút đồng nghĩa với việc tín nhiệm nhân dân giảm sút, tính an ninh trình vận chuyển phiếu… Cùng với trình chuẩn bị sở vật chất, đào tạo nhân lực phục vụ cho bầu cử Đây khó khăn, thách thức vô lớn Trong đó, với hình thức bỏ phiếu điện tử, người dân tự lựa chọn phiếu bầu mang ý kiến cá nhân cho ứng cử viên họ, dù họ đâu, làm Hơn nữa, đảm bảo tính cá nhân quyền riêng tư phiếu mình, đảm bảo an ninh không trình vận chuyển thủ công từ nhiều địa điểm khác đến hòm phiếu Thứ hai, thay phải đào tạo đội ngũ cán khổng lồ để phục vụ công tác bầu cử, bỏ phiếu điện tử giảm tối đa mặt nhân lực Đặc biệt, hình thức bỏ phiếu đáp ứng nhu cầu bầu cử người trẻ tuổi, bầu cử qua điện thoại, bầu cử trực tuyến, thông qua Facebook, youtube… Trên giới, khái niệm bỏ phiếu điện tử không xa lạ nước phát triển Tuy nhiên Việt Nam, vấn đề không mẻ chưa thực phát triển phổ cập rộng rãi tất lĩnh vực Chính vậy, hướng dẫn tận tình thầy giáo TS Trần Văn Dũng, em chọn lựa đề tài “NGHIÊN CỨU HỆ THỐNG BẦU CỬ ĐIỆN TỬ DỰA TRÊN MÃ ĐỒNG CẤU” với mong muốn áp dụng kiến thức học, xây dựng thử nghiệm mô hình ứng dụng bầu cử điện tử với độ an toàn bảo mật cao, chống gian lận trình bỏ phiếu Mục đích nghiên cứu - Tổ chức bầu cử điện tử đáp ứng yêu cầu bầu cử - Có khả chịu lỗi, đảm bảo tính riêng tư kết kiểm chứng tính đắn Nhiệm vụ nghiên cứu - Nghiên cứu lược đồ chia sẻ thông tin mật Shamir chịu lỗi - Sử dụng chứng minh không tiết lộ thông tin để cam kết tính quán phiếu bầu tham số chia sẻ mảnh phiếu - Ứng dụng mã đồng cấu để hỗ trợ kiểm phiếu tự động đảm bảo tính riêng tư Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu: Nghiên cứu vấn đề thực chương trình bầu cử điện tử an toàn - Phạm vi nghiên cứu: nghiên cứu sở toán học số phương pháp bầu cử điện tử xây dựng lược đồ bầu cử điện tử an toàn Dự kiến đóng góp Trình bày đầy đủ chi tiết sở ứng dụng luận văn Phương pháp nghiên cứu - Nghiên cứu lý thuyết kiểm nghiệm qua ví dụ cụ thể - Xây dựng lược đồ ứng dụng tổ chức mô hình bầu cử điện tử đơn giản NỘI DUNG CHƯƠNG 1: KIẾN THỨC CHUẨN BỊ Chương trình bày lý thuyết toán học để bổ trợ xây dựng phương pháp bầu cử điện tử dừa mã đồng cấu lý thuyết toán học modulo, toán Logarith rời rạc, hệ mã hóa công khai, mã Elgamal định lý Fermat, Euler, Tiếp đó, luận văn mô tả khái niệm chữ ký điện tử DSA cách tạo cách kiểm chứng chữ ký DSA dùng việc xây dựng số giao thức an ninh nâng cao 1.1 Số học modulo 1.1.1 Các phép toán modulo a Định nghĩa Cho m số nguyên dương Giả sử a, b số nguyên: Ta ký hiệu a  b (mod m), b = a + km k số nguyên Khi ta nói a b đồng dư với theo modulo m Nếu a số nguyên dương nhỏ m, a gọi phần dư b chia cho m, a gọi thặng dư b theo modulo m Tập hợp sô ń guyên từ đến m − gọi tập hợp thặng dư hoàn toàn modulo m Điều có nghĩa là, với số nguyên a, thặng dư modulo m số từ đến m − Modulo số học số học bình thường, bao gồm phép giao hoán, kết hợp phân phối Mặt khác, giảm giá trị trung gian suốt trình tính toán (a + b) mod m = ((a mod m) + (b mod m)) mod m (a - b) mod m = ((a mod m) − (b mod m)) mod m (a  b) mod m = ((a mod m)  (b mod m)) mod m (a  (b +c)) mod m = ((a  b) + (a  c)) mod m Ví dụ 1.1: 10  (mod 3) 10 = 3.3 + = 2.3 + b Quan hệ đồng dư Quan hệ đồng dư theo modulo m Z quan hệ tương đương có nghĩa là: i)  a  Z, a  a (mod m) (Tính phản xạ) ii)  a, b  Z, a  b (mod m) ⇒ b  a (mod m) (Tính đối xứng) iii)  a, b, c  Z, a  b, b  c ⇒ a  c (mod m) (Tính bắc cầu) c Các phép toán modulo: Nếu ta có: a1  a2 (mod n) b1  b2 (mod n) Thì ta có:  (a1 + b1)  (a2 + b2) (mod n)  (a1 − b1)  (a2 − b2) (mod n)  (a1b1)  (a2b2) (mod n)  𝑎1𝑘  𝑎2𝑘 (𝑚𝑜𝑑 𝑛), với k nguyên dương 1.1.1.1 Số nghịch đảo Modulo Số nghịch đảo 10 1/10, 10  1/10 = Trong số học modulo vấn đề̀ nghịch đảo phức tạp  x  mod Phương trình tương đương với tìm x k cho: 4x = 7k + với điều kiện x k số nguyên Vấn đề chung đặt tìm x cho: = (a  x) mod n Có thể viết lại sau: a-1  x (mod n) Ví dụ 1.2: Nghịch đảo modulo 14 bởi:  = 15  (mod 14) Trong trường hợp chung a-1  x (mod n) lời giải a n cặp số nguyên tố Nếu a n cặp số nguyên tố nhau, a-1  x (mod n) lời giải Thuật toán Euclid mở rộng tính số nghịch đảo số modulo n, thuật toán gọi thuật toán Euclid mở rộng static void update (int *un, int *vn, int q) { int tn; tn=*un – vn*q; *un = *vn; *vn = tn; } int extended euclidian(int u, int v, int u1_out, int u2_out) { int u1 = 1; int u3 = u; int v1 = 0; int v3 = v; int q; while (v3>0) { q = u3/v3; Update(&u1, &v1, q); Update(&u3, &v, q); } *u1_out = u1; *u2_out = (u3 - u1*u)/v; return u3 } CHƯƠNG 3: PHƯƠNG PHÁP BẦU CỬ ĐIỆN TỬ DỰA TRÊN MÃ ĐỒNG CẤU Sử dụng kiến thức chuẩn bị chương I giao thức an ninh nâng cao chương II, Chương III xây dựng phương pháp bầu cử điện tử dựa mã đồng cấu Phần đầu nêu đặc tính hệ thống bầu cử điện tử sau đưa phương pháp dựa mã đồng cấu thông qua năm bước là: Khởi tạo hệ thống, công bố phiếu bầu, phân phối phiếu, kiểm tra tính quán kiểm đếm Tiếp đến phần cuối trình bày ví dụ cụ thể trường hợp cử tri bầu cho ứng viên với trung tâm kiểm đếm trường hợp bầu với số ứng viên tùy ý 3.1 Bầu cử điện tử Các đặc tính hệ thống bầu cử điện tử:  Chỉ cử tri đủ quyền bầu cử bỏ phiếu  Không bỏ phiếu nhiều lần  Các bên liên quan xác định cách người khác bình chọn  Không tính lặp phiếu bầu người khác  Kết cuối tính toán cách xác  Tất bên liên quan xác minh kết tính toán cách xác  Các giao thức làm việc có số bên xấu 3.2 Phương pháp dựa mã đồng cấu 3.2.1 Khởi tạo hệ thống Mỗi trung tâm i số n trung tâm kiểm đếm có chức mã hóa khóa công khai Ei Chúng ta giả định nhóm giao hoán hữu hạn G cố định, nguyên tố g, hai yếu tố g, h ∈ G lựa chọn mà bên (bao gồm trung tâm kiểm đếm) biết logarit rời rạc: h = gx Mỗi cử tri có thuật toán chữ ký khóa công khai 3.2.2 Công bố phiếu bầu Mỗi số m tri chọn phiếu vj từ tập {-1, 1}, cử tri chọn giá trị ngẫu nhiên mù aj ∈ Z / qZ công bố phiếu mình: 33 𝐵𝑗 = 𝐵𝑎𝑗 (𝑣𝑗 ) = ℎ𝑣𝑗 𝑔𝑎𝑗 Sử dụng sơ đồ bit cam kết trước Bỏ phiếu công khai cho tất bên tham gia, trung tâm kiểm đếm cử tri khác Cùng với số phiếu Bj cử tri xuất phiên không tương tác giao thức trước để thấy bỏ phiếu chọn từ tập {-1,1} Việc bỏ phiếu chứng minh sau ký điện tử cách sử dụng thuật toán ký cử tri 3.2.3 Phân phối phiếu Bây cần phải phân phối phiếu khắp trung tâm kiểm đếm để kiểm đếm lần cuối thực Mỗi cử tri sử dụng lược đồ chia sẻ bí mật Sharmir sau: Để chia sẻ aj vj đến tất trung tâm kiểm đếm: Mỗi cử tri chọn đa thức ngẫu nhiên theo modulo q bậc t < n: 𝑅𝑗(𝑋) = 𝑣𝑗 + 𝑟1,𝑗𝑋 + ⋯ + 𝑟𝑡,𝑗𝑋𝑡 𝑆𝑗(𝑋) = 𝑎𝑗 + 𝑠1,𝑗𝑋 + ⋯ + 𝑠𝑡,𝑗𝑋𝑡 Cử tri tính toán: (ui,j,wi,j) = (Rj(i), Sj(i)) với ≤ i ≤ n Cử tri mã hóa cặp (ui,j, wi,j) cách sử dụng thuật toán mã hóa khóa công khai Ei trung tâm kiểm đếm thứ i Phần mã hóa gửi tới trung tâm kiểm đếm có liên quan Các cử tri sau phát hành cam kết cho đa thức Rj (X) cách đăng công khai: Bl,j = Bsl,j(rl,j) với ≤ l ≤ t lần cách sử dụng lược đồ cam kết trước 3.2.4 Kiểm tra tính quán Mỗi trung tâm i cần phải kiểm tra giá trị (ui,j, wi,j) nhận cử tri j phù hợp với cam kết cử tri Điều thực cách kiểm tra phương trình sau: t t Bj = ∏ B l l,ji l = Baj (vj ) ∏ Bsl,j (rl,j ) i l=1 l=1 34 t l vj aj = h g ∏(hrl,j g sl,j ) i l=1 (vj +∑tl=1 r =h l l,ji ) (aj +∑tl−1 s g l l,ji ) = hui,j hwi,j 3.2.5 Kiểm đếm Mỗi trung tâm số n trung tâm kiểm đếm tính toán công khai đăng tải tổng chia sẻ phiếu bầu: m Ti = ∑ ui,j j=1 Cộng với việc đăng tải tổng chia sẻ yếu tố làm mù: m Ai = ∑ wi,j j=1 Mỗi bên, trung tâm cử tri kiểm tra điều thực cách xác hay chưa, cách xác minh rằng: t m m ∏(Bj ∏ B l l,jj j=1 ) = ∏ hui,j hwi,j = hTi g Ai l=1 j=1 Bất kì bên tính toán giá trị kiểm đếm cuối cách lấy t giá trị Ti nội suy giá trị kiểm đếm cuối Điều có Ti giá trị i đa thức mà chia sẻ tổng số phiếu bầu Để thấy điều này, có: m Ti = ∑ ui,j j=1 m = ∑ R j (i) j=1 𝑚 𝑚 𝑚 = (∑ 𝑣𝑗 ) + (∑ 𝑟𝑙,𝑗 ) 𝑖 + ⋯ + (∑ 𝑟𝑡.𝑗 ) 𝑖 𝑡 𝑗=1 𝑗=1 𝑗=1 Nếu kết kiểm phiếu cuối âm đa số phiếu bầu cử tri -1 35 Trong kiểm phiếu cuối dương đa số người dân bình chọn Ví dụ 3.1 Bài toán 1: Giả sử có cử tri: cử tri (CT1), cử tri (CT2), cử tri (CT3) bầu cử cho ứng cử viên A B với Trung tâm kiểm đếm I, II, III cần dựa trung tâm tính kết kiểm phiếu Khởi tạo Hệ thống: Chọn trường cấp 43 nhóm giao hoán G cấp 42 với phần tử sinh g = Chọn ngẫu nhiên h, chẳng hạn h = 32 = Các trung tâm I, II, III chọn tương ứng khóa riêng cho công bố khóa côngkhai: X chọn khóa riêng x = 5, công bố công khai: hx= gx = 35 mod 43 = 28 Y chọn khóa riêng y = 7, công bố công khai: hy= gy = 37 mod 43 = 37 Z chọn khóa riêng z = 10, công bố công khai: hz=gz = 310 mod 43 = 10 Chọn hệ thống chữ ký điện tử Elgamal CT1, CT2, CT3 tương ứng chọn khóa riêng tính khóa công khai mình: Ở bỏ qua thủ tục ký phiếu bầu cho đơn giản hóa tiến trình bầu cử Công bố phiếu bầu:  Phiếu bầu V = bầu cho A V = -1 bầu cho B  Giả sử bầu cử CT1 bầu cho A chọn phiếu V1 = 1, CT2 bầu cho B chọn V2 = -1 CT3 bầu cho B chọn phiếu V3 = -1  CT1 chọn giá trị ngẫu nhiên mù a1 = CT2 chọn giá trị ngẫu nhiên mù a2 = CT3 chọn giá trị ngẫu nhiên mù a3 =  CT1 công bố phiếu bầu mình: B1= Ba1(V1) = hv1.ga1 =91.35 mod 43 = 37  CT2 công bố phiếu bầu mình: B2= Ba2 (V2) = hv2.ga2 = 9-1.38 mod 43 = 41 36  CT3 công bố phiếu bầu mình: B3 = Ba3(V3) = hv3.ga3 = 9-1.36 mod 43 = 38 Phân bố phiếu bầu:  CT1 chọn đa thức bậc t = để phân phối phiếu bầu mình: R1(𝑋) = – 𝑋 + 𝑋2 R1(1) = 1, R1(2) = 3, R1(3) = S1(𝑋) = + 2𝑋 + 𝑋2 S1(1) = 8, S1(2) = 13, S1(3) = 20 CT2 tính toán: (u11, w11) = (R1(1), S1(1)) = (1, 8) (u21, w21) = (R1(2), S1(2)) = (3, 13) (u31, w31) = (R1(3),S1(3)) = (7, 20)  CT2 chọn đa thức bậc t = để phân phối phiếu bầu mình: R2(𝑋) = −1 + 2𝑋 + 𝑋2 R2(1) = 2, R2(2) = 7, R2(3) = 14 S2 (𝑋) = + 𝑋 − 𝑋2 S2(1) = 7, S2(2) = 5, S2(3) = CT2 tính toán: (u12, w12) = (R2(1), S2(1)) = (2, 7) (u22, w22) = (R2(2), S2(2)) = (7, 5) (u32, w32) = (R2(3), S2(3)) = (14, 1)  CT3 chọn đa thức bậc t = để phân phối phiếu bầu mình: R3(𝑋) = −1 + 5𝑋 + 𝑋2 R3(1) = 5, R3(2) =13, R3(3) = 23 S3(𝑋) = 10 − 𝑋 + 3𝑋2 S3(1) = 12, S3(2) = 20, S3(3) = 34 37 CT3 tính toán: (u13, w13) = (R3(1), S3(1)) = (5, 12) (u23, w23) = (R3(2), S3(2)) = (13, 20) (u33, w33) = (R3(3), S3(3)) = (41, 34)  CT1 mã hóa cặp phiếu bầu gửi cho Trung tâm:  CT1 gửi cho trung tâm I hai cặp số: Chọn giá trị mù k = gửi (gk, (hx)k.u11) = (35, 285.1) = (28, 5) Chọn giá trị mù k = gửi (gk, (hx)k.w11) = (37, 287.8) = (37, 13)  CT1 gửi cho trung tâm II hai cặp số: Chọn giá trị mù k = gửi (gk, (hy)k.u21) = (39, 379.3) = (32, 40) Chọn giá trị mù k = 11 gửi (gk, (hy)k.w21) = (311, 3711.13) = (30, 5)  CT1 gửi cho trung tâm III hai cặp số: Chọn giá trị mù k = 13 gửi (gk, (hz)k.u31) = (313, 1013.7) = (12, 8) Chọn giá trị mù k = 15 gửi (gk, (hz)k.w31) = (315, 1015.20) =(22, 19)  CT2 mã hóa cặp phiếu bầu gửi cho Trung tâm:  CT2 gửi cho trung tâm I hai cặp số: Chọn giá trị mù k = 17 gửi (gk, (hx)k.u12) = (317, 2817.2) = (26, 6) Chọn giá trị mù k = 19 gửi (gk, (hx)k.w12) = (319, 2819.7) = (19, 38)  CT2 gửi cho trung tâm II hai cặp số: Chọn giá trị mù k = 21 gửi (gk, (hy)k.u22) = (321, 3721.7) = (42, 36) Chọn giá trị mù k = 23 gửi (gk, (hy)k.w22) = (323, 3723.5) = (34, 35)  CT2 gửi cho trung tâm III hai cặp số: Chọn giá trị mù k = 25 gửi (gk, (hz)k.u32) = (325, 1025.14) = (5, 35) Chọn giá trị mù k = 27 gửi (gk, (hz)k.w32) = (327, 1027.1) = (2, 35) CT3 mã hóa cặp phiếu bầu gửi cho Trung tâm:  CT3 gửi cho trung tâm I hai cặp số: Chọn giá trị mù k = 29 gửi (gk, (hx)k.u13) = (329, 2829.5) = (18, 9) Chọn giá trị mù k = 31 gửi (gk, (hx)k.w13) = (331, 2831.12) = (33, 1) 38  CT3 gửi cho trung tâm II hai cặp số: Chọn giá trị mù k = 33 gửi (gk, (hy)k.u23) = (333, 3733.13) = (39, 30) Chọn giá trị mù k = 35 gửi (gk, (hy)k.w23) = (335, 3735.20) = (7, 11)  CT3 gửi cho trung tâm III hai cặp số: Chọn giá trị mù k = 37 gửi (gk, (hz)k.u33) = (337, 1037.41) = (17, 24) Chọn giá trị mù k = 39 gửi (gk, (hz)k.w33) = (339, 1039.34) = (22, 7) CT1 phát hành cam kết cho đa thức R1(X) cách đăng công khai: B11 = Bs11(rl1) = hr11.gs11 = 9-1.32 = B21 = Bs21(r21) = hr21.gs21 = 91.31 =  CT2 phát hành cam kết cho đa thức R2(X) cách đăng công khai: B12 = Bs12(rl2) = hr12.gs12 = 92.31 = 28 B2 = Bs22(r22) = hr22.gs22 = 91.3-1 =  CT3 phát hành cam kết cho đa thức R3(X) cách đăng công khai: B13 = Bs13(rl3) = hr13.gs13 = 95.3-1 = 32 B23 = Bs23(r23) = hr23.gs23 = 91.33 = 28 Kiểm tra tính quán  Trung tâm i cần phải kiểm tra giá trị (ui,1,wi,1) nhận CT1 phù hợp với cam kết cử tri Điều thực cách kiểm tra phương trình sau: Bj ∏ B l,ji l = hui,j g wi,j l=1 1 X tương ứng với j = kiểm tra với i = 1: B1(B11) (B21) = 37.1.3 = 25 hu11gw11 = = 10 Tương tự kiểm tra phiếu bầu khác Kiểm đếm Mỗi trung tâm I, II, III tính tổng mảnh phiếu bầu: 39 m Ta có Ti = ∑ ui,j j=1 T1 = u11 + u12 + u13 = 1+ + = T2 = u21 + u22 + u23 = 3+ + 13 = 23 T3 = u31 + u32 + u33 = + 14 + 23 = 44 Cộng với việc đăng tải tổng chia sẻ yếu tố làm mù: m Ta có Ai = ∑ wi,j j=1 A1 = w11 + w12 + w13 = + + 12 = 27 A2 = w21 + w22 + w23 = 13+ 5+ 20 = 38 A1 = w31 + w32 + w33 = 20 + + 34 = 55 Mỗi bên, trung tâm cử tri kiểm tra điều thực cách xác hay chưa, cách xác minh rằng: m t ∏(Bj ∏ B j=1 l=1 m l l,jj ) = ∏ hui,j hwi,j = hTi g Ai j=1 Bất kì bên tính toán giá trị kiểm đếm cuối cách lấy t giá trị Ti nội suy giá trị kiểm đếm cuối Dựa vào trung tâm I, II, III số trung tâm I, II, III, IV tính kết bầu cử, xem đa thức tổng có hệ số tự âm hay dương: 𝜆1 = 2/(2 − 1)*3/(3-1) = 3, 𝜆2 = 1/(1 − 2)*3/(3-2) = −3, 𝜆3 = 1/(1 − 3)*2/(2-3) = Áp dụng cách tìm hệ số tự đa thức Laplace ta có tổng số phiếu bầu là: V = + (−3).23 + 1.44 = -1 Tổng số phiếu −1, nên số phiếu B số phiếu A 3.3 Trường hợp bầu số ứng cử viên tuỳ ý Giả sử ta có p – cử tri q + ứng cử viên Khi phiếu bầu cử tri j biểu diễn dạng 40 a[j] = a0.p0 + a1.p1 + …+ aq.pq | = 0, Dễ dàng thấy tổng số phiếu bầu cử tri có dạng: a = a[1] + a[2] + …+ a[j] + … + a[p − 1] Và a có biểu diễn dạng a = b0.p0 + b1.p1 + …+ bq.pq | ≤ bi ≤ p − Trong bi số phiếu bầu cho ứng cử viên thứ i Ví dụ 3.2 Bài toán Giả sử có cử tri: cử tri (CT1), cử tri (CT2), cử tri (CT3) bầu cử cho số ứng cử viên A, B C với Trung tâm kiểm đếm I, II, III cần dựa trung tâm tính kết kiểm phiếu Khởi tạo Hệ thống: Chọn trường số cấp 67 nhóm giao hoán G cấp 66 với phần tử sinh g = Chọn ngẫu nhiên h, chẳng hạn h = Chọn hệ thống chữ ký điện tử Elgamal CT1, CT2, CT3 tương ứng chọn khóa riêng tính khóa công khai mình: Ở bỏ qua thủ tục ký phiếu bầu cho đơn giản hóa tiến trình bầu cử Công bố phiếu bầu: Biểu diễn phiếu bầu qua luỹ thừa số nguyên lớn số cử tri lũy thừa bậc cao nhỏ số ứng cử viên đơn vị, sau:  Phiếu bầu V1 = 1.40 + 0.41 + 1.42 = 17 bầu cho A, C  Phiếu bầu V2 = 0.40 + 1.41 + 1.42 = 20 bầu cho B, C  Phiếu bầu V3 = 0.40 + 1.41 + 1.42 = 20 bầu cho B, C Dễ dàng nhận thấy số dương nhỏ 3.40 + 3.41 + 3.42 = 63 có biểu diễn dạng a.40 + b.41 + c.42, với ≤ a, b, c ≤ Phép cộng ba số ứng với phiếu bầu bảo toàn qua phép cộng thành phần luỹ thừa tương ứng, tức phép cộng thành phần ba {(a, b, c)} Ví dụ 17 + 20 + 20 = 57 = (1.40 + 0.41 + 1.42) + (0.40 + 1.41 + 1.42) + (0.40 + 1.41 + 1.42) = 1.40 + 2.41 + 3.42 = 57 41 Do dựa tổng giá trị phiếu bầu cử tri để suy kết phiếu bầu cho ứng cử viên, tức ứng cử viên A phiếu, ứng cử viên B phiếu, ứng cử viên C phiếu  CT1 chọn giá trị ngẫu nhiên mù a1 = CT2 chọn giá trị ngẫu nhiên mù a2 = CT3 chọn giá trị ngẫu nhiên mù a3 =  CT1 công bố phiếu bầu mình: B1 = Ba1(V1) = hv1.ga1 = 417.22 mod 67 = 59  CT2 công bố phiếu bầu mình: B2 = Ba2(V2) = hv2.ga2 = 420.23 mod 67 = 48  CT3 công bố phiếu bầu mình: B3 = Ba3(V3) = hv3.ga3 = 420.24 mod 43 = 29 Phân bố phiếu bầu:  CT1 chọn đa thức bậc t = để phân phối phiếu bầu mình: R1(𝑋) = 17+ 𝑋 + 𝑋2 R1(1) = 19, R1(2) = 23, R1(3) = 29 S1(𝑋) = − 𝑋 + 𝑋2 S1(1) = 2, S1(2) = 4, S1(3) = CT1 tính toán: (u11, w11) = (R1(1), S1(1)) = (19, 2) (u21, w21) = (R1(2), S1(2)) = (23, 4) (u31, w31) = (R1(3), S1(3)) = (29, 8)  CT2 chọn đa thức bậc t = để phân phối phiếu bầu mình: R2(𝑋) = 20 – 𝑋 + 𝑋2 R2(1) = 20, R2(2) = 22, R2(3) = 26 S2(𝑋) = + 2𝑋 + 𝑋2 42 S2(1) = 6, S2(2) = 11, S2(3) = 18 CT2 tính toán: (u12, w12) = (R2(1), S2(1)) = (20, 6) (u22, w22) = (R2(2), S2(2)) = (22, 11) (u32,w32) = (R2(3), S2(3)) = (26, 18)  CT3 chọn đa thức bậc t = để phân phối phiếu bầu mình: R3(𝑋) = 20 + 2𝑋 − 2𝑋2 R3(1) = 20, R3(2) = 16, R3(3) = S3(𝑋) = + 𝑋 + 5𝑋2 S3(1) = 10, S3(2) = 26, S3(3) = 52 CT3 tính toán: (u13, w13) = (R3(1), S3(1)) = (20, 10) (u23, w23) = (R3(2), S3(2)) = (16, 26) (u33, w33) = (R3(3), S3(3)) = (8, 52)  CT1 phát hành cam kết cho đa thức R1(X) cách đăng công khai: B1 = Bs11(rl1) = hr11.gs11 = 41.2-1 = B21 = Bs21(r21) = hr21.gs21 = 4-1.22 =  CT2 phát hành cam kết cho đa thức R2(X) cách đăng công khai: B12 = Bs12(rl2) = hr12.gs12 = 41.21 = B22 = Bs22(r22) = hr22.gs22 = 41.21 =  CT3 phát hành cam kết cho đa thức R3(X) cách đăng công khai: B13 = Bs13(rl3) = hr13.gs13 = 42.21 = 32 B23 = Bs23(r23) = hr23.gs23 = 4-2.25 = Kiểm tra tính quán  Trung tâm i cần phải kiểm tra giá trị (ui,1, wi,1) nhận CT1 phù hợp với cam kết cử tri Điều thực cách kiểm 43 tra phương trình sau: Bj ∏ B l,ji l = hui,j g wi,j l=1 X tương ứng với j = kiểm tra với i = 1: 1 B1(B11) (B21) = 59.2.1 = 51 19 hu11gw11 = = Tương tự kiểm tra phiếu bầu khác Kiểm đếm Mỗi trung tâm I, II, III tính tổng mảnh phiếu bầu: m Ta có Ti = ∑ ui,j j=1 T1 = u11 + u12 + u13 = 19 + 20 + 20 = 59 T2 = u21 + u22 + u23 = 23+ 22+ 16 = 61 T3 = u31 + u32 + u33 = 29 + 26 + = 63 Cộng với việc đăng tải tổng chia sẻ yếu tố làm mù Ta có Ai = ∑m j=1 wi,j A1 = w11 + w12 + w13 = + + 12 = 26 A2 = w21 + w22 + w23 = 13+ 11+ 20 = 44 A1 = w31 + w32 + w33 = 20 + 18 + 34 = 63 Mỗi bên, trung tâm cử tri kiểm tra điều thực cách xác hay chưa, cách xác minh rằng: t m ∏(Bj ∏ B j=1 m l l,jj ) = ∏ hui,j hwi,j l=1 j=1 = hTi g Ai Bất kì bên tính toán giá trị kiểm đếm cuối cách lấy t giá trị Ti nội suy giá trị kiểm đếm cuối Dựa vào trung tâm I, II, III số trung tâm I, II, III, IV tính kết bầu cử, xem đa thức tổng có hệ số tự âm hay dương: 44 𝜆1 = 2/(2 − 1)*3/(3 − 1) = 3, 𝜆2 = 1/(1 − 2)*3/(3 − 2) = −3, 𝜆 = 1/(1 − 3)*2/(2 − 3) = Áp dụng cách tìm hệ số tự đa thức Laplace ta có, tổng số phiếu bầu là: V = 3.59 + (−3).61 + 1.63 = 57 Khi đó: V = 57 = 1.40 + 2.41 + 3.42 Tổng số phiếu bầu ứng viên A 1, ứng viên B ứng viên C Tóm tắt chương Trong chương đưa khái niệm bầu cử điện tử phương pháp bầu cử điện tử dựa mã đồng cấu thông qua bước: - Khởi tạo hệ thống: - Công bố phiếu - Phân phối phiếu: - Kiểm tra tính quán - Kiểm đếm Sau đưa số ví dụ cụ thể trường hợp cử tri bầu cho ứng viên trường hợp bầu cho số ứng viên tùy ý 45 KẾT LUẬN Luận văn với đề tài “Nghiên cứu hệ thống bầu cử điện tử dựa mã đồng cấu” thực với mục tiêu tạo hệ thống bầu cử điện tử an toàn, tiện lợi, độ xác cao ứng dụng rộng rãi nhiều hệ thống Nó cho phép tổ chức bầu cử trở nên gọn nhẹ linh hoạt (có thể bầu cử nhiều nơi khác cần có thiết bị điện tử kết nối internet), đảm bảo tính bảo mật cao kết nhanh, xác, tránh thủ tục cồng kềnh, rườm rà độ bảo mật kém phương pháp bỏ phiếu giấy truyền thống giảm thiểu chi phí, thời gian, giảm thiểu rủi ro cho tập đoàn, công ty cá nhân người bỏ phiếu Cuối lần xin chân thành cảm ơn thầy cô giảng dạy chuyên ngành Toán Ứng Dụng, thầy cô phòng sau đại học trường Đại học sư phạm Hà Nội Tôi xin chân thành cảm ơn thầy TS Trần Văn Dũng tận tình hướng dẫn hoàn thành luận văn Tôi xin bày tỏ cảm ơn đóng góp thầy cô giúp luận văn hoàn chỉnh 46 DANH MỤC 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 [2] Dương Anh Đức (2008), Mã hóa ứng dụng, NXB Đại Học Quốc Gia TP HCM [3] Hà Huy Khoái (2003), Số học thuật toán, NXB Đại Học Quốc Gia Hà Nội [4] Trịnh Nhật Tiến (2000), Giáo trình an toàn liệu, Đại Học Công Nghệ, Đại học quốc gia Hà Nội [5] Trịnh Nhật Tiến, Trương Thị Thu Hiền (2005), “Về quy trình bỏ phiếu từ xa”, Tạp chí khoa học ĐHQGHN, KHTN&CN (số 2PT) Tài liệu Tiếng Anh: [6] Craig Stuntz (2010-03-18), What is Homomorphic Encryption, and Why Should I Care? [7] Cyber Voter, Report on Review of Cryptographic Protocols and Security Techniques for Electronic Voting, 2002 [8] Kyle MacNamara, Ievgeniia Iedemska (2012), A Survey of Electronic Voting Schemes [9] Ivan Damgard, Jens Groth and Gorm Salomonsen (2003), The theory and implenmentation of an Electronic Voting System [10] Josh Cohen Benaloh (1987) , Secret Sharing Homomorphisms [11] Zuzana Rjaskova (2002), Electronic Voting Schemes Tài liệu trang web: [12] http://www.lexadin.nl/wlg/legis/nofr/eur/lxwened.htm 47

Ngày đăng: 05/09/2016, 15:22

Từ khóa liên quan

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

Tài liệu liên quan