Ứng dụng hệ mã hóa Elgamal cho bài toán bỏ phiếu đồng ý /không

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu kỹ thuật an toàn thông tin trong kiểm phiếu điện tử ứng dụng cho trường trung học phổ thông chuyên hạ long​ (Trang 37 - 39)

4. Nội dung và bố cục của luận văn

2.3.3 Ứng dụng hệ mã hóa Elgamal cho bài toán bỏ phiếu đồng ý /không

2.3.3.1 Bài toán

Trường PTTH chuyên Hạ Long cần lấy ý kiến về việc có nên cho học sinh đến trường trong thời gian dịch bệnh Covid 19 không? Học sinh của trường (gọi là cử tri) bỏ phiếu để quyết định bằng cách đồ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.

2.3.3.2 Giải quyết

 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 và chọn các giá trị mi = {0,1} tương ứng với đồng ý hay không đồng ý.

Chọn phần tử sinh g, hệ mã hóa Elgamal được sử dụng ở đây có các khóa như sau: Ban kiểm phiếu chọn khóa bí mật a, tính khóa công khai h = ga.

Ví dụ: Chọn phần tử sinh g=3, hệ mã hóa Elgamal được sử dụng ở đây có các khóa 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êu bí mật k để mã hóa lá phiếu m của mình thành (x,y) = (gk, hkm).

Hình 2.2.Sơ đồ bỏ phiếu đồng ý/ không đồng ý.

 Cử tri mã hóa lá phiếu.

Các cử tri Vi 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êu k1, mã hóa V1 thành (x1, y1) = (g k1, h k1*gv1)

-V2 chọn ngẫu nhiêu k2, mã hóa V2 thành (x2, y2) = (gk2, hk2*gv2) -V3 chọn ngẫu nhiêu k3, mã hóa V3 thành (x3, y3) = ((gk3, hk3*gv3)

-V4 chọn ngẫu nhiêu k4, mã hóa V4 thành (x4, y4) = (gk4, hk4*gv4) Ví dụ:

-V1 chọn ngẫu nhiêu k1 = 5, mã hóa V1 = 0 thành (x1, y1) = (35, 95*30) = (35,95) = (243, 59049).

-V2 chọn ngẫu nhiêu k2 = 3, mã hóa V2 = 1 thành (x2, y2) = (33, 93*31) = (33,93) = (27,2187).

-V3 chọn ngẫu nhiêu k3 = 4, mã hóa V3 = 1 thành (x3, y3) = (34, 94*31) = (34,3.94) = (81,19683).

-V4 chọn ngẫu nhiêu k4 = 7, mã hóa V4 = 0 thành (x4, y4) = (37, 97*30) = (37,97) = (2187,4782969).

Ban kiểm phiếu 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.

1 2 1 2 1 2

1 1 2 2 1 2 1 2

( ,x y ) ( x y, )(x x y y, )(gkk hkk ,gvv )

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 ở ví dụ trên là:

1 2 3 4 1 2 3 4 1 2 3 4 4 4 18 18 2 1 1 ( , ) ( i, j) ( k k k k , k k k k v v v v ) (3 ,9 3 ). i j X Y x y g    h    g            Giải mã (X, Y) bằng cách tính: 18 2  18 2 2 / X 9 3 / 3 3  va   m g Y như vậy có 2 người đồng ý.

Sử dụng sơ đồ chia sẻ bí mật Shamir kết hợp với hệ mã hóa Elgamal trong bỏ phiếu điện tử

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu kỹ thuật an toàn thông tin trong kiểm phiếu điện tử ứng dụng cho trường trung học phổ thông chuyên hạ long​ (Trang 37 - 39)

Tải bản đầy đủ (PDF)

(71 trang)