Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
1,47 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT&TT THÁI NGUYÊN NGUYỄN HẢI TRƢỜNG NGHIÊN CỨU KẾT HỢP SƠ ĐỒ CHIA SẺ BÍ MẬT SHAMIR VÀ HỆ MÃ HĨA ELGAMAL, ỨNG DỤNG TRONG BỎ PHIẾU ĐIỆN TỬ LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH THÁI NGUN, 2014 Số hóa Trung tâm Học liệu Tai ngay!!! Ban co the xoa dong chu nay!!! http://www.lrc-tnu.edu.vn/ ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CNTT&TT THÁI NGUYÊN NGUYỄN HẢI TRƢỜNG NGHIÊN CỨU KẾT HỢP SƠ ĐỒ CHIA SẺ BÍ MẬT SHAMIR VÀ HỆ MÃ HÓA ELGAMAL, ỨNG DỤNG TRONG BỎ PHIẾU ĐIỆN TỬ Chuyên ngành: Khoa học máy tính Mã số: 60 48 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 VŨ MẠNH XUÂN THÁI NGUYÊN, 2014 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ i LỜI CAM ĐOAN Tên là: Nguyễn Hải Trƣờng Sinh ngày: 05/11/1980 Học viên lớp cao học CHK11G - Trƣờng Đại học Công nghệ thông tin Truyền thông – Đại học Thái Nguyên Hiện công tác tại: Trƣờng THPT Ỷ La Xin cam đoan: Đề tài “Nghiên cứu kết hợp sơ đồ chia sẻ bí mật Shamir hệ mã hóa Elgamal, ứng dụng bỏ phiếu điện tử” Thầy giáo TS Vũ Mạnh Xuân hƣớng dẫn cơng trình nghiên cứu riêng tơi Tất tài liệu tham khảo có nguồn gốc, xuất xứ rõ ràng Tác giả xin cam đoan tất nội dung luận văn nhƣ nội dung đề cƣơng yêu cầu thầy giáo hƣớng dẫn Nếu sai tơi hồn tồn chịu trách nhiệm trƣớc hội đồng khoa học trƣớc pháp luật Thái Nguyên, ngày tháng năm 2014 TÁC GIẢ LUẬN VĂN Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ii LỜI CẢM ƠN Sau sáu tháng nghiên cứu làm việc nghiêm túc, đƣợc động viên, giúp đỡ hƣớng dẫn tận tình Thầy giáo hƣớng dẫn TS Vũ Mạnh Xuân, luận văn với đề tài “Nghiên cứu kết hợp sơ đồ chia sẻ bí mật Shamir hệ mã hóa Elgamal, ứng dụng bỏ phiếu điện tử” hoàn thành Tơi xin bày tỏ lịng biết ơn sâu sắc đến: Thầy giáo hƣớng dẫn TS Vũ Mạnh Xuân tận tình dẫn, giúp đỡ tơi hồn thành luận văn Trƣờng THPT Ỷ La tạo điều kiện mặt thời gian giúp yên tâm học tập Khoa sau Đại học Trƣờng Đại học công nghệ thông tin truyền thơng giúp đỡ tơi q trình học tập nhƣ thực luận văn Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp gia đình động viên, khích lệ, tạo điều kiện giúp đỡ tơi suốt q trình học tập, thực hoàn thành luận văn TÁC GIẢ LUẬN VĂN Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii DANH MỤC HÌNH VẼ iii DANH MỤC BẢNG BIỂU v MỞ ĐẦU CHƢƠNG BỎ PHIẾU ĐIỆN TỬ 1.1 Tổng quan bỏ phiếu điện tử 1.1.1 Khái niệm bỏ phiếu 1.1.2 Khái niệm bỏ phiếu điện tử 1.1.3 Các thành phần hệ thống bỏ phiếu điện tử 1.1.4 Các giai đoạn bỏ phiếu điện tử 1.2 Mật mã bỏ phiếu điện tử 1.2.1 Kiểm tra tổng phiếu bầu thay kiểm tra phiếu 1.2.2 Mật mã ngƣỡng giúp đạt tính phân quyền kiểm phiếu 1.2.3 Mã hóa xác suất giúp giữ vững tính ẩn danh phiếu bầu 1.2.4 Chứng minh tƣơng tác để chống việc bán phiếu bầu 10 Kết luận chƣơng 11 CHƢƠNG CƠ SỞ LÝ THUYẾT 13 2.1 Tổng quan an toàn bảo mật thông tin 13 2.1.1 Sự cần thiết bảo đảm an tồn thơng tin 13 2.1.2 Khái niệm an tồn thơng tin 13 2.1.3 Các phƣơng pháp bảo vệ thông tin 15 2.1.4 An tồn thơng tin mật mã 16 2.1.5 Vai trò hệ mật mã 17 2.1.6 Phân loại hệ mật mã 18 2.1.7 Tiêu chuẩn đánh giá hệ mật mã 19 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 2.2 Cơ sở toán học mật mã 19 2.2.1 Nhóm , vành khơng gian Zp 19 2.2.2 Bài toán logarit rời rạc 20 2.3 Mã hóa 21 2.3.1 Mã hóa liệu 21 2.3.2 Phân loại 24 2.3.3 Ƣu khuyết điểm hai phƣơng pháp 28 Kết luận chƣơng 29 CHƢƠNG ỨNG DỤNG HỆ MẬT ELGAMAL SƠ ĐỒ CHIA SẺ BÍ MẬT TRONG BỎ PHIẾU ĐIỆN TỬ 30 3.1 Hệ mật mã khóa cơng khai 30 3.1.1 Tổng quan hệ mật mã khóa cơng khai 30 3.1.2 Hệ mật Elgamal 31 3.2 Chia sẻ khóa bí mật 33 3.2.1 Kỹ thuật Chia sẻ khóa bí mật (Secret Sharing) 33 3.2.2 Các sơ đồ chia sẻ bí mật: 34 3.3 Ứng dụng hệ mã hóa đồng cấu Elgamal sơ đồ chia sẻ bí mật Shamir số toán bỏ phiếu điện tử 38 3.3.1 Ứng dụng hệ mã hóa Elgamal cho bỏ phiếu đồng ý /không đồng ý 38 3.3.2 Sơ đồ chia sẻ bí mật Shamir kết hợp với hệ mã hóa Elgamal cho tốn loại bỏ phiếu chọn L K 40 3.4 Khảo sát thực trạng Văn phòng UBND Tỉnh Tuyên Quang 44 3.4.1 Giới thiệu chung Văn phòng UNND Tỉnh Tuyên Quang 44 3.4.2 Thực trạng bỏ phiếu/bầu cử VP UBND Tỉnh 46 3.4.3 Một số mẫu biểu liên quan 46 3.5 Xây dựng chƣơng trình bỏ phiếu điện tử 50 3.5.1 Khảo sát thực trạng phát biểu toán 50 3.5.2 Chƣơng trình demo 51 3.5.3 Một số kết đạt đƣợc 54 Kết luận chƣơng 59 KẾT LUẬN 61 TÀI LIỆU THAM KHẢO 62 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ iv DANH MỤC HÌNH VẼ Hình 2.1 Mã hố với khố mã khố giải giống 18 Hình 2.2 Quy trình mã hóa liệu 22 Hình 2.3 Sơ đồ mã hóa giải mã 23 Hình 2.4 Sơ đồ mã hóa giải mã khóa riêng 25 Hình 2.5 Sơ đồ mã hóa giải mã khóa cơng khai 26 Hình 3.1 Sơ đồ mã hóa cơng khai 30 Hình 3.2 Sơ đồ bỏ phiếu đồng ý/ không đồng ý 39 Hình 3.3 Sơ đồ bỏ phiếu chọn L K 42 Hình 3.4 Sơ đồ tổ chức Văn phòng UBND Tỉnh Tuyên Quang 45 Hình 3.5 Thủ tục qui trình bầu cử hội đồng nhân dân cấp tỉnh 49 Hình 3.6 Mẫu danh sách cử tri 50 Hình 3.7 Giao diện chƣơng trình 55 Hình 3.8 Giao diện chƣơng trình bỏ phiếu có/khơng đồng ý 56 Hình 3.9 Giao diện chƣơng trình bỏ phiếu chọn L K 58 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ v DANH MỤC BẢNG BIỂU Bảng 2.1 Các ƣu khuyết điểm hệ thống khóa bí mật (khóa đối xứng) 28 Bảng 2.2 Các ƣu khuyết điểm hệ thống mã hóa khóa cơng khai 28 Bảng 3.1 Một số ví dụ mã hóa giải mã 32 Bảng 3.2 Các file để minh họa Bài tốn bỏ phiếu có/khơng đồng ý 52 Bảng 3.3 Các file để minh họa Bài toán bỏ phiếu “chọn L K” 54 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ MỞ ĐẦU Tính khoa học cấp thiết đề tài Trong năm gần đây, phát triển, hội tụ tƣơng tác xu công nghệ mở nhiều hội phát triển cho Chính phủ điện tử Một phƣơng diện đánh dấu phát triển Chính phủ điện tử đƣợc kiểm chứng số nƣớc phƣơng Tây bỏ phiếu điện tử Phƣơng thức bỏ phiếu truyền thống 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ý bị hạn chế việc thực đƣợc quyền bỏ phiếu mình; tính độc lập, cá nhân quyền riêng tƣ cử tri bị ảnh hƣởng lớn; tính minh bạch, niềm tin vào số lần bỏ phiếu cử tri; việc đảm bảo an ninh cho bầu cử, tính minh bạch kết bầu cử, tham gia thái độ tham gia cử tri trẻ bầu cử; tính an ninh phiếu q trình vận chuyển kiểm 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ự tay bỏ phiếu cho dù họ đâu, làm Hơn nữa, cịn đảm bảo đƣợc tính cá nhân quyền riêng tƣ phiếu mình, đảm bảo an ninh khơng q trình vận chuyển “thủ cơng” hịm phiếu từ nhiều địa điểm khác mà đƣợc lƣu trữ vào hệ thống sở liệu Thay đào tạo đội ngũ cán khổng lồ để phục vụ cho công tác bầu cử, việc bỏ phiếu điện tử giản tiện tới mức tối đa nhân lực Và điều đặc biệt, hình thức bỏ phiếu đáp ứng nhu cầu bầu cử theo cách ngƣời trẻ bầu cử trực tuyến, bầu cử qua điện thoại bầu cử thông qua Facebook, Twiter, Youtube… Thông qua hệ thống Interner thiết bị thơng minh, phủ dễ dàng kết nối tất q trình trƣớc, sau bầu cử nhanh, gọn, nhẹ; thu hút đƣợc đông đảo cử tri không phân biệt đối tƣợng, vị trí địa lý Điều chắn giảm bớt sức nặng tối đa cho bầu cử mang lại thành cơng cho Qua thấy đƣợc tính ƣu việt hình thức bỏ phiếu điện tử Với phủ, bỏ phiếu điện tử bƣớc cụ thể hóa phủ điện tử đƣợc đánh giá giải pháp hữu hiệu cho việc bầu cử quốc gia Trên giới, khái niệm bỏ phiếu điện tử (e-voting) khơng cịn xa lạ nƣớc phát triển, Bắc Mỹ Châu Âu Tại Châu Á, có ba nƣớc thử nghiệm hệ thống bầu cử điện tử, Hàn Quốc, Nhật Bản Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Ấn Độ, nƣớc có trình độ cơng nghệ phát triển cao Tuy nhiên bầu cử điện tử ba nƣớc chƣa đƣợc xem thực thành công kết thu đƣợc từ phiếu điện tử nhiều nghi vấn Vấn đề lớn tính bảo mật tồn hệ thống Tại Việt Nam bỏ phiếu điện tử dừng mục đích bầu chọn, bình chọn (bầu chọn Vịnh Hạ Long di sản Thiên nhiên giới, bình chọn hát hay sóng truyền hình ) song chƣa thể triển khai vào bầu cử Quốc hội nhiều hạn chế (vấn đề ngân sách, giáo dục ý thức cho ngƣời dân, trình phổ biến, huấn luyện phƣơng thức thực cho cấp, phận liên quan ) Đây rõ ràng khoảng trống lớn, việc kinh phí lắp đặt hệ thống máy bầu cử hay trở ngại khoảng cách vùng miền Để hoạt động bỏ phiếu hay bỏ phiếu phát huy tác dụng cần đảm bảo hai yêu cầu tính kiểm tra tính tự lựa chọn [1], [2], [9] Điều đƣợc thực nhờ mật mã Ngƣời đặt móng cho việc xây dựng hệ bỏ phiếu tích hợp phƣơng pháp mật mã Chaum vào năm 1981 [3] Kể từ đến nay, cơng trình cơng bố giới tập trung vào xây dựng ba mơ hình bỏ phiếu là: mơ hình xáo trộn phiếu [3], mơ hình chữ ký mù [4] mơ hình sử dụng mã hóa đồng cấu [6],[7],[9] Trong đó, tính ƣu việt giải vấn đề tính kiểm tra đƣợc tính tự lựa chọn mà gần đây, mơ hình mã hóa đồng cấu đƣợc tập nghiên cứu nhiều Hiện Việt Nam, cơng trình nhƣ [1], [2] dừng lại việc đề xuất áp dụng mơ hình bỏ phiếu mà chƣa thực triển khai ứng dụng cụ thể Chính vậy, đƣợc hƣớng dẫn Thầy giáo, TS Vũ Mạnh Xuân, tác giả lựa chọn đề tài luận văn tốt nghiệp “Nghiên cứu kết hợp sơ đồ chia sẻ bí mật Shamir hệ mã hóa Elgamal, ứng dụng bỏ phiếu điện tử” với mong muốn áp dụng kiến thức đƣợc học, xây dựng thử nghiệm mơ hình bỏ phiếu điện tử văn phòng ủy ban nhân dân tỉnh Tuyên Quang Mục tiêu, đối tƣợng phạm vi nghiên cứu đề tài Qua việc phân tích, khảo sát đánh giá thực trạng bỏ phiếu điện tử Việt Nam nhƣ giới, kết hợp với nghiên cứu kỹ thuật, phƣơng pháp, thuật tốn mã hóa, mục tiêu luận văn đƣợc xác định là: Ứng dụng tính chất đồng cấu hệ mã hóa khóa cơng khai Elgamal kỹ thuật chia sẻ khóa bí mật để giải hai tốn Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 48 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 49 Hình 3.5 Thủ tục qui trình bầu cử hội đồng nhân dân cấp tỉnh Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 50 Mẫu danh sách cử tri Hình 3.6 Mẫu danh sách cử tri 3.5 Xây dựng chƣơng trình bỏ phiếu điện tử 3.5.1 Khảo sát thực trạng phát biểu toán 3.5.1.1 Bỏ phiếu dạng có/khơng Qua khảo sát thực tế UBND Tỉnh Tun Quang, thấy hầu hết hội nghị, họp, buổi báo cáo tổng kết… cần lấy ý kiến đánh giá đại biểu vấn đề thơng qua hình thức biểu giơ tay (đồng ý / không đồng ý) Tuy nhiên với phát triển khoa học kỹ thuật, nhu cầu trao đổi thơng tin nhanh chóng tiết kiệm hình thức họp trực tuyến đƣợc áp dụng vào họp giao ban hành tuần/tháng/quý lãnh đạo Tỉnh với Huyện, Thành Phố, cịn có họp trực tuyến lãnh đạo Tỉnh với Bộ ban ngành khác Trong hình thức họp trực tuyến, cần lấy biểu vấn đề biểu giơ tay khơng hiệu thiếu tính khách quan (do camera đặt cố định, không bao quát hết thành viên tham gia họp), bên cạnh yêu cầu muốn Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 51 ẩn danh ý kiến biểu đại biểu (đại biểu khơng muốn ban kiểm phiếu biết đƣợc biểu đồng ý hay không đồng ý, ban kiểm phiếu biết đƣợc tổng số phiếu nhƣng đƣợc nội dung phiếu) Từ yêu cầu thực tế đó, luận văn đƣa phƣơng án giải dựa tính chất đồng cầu hệ mã Elgamal (nội dung chi tiết thuật toán trình bày mục 3.1.2) Theo phƣơng pháp nội dung phiếu đƣợc mã hóa gửi ban kiểm phiếu, ban kiểm phiếu đƣợc nội dung phiếu nhƣng xác minh đƣợc nguồn gốc phiếu, ban kiểm phiếu tính đƣợc kết bỏ phiếu từ phiếu đƣợc mã hóa 3.5.1.2 Bỏ phiếu dạng chọn L K Trong bỏ phiếu bầu cử hội đồng nhân dân cấp tỉnh khóa XII, có 168 ứng cử viên đƣợc chọn 24 tổ bầu cử, tổ bầu cử có ứng cử viên chọn đại biểu hội đồng nhân dân: N1, N2,… N3 Ban kiểm phiếu gồm có ngƣời bên gồm đại điện tổ bầu cử cử tri đƣợc chọn ngẫu nhiên bất kỳ: A1, A2, A3 Theo luật bầu cử thể lệ bầu cử kết bầu cử đƣợc cơng nhận có 2/3 số cử tri bầu cử, nhiên khơng phải lúc cử tri có điều kiện đến trực tiếp để bầu cử có khơng cử tri đến tận nơi để bầu cử Do vậy, để giải vấn đề này, sử dụng phƣơng án bầu cử điện tử Các cử tri gửi phiếu tới ban kiểm phiếu thông qua mạng Internet Đây bỏ phiếu chọn ngƣời, giả sử cử tri không tin vào độ trung thực thành viên ban kiểm phiếu, để giải vấn đề họ chia phiếu thành mảnh tin gửi cho ngƣời kiểm phiếu mảnh Ban kiểm phiếu biết nội dung phiếu có đủ thành viên ban kiểm phiếu ghép mảnh phiếu lại với Nội dung phiếu đƣợc chia thành nhiều mảnh tin, mảnh lại đƣợc mã hóa – mảnh mã trƣớc gửi ban kiểm phiếu Từ u cầu tốn qua nghiên cứu tìm hiểu, luận văn sử dụng sơ đồ chia sẻ bí mật Shamir để chia nhỏ phiếu, phối hợp với tính chất đồng cấu hệ mật Elgamal để khơi phục lại phiếu ban đầu có đủ mảnh mã (nội dung chi tiết thuật tốn trình bày mục 3.3) 3.5.2 Chương trình demo 3.5.2.1 Cấu trúc chương trình Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 52 Trong phần này, luận văn trình bày cách thức xây dựng sử dụng chƣơng trình Demo nhằm kiểm chứng tính đắn tốn kết hợp sơ đồ chia sẻ bí mật Shamir hệ mã hóa Elgamal - ứng dụng bỏ phiếu điện tử tỉnh Tuyên Quang Trên thực tế, để thiết kế đƣợc chƣơng trình hồn chỉnh, ngồi modul mã hóa giải mã cần nhiều modul hỗ trợ khác nhƣ: xác thực quyền bầu cử cử tri, phân bổ khóa, xác định tính hợp lệ phiếu bầu…Tuy nhiên, giới hạn mặt thời gian nghiên cứu nên luận văn tập trung vào làm rõ việc sử dụng thuật tốn mã hóa Elgamal mã hóa lựa chọn cử tri nhằm đảm bảo tính tự lựa chọn sử dụng sơ đồ chia sẻ bí mật Shamir nhằm đảm bảo tính kiểm tra minh bạch bầu cử Chƣơng trình Demo đƣợc xây dựng phần mềm Matlab 2012a Cấu trúc chƣơng trình cụ thể nhƣ sau: Chƣơng trình chính; Nhóm thủ tục cho Bài tốn bỏ phiếu có/khơng đồng ý; Nhóm thủ tục cho Bài tốn bỏ phiếu chọn L K 3.5.2.2 Chương trình Gồm file main.fig để tạo giao diện sử dụng file main.m cho việc thực thi thủ tục gọi hai toán bỏ phiếu: Bài toán bỏ phiếu có/khơng đồng ý, Bài tốn bỏ phiếu “chọn L K” 3.5.2.3 Nhóm thủ tục cho Bài tốn bỏ phiếu có/khơng đồng ý Gồm số file với mục đích cụ thể đƣợc mơ tả Bảng 3.2 Bảng 3.2 Các file để minh họa Bài tốn bỏ phiếu có/khơng đồng ý Mục đích Tên File bophieucokhong.fig Tạo giao diện GUI Matlab thuận tiện cho việc sử dụng bophieucokhong.m Tiến hành thủ tục ngƣời dùng thao tác giao diện GUI chƣơng trình bỏ phiếu có/khơng đồng ý phieubauck.m Tạo ngẫu nhiên n phiếu hợp lệbầu đại diện cho lựa chọn n cử tri guiphieuck.m Mã hóa phiếu bầu theo thuật tốn mã hóa Elgamal Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 53 kiemphieuck.m Giải mã phiếu bầu đƣa kết theo dựa tính chất đồng cấu thuật tốn mã hóa Elgamal Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 54 3.5.2.4 Nhóm thủ tục cho Bài toán bỏ phiếu chọn L K Gồm số file với mục đích cụ thể đƣợc mơ tả Bảng 3.3 Bảng 3.3 Các file để minh họa Bài tốn bỏ phiếu “chọn L K” Mục đích Tên File bophieuL_K.fig Tạo giao diện GUI Matlab thuận tiện cho việc sử dụng Tiến hành thủ tục ngƣời dùng thao tác giao diện GUI bophieuL_K.m chƣơng trình bỏ phiếu “chọn L K” khoitaolk.m Tạo khóa bí mật cơng khai theo thuật tốn mã hóa Elgamal Tạo ngẫu nhiên phiếu bầu hợp lệ (gồm L bít đại diện cho manglk.m lựa chọn đồng ý L ứng viên tƣơng ứng với L K vị trí) Tạo ngẫu nhiên n phiếu bầu hợp lệ đại diện cho lựa chọn n taophieulk.m cử tri Mã hóa phiếu bầu theo thuật tốn mã hóa Elgamal Ứng với guiphieulk.m phiếu, tính tốn N mảnh phiếu chia sẻ bí mật Shamir để gửi cho N thành viên ban kiểm phiếu Các thành viên ban kiểm phiếu ghép mảnh phiếu theo thuật toán chia sẻ bí mật Shamir, giải mã phiếu bầu đƣa kết ketqualk.m theo dựa tính chất đồng cấu thuật tốn mã hóa Elgamal Sắp xếp hiển thị thứ tự trúng cử L K ứng viên 3.5.3 Một số kết đạt 3.5.3.1 Chương trình Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 55 Chạy file main.m ta đƣợc giao diện nhƣ Hình 3.7 Trên giao diện này, để tiến hành phân tích tốn bỏ phiếu có/khơng đồng ý ta click chuột vào nút Bỏ phiếu dạng Có/Khơng Để phân tích toán bỏ phiếu “chọn L K” ta click chuột vào nút Bỏ phiếu dạng chọn L K Hình 3.7 3.5.3.2 Giao diện chương trình Chương trình bỏ phiếu có/khơng đồng ý Trên giao diện chƣơng trình chính, click chuột vào nút Bỏ phiếu dạng Có/Khơng chạy chƣơng trình bophieucokhong.m ta đƣợc giao diện nhƣ Hình 3.8 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 56 Hình 3.8 Giao diện chương trình bỏ phiếu có/khơng đồng ý Bƣớc Khởi tạo khóa bí mật cơng khai Từ giao diện chƣơng trình, ta nhập giá trị phần tử sinh g nhƣ khóa bí mật a Sau click vào nút khởi tạo, khóa cơng khai h đƣợc tính theo cơng thức h g a Ví dụ chọn g , a ta đƣợc h 243 Bƣớc Bỏ phiếu Trên giao diện chƣơng trình, ta nhập giá trị số cử tri n click vào nút bỏ phiếu, chƣơng trình phieubauck.m đƣợc gọi cho ta kết bầu cử n phiếu với bít đại diện cho đồng ý đại diện cho lựa chọn không đồng ý Cụ thể ví dụ trên, chọn n=15, kết ngẫu nhiên đƣợc tạo nhƣ sau: V= [1 1 0 1 1 1] Bƣớc Gửi phiếu Khi click vào nút gửi phiếu , chƣơng trình guiphieuck.m tạo n giá trị k ngẫu nhiên ứng với n cử tri Từ giá trị ngẫu nhiên tiến hành mã hóa lựa chọn cử tri theo thuật tốn mã hóa Elgamal Tƣơng ứng với lựa chọn T Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 57 cử tri (0 1), cặp mã ( x, y ) ( g k , h k g T ) đƣợc gửi đến ban kiểm phiếu Trong ví dụ này, K=[ 10 7 2], ban kiểm phiếu nhân đƣợc kết sau: Phiếu = (3^8,243^8*3^1); (3^8,243^8*3^1); (3^1,243^1*3^1); (3^10,243^10*3^1); (3^9,243^9*3^1); (3^4,243^4*3^1); (3^7,243^7*3^0); (3^7,243^7*3^1); (3^9,243^9*3^0) (3^0,243^0*3^0) (3^8,243^8*3^0) (3^7,243^7*3^1); (3^4,243^4*3^1); (3^7,243^7*3^0); (3^2,243^2*3^1) Phiếu= (3,729); (81,10460353203) (6561,36472996377170788000) (2187,50031545098999704) (1,1) (19683,2954312706550833600000) (59049,2153693963075557700000000) (6561,36472996377170788000) (19683,8862938119652501400000) (2187,150094635296999100) (6561,12157665459056929000) (2187,150094635296999100) (2187,50031545098999704) (9,177147) (81,10460353203) Bƣớc Kiểm phiếu Khi click vào nút kiểm tra , thay giải mã cặp phiếu chƣơng trình kiemphieuck.m dựa tính chất đồng cấu thuật tốn mã hóa Elgamal để tính giá trị (X,Y) từ n cặp (x,y)nhận đƣợc, sau giải mã giá trị m g kq (với kq tổng số phiếu đồng ý) Với ví dụ ta có X= 26183890704263137000000000000000000000000000 Y=7267473295882058100000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000 m= 59049=310 Kết giải mã 10 cử tri đồng ý cử tri không đồng ý Nhận xét: Chƣơng trình đƣợc thử nghiệm chƣơng trình guiphieuck.m tạo n giá trị k ngẫu nhiên nằm khoảng từ đến 10 Kết phép tính X, Y cuối bị tràn số Vì khơng thể áp dụng trƣờng hợp số cử tri lớn (vài ngàn ngƣời) Trong trƣờng hợp luận văn đề xuất tạo giá trị k ngẫu nhiên nằm [0,1] Chƣơng trình đƣợc kiểm thử với n=1200và cho kết sau 10s Qua cho thấy ngồi tính bảo mật kết quả, bỏ phiếu điện tử chứng tỏ đƣợc ƣu việt thời gian sơ với bỏ phiếu truyền thống 3.5.3.3 Chương trình bỏ phiếu chọn L K Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 58 Trên giao diện chƣơng trình chính, click chuột vào nút Bỏ phiếu dạng chọn L/K chạy chƣơng trình bophieuL_K.m ta đƣợc giao diện nhƣ Hình 3.9 Hình 3.9 Giao diện chương trình bỏ phiếu chọn L K Bƣớc Khởi tạo khóa bí mật cơng khai Từ giao diện chƣơng trình, ta nhập giá trị modul p, phần tử sinh g, số ứng viên K, số ứng viên đƣợc lựa chọn L số thành viên ban kiểm phiếu N Sau click vào nút khởi tạo, khóa bí mật thành viên Zi đƣợc tạo Tƣơng ứng khóa cơng khai hi đƣợc tính theo cơng thức hi L 5, N g Zi Ví dụ chọn p 23 , g , K , Zi=[ 2 4] ta đƣợc hi=[ 9 27 81] Bƣớc Bỏ phiếu Trên giao diện chƣơng trình, ta nhập giá trị số cử tri n click vào nút bỏ phiếu, chƣơng trình taophieulk.m đƣợc gọi cho ta kết bầu cử n phiếu hợp lệ (có L bit K-L bit 0) với bít đại diện cho đồng ý đại diện cho lựa chọn không đồng ý Cụ thể ví dụ trên, chọn n=10, kết ngẫu nhiên đƣợc tạo nhƣ sau: V= [0 1 1 1, 1 1 1, 1 1 1, 1 1 0 1 1 0, 1 1 1, 1 1 0, 1 1 0, 1 1 1, 1 0 1] Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 59 Bƣớc Gửi phiếu Khi click vào nút gửi phiếu , chƣơng trình guiphieulk.m tạo n phiếu bầu hợp lệ ngẫu nhiên tƣơng ứng với n cử tri Từ giá trị ngẫu nhiên tiến hành mã hóa lựa chọn cử tri theo thuật toán mã hóa Elgamal, dùng thuật tốn chia sẻ bí mật Shamir tạo N mảnh ứng với phiếu để gửi cho N thành viên ban kiểm phiếu Trong ví dụ trên, mảnh phiếu đƣợc tạo là: 412 1743 5466 13453 406 1737 5460 13447 400 1731 5454 13441 364 1695 5418 13405 364 1695 5418 13405 S= 382 1713 5436 13423 364 1695 5418 13405 376 1707 5430 13417 382 1713 5436 13423 388 1719 5442 13429 Bƣớc Kiểm phiếu Khi click vào nút kiểm phiếu , thay giải mã cặp phiếu chƣơng trình ketqualk.m dựa tính chất đồng cấu thuật tốn mã hóa Elgamal thuật tốn chia sẻ bí mật Shamir để ghép mảnh phiếu giải mã số lƣợng cử tri lựa chọn ứng viên Tiếp đó, xếp thứ tự ứng viên theo thứ tự số phiếu giảm dần để có sở chọn L K ứng viên trúng tuyển Với ví dụ ta có mảnh phiếu đƣợc ghép lại Sghép= [129 123 117 81 81 99 81 93 99 105] Sau giải mã thu đƣợc kết quả: [UV(1) UV(2) UV(3) … UV(7) ]= [8 10 6] Vậy kết bầu cử là: Kq= (UV[3],10) (UV[2],9) (UV[1],8) (UV[5],7) (UV[7],6) (UV[4],5) (UV[6],5) Theo kết trên, K=7 ứng viên, số ứng viên trúng tuyển L=5 (ứng viên thứ 3, 2, 1, 5, 7) Ứng viên thứ 4, bị loại Kết luận chƣơng Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 60 Nhƣ giới thiệu phần trƣớc, mục tiêu luận văn xây dựng thử nghiệm chƣơng trình bỏ phiếu điện tử UBND tỉnh Tuyên Quang Để đảm bảo hai yếu tố cốt lõi vấn đề bỏ phiếu là: tính kiểm tra đƣợc tính tự lựa chọn, luận văn sử dụng hệ mật Elgamal kết hợp với kỹ thuật chia sẻ khóa bí mật Shamir Sử dụng hệ mật Elgamal với tính chất đồng cấu cho phép kiểm tra kết tổng phiếu thay cho việc kiểm tra đơn lẻ tốn bầu cử có khơng Kỹ thuật chia sẻ khóa bí mật Shamir tạo phân quyền ban kiểm phiếu để chống gian lận tốn bỏ phiếu chọn L K Chƣơng trình thử nghiệm cho thấy kết với lý thuyết mang lại ƣu vƣợt trội mặt thời gian nhƣ khắc phục đƣợc “lỗi ngƣời” so với bỏ phiếu thông thƣờng, đặc biệt số lƣợng cử tri lớn Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 61 KẾT LUẬN Sau thời gian nghiên cứu tìm hiểu, luận văn đạt đƣợc số kết nhƣ sau: - Tìm hiểu tổng quan bỏ phiếu điện tử toán bỏ phiếu điện tử - Trình bày sở lý thuyết an tồn bảo mật thơng tin, sở tốn học phƣơng pháp mã hóa - Nghiên cứu tính chất đặc biệt sơ đồ chia sẻ bí mật Shamir tính chất đồng cấu hệ mã hố Elgamal, đặc biệt tính chất sinh phối hợp hai hệ mật mã - Chỉ đƣợc ứng dụng tính chất bỏ phiếu hay thăm dò từ xa mạng công khai (bỏ phiếu điện tử) - Khảo sát thực trạng bỏ phiếu UBND Tỉnh Tuyên Quang, từ phát biểu tốn đƣa phƣơng án giải tốn - Xây dựng chƣơng trình demo hƣớng dẫn sử dụng cho toán bỏ phiếu dạng Có / khơng đồng ý tốn chọn L K Để đề tài có khả áp dụng vào thực tiễn cần phải thêm số thủ tục bổ trợ nhƣ: xác thực quyền bầu cử cử tri, phân bổ khóa, xác định tính hợp lệ phiếu bầu…Đây hƣớng phất triển đề tài Tôi xin chân thành cảm ơn giúp đỡ Thầy giáo TS Vũ Mạnh Xuân cô UBND Tỉnh Tuyên Quang giúp đỡ hồn thành luận văn Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 62 TÀI LIỆU THAM KHẢO Tiếng việt: [1] Trịnh Nhật Tiến, Đặng Thu Hiền, Trƣơng Thị Thu Hiền, Lƣơng Việt Nguyên, Mã hóa đồng cấu ứng dụng, Tạp chí Khoa học ĐHQGHN, Khoa học Tự nhiên Công nghệ 26 (2010) 44-48 [2] Phan Đình Diệu, Giáo trình lý thuyết mật mã an tồn thơng tin, Nhà xuất Đại học Quốc gia Hà Nội, 1999 Tiếng Anh: [3] D Chaum, Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms, Communications of the ACM 24(2), 1981, pp 84-88 [4] D Chaum, Blind Signatures for Untraceable Payments, CRYPTO '82, Plenum Press, 1982,199{203 [5] J Benaloh and D Tuinstra Receipt-free secret-ballot elections In STOC ’94, pages 544–553, 1994 [6] S Goldwasser, S Micali and C Rackoff The knowledge complexity of interactive proof systems In STOC ’85, pages 291-304 [7] Taher ElGamal "A Public-Key Cryptosystem and a Signature Schem Based on Discrete Logarithms" IEEE Transactions on Information Theory 31 (4): 469–472, 1984 [8] W Diffie and M E Hellman, "New Directions in Cryptography," IEEE Trans on Info Theory, Vol IT-22, Nov 1976, pp 644-654 (Invited Paper) [9] R Rivest, A Shamir, L Adleman A Method for Obtaining Digital Signatures and Public-Key Cryptosystems Communications of the ACM, Vol 21 (2), pp 120–126 1978 [10] Zuzana Rjaskova, Electronic Voting Schemes, 2002 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/