Bài toán trong kiểm tra phiếu của ngƣời XMTT

Một phần của tài liệu Tìm hiểu, nghiên cứu một số Chữ ký đặc biệt dùng trong bỏ phiếu điện tử (Trang 55 - 58)

a/. Kiểm tra tính hợp lệ lá phiếu của CT:

Giải quyết: Dùng phƣơng pháp “Chứng minh không tiết lộ thông tin”.

Chứng minh không tiết lộ thông tin

+ Khái niệm:Chứng minh không tiết lộ thông tin là phép chứng minh để một

ngƣời P thuyết phục một ngƣời V tin vào một điều gì đó có thật mà không để lộ thông tin.

Chứng minh không tiết lộ thông tin đƣợc Goldwasser, Micali và Rackoff năm 1981 (đƣợc viết tắt GRM) có ảnh hƣởng rất lớn trong lĩnh vực khoa học máy tính.

+ Giao thức :

Giao thức  là giao thức “hỏi - đáp” 3 bƣớc, để P chứng minh cho V một vấn đề nào đó.

- Bƣớc 1: P gửi cho V: một giá trị ngẫu nhiên.

- Bƣớc 2: V gửi lại P: một giá trị ngẫu nhiên nhƣ là giá trị dùng để kiểm thử. - Bƣớc 3: P gửi đáp lại V: một giá trị.

Kết quả V thừa nhận hoặc bác bỏ vấn đề P chứng minh.

+ Ví dụ: Hòm phiếu Mạng trộn Ban KP - Khôi phục khóa bí mật. - Tính kết quả bầu cử. - Công bố kết quả lên bảng niêm yết công khai

Phép chứng minh không tiết lộ thông tin đã đƣợc mô hình hóa bởi Quisquater và Guillou trong ví dụ về “hang động của Ali Baba”. Ví dụ này đƣợc minh họathông qua hình 3.5 và đƣợcgiải thích nhƣ sau:

Hình 3.5. Ví dụ minh họa chứng minh không tiết lộ thông tin

Từ bây giờ chúng ta sẽ coi Peggy là Prover (ngƣời chứng minh), còn Victor là Verifier (ngƣời kiểm thử). Peggy(P) muốn chứng minh với Victor(V) rằng cô ta biết câu thần chú có thể mở đƣợc cánh cửa bí mật tại các điểm R-S, nhƣng cô ta không muốn tiết lộ bí mật đó với Victor.

Quá trình đến nơi đó diễn ra nhƣ sau: Victor đi tới P và đợi đến khi Peggy đi khỏi R hoặc S. Sau đó Victor di chuyển đến Q và gọi Peggy ra ngoài từ bên trái hoặc bên phải của đƣờng hầm(kỹ thuật cut and choose). Nếu Peggy không biết câu thần chú, cô ta chỉ có 50% khả năng ra ngoài từ bên đúng. Giao thức có thể đƣợc lặp lại nhiều lần đến khi Victor tin rằng Peggy đã biết câu thần chú. Nếu giao thức đƣợc lặp lại k lần, xác suất lừa gạt của Peggy là 2k.Và nó không có nghĩa là giao thức đã đƣợc lặp bao nhiêu lần.Victor vẫn không biết đƣợc bí mật.

Ý nghĩa chính ẩn trong nguyên nhân là: Peggy muốn chứng minh một sự thật hiển nhiên F1 nhƣng cô ta không muốn tiết lộ sự chứng minh này. Vì thế cô ta đi tìm những sự thật F2 khác, mà có thể tiết lộ công khai, nhƣ là F2 là đúngnếu F1 đúng

(điều kiện cần thiết).Vì thế cô ta “thay thế” phép chứng minh của F1 chỉ bằng chứng minh F2. Trong ví dụ, F1 là câu thần chú bí mật,và F2 là khả năng xuất hiện từ mọi phía của đƣờng hầm. Nếu Victor đồng ý rằng F2 không thể đúng nếu F1 không đúng, sau đó giao thức có thể tiến hành.

Theo quy trình trong hình 3.3 giai đoạn CT chuyển lá phiếu tới Ban KP, phải thực hiện giao thức nhƣ trong bảng 3.1. Tức là CT sẽ mã hóa lá phiếu bằng hệ mã hóa Elgamal, lá phiếu đã mã hóa đƣợc gửi tới ngƣời XMTT kèm theo “Chứng minh không tiết lộ thông tin” cho tính hợp lệ của lá phiếu đó. Giả sử trong cuộc bầu cử “chọn 1 trong k”, nếu cử tri nào đó chọn Gi là ứng cử viên thứ i trong danh sách thì lá phiếu hợp lệ phải ghi Gi với i = 1, 2,…, k. Bằng mã hóa Elgamal, lựa chọn Gi đƣợc mã hóa

thành (x, y) = (gα, hαGi). Nhƣ vậy CT muốn chứng minh với ngƣời XMTT rằng lá phiếu (x, y) là hợp lệ, thì anh ta phải chỉ ra một trong k đẳng thức sau là đúng: (logg x = logh (y/G1))… (logg x = logh (y/Gk)). Để chứng minh đẳng thức trên là đúng mà không bị lộ Gi, CT và ngƣời XMTT thống nhất dùng giao thức “Chứng minh không tiết lộ thông tin” nhƣ sau:

Bảng 3.1. Giao thức cử tri chứng minh lá phiếu hợp lệ

Cử tri Ngƣời XMTT

- Mã hóa lá phiếu [(x, y) = (gα, hαGi)] - Chọn ngẫu nhiên wZ p Tính ai = gw, bi = hw - Với j = 1,…, i - 1, i + 1,…, k Chọn ,dj, rj Zpf(chƣa chọn di, ri) Tính a j= 𝑔𝑟𝑖𝑥𝑑𝑖, b j= ℎ𝑟𝑖(𝑦 𝐺𝑗)𝑑𝑖 - Đặt (A,B)= (a1,b1),…,(ak,bk) (Sử dụng ai, bi đã tính ở trên) (x, y), (A,B) c Chọn ngẫu nhiên c Zp - Tinh: di= c- 𝑗 ≠𝑖𝑑𝑗 r i=w-𝛼𝑑𝑗 d, r = (d1, r1),…, (dk, rk) d, r -Kiểm tra: c=d1+d2+...dk Cho j = 1,…, k aj= 𝑔𝑟𝑖𝑥𝑑𝑖 và bj=ℎ𝑟𝑖(𝑦 𝐺𝑗)𝑑𝑖 Nếu đều đúng ngƣời XMTT kết luận: Lá phiếu hợp lệ

b/. Kiểm tra tính hợp lệ khóa mã hóa của ngƣời XMTT:

Giải quyết: Dùng phƣơng pháp “Chứng minh không tiết lộ thông tin”.

Theo quy trình trong hình 3.3 ngƣời XMTT sẽ thực hiện Giao thức 2. Tức là sau khi xác minh lá phiếu của CT là hợp lệ ngƣời XMTT làm “mù” hoặc mã hóa lá phiếu một lần nữa và gửi nó về ban KP kèm theo “Chứng minh không tiết lộ thông tin” cho

tính hợp lệ của lá phiếu đã bị làm “mù”. Ngƣời XMTT làm “mù” hoặc mã hóa lá phiếu thông qua cặp (u, v) và dựa trên giá trị bí mật f. Để chứng minh lá phiếu bị làm “mù” hoặc đã đƣợc mã hóa vẫn hợp lệ, ngƣời XMTT phải chứng minh đƣợc là anh ta sở hữu giá trị bí mật  thỏa mãn u=g, v=h. Nhƣng mặt khác ngƣời XMTT không muốn để lộ . Có một giao thức hiệu quả để ngƣời XMTT làm việc này: giao thức ∑. Trong sơ đồ sau đây, ngƣời XMTT là ngƣời chứng minh (P), ngƣời kiểm tra (V) là CT, ban KP,..

Bảng 3.2. Chứng minh lá phiếu đã làm mù hoặc mã hóa hợp lệ

Ngƣời XMTT (P) Ngƣời kiểm tra (V)

- Có [(u, v)= (g, h)] - Chọn wZp -Tính (a,b) = (gw,hw) (a,b) c - V chọn cZp - Tính r := w +c r - Kiểm tra: gr =a.uc, hr=b.vc

Nếu đều đúng V thừa nhận với P sở hữu giá trị  (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Tìm hiểu, nghiên cứu một số Chữ ký đặc biệt dùng trong bỏ phiếu điện tử (Trang 55 - 58)