Mã hóa đồng cấu trong bỏ phiếu bầu cử



Link download báo cáo và chương trình Demo:

      http://www.mediafire.com/?27ed16vdgbrtht3

     
     Tài khoản admin:
                TK: admin
                MK: buithedo
     

Ứng dụng hệ mã hóa đồng cấu Elgamal cho loại bỏ phiếu có/ không

a)    Bài toán

Cần lấy ý kiến về một việc nào đó, cử tri phải ghi vào lá phiếu: đồng ý (1) hay không đồng ý (0). Nội dung lá phiếu được mã hoá và gửi về Ban kiểm phiếu. Vấn đề là Ban kiểm phiếu tính kết quả bỏ phiếu như thế nào, trong khi không biết nội dung từng lá phiếu ? (Vì chúng đã đượcmã hoá).

b)    Giải quyết

b.1 Cử tri ghi ý kiến vào lá phiếu
          Giả sử có 4 cử tri tham gia bỏ phiếu là V1,V2, V3, V4. Lá phiếu tương ứng của họ ghi: v1 = 0 (không đồng ý), v2 = 1 (đồng ý), v3 = 1, v4 = 0.
Chọn phần tử sinh g =3, hệ mã hoá Elgamal được sử dụng ở đây với các khoá như sau:
Khóa bí mật a = 2, khóa công khai h = ga =32 = 9.
Mỗi cử tri Vi, chọn khóa ngẫu nhiên bí mật k đề mã hóa lá phiếu m của mình thành (x, y) = (gk, hk gv).
b.2  Cử tri mã hóa lá phiếu
                       V1 mã hóa lá phiếu của mình như sau và gửi tới Ban kiểm phiếu:
V1 chọn ngẫu nhiên k1  = 5, mã hóa v1 = 0 thành (x1, y1) = (35, 95 * 30 ) = (35, 95).
             V2 mã hóa lá phiếu của mình như sau và gửi tới Ban kiểm phiếu:
V2 chọn ngẫu nhiên k2 = 3, mã hóa v2 = 1 thành (x2, y2) = (33, 93 * 31 ) = ( 33, 93 * 3).
   V3 mã hóa lá phiếu của mình như sau và gửi tới Ban kiểm phiếu:
V3 chọn ngẫu nhiên k3 = 3, mã hóa v3 = 1 thành (x3, y3) = (33, 93 * 31 ) = (33, 93 * 3).
   V4 mã hóa lá phiếu của mình như sau và gửi tới Ban kiểm phiếu:
V4 chọn ngẫu nhiên k4 = 7, mã hóa v4 = 0 thành (x4, y4) = (37, 97 * 30 ) = (37, 97 ).  
b.3  Ban kiểm phiếu tính kết quả
          Ban KP không cần giải mã từng lá phiếu, vẫn có thể tính được kết quả bỏ phiếu bằng cách tính nhân các lá phiếu đã được mã hóa:
(x1,y1)*(x2,y2) = (x1x2, y1y2) = (g k1+k2, hk1+k2  gv1+v2).
Theo tính chất đồng cấu thì tích của phép nhân trên chính là kết quả bỏ phiếu. Cụ thể tích của 4 giá trị lá phiếu đã được mã hóa là:
(X, Y) = (Πxi , Πyi) = (gk1+k2+k3+k4 , hk1+k2+k3+k4 g v1+v2+v3+v4) = (318, 918 * 32).
Giải mã (X, Y) bằng cách tính:
= gv =Y/a = 918 *32 /(318)32
Như vậy số phiếu đồng ý (ghi 1) là 2.

0 nhận xét:

Đăng nhận xét

2017

2017

2016

2016

2015

2015

2014

2014

2013

2013

2012

2012

Người giỏi phông phải là người làm tất cả

Đắc nhân tâm

Bí quyết để đạt được ước mơ - p1

Bí quyết để đạt được ước mơ - p2