- Tính xác minh phổ thông: bất kỳ một ngƣời nào cũng có thể kiểm tra phần chứng minh tính hợp lệ của lá phiếu, tính tích các lá phiếu hợp lệ và xác minh tính đúng đắn của việc giải mã [r]
(1)MỤC LỤC
LỜI CẢM ƠN
DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ MỞ ĐẦU
Chƣơng 1: CÁC KHÁI NIỆM CƠ SỞ
1.1 MỘT SỐ KHÁI NIỆM TOÁN HỌC
1.1.1 Ký hiệu chia hết
1.1.2 Ƣớc số chung lớn
1.1.3 Hai số nguyên tố
1.1.4 Đồng dƣ modulo
1.1.5 Một số ký hiệu tốn học
1.1.6 Hàm phía hàm cửa sập phía
1.1.7 Vấn đề thặng dƣ bậc hai
1.2 CÁC KHÁI NIỆM VỀ MÃ HOÁ
1.2.1 Khái niệm mã hóa
1.2.2 Các phƣơng pháp mã hóa
1.2.3 Một số loại mã hoá
1.3 KHÁI NIỆM VỀ KÝ ĐIỆN TỬ
1.3.1.Định nghĩa
1.3.2 Phân loại sơ đồ chữ ký điện tử
1.3.3 Một số sơ đồ ký số
1.4 CHIA SẺ BÍ MẬT
1.5 KHÁI NIỆM XÁC THỰC ĐIỆN TỬ
(2)1.5.2 Xác thực định danh
1.5.3 Xác thực dựa chứng số 10
Chƣơng 2: BỎ PHIẾU ĐIỆN TỬ 11
2.1 QUI TRÌNH BỎ PHIẾU TỪ XA 11
2.2 QUI TRÌNH TỔNG QUÁT 12
2.2.1 Giai đoạn đăng ký 12
2.2.2.Giai đoạn bỏ phiếu 13
2.2.3 Giai đoạn kiểm tra 15
2.2.4 Giai đoạn kiểm phiếu 15
2.2.5 Yêu cầu 16
Chƣơng 3: XÂY DỰNG ỨNG DỤNG MÔ PHỎNG BỎ PHIẾU ĐIỆN TỬ 17
KẾT LUẬN 23
(3)LỜI CẢM ƠN
Tôi xin chân thành cảm ơn Th.s Trần Ngọc Thái – ngƣời thầy ân cần bảo, nhiệt tình hƣớng dẫn, cung cấp tài liệu, giúp đỡ tơi q trình học tập hồn thành luận văn
Tơi xin cảm ơn thầy cô giáo khoa Công Nghệ Thông Tin Ban giám hiệu nhà trƣờng Đại Học Dân Lập Hải Phịng tạo điều kiện cho tơi đƣợc làm đồ án hoàn thành luận văn
Tơi xin cảm ơn tập thể bạn lớp CT1002 trao đổi giúp đỡ tơi q trình học việc tìm tài liệu hồn thành luận văn
Hải Phòng ngày tháng năm Sinh viên
(4)DANH MỤC CÁC HÌNH VẼ, SƠ ĐỒ
Hình 1.1 Chứng số chứng thực cho máy khách kết nối tới máy dịch vụ 10
Hình 2.1 Sơ đồ giai đoạn đăng ký 13
Hình 2.2 Sơ đồ giai đoạn bỏ phiếu kiểm tra 14
(5)MỞ ĐẦU
Trong năm gần đây, giới chứng kiến cách mạng mạnh mẽ, toàn diện sâu sắc làm thay đổi hoạt động lĩnh vực kinh tế, văn hố, trị, xã hội; thay đổi phƣơng thức làm việc, học tập, giải trí, giao tiếp quan hệ xã hội Một nội dung cách mạng ứng dụng công nghệ cao, đại với công nghệ thông tin công cụ có ý nghĩa định, mang tính đột phá, góp phần rút ngắn q trình cơng nghiệp hố, đại hóa Trong mạng máy tính giúp cho ngƣời tiếp cận, trao đổi thông tin cách nhanh chóng, thuận tiện mang lại cho ngƣời lợi ích khơng thể phủ nhận đƣợc
Một xã hội dân chủ có nhiều việc phải cần đến "bỏ phiếu"; ngƣời ta "bỏ phiếu" để thăm dị kế hoạch, sách để bầu cử chức vụ, chức danh Hiện có loại bỏ phiếu bỏ phiếu trực tiếp hòm phiếu phiếu in giấy ("bỏ phiếu truyền thống") bỏ phiếu từ
xa phiếu "số hoá" tạm gọi phiếu điện tử từ máy tính cá nhân mạng, điện thoại di động ("bỏ phiếu điện tử" hoặc "bầu cử điện tử") Ngày nay, quĩ thời gian cá nhân không nhiều, mặt khác ngƣời làm việc nhiều nơi, nhƣ ngƣời ta khó thực đƣợc nhiều bỏ phiếu theo phƣơng pháp truyền thống Rõ ràng "bỏ phiếu từ xa" nhu cầu cấp thiết, vấn đề thời gian kỹ thuật cho phép
Trên giới, bầu cử tổng thống Pháp bầu luật năm 2002, có 1500 cử tri Pháp mở đầu việc bầu cử điện tử Sự kiện bƣớc khởi đầu q trình hồn thiện cơng cụ bầu cử, cách mạng hố cách bầu cử châu Âu
(6)nhân dân vấn đề tự trị vùng quốc gia có 94% số cử tri bày tỏ tán thành việc áp dụng bầu cử điện tử Tính đến năm 2005,sẽ có khoảng 300 triệu cử tri Châu Âu tham gia bỏ phiếu điện tử Nhờ ƣu điểm thuận tiện, bỏ phiếu điện tử không làm gia tăng số cử tri tham gia mà cịn thể tính dân chủ
Ở Việt Nam, có ngƣời nghiên cứu vấn đề
Cũng nhƣ bỏ phiếu truyền thống, bỏ phiếu thăm dị từ xa phải đảm bảo u cầu "bí mật", "toàn vẹn" "xác thực" phiếu
Kỹ thuật bỏ phiếu thăm dò từ xa dựa lý luận sâu sắc an toàn bảo mật liệu đƣờng truyền tin Mặt khác phiếu phải bảo đảm hợp pháp: phiếu ngƣời đƣợc phép bầu cử, cử tri đƣợc gửi phiếu Yêu cầu "bí mật" phiếu là: ngồi cử tri, có ban kiểm phiếu đƣợc biết nội dung phiếu nhƣng họ khơng biết chủ nhân u cầu "toàn vẹn" phiếu: đƣờng truyền tin, nội dung phiếu bị thay đổi, tất phiếu đƣợc chuyển đến hòm phiếu an toàn, thời hạn đƣợc kiểm phiếu đầy đủ Yêu cầu "xác thực" phiếu: gửi tới hòm phiếu phải hợp lệ, ngƣời có quyền bỏ phiếu, cử tri nhận phiếu họ Trải qua nhiều kỷ, có nhiều công nghệ bỏ phiếu khác với phƣơng pháp hình thức khác Từ hịn đá mảnh vỡ bỏ vào lọ thời Hy lạp đƣợc thay phiếu bỏ vào hộp gắn niêm phong
Ngày nay, công nghệ phát triển việc bỏ phiếu, tự động hố Việc bỏ phiếu tự động cần phải đƣợc bảo mật an toàn nhƣ bầu cử truyền thống (đặc biệt bí mật riêng phiếu) Phịng bỏ phiếu "cơ học" phiếu đục lỗ đƣợc thay phiếu "điện tử" để kiểm phiếu nhanh
(7)những xã hội dân chủ Ví dụ bầu cử cho phép cơng dân bỏ phiếu vào thời gian
Những phƣơng pháp bỏ phiếu hiệu phân loại cách tiếp cận chính: sơ đồ sử dụng chữ ký mù sơ đồ sử dụng mã hoá đồng cấu
Luận văn gồm chƣơng
Chương 1: CÁC KHÁI NIỆM CƠ SỞ Chương 2: BỎ PHIẾU ĐIỆN TỬ
(8)Chƣơng 1: CÁC KHÁI NIỆM CƠ SỞ
1.1 MỘT SỐ KHÁI NIỆM TOÁN HỌC
1.1.1 Ký hiệu chia hết
Cho a b hai số nguyên dƣơng, số a chia hết cho số b ký hiệu a : b Tồn n N cho a=b*n Khii ngƣời ta nói b ƣớc a ky kiệu b|a
1.1.2 Ƣớc số chung lớn
Cho a b hai số nguyên dƣơng USCLN a b số tự nhiên m lớn cho m | a m | b Khii ký hiệu UCLN(a,b) = m
1.1.3 Hai số nguyên tố
Cho a b hai số nguyên dƣơng Số a b đƣợc gọi hai nguyên tố UCLN(a,b) =
1.1.4 Đồng dƣ modulo
Cho n i, n a,b Zn
Ký hiệu i b (mod n) nghĩa a đồng dƣ b theo mod n tồn số nguyên b Zn* cho a= b + k * n Tức (i-b)=k*n, nhu n | ( a-b)
1.1.5 Một số ký hiệu toán học
N: Số ngƣời kiểm phiếu
A1, A2,…, An: N ngƣời kiểm phiếu
t: Số lớn ngƣời hiểm độc không trung thực A: tập ( t + ) ngƣời
M: Số cử tri đủ tƣ cách
m: Số cử tri tham gia bầu cử, m ≤ M V1, V2,…, VM: M ngƣời đủ tƣ cách
v1, v2,…, vM: độ quan tâm cử tri
(9)Zn: tập số nguyên modulo n, { 0, 1,…., n-1 }
Z*n: tập số nguyên Zn nguyên tố với n
a / b: số nguyên a ƣớc số nguyên b gcd (a, b): ƣớc số chung lớn a b a \\ b: phép ghép xâu a b
x R X: x phần tử ngẫu nhiên ( tùy ý ) X ( phân bố )
X R Y: X tập tùy ý Y ( phân bố )
x = y: kiểm tra xem x = y hay khơng
1.1.6 Hàm phía hàm cửa sập phía
Hàm f(x) đƣợc gọi hàm phía y = f(x) ‘dễ’ , nhƣng tính x = f -1(y) lại ‘khó’
Ví dụ : Hàm f(x) = x( mod p ), với p số nguyên tố lớn, ( phần tử
nguyên thủy) hàm phía
Hàm f(x) đƣợc gọi hàm cửa sập phía tính y = f(x) ‘dễ’, tính x = f-1(y) lại ‘khó’ Tuy nhiên có cửa sập z để tính x = f-1(y) ‘dễ’
1.1.7 Vấn đề thặng dƣ bậc hai
Cho n số nguyên, y Zn* đƣợc gọi thặng dƣ bậc hai modulo n
nếu tồn x Zn cho y = x
(modulo n) Tập hợp thặng dƣ bậc hai modulo n đƣợc ký hiệu Qn Nếu n = p số nguyên tố ký hiệu lagrange
đƣợc xác định nhƣ sau:
1 , , n a
Nếu n hợp số n = p1 e1
p2 e2
pk ek
phân tích thành thừa số nguyên tố, ký hiệu Jacobi đƣợc xác định nhƣ sau:
if p| a if a Qpi
(10)k e
k e
p a p
a n
a
1
1
Có tồn loga hiệu nghiệm cho tính tốn (a/n ) với a, n tuỳ ý
Rõ ràng, a thặng dƣ bậc hai (a/n) = Nhƣng từ (a/n)=1 khơng suy đƣợc a thặng dƣ bậc hai Nếu a không thặng dƣ bậc hai nhƣng thoả mãn (a/n) = a gọi giả bình phƣơng Tập giả bình phƣơng đƣợc ký hiệu Qn
Nếu n = pq,ở p,q ngun tố phân biệt /Qn/ = /Qn/ = (p-1)(q-1)/4 Bài
toán thặng dƣ bậc hai đƣợc đặt nhƣ sau: Cho n hợp số lẻ a Zn
*
cho ( a/n) = 1, xác định xem a có thặng dƣ bậc hai modulo n hay không
Nếu n = p số nguyên tố dễ dàng xác định đƣợc a Zn thặng dƣ
bậc hai modulo p hay khơng Khi theo xác định kí hiệu Legendre (a/p) tính tốn cách hiệu nghiệm
Nếu n = p1 e1…p
k ek
hợp số a thặng dƣ bậc hai modulo n a thặng dƣ bậc hai modulo pi với i= 1,…, k Do ta biết phân
tích thành nhân tử n tốn thặng dƣ bậc hai giải đƣợc cách kiểm tra xem (a/pi) = hay không i=1,…,k Trong trƣờng hợp
(11)1.2 CÁC KHÁI NIỆM VỀ MÃ HOÁ
1.2.1 Khái niệm mã hóa
Ta biết tin truyền mạng dễ bị lấy cắp Để đảm bảo việc truyền tin an tồn ngƣời ta thƣờng mã hố thơng tin trƣớc truyền Việc mã hóa thƣờng theo quy tắc định gọi hệ mật mã Hiện có hai loại hệ mật mã mật mã cổ điển mật mã khố cơng khai Mật mã cổ điển dễ hiểu, dễ thực thi nhƣng độ an tồn khơng cao Vì giới hạn tính tốn thực phạm vi bảng chữ sử dụng văn cần mã hoã Với hệ mã cổ điển, nễu biết khóa lập mã hay thuật tốn lập mã, ngƣời ta ‘ dễ ‘ tìm đƣợc rõ Ngƣợc lại hệ mật mã khóa cơng khai cho biết khóa lập mã K hàm lập mã Ck ‘khó’ tìm đƣợc cách giải mã
1.2.1.1 Hệ mật mã
Hệ mật mã hệ bao gồm thành phần (P, C, K, E, D) thỏa mãn tính chất sau:
P (Plaitext): tập hợp hữu hạn rõ C (Ciphertext): Là tập hữu hạn mã K (Key): Là tập hợp khố
E (Encrytion):Là tập hợp quy tắc mã hố D (Decrytion): Là tập hợp quy tắc giải mã
Chúng ta biết thông báo thƣờng đƣợc xem rõ Ngƣời gửi làm nhiệm vụ mã hoá rõ, kết thu đƣợc gọi mã Bản mã đƣợc gửi đƣờng truyền tới ngƣời nhận Ngƣời nhận giải mã để tìm hiểu nội dung rõ Dễ dàng thấy đƣợc công việc định nghĩa hàm lập mã hàm giải mã:
Ek(P) = C Dk (C) = P 1.2.1.2 Những yêu cầu hệ mật mã
(12)Tính bảo mật: Bảo đảm bí mật cho thông báo liệu việc che dấu thơng tin nhờ kỹ thuật mã hố
Tính toàn vẹn: Bảo đảm với bên tin không bị thay đổi đƣờng truyền tin
Chống chối bỏ: Có thể xác nhận tài liệu đến từ đó, họ cố gắng từ chối
Tính xác thực: Cung cấp hai dịch vụ:
o Nhận dạng nguồn gốc thông báo cung cấp vài bảo đảm thực
o Kiểm tra định danh ngƣời đăng nhập hệ thống, tiếp tục kiểm tra đặc điểm họ trƣờng hợp cố gắng kết nối giả danh ngƣời sử dụng hợp pháp
1.2.2 Các phƣơng pháp mã hóa
1.2.2.1 Mã hóa đối xứng
Hệ mã hoá đối xứng: hệ mã hố khố mã hố "dễ" tính toán đƣợc từ khoá giải mã ngƣợc lại Trong nhiều trƣờng hợp, khoá mã hoá khoá giải mã giống Thuật tốn có nhiều tên gọi khác nhƣ thuật tốn khố bí mật, thuật toán khoá đơn giản, thuật toán khoá Thuật toán yêu cầu ngƣời gửi ngƣời nhận phải thoả thuận khố trƣớc thơng báo đƣợc gửi khố phải đƣợc cất giữ bí mật Độ an tồn thuật tốn phụ thuộc vào khoá, để lộ khoá nghĩa ngƣời mã hố giải mã thơng báo hệ thống mã hố Sự mã hoá giải mã hệ mã hoá đối xứng biểu thị bởi:
Ek : P C Và Dk: C P
(13)Các vấn đề Hệ mã hoá đối xứng:
Phƣơng pháp mã hố đối xứng địi hỏi ngƣời mã hố ngƣời giải mã phải chung khoá Khoá phải đƣợc giữ bí mật tuyệt đối "Dễ dàng" xác định khoá biết khoá ngƣợc lại
Hệ mã hố đối xứng khơng an tồn khố bị lộ với xác xuất cao Hệ khoá phải đƣợc gửi kênh an toàn
Vấn đề quản lý phân phối khố khó khăn, phức tạp sử dụng hệ mã hoá đối xứng Ngƣời gửi ngƣời nhận phải thống với khố Việc thay đổi khố khó dễ bị lộ
Khuynh hƣớng cung cấp khoá dài mà phải đƣợc thay đổi thƣờng xuyên cho ngƣời, trì tính an tồn lẫn hiệu chi phí, cản trở nhiều tới việc phát triển hệ mật mã
1.2.2.2 Mã hóa khơng đối xứng (Mã hóa cơng khai )
Hệ mã hố khố cơng khai: Hệ mã hố khố mã hố khác với khố giải mã Khố giải mã "khó" tính tốn đƣợc từ khoá mã hoá ngƣợc lại Khoá mã hố gọi khố cơng khai (Public key) Khố giải mã đƣợc gọi khoá riêng (Private key)
Nơi ứng dụng: Sử dụng chủ yếu mạng công khai
Các điều kiện hệ mã hoá cơng khai:
Việc tính tốn cặp khố cơng khai KB bí mật kB dựa sở
điều kiện ban đầu, phải đƣợc thực cách dễ dàng, nghĩa thực thời gian đa thức
Ngƣời gửi A có đƣợc khố cơng khai ngƣời nhận B có tin P cần gửi B, dễ dàng tạo đƣợc mã C
C = EKB (P) = EB (P)
Ngƣời nhận B nhận đƣợc mã C với khố bí mật kB,
giải mã tin thời gian đa thức
P = DkB (C) = DB [EB(P)]
Nếu kẻ địch biết khố cơng khai KB cố gắng tính tốn khố bí mật
(14)1.2.3 Một số loại mã hoá
1.2.3.1 Hệ mã hoá RSA
Cho n=p*q với p,q số nguyên tố lớn Đặt P = C = Zn
Chọn b nguyên tố với (n), (n)= (p-1)(q-1) Ta định nghĩa: K={(n,a,b): a*b 1(mod (n))} Giá trị n b cơng khai a bí mật
Với K=(n,a,b), x P, y C định nghĩa Hàm mã hóa: y = ek(x) = xb mod n
Hàm giải mã: dk (x) = y a
mod n
1.2.3.2 Hệ mã hoá ElGamal
Hệ thống mật mã với khoá cơng khai ElGamal đƣợc dựa tuỳ ý nhóm mà với họ lơga rời rạc đƣợc xem không giải đƣợc Thông thƣờng ngƣời ta dùng nhóm Gq( cấp q) Zp; p, q số
nguyên tố lớn thoả mãn q|(p-1) Các nhóm khác đạt đƣợc với đƣờng cong elliptic trƣờng hữu hạn Vấn đề lôga rời rạc đƣờng cong elliptic đƣợc xem khó khăn Ở giới thiệu cách xây dựng nhóm Zp, với p số nguyên tố lớn
Sơ đồ:
- Tạo số nguyên tố lớn p cho tốn logarit rời rạc Zp
khó (ít p = 10150); Chọn g phần tử sinh Z* p
- Lấy ngẫu nhiên số nguyên thoả mãn p-2 tính tốn h=g mod p
- Khố cơng khai (p, g, h), khoá riêng
Sự mã hố : khố cơng khai (p, g, h) muốn mã hố thƣ tín m (0 m <p) - Lấy ngẫu nhiên số nguyên k, k p-2
- Tính tốn x = gk mod p , y = m*hk mod p
Sự giải mã Để phục hồi đƣợc gốc m từ c = (x, y), ta làm nhƣ sau: - Sử dụng khoá riêng , tính tốn r = xp
(Chú ý r = xp
= x = (gk) = g k
)
(15)1.2.3.3 Hệ mã hố "ngưỡng"
Mục đích hệ thống bí mật chìa khố cơng khai bƣớc đầu chia sẻ chìa khóa riêng Ban kiểm phiếu để thƣ tín đƣợc giải mã nhóm lớn ngƣời kiểm phiếu hợp tác Chúng ta cần thay đổi tạo thành khoá cách giải mã hệ thống bí mật ElGamal Thƣ tín đƣợc mã hố bình thƣờng
Sự tạo khoá: Kết cách tạo khoá ngƣời kiểm phiếu Aj sở
hữu phần sj bí mật s (một khố riêng hệ thống bí mật ElGamal)
khố cơng khai đƣợc tạo cách công khai
Ban kiểm phiếu đƣa công khai giá trị hj = gsj Hơn nữa, phần sj
đƣợc dùng để xây dựng lại bí mật s từ tập (t+1) phần, cịn tập ≤ t phần khơng nói nên điều bí mật s Sơ đồ chia sẻ bí mật (t+1,N) Shamir đạt đƣợc yêu cầu Để tính tốn phân phối phần bí mật đến Ban kiểm phiếu phải cần đến nhóm thứ ba đáng tin cậy dùng kênh untappable Do đó: j l l j A l s
s j A j j,A
Khố cơng khai (p,q,h) với h= gs
Sự giải mã: Để giải mã văn mật mã (x,y) = (gk
, hkm) mà khơng có xây dựng lại bí mật s, Ban kiểm phiếu thực theo cách sau:
1.Mỗi ngƣời kiểm phiếu Aj tung wj = x sj
chứng minh kiến thức sở:
Logghj = logx wj
Giả sử A tập (t+1) ngƣời kiểm phiếu vƣợt qua đƣợc chứng minh sở
Văn gốc phục hồi bằng: m = y / xs
A j
j s
s j A j jA jA w x
x , ,
Nhiều t phần sj đƣợc công bố, từ (t+1) giá trị sj tính tốn đƣợc
(16)1.2.3.4 Mã hoá đồng cấu
Xét sơ đồ mã hoá xác suất Giả sử P không gian văn chƣa mã hố C khơng gian văn mật mã Có nghĩa P nhóm với phép tốn ngơi C nhóm với phép tốn Ví dụ E sơ đồ mã hố xác suất đƣợc hình thành tạo khố riêng khố cơng khai Giả sử Er(m) mã hố thƣ tín m sử dụng tham số (s) r ta nói sơ đồ mã
hoá xác suất ( , )-đồng cấu Nếu với ví dụ E sơ đồ này, ta cho c1
= Er1(m1) c2 = Er2(m2) tồn r cho:
c1 c2 = Er(m1 m2)
Chẳng hạn, sơ đồ mã hoá Elgamal đồng cấu Ở đây, P tập tất số nguyên modulo p ( P = Zp ), cịn C = {(a,b) a,b Zp } Phép tốn phép
nhân modulo p Đối với phép toán đƣợc định nghĩa văn mật mã, ta dùng phép nhân modulo p thành phần
Hai văn gốc m0, m1 đƣợc mã hoá:
Eko(mo) = ( gko, hkomo)
Ek1(m1) = ( g k1
, hk1m1)
Ở ko,k1 ngẫu nhiên
Từ đó: Eko(mo) Ek1(m1) = ( g ko
, hkomo) ( g k1
, hk1m1) = Ek(mom1)
với k= ko + k1
Bởi vậy, hệ thống bí mật ElGamal từ phép nhân văn mật mã có đƣợc phép nhân đƣợc mã hố văn gốc tƣơng ứng
1.2.3.5 Mã nhị phân:
Giả sử Alice muốn gửi cho Bob chữ số nhị phân b Cô ta không muốn tiết lộ b cho Bob Bob yêu cầu Alice không đƣợc đổi ý, tức chữ số mà sau Alice tiết lộ phải giống với chữ số mà ta nghĩ
Alice mã hố chữ số b cách gửi mã hố cho Bob Bob khơng thể phục hồi đƣợc b tới tận Alice gửi chìa khố cho Sự mã hoá b đƣợc gọi blob
(17): {0,1} x X Y, X, Y tập hữu hạn Mỗi mã hoá b giá trị (b,k), k X Sơ đồ mã nhị phân phải thoả mãn tính chất sau:
Tính che đậy (Bob khơng thể tìm giá trị b từ (b,k) )
Tính mù (Alice sau mở (b,k) cách tiết lộ b, k đƣợc dùng cách xây dựng Cơ ta khơng thể mở blob hay 1)
Nếu Alice muốn mã hoá xâu chữ số nhị phân, ta mã hố chữ số cách độc lập
Sơ đồ mã hố số nhị phân mà Alice mở blob hay đƣợc gọi mã hoá nhị phân cửa lật
Sự mã hoá số nhị phân đƣợc thực nhƣ sau:
Giả sử số nguyên tố lớn p, phần tử sinh g Zp G Zp biết loga
rời rạc số g G Alice Bob khơng biết (G chọn ngẫu nhiên) Sự mã hoá nhị phân : {0,1} x Zp Zp là:
(b,k) = gkGb
Đặt loggG = a Blob đƣợc mở b cách tiết lộ k mở –
b cách tiết lộ k-a b=0 k+a b=1 Nếu Alice a, cô ta mở blob –b
Tƣơng tự, Bob k, xác định b với kiện (b,k) = gk
Gb
Sơ đồ mã hoá chữ số nhị phân cƣả lật đạt đƣợc trƣờng hợp Alice biết a Nếu Bob biết a Alice mở blob cho Bob thông qua kênh chống đột nhập đƣờng truyền (untappable channel) Bob nói dối với ngƣời thứ ba mã hoá chữ số nhị phân b Rất đơn giản, nói nhận đƣợc k-a k+a (mà thực tế k) Sơ đồ mã hoá số nhị phân mà cho phép ngƣời xác minh (Bob) nói dối việc mở blob, đƣợc gọi mã hố nhị phân chameleon Thay mã hoá chữ số nhị phân sâu s cách độc lập, Alice mã hố cách đơn giản 0≤ s ≤ p (b,k) = Gs
(18)1.3 KHÁI NIỆM VỀ KÝ ĐIỆN TỬ 1.3.1.Định nghĩa
Một sơ đồ chữ ký gồm (P, A, K, S, V) thỏa mãn điều kiện dƣới đây:
1 P tập hữu hạn điện (thông điệp) cụ thể A tập hữu hạn chữ ký cụ thể
3 K khơng gian khóa tập hữu hạn khóa cụ thể Sigk thuật tốn ký P A
x P y = Sigk(x)
Verk thuật toán kiểm thử: (P, A) (Đúng,sai)
Verk(x, y) = Đúng Nếu y = Sigk(x)
Sai Nếu y Sigk(x) 1.3.2 Phân loại sơ đồ chữ ký điện tử
Chữ ký "điện tử" đƣợc chia làm lớp, lớp chữ ký kèm thông điệp (message appendix) lớp chữ ký khôi phục thông điệp ( message recovery) nhƣ sau:
Chữ ký kèm thơng điệp: Địi hỏi thơng điệp ban đầu đầu vào giải thuật kiểm tra Ví dụ : chữ ký Elgamal
Chữ ky khôi phục thông điệp: Thông điệp ban đầu sinh từ thân chữ ký Ví dụ: chữ ký RSA
1.3.3 Một số sơ đồ ký số
1.3.3.1 Sơ đồ chữ ký Elgamal
- Chọn p số nguyên tố cho toán log rời rạc Zp khó
Chọn g phần tử sinh Z*
p; a Z
*
p Tính ga mod p
Chọn r ngẫu nhiên Z*p-1
(19)= ( x - a ) r-1 mod (p-1) - Kiểm tra chữ ký:
Ver(x, , )=True gx mod p Ví dụ:
- chọn p=463; g=2; a=211; 2211mod 463=249; - chọn r =235; r-1=289
- Ký x=112
Sig(x,r) = Sig (112,235)=( , )=(16,108) = 2235 mod 463 =16
= (112-211*16)*289 mod (463-1)=108 - Kiểm tra chữ ký:
Ver(x, , )=True gx mod p = 24916* 16108 mod 463 = 132 gx mod p = 2112 mod 463 = 132
1.3.3.2 Sơ đồ chữ ký RSA
- Chọn p, q nguyên tố lớn Tính n=p.q; (n)=(p-1)(q-1) Chọn b nguyên tố (n) Chọn a nghịch đảo với b; a=b-1
mod (n) - Ký x: Sig (x) = xa mod n
- Kiểm tra chữ ký: Ver(x,y)= True x yb mod n Ví dụ: - p=3; q=5; n=15; (n)= 8; chọn b=3; a=3 - Ký x =2:
Chữ ký : y = xa
mod n = 23 mod 15=8 Kiểm tra: x = yb
(20)1.3.3.3 Chữ ký "mù"
Chúng ta đòi hỏi chữ ký phải thật (chỉ ngƣời đƣợc ký ký) đƣợc xác minh cơng khai (bất kì xác minh xem chữ ký đƣa thƣ tín hay khơng)
Nếu ngƣời ký có khố cơng khai RSA: (n, e) có khố riêng tƣơng ứng d, ký thƣ tín x, x Zn: y= m
d
(modulo) Cho ký số y thƣ tín x, xác minh tính đắn cách kiểm tra xem x = ye (modulo) hay khơng
Chú ý phƣơng pháp mã hố giải mã hệ thống bí mật RSA đƣợc sử dụng việc làm dấu thƣ tín xác minh ký số
Giả sử ngƣời có nhu cầu muốn tìm ký số thƣ tín x Ngƣời khơng muốn tiết lộ thƣ tín x cho ai, kể ngƣời ký thƣ tín Ngƣời ký bị u cầu ký dấu cách bí mật mà ngƣời khơng biết ký
Ví dụ: Giả sử Ban kiểm phiếu dùng sơ đồ chữ ký RSA (n, p, q, b, a) - Cử tri che dấu x y = x*rb (mod n), (r đƣợc chọn cho tồn phần tử nghịch đảo r-1
(mod n))
- Cử tri gửi bí danh y cho Ban kiểm phiếu
- Ban kiểm phiếu ký bí danh y đƣợc chữ ký z: z = ya (mod n) - Ban kiểm phiếu gửi chữ ký z cho Cử tri
- Cử tri "xoá mù" z tìm lại đƣợc chữ ký thƣ tín x cách tính tốn:
Unblind(z)=z*r-1=(x*rb)a*r-1 = (xa *r) * r-1 =xa (mod n) Cử tri có đƣợc chữ ký Ban kiểm phiếu x, xa
(mod n) Về mặt hình thức, sơ đồ ký số "mù" với khoảng trống thƣ tín x ( , , , , ),ở đó:
(21)thuật tốn đa thời gian, đƣa vào thƣ tín m M, khố cơng khai pk xâu tuỳ ý r, xây dựng thƣ tín "mù" tuỳ ý
thuật tốn ký dấu đa thời gian, đƣa vào thƣ tín mù y chìa khố bí mật sk, xây dựng ký số mù z y
thuật toán hồi phục đa thời gian, đƣa vào ký số mù z giá trị tuỳ ý r
thuật toán xác minh ký số đa thời gian, đƣa vào cặp thƣ tín – ký số (x,y) khố cơng khai pk cho kết sai
(22)1.4 CHIA SẺ BÍ MẬT
Khi bỏ phiếu từ xa, để đảm bảo bí mật, cử tri mã hoá nội dung phiếu Ban kiểm phiếu phải giải mã biết đƣợc phiếu ghi Thực tế có ngƣời hay nhóm ngƣời Ban kiểm phiếu muốn biết trƣớc nội dung phiếu để thực gian lận bầu cử (ví dụ: sửa nội dung phiếu) Để bảo đảm ngƣời hay nhóm ngƣời Ban kiểm phiếu khơng thể biết trƣớc nội dung phiếu, ngƣời ta dùng kỹ thuật "chia sẻ bí mật" Ví dụ:
- Chìa khố để giải mã nội dung phiếu chia thành m mảnh, ngƣời Ban kiểm phiếu giữ mảnh đảm bảo nhóm ngƣời m khôi phục đƣợc
- Bản thân nội dung phiếu đƣợc chia thành m mảnh Cử tri gửi cho m thành viên Ban kiểm phiếu, ngƣời giữ mảnh phải bảo đảm nhóm m khơng thể xác định đƣợc nội dung phiếu
Với kỹ thuật này, bỏ phiếu bảo đảm đƣợc bí mật kiểm soát đƣợc kết bỏ phiếu cụ thể tránh gian lận
Hiện có nhiều loại sơ đồ "chia sẻ bí mật" để thực cơng việc trên.ví dụ: sơ đồ chia sẻ bí mật Shamir, cấu trúc mạch đơn điệu
Sơ đồ "chia sẻ bí mật" Shamir:
Giả sử tập tất bí mật tạo thành trƣờng F (F tập số thực, F = Zp ) F có N + phần tử khác nhau, biểu thị chúng
0, 1, 2,…, N
Sự phân phối khố: Một bí mật s F đƣợc phân bố số N ngƣời kiểm phiếu nhận đƣợc phần sj nó, sj F Chọn ngẫu nhiên đa thức
bậc t trƣờng F thoả mãn f (0) = s Ngƣời kiểm phiếu Aj nhận đƣợc phần sj=
f(j)
Sự xây dựng lại bí mật: Tập A gồm (t + 1) ngƣời kiểm phiếu lấy bí mật cách xây dựng lại đa thức f (sử dụng phép nội suy Lagrange) tính tốn s = f(0):
S = f( ) = ∑ f( j ) λj, A = ∑ sj λj, A
j A l A j
j l
l
(23)Thơng tin mà t (hoặc hơn) ngƣời kiểm phiếu có đa thức f khơng để lộ giá trị f(0) = s Với giá trị f(0) = r họ chọn, khố họ tính tốn đa thức g thoả mãn g(0) = r
1.5 KHÁI NIỆM XÁC THỰC ĐIỆN TỬ
Xác thực điện tử việc chứng minh từ xa phƣơng tiện điện tử, tồn xác hợp lệ danh tính chủ thể tham gia trao đổi thông tin điện tử nhƣ: cá nhân, tổ chức, dịch vụ, lớp thơng tin mà khơng cần biết thơng tin cụ thể nhƣ nào, thơng qua thơng tin đặc trƣng đại diện cho chủ thể mà đảm bảo đƣợc bí mật chủ thể, lớp thông tin cần chứng minh
Xác thực điện tử việc cần thực trƣớc thực diễn trao đổi thông tin điện tử thức
Việc xác thực điện tử hệ thống trao đổi thông tin điện tử đƣợc uỷ quyền cho bên thứ ba tin cậy Bên thứ ba CA (Certification Authority), quan có tƣ cách pháp nhân thƣờng xuyên tiếp nhận đăng ký thông tin đặc trƣng đại diện cho chủ thể: khố cơng khai lƣu trữ khố cơng khai lý lịch chủ thể sở liệu đƣợc bảo vệ chặt chẽ CA chuyên nghiệp không thiét quan nhà nƣớc Điều quan trọng CA uy tín để khẳng định thật, bảo đảm khơng thể có chuyện "đổi trắng thay đen"
Mục đích việc xác thực điện tử: chống giả mạo, chống chối bỏ, đảm bảo tính tồn vẹn, tính bí mật, tính xác thực thơng tin mục đích cuối hồn thiện giải pháp an tồn thơng tin
Cơ sở ứng dụng đề xây dựng giải pháp an toàn cho xác thực điện tử hệ mật mã
Ứng dụng trong: thƣơng mại điện tử, hệ thống toán trực tuyến, tảng phủ điện tử
(24)for the Advancement of Structured Information Standard): 24,1% sử dụng việc ký vào liệu điện tử ; 16,3% sử dụng để đảm bảo cho e-mail ; 13,2% dùng thƣơng mại điện tử ; 9,1% sử dụng để bảo vệ WLAN ; 8% sử dụng đảm bảo an toàn cho dịch vụ web ; 6% sử dụng bảo đảm an toàn cho Web Server ; 6% sử dụng mạng riêng ảo
1.5.1 Xác thực dựa mật
Khi xác thực ngƣời dùng theo phƣơng pháp yêu cầu: Ngƣời dùng định tin tƣởng vào máy dịch vụ mà bảo mật theo giao thức SSL Máy dịch vụ cần phải chứng thực ngƣời sử dụng trƣớc cho phép họ truy nhập tài nguyên hệ thống
Bƣớc 1: Để đáp lại yêu cầu chứng thực từ máy dịch vụ, phía máy khách hộp hội thoại yêu cầu nhập mật Ngƣời sử dụng phải nhập mật cho máy dịch vụ khác phiên làm việc
Bƣớc 2: Máy khách gửi mật qua mạng mà khơng có hình thức mã hố
Bƣớc 3: Máy dịch vụ tìm kiếm mật sở liệu
Bƣớc 4: Máy dịch vụ xác định xem mật có quyền truy cập vào tài nguyên hệ thống
Khi sử dụng hình thức này, ngƣời sử dụng phải nhập mật cho máy dịch vụ khác máy dịch vụ lƣu lại dấu vết mật cho ngƣời
1.5.2 Xác thực định danh
Việc giao tiếp mạng điển hình máy khách (nhƣ trình duyệt chạy máy cá nhân) máy dịch vụ (server – nhƣ máy chủ Web site) Việc chứng thực đƣợc thực hai phía Máy dịch vụ tin tƣởng vào máy khách ngƣợc lại
(25)tử có sử dụng chữ ký số) khơng thể chối cãi gửi Có hai hình thức chứng thực máy khách sau:
Dựa mẫu tên truy nhập mật thông thƣờng (username password) Tất máy dịch vụ cho phép ngƣời dùng nhập mật để truy nhập vào hệ thống Máy dịch vụ quản lý danh sách username – password
Chứng thực dựa chứng số Chứng thực máy khách dựa chứng số (Là phần giao thức bảo mật SSL) Máy khách ký số phần đƣợc tạo ngẫu nhiên liệu, sau gửi chữ ký số chứng số qua mạng Máy dịch vụ(server) sử dụng ký thuật mã hố khố cơng khai để kiểm tra chữ ký số xác định tính hợp lệ chứng số
1.5.3 Xác thực dựa chứng số
Chứng số thay bƣớc đầu chứng thực mật với chế cho phép ngƣời sử dụng phải nhập mật lần mà truyền qua mạng ngƣời quản trị điều khiển quyền truy nhập cách tập trung
Hình1.1 :Chứng số chứng thực cho máy khách kết nối tới máy dịch vụ
(26)đƣợc phép truy nhập vào máy khách phải nhập mật để vào sở liệu chƣơng trình có sử dụng khóa bí mật (mật phải nhập lại khoảng thời gian định kỳ cho trƣớc)
Cả hai chế chứng thực dựa mật chứng số cần phải truy nhập mức vật lý tới máy cá nhân mật Mã hóa khóa cơng khai kiểm tra việc sử dụng khóa bí mật tƣơng ứng với khóa khóa cơng khai chứng số Nó khơng đảm nhận trách nhiệm bảo vệ mức vật lý mật sử dụng khóa bí mật Trách nhiệm thuộc ngƣời sử dụng
Các bƣớc hình trên:
Bước 1: Phần mềm máy khách (ví dụ nhƣ Communicator) quản lý
sở liệu cặp khóa bí mật khóa khóa cơng khai Máy khách yêu cầu nhập mật để truy nhập vào sở liệu lần theo định kỳ Khi máy khách truy cập vào máy dịch vụ có sử dụng SSL cần chứng thực máy khách dựa chứng số, ngƣời sử dụng phải nhập mât lần, họ không cần phải nhập lại cố gắng truy nhập lần thứ hai truy nhập vào máy dịch vụ khác
Bước 2: Máy khách sử dụng khóa bí mật tƣơng ứng với chứng
cần thiết, sử dụng khóa bí mật để ký cho vài liệu mà đƣợc tạo cách ngẫu nhiên cho mục đích chứng thực từ phía máy khách máy dịch vụ Dữ liệu chữ ký số thiết lập chứng để xác định tính hợp lệ khóa bí mật Chữ ký số đƣợc kiểm tra khóa cơng khai tƣơng ứng với khóa khóa bí mật dùng để ký, phiên làm việc giao thức SSL
Bước 3: Máy khách gửi chứng chứng (một phần
dữ liệu đƣợc tạo cách ngẫu nhiên đƣợc ký) qua mạng
Bước 4: Máy dịch vụ sử dụng chứng số chứng để
(27)(28)Chƣơng 2: BỎ PHIẾU ĐIỆN TỬ
2.1 QUI TRÌNH BỎ PHIẾU TỪ XA
Những bỏ phiếu từ xa hay bỏ phiếu truyền thống cần có thành phần Ban tổ chức bỏ phiếu thành phần kỹ thuật Hệ thống bỏ phiếu gồm có:
- Ban điều hành: quản lý hoạt động bỏ phiếu, có thiết lập danh sách cử tri hồ sơ cử tri, qui định có chế định danh cử tri
- Ban đăng ký: nhận dạng cử tri ký cấp quyền bỏ phiếu cho họ Có hệ thống "ký" hỗ trợ
- Ban kiểm tra: xác minh tính hợp lệ phiếu; phiếu mã hố nên Ban kiểm phiếu khơng thể biết đƣợc phiếu có hợp lệ khơng, nên cần phải xác minh tính hợp lệ phiếu trƣớc đến hịm phiếu (Bỏ phiếu truyền thống khơng có ban này)
- Ban kiểm phiếu: tính tốn thơng báo kết bỏ phiếu Có hệ thống "kiểm phiếu" hỗ trợ
- Hệ thống máy tính phần mềm phục vụ qui trình bỏ phiếu từ xa - Ngƣời trung thực kiểm soát Server đảm bảo yêu cầu bảo mật toàn vẹn kết bỏ phiếu
- Một số kỹ thuật bảo đảm an tồn thơng tin: chữ ký mù, mã hoá đồng cấu, chia sẻ bí mật, "chứng minh khơng tiết lộ thơng tin"
- Hệ thống phân phối khoá tin cậy sẵn sàng cung cấp khố cho cơng việc mã hố hay ký "số"
2.1.1 Qui trình tổng quát
(29)2.1.1.1.Giai đoạn đăng ký: a Công việc:
* Cử tri:
- Cử tri chọn bí mật số định danh x, giấy chứng minh thƣ điện tử (CMT), thơng tin nhận dạng (ví dụ nhƣ vân tay) Cử tri "làm mù" x thành y=Blind(x)
- Cử tri gửi tới ban đăng ký thông tin nhận dạng CMT, số y (định danh x đƣợc cử tri làm mù thành y)
* Ban đăng ký:
- Ban đăng ký nhận dạng cử tri , kiểm tra CMT cử tri
- Nếu hồ sơ cử tri hợp lệ, khớp với danh sách cử tri Ban điều hành, cử tri chƣa xin cấp chữ ký lần nào, lệnh cho Hệ thống "ký" lên y Đó chữ ký z=sign(y)
- Ban đăng ký ghi số CMT cử tri vào danh sách cử tri đƣợc cấp chữ ký (để tránh việc cử tri đăng ký bỏ phiếu nhiều lần)
- Ban đăng ký gửi chữ ký z cho cử tri * Cử tri:
- Khi nhận đƣợc chữ ký này,cử tri "xoá mù" z, họ nhận đƣợc chữ ký sign(y)trên định danh thật x Lá phiếu có gắn chữ ký sign(x) đƣợc xem nhƣ có chữ ký Ban đăng ký; lá phiếu hợp lệ để cử tri ghi ý kiến
- Cử tri kiểm tra chữ ký Ban đăng ký phiếu có hợp lệ hay khơng cách dùng hàm kiểm tra chữ ký khố cơng khai Ban đăng ký (Chú ý: khoá ký định danh cử tri đƣợc chia sẻ cho thành viên Ban đăng ký Ban kiểm tra, nhờ sau Ban kiểm tra phát cử tri giả mạo chữ ký Ban đăng ký.)
b Kỹ thuật sử dụng:
Kỹ thuật "chia sẻ khố bí mật" :
(30)tri, thành viên Ban đăng ký trí cho ký họ khớp mảnh khoá riêng để nhận đƣợc khoá ký
- Mục đích kỹ thuật: thành viên Ban đăng ký tuỳ tiện cấp chữ ký
Kỹ thuật "chữ ký mù":
-Ban đăng ký sử dụng kỹ thuật ký "mù" để ký tên lên định danh"mù" cử tri
-Mục đích kỹ thuật: Ban đăng ký biết đƣợc ghi ý kiến vào phiếu tức bảo đảm khơng lộ danh tính cử tri
c Sơ đồ giai đoạn đăng ký:
Để đƣợc quyền bầu cử, cử tri phải có chữ ký Ban đăng ký, qui trình diễn nhƣ sau:
Hình 2.1 Sơ đồ giai đoạn đăng ký 2.1.1.2.Giai đoạn bỏ phiếu:
a Công việc:
- Sau phiếu có chữ ký Ban đăng ký, cử tri ghi ý kiến (lựa chọn) vào phiếu
- Cử tri mã hoá phiếu khố cơng khai Ban kiểm phiếu
Cử tri Ban đăng ký
Chọn bí mật bí danh X
X làm mù, số CMT, Hộ
Xoá mù để thu đƣợc chữ ký X
- Kiểm tra giấy tờ cử tri Nếu hợp lệ ký X làm mù cử tri gửi
- Ghi lại số CMT, tránh cử tri đăng ký lần
(31)- Cử tri gửi tới Ban kiểm phiếu: phiếu mã hố, định danh thật (khơng bị làm mù) họ, chữ ký Ban đăng ký phiếu, "chứng minh không tiết lộ thông tin" phiếu
Chú ý phiếu không đƣợc chuyển thắng tới hịm phiếu, mà trƣớc phải qua Ban kiểm tra Tại họ kiểm tra chữ ký cấp quyền bỏ phiếu có bị giả mạo khơng, họ xác minh tính hợp lệ phiếu
b Kỹ thuật sử dụng:
Kỹ thuật "mã hoá đồng cấu": mã hố đồng cấu có tính chất đặc biệt tích phiếu đƣợc mã hoá tổng phiếu đƣợc mã hố Điều thích hợp cho loại bỏ phiếu điện tử mã phiếu đƣợc mã hoá thành
- Mục đích kỹ thuật: Ban kiểm phiếu khơng cần giải mã phiếu, kiểm phiếu đƣợc
Kỹ thuật "chứng minh không tiết lộ thông tin"
(32)c Sơ đồ giai đoạn bỏ phiếu kiểm tra:
Hình 2.2 Sơ đồ giai đoạn bỏ phiếu kiểm tra
Cử tri Ban kiểm tra
Chọn ý kiến cho phiếu có chữ ký Ban đăng ký
- Kiểm tra chữ ký (liên hệ với Ban đăng ký
- Thực giao thức tƣơng tác với Cử tri để kiểm tra tính hợp lệ phiếu
- Mã hoá lại phiếu, gửi Ban kiểm phiếu
- Lá phiếu mã hố khố cơng khai Ban kiểm phiếu
(33)2.1.1.3 Giai đoạn kiểm tra: a Công việc:
- Kiểm tra chữ ký, cấp quyền bỏ phiếu phiếu (Liên hệ với Ban đăng ký)
- Kiểm tra tính hợp lệ phiếu (tƣơng tác với cử tri; phiếu giả mạo phiếu khơng đƣợc gửi tới hịm phiếu)
- Mã hố lại phiếu, gửi hịm phiếu
Ban kiểm tra đứng trung gian Cử tri Ban kiểm phiếu để ngăn chặn số tình thiếu an toàn hay vi phạm luật bỏ phiếu, ví dụ trƣờng hợp mua bán phiếu bầu (phƣơng pháp bỏ phiếu truyền thống không cần giai đoạn này)
b Kỹ thuật sử dụng:
Kỹ thuật ký số:
- Mục đích kỹ thuật: kiểm tra chữ ký cấp quyền bỏ phiếu phiếu
Kỹ thuật "chứng minh không tiết lộ thông tin":
- Mục đích kỹ thuật: để kiểm tra tính hợp lệ phiếu Kỹ thuật mã hoá:
- Mục đích kỹ thuật: mã hố lại phiếu gửi hòm phiếu
2.1.1.4.Giai đoạn kiểm phiếu a Công việc:
- Các phiếu đƣợc "trộn" nhờ kỹ thuật "trộn" trƣớc chúng đƣợc chuyển Ban kiểm phiếu nhằm giữ bí mật danh tính cho cử tri
- Ban kiểm phiếu tính kết dựa vào phiếu mã hoá gửi Theo phƣơng pháp mã hoá đồng cấu, Ban kiểm phiếu không cần giải mã phiếu mà kiểm phiếu đƣợc (tùy loại phiếu) Khi kiểm phiếu, thành viên Ban kiểm phiếu dùng mảnh khố riêng để khơi phục khố bí mật (khố bị chia sẻ qua sơ đồ chia sẻ bí mật) Ban kiểm phiếu dùng khố bí mật để tính kết bầu cử
(34)b Kỹ thuật sử dụng:
Kỹ thuật "Trộn":
Mục đích kỹ thuật: ban kiểm phiếu gồm m thành viên, để họ biết đƣợc phiếu ai, ngƣời ta xây dựng hệ thống mã hoá m tầng giải mã m lần biết nội dung phiếu Kỹ thuật "Chia sẻ bí mật"
Kỹ thuật "Mã hố đồng cấu"
c Sơ đồ giai đoạn kiểm phiếu
Hình 2.3: Sơ đồ giai đoạn kiểm phiếu 2.1.1.4 Yêu cầu
Trong thực hành, qui trình bỏ phiếu từ xa phải thỏa mãn vài yêu cầu:
Tính hợp pháp: Chỉ có cử tri hợp lệ đƣợc phép bỏ phiếu Mỗi cử tri đƣợc bỏ phiếu lần
Tính bí mật: Khơng có liên hiệp ngƣời tham gia Không cử tri biết đƣợc thơng tin phiếu cử tri khác
Tính cá nhân: Mỗi cử tri hợp pháp kiểm tra phiếu thật đƣợc kiểm phiếu
Tính xác minh phổ thơng: Bất kỳ cử tri ngƣời quan sát kiểm tra bầu cử rõ ràng, chung đƣợc công bố thật tổng phiếu
Tính rõ ràng: Khơng có ngƣời tham gia biết đƣợc thông tin quanh Bộ phận kiểm phiếu trƣớc Giai đoạn kiểm phiếu
Tính trung thực: Khơng có liên hiệp cử tri phá vỡ bầu cử hành vi gian lận đƣợc phát
Hòm phiếu
Trộn
các phiếu Ban kiểm phiếu
(35)2.2 MỘT SỐ QUI TRÌNH BỎ PHIẾU
2.2.1 Qui trình bỏ phiếu Radwin
Đi qui trình Ban tổ chức bỏ phiếu đáng tin cậy, đóng vai trị vừa Hội đồng bầu cử, vừa Ban kiểm phiếu Tất nhiên qui trình mở rộng để liên kết với Ban tổ chức để điều khiển bầu cử với an toàn cao
Cử tri mà cố gắng bỏ phiếu lần bị phát Qui trình địi hỏi tồn kênh ẩn danh để trì trao đổi qua lại (ngƣời nhận thƣ ẩn danh gửi lại cho ngƣời gửi ẩn danh )
Giai đoạn mở đầu: Hội đồng bầu cử tạo cơng bố khố cơng khai RSA (n, e) tham số chắn l
Giai đoạn đăng ký:
Cử tri V với CMND ID xây dựng tên riêng (dấu hiệu) P Để cho dễ hiểu, cách thức tiến hành đƣợc mô tả sơ đồ 2.4
Cử tri lựa chọn số ak, ck, dk, rk, ( k=1,2,…,2l ) cách ngẫu nhiên từ
Zn tính Bk = r e
k f(xk, yk )
Ở xk = g ( ak, ck ); yk = g ( ak ID, dk )
(Bk thƣ mù f(xk, yk)) Anh ta gửi Bk tới Ban kiểm tra, k=1,2,…,2l
Khơng có lý khiến Ban tổ chức nghĩ cử tri xây dựng Bk, k
= 1,2,…,2l nhƣ Do vậy, cử tri bị yêu cầu mở nửa Bk, nửa
Ban kiểm tra chọn ngẫu nhiên ( Ta kí hiệu tập Bk đƣợc chọn R ) Cử tri
mở Bk cách tiết lộ số ak, ck, dk, rk đƣợc sử dụng phép xây dựng
Ban kiểm tra xem giá trị tiết lộ có thực phù hợp với Bk hay không,
xác minh xem: Bk = r
e
k f( g( ak, ck ), g(ak ID, dk )) với k R
Nếu điều nửa cịn lại Bk đƣợc coi xây dựng
(36)Hơn nữa, Hội đồng bầu cử phần Bk lại ( k R ) cách tính tốn Sk
= Bk d
, k R, d khố bí mật RSA gửi tới cử tri
R k
k S
S
Chú ý Sk = Bkd = ( rek f( xk, yk ))d = redkf( xk, yk )d = rkf(xk, yk) nên:
S =
Ø
i
rkf( xk, yk) d
Cuối cử tri tính tốn tên riêng P = R k
k k y x
f( ,, )và chữ kí
của SP =
R k d k k R k k y x j r S ) , (
Tập hợp ak, ck, dk với k R khơng cịn ý nghĩa Để đơn giản ta kí
hiệu phần tử cịn lại aj, cj, dj với j R a1, c1, d1,…,al, cl, dl
Sơ đồ 2.4: Giai đoạn đăng kí - xây dựng tên riêng
Cử tri Ngƣời kiểm phiếu
k=1,2, 2l
ak, ck, dk, rk R Zn Bk=rek f(xk,yk) xk=g(ak,ck)
yk= g(ak ID,dk) B R R {1 2l } R |R|=l
ak, ck, dk, rk, k R k R:
Bk= rek f(xk,yk) xk=g(ak,ck) yk= g(ak ID,dk) S S= k R Bdk
R k rk
s SP
(37)Giai đoạn bỏ phiếu: Cử tri chọn phiếu v tạo phiếu kín (v, P, SP), mã hố với khố cơng khai (e, n) Hội đồng bầu cử gửi (v, P, SP)e
modulo qua kênh ẩn danh
Ban kiểm phiếu giải mã thƣ tín xác minh chữ kí SP với tên riêng P, gửi lại cử tri vectơ nhị phân ngẫu nhiên Z = (Z1,…,Zl) với độ dài l
Cử tri hồi âm với l ba, mở phần cấu trúc tên riêng Nếu Zk = 0, ba thứ k ak, ck, yk Nếu Zk = ba thứ k xk, ak ID, dk Nhƣ
vậy với k đối số f đƣợc tiết lộ trực tiếp, đối số cịn lại tính tốn nhƣ giá trị hàm g, hàm nhận hai số đƣợc tiết lộ lại làm đối số
Ban kiểm phiếu xác minh trả lời cử tri hoàn toàn phù hợp với tên riêng P mà gửi đến
Nếu việc kiểm tra tên riêng P thành công, Ban kiểm phiếu định với xác suất cao đồng cử tri
Sơ đồ 2.5: Giai đoạn bầu cử
Giai đoạn kiểm phiếu: Ban kiểm phiếu đếm phiếu hợp lý nhận đƣợc cơng khai tổng số cuối Có khác xảy q trình đếm là:
1 Sự khác không đƣợc liệt kê: Chỉ tổng phiếu đƣợc
Cử tri Ngƣời kiểm phiếu v, P,SP (v,P,SP)e P=SPe mod n
Z zk r {0,1} zk = 0: tk = (ak, ck, yk)
zk = 1: tk = (xk, ak ID,dk) T P= pk
(38)2 Sự khác đƣợc liệt kê: Ban kiểm phiếu cơng bố danh sách có chứa phiếu kín nhận đƣợc (v, P, SP)e
tên riêng P, SP thách đố Z với câu trả lời T phiếu tƣơng ứng v
Những tính chất đạt đƣợc:
Tính hợp pháp: có cử tri hợp lệ đƣợc bỏ phiếu Cử tri xây dựng đƣợc tên riêng Cử tri cần có chữ kí Hội đồng bầu cử Hội đồng bầu cử cấp cho tên riêng Nếu cố gắng dùng tên riêng lần giống bị phát với xác suất lớn Tính hợp pháp đạt đƣợc Hội đồng bầu cử trung thực
Tính bí mật: Đến tận cuối giai đoạn đăng kí, Hội đồng bầu cử khơng biết tên riêng cử tri Mối quan hệ cử tri tên riêng đƣợc bảo vệ sơ đồ chữ kí mù
2.2.2.Qui trình bỏ phiếu JL
Qui trình yêu cầu phiếu thực hợp lệ phải có dạng: vi= vi||Ri||g(vi||Ri||RD)
Ở vi tâm cử tri Vi, g hàm chiều, Ri chữ số nhị
phân nhẫu nhiên đƣợc tạo cử tri RD nhãn bầu cử RD đƣợc xác định công bố Hội đồng bầu cử giai đoạn mở đầu phải bầu cử
RD ngăn cản tƣợng cử tri sử dụng lại phiếu bầu cử trƣớc Vì phiếu phần dấu hiệu, dấu hiệu bầu cử trƣớc không cịn tác dụng Hội đồng bầu cử khơng cần tạo lại sơ đồ chữ ký trƣớc bầu cử
Giai đoạn mở đầu: Hội đồng bầu cử tạo khố cơng khai RSA (n, e) (cho chữ ký mù) Ban kiểm phiếu thành lập hệ thống mã hố ElGamal với khố cơng khai ( p, g, h )
Giai đoạn đăng ký: Cử tri Vi với CMND IDi chọn ngẫu nhiên xâu ri, si
xây dựng dấu hiệu:
(39)Ở EVi = ( g ki
, hki vi ), ki RZp, phiếu thật vi đƣợc mã hoá Cử tri
làm mù dấu hiệu ei = ri e
xi gửi thƣ tín làm mù đến Hội đồng bầu
cử
Hội đồng bầu cử kiểm tra xem cử tri Vi đăng kí chƣa Nếu chƣa Hội
đồng bầu cử gửi di = ei d
tới cử tri
Giai đoạn bỏ phiếu: Cử tri đƣa chữ kí yi = di/ri = xi d
gửi ( xi, yi ) ẩn
danh tới Hội đồng bầu cử Hội đồng bầu cử kiểm tra yi e
= xi Nếu chữ
số nhị phân thừa RD từ xi hợp lý, ghi lại (xi,yi) giữ
xi
Giai đoạn kiểm phiếu: Ban kiểm phiếu công bố tất ngững phiếu kín đƣợc chấp nhận ( xi, yi ) Mỗi cử tri phải kiểm tra xem phiếu đƣợc
cơng bố chƣa Nếu phiếu kín bị bỏ qua, phản đối cách đƣa (xi, yi)
Ban kiểm phiếu yêu cầu (t+1) ngƣời kiểm phiếu trung thực gửi phần bí mật họ đến Anh ta tính tốn khố bí mật bƣớc đầu phục hồi đƣợc ý định cử tri Hội đồng bầu cử công bố tất phiếu kín (xi, yi, vi), tất
sự đăng kí ei khố bí mật bƣớc đầu Bất kì kiểm tra tính hợp lý
của phiếu kín xem tổng số phiếu kín có tổng số đăng kí hay khơng để ngăn chặn Ban kiểm phiếu bỏ thêm phiếu kín vào
Những tính chất đạt đƣợc:
Tính hợp pháp: Mỗi cử tri đạt đƣợc dấu hiệu Dấu hiệu không hợp lý trùng bị loại Lá phiếu không hợp lệ khơng đƣợc tính
Tính bí mật: liên hệ phiếu kín (xi, yi) cử tri đƣợc bảo vệ
sự đảm bảo sơ đồ chữ kí RSA Việc lấy đƣợc IDi từ phiếu kín khơng
thể thực đƣợc f hàm chiều Phiếu kín đƣợc gửi ( xi, yi ) khơng
(40)Tính chống chối bỏ: Cử tri từ chối sau tham gia đăng ký
Tính trung thực: Hội đồng bầu cử khơng thể đóng giả cử tri từ chối bỏ phiếu khơng thể tạo chữ ký hợp lý đƣợc
2.2.3 Qui trình bỏ phiếu Benaloh
Trong qui trình này, hai trình đƣợc dùng là: chia sẻ bí mật mã hố khố cơng khai xác suất với tính đồng cấu
E(m1, k1) E(m2, k2)= E(m1+ m2, k1k2)
(k1 ,k2 tham số ngẫu nhiên đƣợc dùng mã hoá m1, m2) Sơ đồ bầu cử Yes - No
Giai đoạn mở đầu: ngƣời kiểm phiếu Aj tạo cặp khố cơng khai
mình Sự mã hố m với khố cơng khai ngƣời kiểm phiếu Aj đƣợc ký hiệu
Ej(m)
Giai đoạn bỏ phiếu: cử tri bỏ phiếu theo cách sau: 1, Cử tri tạo cặp (v1 , v2) hoán vị 0,
2, Với i =1,2 cử tri tạo phần s1(vi), , sN(vi) cách dùng
sơ đồ chia sẻ bí mật (t+1, N) cuả Shamir với bí mật vi
3, Cử tri mã hố phần thứ j với khố cơng khai ngƣời kiểm phiếu Aj
Cử tri nhận đƣợc: h=(h1, h2)
với: hi= (hi1, hi2, ., hiN), i=1,2
h2 =Ej(sj(vi), kij), j = 1, ,N
4, Cử tri công bố h chứng tỏ với ngƣời kiểm phiếu đƣợc tạo 5, Cử tri chọn h1 h2 nhƣ phiếu muốn
* Cử tri chứng tỏ tính đắn phiếu bỏ nhƣ sau: - Cử tri tạo thêm T cặp phiếu mã hoá h1, , hT
hTij = Ej(s r
j(v r
i), k r
ij), r T gửi chúng tới ngƣời kiểm phiếu
(41)- Với cr=0, cử tri tiết lộ cách xây dựng cặp hr= (hr1, hr2) cách gửi
vri, s r
i(v r
i), k r
iji=1,2; j=1, ,N
Với cr=1 cử tri tiết lộ hốn vị mà mối liên quan
(v1,v2) với (v r
1, v r
2) Giả sử v1 = v r
1; v2 = v r
2 hij = Ej(sj(vi), kij); h r
ij= Ej(s r
j(v r
i),
krij) Nhờ có tính chất đồng cấu, ta có h/h r
mã hoá phiếu (0,0): hij/h r
ij
= Ej(sj(vi) - srj(vri), kij / krij) Cử tri gửi sj(vi) - srj(vri), kij / krij tới ngƣời kiểm
phiếu
- Những ngƣời kiểm phiếu kiểm tra xem hối âm cử tri có phù hợp với h khơng:
Với cr=0, họ kiểm tra xem hr có đƣợc tạo đúng?
Với cr=1, họ kiểm tra xem h/h r
có phải mã hố phiếu (0,0)
Giai đoạn kiểm phiếu: giả sử phiếu cử tri vi hi=(hi1, , hiN)
Ngƣời kiểm phiếu Aj tính tốn nhờ tính chất đồng cấu nhƣ sau:
i i j j i j i i
ij E s v E s v
h ( ( )) ( ( ))
Aj giải mã tổng phần tƣơng ứng
i i j
j s v
S ( )
Sj việc chứng minh giải mã đƣợc làm công khai Gọi A
tập (t+1) ngƣời kiểm phiếu thành công việc giải mã phần việc chứng minh giải mã Tổng cuối phiếu tính đƣợc ngƣời nhƣ sau:
i i j
i A
j i i j A
j j i j j A j
j S v s v v
S ( ( )) ( )
S
Ở j hệ số Lagrăng
* Các tính chất:
(42)- Tính bí mật: bí mật cử tri đƣợc bảo đảm sơ đồ mã hoá Bất kỳ nhóm (t+1) ngƣời kiểm phiếu khơng có đƣợc thơng tin phiếu cử tri
- Tính xác minh phổ thơng: ngƣời xác minh tính hợp lệ phiếu gửi, nhận đƣợc mã hố tƣơng ứng với ngƣời kiểm phiếu xác minh xem ngƣời kiểm phiếu có giải mã tổng phần tƣơng ứng hay không, từ tính tốn kết cuối
2.2.4 Qui trình bỏ phiếu Schoenmaker
Tƣơng tự nhƣ qui trình Benaloh, cử tri chia sẻ phiếu với ngƣời kiểm phiếu nhờ sơ đồ chia sẻ bí mật Việc tính tốn cuối dựa tính chất đồng cấu q trình chia sẻ bí mật (tổng bí mật đƣợc xây dựng lại từ tích phần chia)
Giai đoạn mở đầu: theo sơ đồ chia sẻ bí mật đƣợc kiểm tra lại cách công khai (tạo phần tử sinh g, g Zp , khố cơng khai hj= g
zj của ngƣời kiểm
phiếu đƣa cho)
Giai đoạn bỏ phiếu: Cử tri Vi chọn phiếu vi mình, vi {0,1}
chọn ngẫu nhiên si Zp Cử tri dùng cách thức phân phối để chia sẻ bí mật gsi
cơng bố giá trị Ui= g
si + vi Ngoài để v
i {0,1}, cử tri đƣa chứng
minh:
logGC0=loggUi v logG(GC0) = loggUi
Bất kỳ ngƣời kiểm tra phiếu bảng thơng báo tính xác minh cơng khai sơ đồ chia sẻ bí mật đƣa việc chứng minh vi
{0,1}
Giai đoạn kiểm phiếu: Giả sử cử tri Vi (i=1, ,m) bỏ phiếu thành
công hợp lệ ; tất phần chia đƣợc mã hố ngƣời đƣợc tích luỹ lại:
i i
i p j
j i j p j i ij
j H h h
(43)Sau đó, ngƣời kiểm phiếu Aj áp dụng chia sẻ có xác minh; để đạt
đƣợc isi
i i g
g p(0) , nhờ tính đồng cấu Kết hợp với i i s v i i i g
U ta có
T v
g
g i i Và tổng cuối T tính tốn nhƣ sơ đồ CGS Những tính chất đạt đƣợc:
- Tính hợp pháp: cử tri hợp lệ viết lên bảng thông báo Cử tri bỏ phiếu khơng hợp lệ phiếu đơi, cử tri bị địi hỏi phải chứng minh tính hợp lệ phiếu
- Tính bí mật: bất ký nhóm (t+1) ngƣời kiểm phiếu khơng thể biết phiếu cử tri Tính bí mật đƣợc đảm bảo sơ đồ chia sẻ bí mật xác minh cơng khai
- Tính xác minh phổ thơng: xác minh tính hợp lệ phiếu bầu Sơ đồ chia sẻ bí mật có xác minh công khai ngăn cản đƣợc tƣợng cử tri phân phối sai phần bí mật tới ngƣời kiểm phiếu Ai nhân phần bí mật mã hoá ngƣời kiểm phiếu thứ j xác minh xem ngƣời kiểm phiếu thứ j có giải mã hay khơng Ai tính tốn tổng cuối từ tổng phần chia cơng bố
2.2.5 Qui trình bỏ phiếu CGS
Qui trình hiệu thoả mãn tất yêu cầu đặt qui trình bầu cử Qui trình dựa giả định loga rời rạc, đƣợc điều chỉnh với giả định thặng dƣ thứ q
Giai đoạn mở đầu: hệ mật mã ngƣỡng ElGamal đƣợc tạo lập; ban kiểm phiếu chia sẻ khố giải mã s, khố cơng khai (p,g,h), hj =g
si và hàm
sinh cố định G Gq đƣợc công khai
Giai đoạn bỏ phiếu: Cử tri Vi chọn phiếu m0= G
phiếu Yes, m1= 1/G với phiếu No Lá phiếu đƣợc mã hố có dạng (x,y)=g k
, hkmb (trong k số ngẫu nhiên, b {0, 1} Cử tri phải chứng minh
(44)Giai đoạn kiểm phiếu: Ban kiểm phiếu kiểm tra chứng minh tính hợp lệ phiếu tích phiếu đƣợc mã hoá hợp lệ:
) , ( ) , (
i i i
i y
x Y
X
Sau ban kiểm phiếu hợp tác thực cách thức giải mã (X,Y) để đạt đƣợc giá trị W=Y/Xs Mỗi ngƣời kiểm phiếu công khai chứng minh
không tƣơng tác (từ cách giải mã) ngƣời kiểm phiếu sử dụng phần khoá đƣợc chia sẻ
Từ đó, ta có W=GT, T sai khác số phiếu YES NO; -M T
M; M số cử tri đủ tƣ cách ; suy T=logGW, nói chung giá trị khó tính
tốn T đƣợc xác định cách thực phép nhân modulo 0(M) nhờ tính tốn lặp: G-M
, G-M+1, tìm W
Những tính chất đạt được:
- Tính hợp lệ: phiếu khơng cử tri không đƣợc chấp nhận nhờ kiểm tra chứng minh tính hợp lệ
- Tính trung thực: Qui trình chống lại đƣợc t ngƣời kiểm phiếu khơng trung thực
- Tính bí mật: phiếu riêng lẻ đƣợc đảm bảo an tồn hệ thống bí mật Elgamal Bất kỳ nhóm t ngƣời kiểm phiếu khơng biết rõ phiếu
- Tính xác minh phổ thơng: ngƣời kiểm tra phần chứng minh tính hợp lệ phiếu, tính tích phiếu hợp lệ xác minh tính đắn việc giải mã cách kiểm tra phần chứng minh ngƣời kiểm phiếu việc sử dụng phần bí mật
2.2.6 Qui trình bỏ phiếu HS
(45)chọn Qui trình đƣợc thiết kế theo cách mà có cử tri biết hốn vị cuối cử tri nói dối phiếu chọn với
* Sơ đồ bầu cử - L:
Các phiếu đƣợc mã hoá sử dụng hệ mã hoá Elgamal: lựa chọn thứ i đƣợc mã hoá thành (gk
mod p, hkGi mod p) Trong (p,g, h) khố Elgamal
cơng khai k số ngẫu nhiên
- Giai đoạn mở đầu: N ngƣời kiểm phiếu thiết lập hệ mật mã Elgamal ngƣỡng mạnh Các hàm sinh G1, , GL đại diện cho lựa chọn
đƣợc công khai Ban kiểm phiếu tạo danh sách cơng khai phiếu hợp lệ đƣợc mã hố chuẩn e1(0), e2(0), ., eL(0), e1(0) mã hoá lựa
chọn Gi, số ngẫu nhiên k=0; e1 (0)
= (1, Gi)
- Giai đoạn bỏ phiếu: cử tri V, ngƣời kiểm phiếu tạo danh sách mã hoá phiếu Từ cử tri V lựa chọn để đại diện cho định Ngƣợc lại, với ngƣời kiểm phiếu Ai
(j=1, ,N): nhập danh sách e1(j-1), , eL(j-1), mã hố lại phần
danh sách hoán vị danh sách theo trật tự ngẫu nhiên Với cách này, Aj
tạo danh sách e1 (j)
, , eL
(j) Hơn nữa, A
j bị yêu cầu chứng minh
danh sách vừa tạo đƣợc xây dựng Nếu Aj thất bại cách
hoặc cử tri phản đối Aj Aj coi nhƣ khơng có loại bỏ A j đặt e(j)= e(j-1)
Ngƣời kiểm phiếu nhận danh sách mẫu e1 (0)
, , eL
(0) Sau
sự mô tả chi tiết phƣơng thức này: + Aj tính tốn danh sách đƣa e1
(j)
, ,eL (j)
theo cách sau:
Aj lựa chọn phép hoán vị ngẫu nhiên j: {1, ,L} {1, ,L}
các số ngẫu nhiên k1, , kL RZp
Thứ tự (i) danh sách cuối có đƣợc cách mã hoá lại thứ tự i (là ei
(j-1)) từ danh sách đầu vào với số ngẫu nhiên k i
+ Khơng tiết lộ phép hốn vị j nhƣ số ngẫu nhiên k1, , kL;
ngƣời kiểm phiếu Aj danh sách đầu e1 (j)
, ,eL (j)
(46)đúng: với i = 1, ,L Aj chứng minh tồn mã hoá lại thứ
tự thứ i (ei
(j-1)) danh sách đầu vào danh sách đầu e
(j)
, ,eL (j)
+ Aj trao đổi với cách bí mật phép hốn vị j chứng minh
bí mật tính đắn phép hốn vị đó, thơng qua kênh chống đột nhập đƣờng truyền tới cử tri V Một cách cụ thể hơn: Aj chứng minh với
mỗi i, ( ) ) (
j i j
e mã hoá lại ei (j-1)
+ Nếu cử tri không chấp nhận chứng minh, cử tri phản ánh cách cơng khai ngƣời kiểm phiếu Sau đó, danh sách tƣơng ứng quay lại giai đoạn trƣớc e1
(j-1)
, , eL (j-1)
ngƣời kiểm phiếu thứ j bị lờ Cử tri khiếu nại nhiều (N - t -1) ngƣời kiểm phiếu
Cử tri thông báo công khai vị trí thứ i phiếu mong muốn danh sách cuối e(N)
- Giai đoạn kiểm phiếu: cử tri chọn phiếu từ danh sách cuối mà ban kiểm phiếu tạo cho cử tri Các phiếu mã hoá đƣợc nhân lên để đƣợc mã hoá tổng phiếu Ban kiểm phiếu liên kết giải mã tổng cơng bố chứng minh giải mã
Những tính chất đạt đƣợc:
- Tính hợp pháp: cử tri bỏ phiếu hợp lệ đƣợc bỏ phiếu nhiếu lần theo ý
- Tính bí mật cao: phiếu mã hố khơng thể giải mã ngƣời ngồi nhóm (t+1) ngƣời kiểm phiếu Một nhóm (t+1) ngƣời kiểm phiếu liên minh lại tìm đƣợc trật tự cũ danh sách
- Tính xác minh phổ thơng: Bất kỳ ngƣời kiểm tra xem ngƣời kiểm phiếu Aj có hốn vị danh sách cách xác hay không Cũng
với cách này, ngƣời xem xác minh xem danh sách cuối e(N)
(47)Chƣơng 3: XÂY DỰNG ỨNG DỤNG MÔ PHỎNG BỎ PHIẾU ĐIỆN TỬ
3.1 MƠ TẢ BÀI TỐN :
Bước 1: Chuẩn bị:
Ban tổ chức bầu cử cần chuẩn bị hệ mã RSA với : số nguyên tố lớn (p,q)
n = p.q ; (n)=(p-1)(q-1) Chọn b nguyên tố (n) Chọn a nghịch đảo với b; a=b-1
mod (n)
Trong đó, a khóa bí mật b khóa cơng khai - Ký x: Sig (x) = xa mod n
- Kiểm tra chữ ký: Ver(x,y)= True x yb mod n
Ban tổ chức cấp cho thành viên mảnh khóa riêng Sau xét duyệt hồ sơ xin chữ ký cử tri thành viên Ban tổ chức trí cho ký họ khớp mảnh khóa riêng để nhận đƣợc khóa ký
Bước 2: Đăng ký :
Cử tri chọn bí mật số định danh x (tiêu biểu cho ứng cử viên), giấy chứng minh thƣ điện tử (CMT), thông tin nhận dạng làm mù x thành y=Blind(x) gửi tất thơng tin cho Ban tổ chức
Ban tổ chức xác minh ghi lại nhận dạng chứng minh thƣ điện tử Cử tri xem có khớp hợp lệ với danh sách cử tri hay không chƣa bỏ phiếu lần Sau Ban kiểm phiếu ký lên y Đó chữ ký z=sign(y) chuyển lại cho Cử tri
(48)Cử tri kiểm tra chữ ký có phải thật hay không cách sử dụng hàm kiểm tra chữ ký khóa cơng khai mà Ban tổ chức cấp cho
Bước 3: Bỏ phiếu :
Sau phiếu có chữ ký Ban tổ chức, cử tri ghi ý kiến (lựa chọn) phiếu cách đánh dấu lên phiếu gạch tên ứng cử viên
Cử tri mã hóa phiếu khóa cơng khai Ban tổ chức gửi tới Ban tổ chức phiếu bị mã hóa, đinh danh thật ( khơng bị làm mù) họ, chữ ký Ban tổ chức cho Ban tổ chức
Trƣớc đƣợc kiểm phiếu, phiếu cử tri phải đƣợc kiểm tra chữ ký cấp quyền bỏ phiếu có bị giả mạo khơng để xác minh tính hợp lệ phiếu đƣợc mã hóa lại gửi hịm phiếu
Khi kiểm phiếu, thành viên Ban tổ chức dùng mảnh khóa riêng để khơi phục khóa bí mật Ban tổ chức dùng khóa bí mật để tính kết bầu cử
(49)Sơ đồ mô bỏ phiếu điện tử :
Các bƣớc
thực Cử tri ( CT ) Ban tổ chức (BTC)
Đăng ký - Chọn bí mật bí danh x
- Mã hóa phiếu -Xóa mù để thu chữ ký x
x làm
mù,CMT,nhận dạng
Chữ ký x làm mù
- Kiểm tra ghi lại thông tin cử tri - Nếu hợp lệ ký x làm mù CT gửi
Bỏ phiếu - Chọn ý kiến cho phiếu có chữ ký BTC
Lá phiếu mã hóa khóa công khai BTC
- Kiểm tra chữ ký tính hợp lệ phiếu
- Mã hóa lại phiếu gửi hịm phiếu - Khơi phục khóa bí mật
- Tính kết bầu cử
(50)3.2 MÔ PHỎNG BỎ PHIẾU ĐIỆN TỬ :
Giao diện chương trình
(51)Nếu kết đúng:
Nếu kết sai:
(52)Bước 2: Đăng ký :
(53)Trường hợp bị trùng số CMT cử tri gian lận bỏ phiếu nhiều lần :
Hoặc :
Bước : Bỏ phiếu : Mã hóa phiếu
(54)Kiểm tra cử tri :
Nếu giả mạo :
Nếu cử tri hợp lệ :
(55)Và kết kiểm phiếu :
(56)KẾT LUẬN
Trên qui trình bỏ phiếu tổng qt tóm tắt số qui trình bỏ phiếu "điện tử" tồn đặc trƣng chúng Những qui trình bỏ phiếu đƣợc giới thiệu có tính an tồn khác đạt đƣợc yêu cầu: hợp pháp, riêng tƣ, rõ ràng, trung thực