chứng minh không tiết lộ thông tin và ứng dụng chứng minh tính hợp lệ của lá phiếu điện tử

13 369 0
chứng minh không tiết lộ thông tin và ứng dụng chứng minh tính hợp lệ của lá phiếu điện tử

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

“CHỨNG MINH KHÔNG TIẾT LỘ THÔNG TIN” VÀ ỨNG DỤNG CHỨNG MINH TÍNH HỢP LỆ CỦA LÁ PHIẾU “ĐIỆN TỬ” Trịnh Nhật Tiến, Trương Thị Thu Hiền, Nguyễn Đình Nam Tóm tắt Trong [1], [2], trình bày số kỹ thuật bỏ phiếu từ xa (bỏ phiếu điện tử - Electronic Voting) Cử tri giữ bí mật phiếu truyền từ xa tới ban kiểm phiếu cách mã hoá nội dung phiếu Theo kỹ thuật “mã hoá đồng cấu”, ban kiểm phiếu tính kết bầu cử mà không cần phải giải mã nội dung phiếu Vấn đề nảy sinh cử tri phải chứng minh với ban kiểm phiếu phiếu hợp lệ nội dung phiếu không tiết lộ với họ Để thực điều này, người ta dùng kỹ thuật “Chứng minh không tiết lộ thông tin” (Zero-knowledge proof) Trong báo cáo này, trình bày ý tưởng để thực bỏ phiếu loại “Chọn k” MỘT SỐ KHÁI NIỆM 1 Vấn đề ''Bỏ phiếu điện tử'' (Electronic Voting) Nghiên cứu ''Bỏ phiếu điện tử'' chủ đề quan trọng đóng góp cho tiến xã hội dân chủ Nếu hệ thống bỏ phiếu điện tử an toàn tin cậy, sử dụng thường xuyên để thu thập ý kiến người cho nhiều định trị xã hội thông qua hệ thống tự động hóa “Bỏ phiếu điện tử'” phải đạt tính chất “bỏ phiếu truyền thống” (xem [1]) Một qui trình bỏ phiếu gồm số giai đoạn (công đoạn) Hiện có nhiều kỹ thuật mật mã để thực hợp lý giai đoạn Trong báo cáo xin trao đổi giai đoạn Cử tri (CT) chuyển phiếu tới Ban kiểm phiếu (Ban KP) cho Sơ đồ bỏ phiếu loại “Chọn k” Trong giai đoạn người ta sử dụng kỹ thuật “Mã hóa đồng cấu - Chia sẻ bí mật” (Homomorphic Encryption – Secret Sharing) (xem [2]), kỹ thuật “Chứng minh không tiết lộ thông tin” (Zero-knowledge proof) Giai đoạn Cử tri chuyển phiếu tới Ban kiểm phiếu Theo suy nghĩ thông thường, Cử tri (CT) chuyển phiếu tới Ban kiểm phiếu (Ban KP) họ cần mã hóa nội dung phiếu đủ Vì Ban KP cần giải mã nội dung phiếu tính kết (kiểm phiếu) Nhưng thực tế xảy tình sau: - Ban KP hay nhóm thành viên Ban KP không trung thực gian lận phiếu bầu, ví dụ sửa lại nội dung phiếu sau giải mã (trước kiểm phiếu) Để khắc phục tình hình này, người ta dùng kỹ thuật “Mã hóa đồng cấu - Chia sẻ bí mật” Với giải pháp Ban KP giải mã phiếu tính kết - Để bảo đảm công khai kiểm phiếu, phiếu mã hóa tới Ban KP phải niêm yết công khai Như nhìn bảng niêm yết này, CT nhận phiếu họ “bán” phiếu bầu” Để khắc phục tình trạng này, người ta dùng “Người xác minh trung thực” (TT - honest verifier) làm trung gian CT Ban KP Cử tri gửi phiếu từ xa tới Ban KP thông qua người trung gian TT Sau xác minh phiếu hợp lệ, làm “mù “ phiếu (mã hóa phiếu lần thứ 2), tiếp gửi Ban KP Trên bảng niêm yết công khai, CT nhận phiếu để “bán” phiếu bầu” Khi giải tình lại xuất hai vấn đề khác: - Một CT phải chứng minh cho TT biết phiếu họ hợp lệ, tức nội dung phiếu ghi tên số k ứng cử viên (loại bầu cử “chọn k”), không cần phải rõ phiếu ghi đích danh ứng cử viên Cách chứng minh gọi “Chứng minh không tiết lộ thông tin” Với cách chứng minh này, nội dung phiếu không bị tiết lộ, người đủ chứng tin phiếu hợp lệ - Hai TT phải chứng minh cho CT, Ban KP,…biết phiếu bị làm “mù“ hợp lệ (theo nghĩa trên) cách sở hữu giá trị β để “mù” phiếu TT chứng minh điều phương pháp “Chứng minh không tiết lộ thông tin”, tức không cần phải tiết lộ giá trị β Sau sơ đồ giai đoạn Cử tri (CT) chuyển phiếu tới Ban kiểm phiếu: Giao thức 1: CT mã hóa phiếu hệ mã hóa Elgamal, CT gửi tới TT kèm theo “Chứng minh không tiết lộ thông tin” cho tính hợp lệ phiếu Giao thức 2: Sau xác minh phiếu hợp lệ, TT làm “mù“ phiếu gửi Ban KP kèm theo “Chứng minh không tiết lộ thông tin” cho tính hợp lệ phiếu bị làm “mù“ Cụ thể Chứng minh quyền sở hữu giá trị bí mật β dùng để làm “mù“ phiếu Ban kiểm phiếu Người xáctri minh Cử trung thực TT - Kiểm phiếu - Niêm yết Công khai Các phiếu mã hóa lần Lựa chọn ứng cử viên Mã hóa phiếu Xác minh tính hợp lệ phiếu Làm mù phiếu Gửi tới TT phiếu mã hóa “Chứng minh không tiết lộ thông tin” cho tính hợp lệ phiếu Lá phiếu mã Lá phiếu mã hóa bị làm hóa mù (x, y) “Chứng minh không tiết lộ thong tin” tính hợp lệ phiếu (đã bị làm mù) Khái niệm “Chứng minh không tiết lộ thông tin” Giao thức ∑ Trong mục trước ta có ví dụ khái niệm “Chứng minh không tiết lộ thông tin” Ta xét tiếp ví dụ đơn giản khái niệm Giả sử P, V tham gia trò chơi với quân P đưa quân úp sấp nói “át”, “2” P yêu cầu V chọn quân “át” Trước chọn quân “át”, V muốn kiểm tra chắn quân đích thực “át” “2” V yêu cầu P chứng minh điều Nếu P lật quân lên để coi cách chứng minh trò chơi kết thúc V nhìn thấy chúng, chọn quân “át” Có cách khác để P chứng minh quân “át” “2” mà lật quân lên, tức không làm lộ thông tin tay P Rất đơn giản đưa 50 quân lại cho V Nếu V kiểm tra thấy thiếu quân “át” quân “2”, coi quân P đưa nói Qua hai ví dụ tạm hiểu “Chứng minh không tiết lộ thông tin” nghĩa “không để lộ thông tin” mà nghĩa “để lộ thông tin mức nhất” vật việc cần chứng minh Với “thông tin để lộ”, người xác minh nhiều hiểu biết (knowledge) vật việc, họ thu chút thông tin (coi “zero knowledge”) đặc điểm tính chất Giao thức ∑ giao thức “Hỏi - Đáp” bước để P chứng minh cho V vấn đề - P gửi cho V giá trị ngẫu nhiên - V gửi lại P giá trị ngẫu nhiên giá trị dùng để kiểm thử - P gửi đáp lại V giá trị Kết V thừa nhận bác bỏ vấn đề P chứng minh Mã hóa đồng cấu Elgamal Hệ mã hóa Elgamal xét Zp (p số nguyên tố lớn) Nếu khóa bí mật s khóa công khai tương ứng h = g s , g phần tử sinh Zp Bản rõ m ∈ Z p mã hóa thành cặp ( x, y ) = ( g α , h α m) , α ngẫu nhiên người y thực mã hóa chọn Để giải mã, người sở hữu khóa bí mật s tính: m = s x Chú ý y Bản Mã ( x, y ) = ( g α , h α m) , Bản Rõ m = s x Trong bầu cử “chọn k”, k số ứng cử viên, lựa chọn người thứ i Gi α α Lá phiếu mã hóa ( x, y ) = ( g , h Gi ) Lá phiếu mã hóa Elgamal (x, y) làm mù nhờ cặp (u, v)=( gβ, hβ ), β phần tử ngẫu nhiên bí mật TT chọn α +β Sau làm mù, phiếu có dạng: ( xu, yv) = ( g α + β , h Gi ) Chia sẻ bí mật ngưỡng Shamir Mã hóa Elgamal Theo sơ đồ chia sẻ bí mật Shamir ngưỡng (t , n) , khóa bí mật s chia sẻ cho n thành viên A j (1 ≤ j ≤ n) , người sở hữu mảnh s j Việc khôi phục khóa bí mật s thực có t thành viên trí Khóa bí mật s khôi phục lại theo công thức s = ∑ s j λ j , A , j∈A l ∏{ } l − j λ j,A = l∈A \ j hệ số Lagrange s Mỗi thành viên A j giữ bí mật mảnh khóa s j , công khai giá trị h j = g j Không cần khóa gốc s, Bản rõ m tính từ mảnh khóa s j theo giao thức: s 1) Mỗi thành viên A j công khai w j = x j chứng minh không tiết lộ thông tin s j , cách cho biết: log g h j = log x w j (Chú ý: wj = x sj suy log x w j = log x x j = s j s hj = g sj suy log g h j = log g g 2) Tính Bản rõ m theo công thức : y y y m= s = = = s λ ∑ j j , A ∏ x s j λ j , A x j∈ A x j∈A sj = sj ) y ∏w λj,A j j∈A Trong A tập thành viên truyền chứng minh không tiết lộ thông tin GIAO THỨC “CHỨNG MINH KHÔNG TIẾT LỘ THÔNG TIN” DÙNG TRONG QUÁ TRÌNH BỎ PHIẾU Chứng minh tính hợp lệ phiếu (x, y) (Giao thức 1) Theo sơ đồ giai đoạn Cử tri (CT) chuyển phiếu tới Ban kiểm phiếu, phải thực Giao thức Tức CT mã hóa phiếu hệ mã hóa Elgamal, phiếu mã hoá gửi tới người xác minh trung thực (TT) kèm theo “Chứng minh không tiết lộ thông tin” cho tính hợp lệ phiếu Trong bầu cử “Chọn k”, cử tri chọn ccc ứng cử viên thứ i danh sách, phiếu hợp lệ phải ghi Gi với i giá trị 1, 2, …, k α Bằng mã hóa Elgamal, lựa chọn Gi mã hóa thành ( x, y ) = ( g α , h Gi ) Như cử tri muốn chứng minh với người xác minh trung thực TT phiếu (x,y) hợp lệ phải số k đẳng thức sau (log g x = log h ( y / G1 )) ∨ ∨ ((log g x = log h ( y / Gk )) (1) Để chứng minh (1) mà không bị lộ Gi , CT TT thống dùng giao thức “Chứng minh không tiết lộ thông tin” sau: Cử tri CT α - Mã hóa phiếu [( x, y ) = ( g α , h Gi )] - Chọn ngẫu nhiên w ∈ Z p Người xác minh TT w w Tính = g , bi = h - Với j = 1,…, i-1, i+1,…, k chọn d j , rj ∈ Zp (Chưa chọn di , ri ) r Tính a j = g j x dj r , bj = h j ( y / G j ) dj - Đặt ( A, B) = (a1 , b1 ), , ( a k , bk ) (Sử dụng , bi tính trên) - CT tính: (Trước chưa chọn di , ri ) di = c − ∑ d j x , y ),( A, B ) ( → c ←  - TT chọn ngẫu nhiên c ∈ Z p D,R) ( → - TT kiểm tra: j ≠i ri = w − αd i ( D, R ) = (d1 , r1 ), , (d k , rk ) ? c = d1 + + d k cho j = 1, , k ? r aj =g j x ? r dj b j = h j ( y /G j ) dj Nếu TT kết luận: Lá phiếu hợp lệ Chú ý Nếu Gi , người chứng minh P tạo r bj = h j ( y / G j ) dj để kiểm tra α Ví dụ 1: Chứng minh tính hợp lệ phiếu mã hóa ( x, y ) = ( g α , h Gi ) Giả sử bầu cử “chọn 3” Các lựa chọn hoặc Ký hiệu lựa chọn ứng cử viên thứ i Gi Để chứng minh tính hợp lệ phiếu, cử tri phải chứng minh: (log g x = log h ( y / G1 )) ∨ ∨ ((log g x = log h ( y / Gk )) (1) Chú ý Vì x = gα nên α = log g x α Vì y = h / Gi nên α = log h ( y / Gi ) Do ta có tính chất (1): α = α hay log g x = log h ( y / Gi ) Để chứng minh (1), CT TT thống dùng giao thức “Chứng minh không tiết lộ thông tin” sau: Chọn phần tử sinh g=3, α=5, khóa bí mật s =7, khóa công khai h=gs=37 Ký hiệu ứng cử viên G1=1, G2=2, G3=3 Giả sử cử tri CT chọn Gi=2 Cử tri CT - CT mã hóa phiếu [( x, y ) = (35 , (37 ) 2] - CT chọn ngẫu nhiên w=2 a = , b2 = (3 ) Tính - Với j = 1, Chọn d1=8, r1=9 tính: a1 = 39 (35)8 (3 ) b1 = (3 ) ( ) Chọn d3=10, r3=11 tính: a3 = 311 (35)10 (3 ) 10 b3 = (37 )11 ( ) (37 ) (A, B) = (39 (35)8, (37 ) ( ) ), (32, (37)2), 7 11 (3 ) 10 11 10 (3 (3 ) , (3 ) ( ) ) x , y ),( A, B ) ( → c ←  - CT tính d = c - ∑ d j Người xác minh TT TT chọn ngẫu nhiên c=13 j ≠i = c - (d1+d3) = 13-(8+10) = -5 - CT tính r2 = w – α di = – d2 = -5.(-5) = + 25 = 27 - CT đặt (D,R)=(8, 9),(-5, 27),(10, 11) D,R) ( → TT kiểm tra: thấy c=d1+d2+d3=8+(-5)+10=13 r d aj = g j x j j=1,2,3 r d bj = h j (y / Gj ) j =>Kết luận: phiếu hợp lệ 2 Chứng minh quyền sở hữu giá trị bí mật β (Giao thức 2) Theo sơ đồ giai đoạn Cử tri (CT) chuyển phiếu tới Ban kiểm phiếu (Ban KP), phải thực Giao thức Tức sau xác minh phiếu CT hợp lệ, người xác minh trung thực (TT) làm “mù“ phiếu gửi Ban KP kèm theo “Chứng minh không tiết lộ thông tin” cho tính hợp lệ phiếu bị làm “mù“ TT làm “mù” phiếu thông qua cặp (u, v) dựa giá trị bí mật β Như để chứng minh phiếu bị làm “mù“ hợp lệ, TT phải chứng minh sở hữu giá trị bí mật β thõa mãn u = g β , v = h β Nhưng mặt khác TT không muốn để lộ β Có giao thức hiệu để làm việc này: giao thức ∑ (đã trình bày mục trên) Trong sơ đồ đây, TT người chứng minh (P), người kiểm tra (V) CT, Ban KP,… Người chứng minh TT (P) - P có [ (u, v ) = ( g β , h β ) ] - P chọn w ∈ Zp Tính (a, b) := ( g w , h w ) - P tính r := w + β c Người kiểm tra (V) a ,b ) ( → P gửi V giá trị ngẫu nhiên w thông qua (a, b) c ←  V gửi lại P giá trị ngẫu nhiên c r  → P đáp lại V r - V chọn c ∈ Z p - Kiểm tra: ? g r = au c ? h r = bv c Nếu  V thừa nhận P sở hữu giá trị β Chú ý Nếu β , người chứng minh P tạo g r = g w+ βc = g w g βc = au c r := w + β c để kiểm tra h r = h w+ βc = h w h βc = bv c Ví dụ 2: Người chứng minh P chọn g=3, s=7, h=gs=37 Anh ta có β =5 sử dụng (u, v ) = ( g β , h β ) =(35, (37)5), cặp số dùng để làm “mù” phiếu mã hoá cử tri 10 P muốn chứng minh với V sở hữu β mà không muốn để lộ giá trị β P thực giao thức ∑ với người xác minh V sau: 11 Nếu người giả mạo biết β để tạo (u,v)=(gβ, hβ) “khó” tính ? ? r=w+βc, tức bước kiểm thử gr = auc, hr = bvc “khó” thực Vì a, b, c, r, g, h, u, v công khai nên xác minh r = w+βc Nhờ giao thức người tin người xác minh TT dùng β để làm “mù” phiếu 2.3 Giai đoạn Cử tri chuyển phiếu tới Ban kiểm phiếu với phương án Trong mục 1.2 báo cáo trình bày giai đoạn Cử tri (CT) chuyển phiếu tới Ban kiểm phiếu (Ban KP) Nó thực Giao thức Giao thức 2, xin gọi phướng án Có phướng án khác (tạm gọi 2) để thực giai đoạn giao thức Giao thức phướng án Giao thức có thay đổi sau: Sau TT xác minh phiếu CT hợp lệ, sau CT xác minh TT sở hữu giá trị β CT làm “mù“ phiếu gửi Ban KP (thay TT làm “mù“ phiếu gửi Ban KP theo giao thức phương án 1) Trong phương án đề nghị: lần xử lý phiếu, bước thử điều kiện, không thoả mãn, công việc xử lý dừng lại với phiếu để chuyển sang phiếu KẾT LUẬN Báo cáo trình bày hai giao thức “Chứng minh không tiết lộ thông tin” để giải hai vấn đề giai đoạn Cử tri chuyển phiếu tới Ban kiểm phiếu Như giai đoạn phiếu bị mã hoá lần, kết giải mã phiếu nội dung ban đầu nó, vì: - Nội dung phiếu: chọn ứng cử viên Gi ( x, y ) = ( g α , hα Gi ) - Lá phiếu sau mã hoá lần 1: - Lá phiếu sau làm “mù” (mã hoá lần 2): - Sau giải mã phiếu: hβ h α + β Gi yv hβ = = G = Gi β i ( xu ) s ( g α + β ) s ( g β ) s (g s ) ( xu, yv) = ( g α + β , hα + β Gi ) = hβ (h) β Gi = G i Chú ý theo mã hoá Elgamal, khoá bí mật s, khoá công khai h = gs TÀI LIỆU THAM KHẢO [1] Trịnh Nhật Tiến, Nguyễn Đình Nam, Trương Thị Thu Hiền, “Một số kỹ thuật Bỏ phiếu từ xa”, Hội thảo Một số vấn đề chọn lọc Công nghệ thông tin, Thái Nguyên, tháng năm 2003 12 [2] Trịnh Nhật Tiến, Trương Thị Thu Hiền, “Mã hóa đồng cấu ứng dụng”, Hội nghị khoa học ứng dụng CNTT toàn quốc lần thứ 1, Đại học Quốc Gia Hà Nội, tháng 10 năm 2003 [3] Byoungcheon Lee, Kwangjo Kim, “Receipt-free Electronic Voting through Collaboration of Voter and honest Verifier” [4]Helger Lipmaa, “Zero knowlwdge and some applications”, Nordic Research Training course, Bergen, June 15, 2004 [5] Ivan Damgard, Jens Groth and Gorm Salomonsen, “The Theory and Implementation of an Electronic Voting System”, July 31,2002 [6] Berry Schoenmakers, “A brief Comparision of Cryptographic Schemes for Electronic Voting”, Tartu, Estonia, May 17, 2004 [7] Information Security Research Centre, Faculty of Information Technology, Queensland University of Technology, “Electronic Voting and Cryptography”, May 2002 [8] Andrew Neff, “Conducting a Universally Verifiable Electronic Election Using Homomorphic Encryption ”, VoteHere.net, November 2000 13 [...]... trình bày hai giao thức Chứng minh không tiết lộ thông tin để giải quyết hai vấn đề trong giai đoạn Cử tri chuyển lá phiếu tới Ban kiểm phiếu Như vậy trong giai đoạn này lá phiếu đã bị mã hoá 2 lần, nhưng kết quả giải mã lá phiếu đúng như nội dung ban đầu của nó, bởi vì: - Nội dung lá phiếu: chọn ứng cử viên Gi ( x, y ) = ( g α , hα Gi ) - Lá phiếu sau khi mã hoá lần 1: - Lá phiếu sau khi làm “mù”... TT xác minh lá phiếu của CT là hợp lệ, sau khi CT xác minh TT sở hữu giá trị β thì chính CT làm “mù“ lá phiếu và gửi nó về Ban KP (thay vì TT làm “mù“ lá phiếu và gửi nó về Ban KP như theo giao thức 2 của phương án 1) Trong phương án này chúng tôi đề nghị: mỗi lần xử lý một lá phiếu, tại mỗi bước thử điều kiện, nếu không thoả mãn, công việc xử lý dừng lại với lá phiếu này để chuyển ngay sang lá phiếu. .. ai cũng có thể xác minh được r = w+βc Nhờ giao thức trên mọi người tin rằng người xác minh TT đã dùng β để làm “mù” lá phiếu 2.3 Giai đoạn Cử tri chuyển lá phiếu tới Ban kiểm phiếu với phương án 2 Trong mục 1.2 báo cáo đã trình bày giai đoạn Cử tri (CT) chuyển lá phiếu tới Ban kiểm phiếu (Ban KP) Nó được thực hiện bằng Giao thức 1 và Giao thức 2, xin gọi là phướng án 1 Có phướng án khác (tạm gọi là...P muốn chứng minh với V rằng anh ta sở hữu β mà không muốn để lộ giá trị β P thực hiện giao thức ∑ với người xác minh V như sau: 11 Nếu người nào đó giả mạo rằng đã biết β để tạo (u,v)=(gβ, hβ) thì “khó” có thể tính ? ? được r=w+βc, tức là bước kiểm thử gr = auc, hr = bvc “khó” có thể thực hiện được Vì a, b, c, r, g, h, u, v đều công khai nên ai cũng có thể xác minh được r = w+βc Nhờ... Công nghệ thông tin, Thái Nguyên, tháng 8 năm 2003 12 [2] Trịnh Nhật Tiến, Trương Thị Thu Hiền, “Mã hóa đồng cấu và ứng dụng , Hội nghị khoa học cơ bản và ứng dụng CNTT toàn quốc lần thứ 1, Đại học Quốc Gia Hà Nội, tháng 10 năm 2003 [3] Byoungcheon Lee, Kwangjo Kim, “Receipt-free Electronic Voting through Collaboration of Voter and honest Verifier” [4]Helger Lipmaa, “Zero knowlwdge and some applications”,... khi giải mã lá phiếu: hβ h α + β Gi yv hβ = = G = Gi β i ( xu ) s ( g α + β ) s ( g β ) s (g s ) ( xu, yv) = ( g α + β , hα + β Gi ) = hβ (h) β Gi = G i Chú ý rằng theo mã hoá Elgamal, khoá bí mật là s, thì khoá công khai h = gs TÀI LIỆU THAM KHẢO [1] Trịnh Nhật Tiến, Nguyễn Đình Nam, Trương Thị Thu Hiền, “Một số kỹ thuật Bỏ phiếu từ xa”, Hội thảo Một số vấn đề chọn lọc của Công nghệ thông tin, Thái... Implementation of an Electronic Voting System”, July 31,2002 [6] Berry Schoenmakers, “A brief Comparision of Cryptographic Schemes for Electronic Voting”, Tartu, Estonia, May 17, 2004 [7] Information Security Research Centre, Faculty of Information Technology, Queensland University of Technology, “Electronic Voting and Cryptography”, May 2002 [8] Andrew Neff, “Conducting a Universally Verifiable Electronic

Ngày đăng: 15/10/2016, 20:48

Từ khóa liên quan

Mục lục

  • 1. MỘT SỐ KHÁI NIỆM

  • 2. GIAO THỨC “CHỨNG MINH KHÔNG TIẾT LỘ THÔNG TIN”

  • DÙNG TRONG QUÁ TRÌNH BỎ PHIẾU

  • KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan