4 Chƣơng ỨNG DỤNG CỦA ECC TRONG BỎ PHIẾU ĐIỆN TỬ
4.4. Quy trình Bỏ phiếu dựa trên ECC
4.4.1. Cấp quyền bầu cử
Khi đã được kiểm tra cử tri cần Ban ĐK ký trên bí danh của mình. Ban ĐK sẽ sử dụng sơ đồ chữ ký mù Harn để ký như sau:
Sơ đồ 4.6. Chữ ký mù của Ban ĐK khi cấp quyền bầu cử cho cử tri
1. Cử tri gửi ID m của mình đến Ban ĐK để xin cấp chữ ký.
BAN ĐK có cặp khóa công khai/ bí mật trên đường cong elliptic là (d, Q). Khi có yêu cầu ký, BAN ĐK chọn ngẫu nhiên
] 1 , 2 [ q k và tính RkG(xk,yk). Đặt r xk rồi gửi r và Rcho cử tri.
2. Cử tri chọn các tham số làm mù a,b[1,q1], tính R trên E sao cho R = aR+bG = (xk, yk) và đặt r =xk và m mr a1 r
)
( .
Sau đó gửi mcho BAN ĐK (m là m sau khi đã bị làm mù). 3. BAN ĐK ký mù (ký trên văn bản đã bị làm mù):
) (mod )
(m r k q
d
s , rồi gửi scho cử tri.
Bob nhận được s, xóa mù để có được chữ ký s trên m bằng cách tính sasb
Cặp (r, s) là một chữ ký ECC trên định danh m của cử tri.
Để tăng tính an toàn và công bằng của cuộc bầu cử nhằm tránh gian lận tại giai đoạn đăng ký (cấp quyền bầu cử cho những cử tri không hợp lệ), nên thiết lập Ban ĐK gồm t thành viên (ít nhất là 2). Khi đó, để ký lên định danh của cử tri, t thành viên này có thể dùng giao thức đa chữ ký mù Harn để thực hiện việc ký.
4.4.2. Bỏ phiếu
Sau khi đã đăng ký và được cấp quyền bầu cử, cử tri sẽ tiến hành bỏ phiếu và giả sử lá phiếu của cử tri thứ i là vi. Theo sơ đồ mã hóa tựa Elgamal ở mục 3.3.1 với tính chất đồng cấu, cử tri tiến hành các bước như sau:
1. Nhúng nội dung của lá phiếu lên E, khi đó vi được thể hiện thành một điểm (Pm)iE. Cử tri phải mã hóa Pmbằng khóa công khai của BAN KP.
2. Giả sử khóa bí mật của BAN KP là aT thì khóa công khai sẽ là aTG. Cử tri chọn ngẫu nhiên ri và Pm được mã hóa thành một cặp điểm trên E:
Vi = (C1, C2) = (riG,( Pm)i + ri(aTG). 3. Cử tri gửi điểm Vi đến BAN KP.
4.4.3. Kiểm phiếu
Khi các lá phiếu được chuyển về Ban KP, nó sẽ được trộn bằng một máy trộn ngẫu nhiên, nhằm ngăn chặn các tiêu cực trong quá trình bỏ phiếu. Ban KP nhận được các
Vi = (C1, C2). Do tính chất đồng cấu của hệ mã ECC được sử dụng, Ban KP không cần giải mã từng lá phiếu mà có thể tính tổng các lá phiếu đã mã hóa rồi từ đó tính được kết quả cuối cùng của cuộc bỏ phiếu.
Để giải mã từng lá phiếu, Ban KP tính:
C2 – aT(C1) = Pm + k(aTG) – aT(kG) = Pm
Tuy nhiên, không giải mã từng lá phiếu, Ban KP vẫn tính được kết quả cuộc bầu cử theo công thức: N i i T N i N i i m C a C P 1 1 1 1 2