Tải bản đầy đủ (.pdf) (77 trang)

KỸ THUẬT mã hóa PAILLIER TRONG LĨNH vực bỏ PHIẾU điện tử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.12 MB, 77 trang )

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƢỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN
______________________________________

Phù Khắc Anh

KỸ THUẬT MÃ HĨA PAILLIER
TRONG LĨNH VỰC BỎ PHIẾU ĐIỆN TỬ
(Paillier cryptosystem in electronic voting)

LUẬN VĂN THẠC SĨ
NGÀNH : KHOA HỌC MÁY TÍNH
Mã số : 60.48.01.01

NGƢỜI HƢỚNG DẪN KHOA HỌC
PGS. TS. NGUYỄN ĐÌNH THÚC

TP HỒ CHÍ MINH – NĂM 2016


LỜI CAM ĐOAN
Tôi xin cam đoan luận văn "Kỹ thuật mã hóa Paillier trong lĩnh vực bỏ
phiếu điện tử" (Paillier cryptosystem in electronic voting) là thành quả nghiên
cứu của tôi dƣới sự hƣớng dẫn của PGS. TS. Nguyễn Đình Thúc. Trong q trình
thực hiện luận văn, tơi có tham khảo và thừa hƣởng các kết quả nghiên cứu của
các nhà nghiên cứu đi trƣớc với lòng trân trọng sâu sắc.

1


LỜI CẢM ƠN


Tôi xin chân thành cảm ơn trƣờng Đại học Công nghệ Thông tin – Đại
học Quốc gia TP. Hồ Chí Minh đã tạo điều kiện cho tơi thực hiện luận văn tốt
nghiệp này.
Tôi xin gởi lời cảm ơn sâu sắc đến PGS. TS. Nguyễn Đình Thúc đã trực
tiếp hƣớng dẫn và chỉ bảo tận tình cho tơi trong suốt thời gian thực hiện luận văn.
Tôi cũng xin gởi lời cảm ơn chân thành đến TS. Ngô Minh Nhựt đã giúp đỡ tơi
hồn thiện luận văn này.
Xin chân thành cảm ơn gia đình và bạn bè đã ln động viên và giúp đỡ
tôi trong suốt thời gian học tập và nghiên cứu.
Mặc dù đã rất cố gắng hoàn thành luận văn trong phạm vi và khả năng cho
phép, nhƣng chắc chắn sẽ khơng tránh khỏi những thiếu sót, kính mong sự cảm
thơng và tận tình chỉ bảo của q thầy cơ và các bạn

Tp. Hồ Chí Minh, ngày 25 tháng 4 năm 2016

Phù Khắc Anh

2


MỤC LỤC

MỤC LỤC .............................................................................................................. 1
DANH SÁCH CÁC BẢNG ................................................................................... 4
DANH MỤC HÌNH ẢNH ..................................................................................... 5
DANH MỤC CÁC KÝ HIỆU................................................................................ 7
DANH MỤC CHỮ VIẾT TẮT, THUẬT NGỮ .................................................... 7
LỜI MỞ ĐẦU ........................................................................................................ 8
CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ ..................................... 11
1.1


Khảo sát bài toán bỏ phiếu điện tử ......................................................... 11

1.2

Mã hóa đồng cấu trong lĩnh vực bỏ phiếu điện tử .................................. 11

1.3

Khảo sát thực tế các bài toán bỏ phiếu điện tử ....................................... 14

1.3.1

Bầu cử tổng thống Mỹ ..................................................................... 14

1.3.2

Bầu cử Quốc Hội nƣớc Cộng hòa xã hội chủ nghĩa Việt Nam ....... 16

1.4

Thực trạng bỏ phiếu điện tử trên thế giới và tại Việt Nam..................... 17

1.5

Tổng kết chƣơng ..................................................................................... 25

CHƢƠNG 2. MÃ HÓA ĐỒNG CẤU ................................................................. 26
2.1


Các khái niệm về mã hóa và giải mã ...................................................... 26

2.1.1

Mở đầu ............................................................................................. 26

2.1.2

Các khái niệm cơ bản về mật mã học .............................................. 26

2.2

Mã hóa đồng cấu..................................................................................... 34

2.2.1 Định nghĩa mã hóa đồng cấu : ............................................................. 34
2.2.2 Chứng minh RSA là hệ mã đồng cấu .................................................. 35
2.2.3 Chứng minh hệ mã Elgamal đồng cấu ................................................ 36
2.3

Hệ mã Paillier ......................................................................................... 36
1


2.3.1

Các khái niệm cơ bản ....................................................................... 37

2.3.2

Lƣợc đồ mã hóa ............................................................................... 37


2.4

Phần tử sinh ............................................................................................ 38

2.4.1

Khái niệm phần tử sinh: ................................................................... 38

2.4.2

Thuật tốn tìm phần tử sinh ............................................................. 39

2.5

Tổng kết chƣơng ..................................................................................... 39

Chƣơng 3. Bỏ phiếu điện tử ................................................................................. 41
3.1 Giới thiệu .................................................................................................... 41
3.2

Bỏ phiếu điện tử sử dụng mã đồng cấu .................................................. 42

3.2.1

Hệ mã RSA : .................................................................................... 42

3.2.2

Hệ mã Elgamal................................................................................. 43


3.3

Mơ hình bỏ phiếu điện tử dùng mã hóa Paillier ..................................... 44

3.3.1

Giới thiệu ......................................................................................... 44

3.3.2

Một số tính chất đồng cấu trong hệ mã Paillier ............................... 44

3.3.3

Giao thức .......................................................................................... 45

3.3.4

Tính đúng đắn và độ an toàn............................................................ 47
Kết luận chƣơng .................................................................................. 49

3.4

CHƢƠNG 4. HỆ THỐNG BỎ PHIẾU ĐIỆN TỬ............................................... 50
4.1

Giới thiệu ................................................................................................ 50

4.1.1


Bài toán phát sinh hai số nguyên tố lớn p,q ..................................... 50

4.1.2

Thuật tốn bình phƣơng và nhân ..................................................... 52

4.1.3

Thuật tốn Euclid mở rộng .............................................................. 53

4.2

Thiết kế ................................................................................................... 55

4.2.1

Cấu hình thực nghiệm ...................................................................... 55

4.2.2

Mơ hình xử lý .................................................................................. 55

2


4.2.3

Điều kiện sử dụng hệ thống ............................................................. 56


4.2.4

Quy trình thực hiện .......................................................................... 57

4.3

Kết quả thực nghiệm............................................................................... 58

4.3.1

Khảo sát việc phát sinh hệ mã ......................................................... 58

4.3.2

Khảo sát tốc độ mã hóa một lá phiếu ............................................... 60

4.3.3

Khảo sát tốc độ giải mã.................................................................... 64

4.3.4

Khảo sát độ chính xác, tỉ lệ phát sinh lỗi ......................................... 67

4.4

Tổng kết chƣơng ..................................................................................... 67

CHƢƠNG 5. KẾT LUẬN VÀ KIẾN NGHỊ ....................................................... 68
5.1 Kết luận. ...................................................................................................... 68

5.2 Kiến nghị và hƣớng phát triển .................................................................... 69
TÀI LIỆU THAM KHẢO .................................................................................... 70

3


DANH SÁCH CÁC BẢNG
Bảng 4.2 Minh họa thuật toán Euclid mở rộng .................................................... 54
Bảng 4.3 Kết quả thực nghiệm phát sinh hệ mã Paillier 1024 bit........................ 59
Bảng 4.4 Kết quả thực nghiệm mã hóa lá phiếu của cử tri .................................. 63
Bảng 4.5 Kết quả thực nghiệm giải mã kết quả bầu cử ....................................... 66

4


DANH MỤC HÌNH ẢNH
Hình 1.1 Minh họa mã hóa phiếu bầu cho các cử tri [22].................................... 13
Hình 1.2. So sánh giữa ba hệ mã ứng với bản rõ 2048 bit [6] ............................. 19
Hình 1.3 . So sánh giữa ba hệ mã ứng với bản rõ 4096 bit [6] ............................ 19
Hình 1.4. Tốc độ mã hóa/ giải mã ( tính theo bit ) mỗi giây đƣợc kiểm nghiệm
trên máy tính Pentuim III 750 MHz. [6] .............................................................. 19
Hình 1.5. Năm tình huống nguy hiểm có thể dẫn đến rị rỉ thơng tin phiếu bầu
[24]. ...................................................................................................................... 20
Hình 1.6 Bảng kết quả dựa trên dữ liệu demo của module bỏ phiếu điện tử tại
đơn vị CPCVN [13].............................................................................................. 22
Hình 1.7 Giao diện chức năng chính của CPC eVote. [13] ................................. 23
Hình 1.8 Mơ hình hệ thống bỏ phiếu điện tử của CPC eVote [13]. ..................... 23
Hình 2.1. Một số hàm băm trong mã hóa một chiều [12]. ................................... 29
Hình 3.1 Quy trình bỏ phiếu điện tử .................................................................... 46
Hình 4.1 Dãy số đƣợc sử dụng để khởi tạo hệ mã Paillier 1024 bit của hệ thống.

.............................................................................................................................. 58
Hình 4.2 Minh họa một trƣờng hợp thử nghiệm phát sinh hệ mã........................ 59
Hình 4.3 Giao diện minh họa các bƣớc bỏ phiếu của cử tri................................. 60
Hình 4.4 Cử tri nhận "degit" để tiến hành bỏ phiếu. ............................................ 61
Hình 4.5 Trƣờng hợp ID hoặc Password cử tri cung cấp không chính xác ......... 61
Hình 4.6 Trƣờng hợp ID đã đƣợc đăng ký Degit ................................................. 62
Hình 4.7 Hình ảnh minh họa một trƣờng hợp bỏ phiếu ....................................... 62
Hình 4.8 Hình ảnh minh họa trƣờng hợp cử tri cung cấp chứng nhận khơng hợp
lệ khi bỏ phiếu ...................................................................................................... 63
Hình 4.4 Danh sách các lá phiếu đã mã hóa đƣợc ghi nhận lại ........................... 64
Hình 4.5 Kết quả gộp các lá phiếu đã mã hóa là một bản mã duy nhất ............... 65

5


Hình 4.6 Kết quả giải mã tạm thời của ban kiểm phiếu, cần đƣợc ráp nối với danh
sách cử tri để cho ra kết quả cuối cùng. ............................................................... 65
Hình 4.7 Minh họa kết quả chung cuộc của cuộc bầu cử .................................... 66

6


DANH MỤC CÁC KÝ HIỆU
: Thuật tốn mã hóa
: Thuật tốn mã hóa bản rõ
: Tập {0, 1, ...,

khi sử dụng khóa cơng khai

.


}

: Tập các phần tử khả nghịch theo modulo
: Số lƣợng phần tử của tập
: Hàm Phi Euler, số các số nguyên dƣơng nguyên tố cùng nhau với N
: Bội chung nhỏ nhất của



: Ƣớc chung lớn nhất của



DANH MỤC CHỮ VIẾT TẮT, THUẬT NGỮ
MD5

: Message-Digest Algorithm 5

SHA

: Secure Hash Algorithm

DES

: Data Encryption Standard

AES

: Advanced Encryption Standard


AMPAS

: Academy of Motion Picture Arts and Sciences
: Composite Resudousity
: Composite Resudousity Class Problem
: N-th Residuosity Class Problem
: Decisional Problem associated to

DCRA

: Decisional Composite Residousity Assumption

CCRA

: Computational Composite Residousity Assumption

7


LỜI MỞ ĐẦU

LỜI MỞ ĐẦU
Trong suốt nhiều thế kỉ qua trên thế giới, các cuộc bầu cử đã giữ một vai
trị quan trọng trong việc xác lập thể chế chính trị của các quốc gia, cũng nhƣ
xuất hiện thƣờng xuyên trong các hoạt động nghiệp vụ của một tổ chức, cơ quan,
doanh nghiệp. Trong xu hƣớng phát triển của khoa học công nghệ ngày nay,
công nghệ thông tin ngày càng phát triển và đƣợc áp dụng trong mọi lĩnh vực đời
sống, trong đó bao gồm cả vấn đề bầu cử - bỏ phiếu. Hiện nay có hai hình thức
bỏ phiếu: bỏ phiếu truyền thống và bỏ phiếu điện tử. Hình thức bỏ phiếu truyền

thống là hình thức bỏ phiếu trực tiếp tại hòm phiếu bằng các lá phiếu in trên giấy,
việc tổ chức, kiểm tra danh sách cử tri, tổ chức bỏ phiếu, kiểm phiếu cũng nhƣ
công bố kết quả đều đƣợc thực hiện thủ cơng bởi con ngƣời. Hình thức bỏ phiếu
truyền thống do thực hiện thủ công nên tồn tại một số vấn đề nhƣ: độ chính xác
khi kiểm phiếu, tính bảo mật nội dung lá phiếu của cƣ tri đối với ngƣời kiểm
phiếu chƣa cao, chi phí tổ chức. Với sự phát triển của khoa học kỹ thuật, hình
thức bỏ phiếu điện tử bắt đầu đƣợc quan tâm và nghiên cứu vào những năm
1960. Trong giai đoạn những năm 1990 – 2000, hình thức bỏ phiếu điện tử đƣợc
ứng dụng trên nhiều quốc gia nhƣ Mỹ, Ấn Độ, các quốc gia châu Âu, v.v... Việc
tổ chức bầu cử vẫn đƣợc tổ chức tập trung tại một địa điểm, cử tri đến bỏ phiếu
thông qua các máy bỏ phiếu điện tử thay vì bỏ phiếu bằng các lá phiếu giấy
truyền thống. Các máy bỏ phiếu điện tử sẽ ghi nhận lá phiếu của các cử tri để
tổng hợp kết quả sau cùng của cuộc bầu cử.
Ngày nay, do quỹ thời gian khơng nhiều, một ngƣời có thể làm việc ở
nhiều nơi. Trong các tổ chức, cơ quan, doanh nghiệp, các cuộc bầu cử, bỏ phiếu
lấy ý kiến xuất hiện ngày càng nhiều. Hình thức bỏ phiếu điện tử tập trung sẽ gây
khó khăn cho các cử tri có mong muốn tham gia bỏ phiếu từ xa. Với sự phát triển
không ngừng của mạng Internet, các hệ thống bỏ phiếu điện tử từ xa qua mạng đã
đƣợc nghiên cứu và xây dựng nhƣ trong bài báo [2]. Bỏ phiếu từ xa vẫn giữ lại
những ƣu điểm của bỏ phiếu điện tử nhƣ độ chính kiểm phiếu cao, tiết kiệm chi
phí tổ chức, độ bảo mật nội dung lá phiếu đối với ngƣời kiểm phiếu đƣợc nâng
cao, giảm thiểu các hành vi tiêu cực trong bầu cử. Ngoài ra bỏ phiếu từ xa tạo
8


LỜI MỞ ĐẦU

điều kiện thuận lợi cho các cuộc bỏ phiếu, lấy ý kiến của nhiều cử tri từ xa. Vì
vậy, bỏ phiếu điện tử với hình thức bỏ phiếu từ xa đang và sẽ là nhu cầu cấp
thiết, là bài tốn cần có lời giải trong tình hình xã hội hiện nay.

Cũng nhƣ bỏ phiếu truyền thống, bỏ phiếu điện tử phải đảm bảo u cầu
"bí mật", "tồn vẹn" và "xác thực" của lá phiếu. Yêu cầu "bí mật" của lá phiếu:
u cầu ngồi cử tri, chỉ có ban kiểm phiếu mới đƣợc biết nội dung của lá phiếu
nhƣng họ cũng khơng nên biết chủ nhân của nó. u cầu "tồn vẹn" của lá phiếu
địi hỏi trên đƣờng truyền tin, nội dung lá phiếu không thể bị thay đổi, tất cả các
lá phiếu đều đƣợc chuyển đến hòm phiếu an toàn, đúng thời hạn và đƣợc kiểm
phiếu đầy đủ. Yêu cầu "xác thực" của lá phiếu: là phiếu gửi tới hịm phiếu phải
hợp lệ, đúng là của ngƣời có quyền bỏ phiếu, cử tri có thể nhận ra lá phiếu của
họ. Luận văn sẽ tập trung vào giải quyết vấn đề yêu cầu đảm bảo tính " bí mật
của lá phiếu ".
Để đảm bảo tính "bí mật của lá phiếu", nội dung của lá phiếu cần đƣợc che
giấu. Đối với hình thức bỏ phiếu truyền thống, việc che giấu đƣợc thực hiện
thơng qua hịm phiếu, tuy nhiên nội dung lá phiếu sẽ vẫn bị lộ khi kiểm phiếu. Vì
vậy nội dung lá phiếu cần đƣợc mã hóa, ta cần đƣa ra một thuật tốn mã hóa vừa
có thể cơng bố danh sách các phiếu bầu để cử tri có thể kiểm tra phiếu của mình
đã đƣợc tính, vừa có thể đảm bảo sự ẩn danh cho cử tri trong lựa chọn. Đó cũng
là lý do tác giả chọn đề tài luận văn "Kỹ thuật mã hóa Paillier trong lĩnh vực
bỏ phiếu điện tử" (Paillier cryptosystem in electronic voting). Luận văn gồm
năm chƣơng đƣợc tổ chức nhƣ sau:
Chƣơng I. Tổng quan về bỏ phiếu điện tử.
Chƣơng này sẽ giới thiệu tổng quan về bỏ phiếu điện tử, nêu ra bối cảnh
bài toán của luận văn cũng nhƣ khảo sát bài tốn trong thực tế, đồng thời chứng
minh tính khả thi giải pháp tác giả đƣa ra để giải quyết bài tốn.
Chƣơng II. Mã hóa đồng cấu.

9


LỜI MỞ ĐẦU


Chƣơng này giới thiệu các khái niệm về mã hóa. Định nghĩa các hệ mã,
trong đó nổi bật là hệ mã công khai, hệ mã đồng cấu. Đồng thời, trong chƣơng
này cũng giới thiệu hai hệ mã đồng cấu tiêu biểu là hệ mã RSA và hệ mã
Elgamal và chứng minh hai hệ mã này có tính chất đồng cấu.
Chƣơng III. Bỏ phiếu điện tử với hệ mã Paillier.
Chƣơng này sẽ nêu rõ các vấn đề về hệ mã Paillier : định nghĩa, tính chất
đồng cấu, chứng minh tính chất đồng cấu. Chƣơng này cũng trình bày tính đúng
đắn và tính an tồn của hệ mã Paillier và quy trình bỏ phiếu điện tử sử dụng hệ
mã Paillier.
Chƣơng IV. Thực nghiệm và kết quả.
Chƣơng này trình bày việc xây dựng hệ thống bỏ phiếu điện tử thử
nghiệm cũng nhƣ các kết quả thu nhận đƣợc trong quá trình chạy thực nghiệm :
tốc độ phát sinh hệ mã, tốc độ mã hóa, tốc độ giải mã, độ chính xác của hệ thống.
Chƣơng V. Kết luận và kiến nghị.
Chƣơng này trình bày kết luận tổng kết của luận văn, nêu ra những ƣu
điểm, hạn chế của việc cài đặt hệ thống bỏ phiếu điện tử thử nghiệm dựa trên hệ
mã Paillier, đồng thời đƣa ra những nhận định và kiến nghị hƣớng khắc phục
những hạn chế đƣợc nêu trong tƣơng lai.

10


CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ

CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ
1.1 Khảo sát bài toán bỏ phiếu điện tử
Để giải quyết vấn đề yêu cầu đảm bảo tính " bí mật của lá phiếu", một
trong những phƣơng án khả thi nhất chính là mã hóa nội dung lá phiếu sau đó gởi
đi, nhƣ vậy nội dung lá phiếu sẽ khó bị tiết lộ. Một cách tự nhiên, các hàm mã
hóa đƣợc sử dụng để mã hóa lựa chọn của cử tri nhằm che dấu lựa chọn của cử

tri trong phiếu bầu. Mặt khác, để đảm bảo tính bí mật cho việc kiểm phiếu, lẽ dĩ
nhiên là chìa khóa giải mã phải đƣợc giữ kín và không thể chia sẻ với cử tri,
tránh trƣờng hợp các cử tri hoặc một cá nhân nào đó tìm cách lấy đƣợc các lá
phiếu đã đƣợc mã hóa và giải mã chúng.
Với việc dùng một thuật tốn mã hóa
bí mật

, lựa chọn

khóa bí mật
cử viên

với cặp khóa cơng khai

sẽ bị mã hóa thành

sẽ khơng thể tính đƣợc

thì thay vì cơng bố

và khóa

và bất kể ai khơng có
từ

. Khi đó, nếu cử tri

, ngƣời ta sẽ công bố

bầu cho ứng


.

Tuy nhiên, việc sử dụng mã hóa khóa cơng khai một cách đơn giản nhƣ
trên là chƣa thể đủ để giải quyết vấn đề, nhất là trong việc đảm bảo tính ẩn danh
của cử tri trong phiếu bầu. Trở ngại là nếu ta vẫn sử dụng phƣơng pháp kiểm
phiếu thông thƣờng thì cần giải mã lá phiếu của

và do vậy lựa chọn của

khơng cịn là bí mật với những ngƣời kiểm phiếu. Tính tự do trong lựa chọn yêu
cầu sự lựa chọn của

đƣợc bí mật khơng chỉ với ngƣời quan sát mà ngay cả với

ngƣời kiểm phiếu.

1.2 Mã hóa đồng cấu trong lĩnh vực bỏ phiếu điện tử
Để giải quyết vấn đề bí mật phiếu bầu cho cử tri đã có một số phƣơng án
nhƣ việc dùng các hệ mix-net (xáo trộn phiếu) hay chữ ký mù (blind signature)
nhƣng có lẽ ý tƣởng nổi bật nhất là phƣơng pháp gộp phiếu bầu, đƣợc đề nghị lần
đầu tiên bởi Cohen và Fischer [3]. Trái với phƣơng pháp kiểm từng phiếu một,
11


CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ

tất cả các phiếu bầu đƣợc gộp lại với nhau và việc kiểm phiếu sẽ đƣợc thực hiện
duy nhất trên kết quả gộp. Kết quả là ta sẽ có trực tiếp tổng các phiếu bầu cho
từng ứng cử viên mà không cần phải kiểm tra từng phiếu đơn lẻ. Đây là một ý

tƣởng trọng tâm cho việc tiến tới đảm bảo đồng thời tính kiểm tra đƣợc và tính tự
do trong lựa chọn của cử tri:


Lá phiếu của mỗi cử tri đƣợc cơng bố cơng khai, nhƣng lựa chọn thì đƣợc

mã hóa để không ai biết ai bầu cho ai. Do vậy,

sẽ thấy đƣợc lá phiếu của mình

đã đến đƣợc trung tâm và không bị thay đổi kết quả lựa chọn.


Khi kiểm phiếu, thay vì giải mã từng lá phiếu và dẫn đến việc phá vỡ tính

ẩn danh của lá phiếu, tất cả các lá phiếu sẽ đƣợc gộp lại với nhau một cách công
khai và việc giải mã chỉ thực hiện trên kết quả tổng thể. Do phép gộp là công
khai nên mọi cử tri đều có thể tự thực hiện thao tác này và kiểm tra liệu lá phiếu
của mình đã thực sự đƣợc tính đến.
Các hệ mã hóa đồng cấu (homomorphic encryption) giúp giải quyết vấn
đề trên một cách tƣơng đối đơn giản dựa trên tính chất đồng cấu của chúng. Một
hệ mã đồng cấu cho phép ta gộp hai bản mã lại với nhau (phép gộp, ký hiệu là

,

có thể là phép cộng, phép nhân hay một tốn tử nào đó) để đƣợc bản mã có nội
dung là tổng của hai bản rõ tƣơng ứng mà không cần giải mã (nội dung của mã
hóa đồng cấu sẽ đƣợc làm rõ ở chƣơng 2) :
(1.1)
Việc vận dụng mã hóa đồng cấu vào bỏ phiếu điện tử gặp hai vấn đề cần

giải quyết. Thứ nhất, vấn đề biểu diễn nội dung lá phiếu thành bản rõ để có thể áp
dụng hệ mã đồng cấu. Với tính chất của hệ mã đồng cấu, tác giả đề xuất cách
biểu diễn sau đây. Ta có thể dễ dàng hình dung một cuộc bỏ phiếu cho ứng cử
viên



nhƣ sau: mỗi lá phiếu cho



và cho



. Lấy

gộp của tất cả các lá phiếu rồi giải mã sẽ cho ta tổng số phiếu bầu cho , và từ đó
cũng tính đƣợc số phiếu bầu cho .

12


CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ

Hình 1.1 Minh họa mã hóa phiếu bầu cho các cử tri [22].
Nếu có nhiều hơn hai ứng cử viên, cách làm cũng gần nhƣ tƣơng tự, với việc mỗi
phiếu bầu cho 1 ứng cử viên sẽ đƣợc mã hóa ở những khoảng số khác nhau.
Chẳng hạn nếu có 3 ứng cử viên
bầu cho


và số cử tri ít hơn 100 triệu thì một phiếu

có thể xem nhƣ là bản mã của 1, một phiếu bầu cho

bản mã của 108, một phiếu bầu cho

có thể nhƣ là

có thể nhƣ là bản mã của 1016:

Phiếu cho

là mã của 00000000 00000000 00000001

Phiếu cho

là mã của 00000000 00000001 00000000

Phiếu cho

là mã của 00000001 00000000 00000000

Sau khi gộp tất cả các phiếu và giải mã lá phiếu gộp với khóa bí mật
kết quả là

sẽ cho ta

và tổng số phiếu bầu cho các ứng cử viên đƣợc xác định trong các


khoảng số tƣơng ứng. Chẳng hạn với
= 03520003 04823458 15712347
thì có nghĩa ứng cử viên
phiếu và ứng cử viên

đƣợc 3520003 phiếu, ứng cử viên

đƣợc 4823458

đƣợc 15712347 (và thắng cử).

Qua nội dung đƣợc biểu diễn dƣới dạng một dãy số của lá phiếu, tác giả
nhận thấy trở ngại thứ hai khi áp dụng hệ mã đồng cấu vào bỏ phiếu điện tử
chính là phải xây dựng một hệ mã với số bit lớn. Trên thế giới hiện nay, các
nghiên cứu mã hóa đồng cấu vận dụng vào bỏ phiếu điện tử tập trung chủ yếu
13


CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ

vào hệ mã Elgamal. Cụ thể là lƣợc đồ PVSS dựa trên hệ mã Elgamal đã đƣợc tác
giả trong bài báo [3] trình bày. Ngồi ra khi bỏ phiếu điện tử ngày nay đƣợc thực
hiện với số cử tri lớn, tƣơng ứng với số bit của hệ mã phải lớn, các vấn đề về bảo
mật trong việc xác định danh tính của cử tri cũng là bài tốn khó. Các giải pháp
của Cohen, Inversen, Chaum, Ohta, Asano, Sako đƣợc tác giả nhắc đến trong bài
báo [4] nhằm mục đích giải quyết bài tốn khó trên.
Hệ mã Paillier chính là một hệ mã đồng cấu và thỏa đƣợc các tính chất
trên. Tuy nhiên các nghiên cứu vận dụng hệ mã Paillier vào bỏ phiếu điện tử vẫn
chƣa nhiều. Ngoài ra khi vận dụng hệ mã Paillier với cơ số lớn, tác giả đã sử
dụng kết hợp một số thuật toán, cũng nhƣ đề xuất phần tử sinh nhằm rút ngắn

thời gian mã hóa cũng nhƣ giải mã. Nội dung của luận văn sẽ trình bày kỹ thuật
mã hóa Paillier vào lĩnh vực bỏ phiếu điện tử, cụ thể ở đây sẽ là hệ mã Paillier
1024 bit. Tác giả sẽ xét tính khả thi của hệ mã Paillier 1024 bit vào các bài toán
thực tế.

1.3 Khảo sát thực tế các bài toán bỏ phiếu điện tử
Ở mục 3, tác giả chỉ dừng lại ở việc xem xét tính khả thi của hệ mã Paillier
1024 bit khi sử dụng để mã hóa lá phiếu trong bỏ phiếu điện tử, cụ thể tác giả
chứng minh với 1024 bit có thể biểu diễn giá trị các lá phiếu của cử tri trong các
cuộc bầu cử tiêu biểu cũng nhƣ phổ thơng hiện nay. Việc khảo sát tính đúng đắn
cũng nhƣ an toàn của hệ mã Paillier khi mã hóa các lá phiếu bầu này sẽ đƣợc
trình bày ở chƣơng II và chƣơng III.

1.3.1 Bầu cử tổng thống Mỹ
Lấy ví dụ xét bài tốn xây dựng quy trình bỏ phiếu điện tử cho sự kiện bầu cử
tổng thống Mỹ, đƣợc chia làm năm giai đoạn nhƣ sau:
 Giai đoạn một – Giai đoạn khởi đầu : Một chính trị gia có tham vọng trở
thành tổng thống Hoa Kỳ sẽ thành lập một uỷ ban. Uỷ ban này sẽ tìm
hiểu, thăm dị triển vọng của vị chính trị gia đó và quyên góp tiền bạc để
vận động tranh cử. Nếu nhƣ không giành đƣợc sự quan tâm của cử tri, thì
họ sẽ tự động rút lui. Nếu kết quả khả quan thì họ sẽ ra ứng cử tổng thống.
14


CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ

 Giai đoạn hai – Giai đoạn vận động ứng cử : Đây là giai đoạn các ứng
viên (thuộc cùng một đảng) cạnh tranh trong nội bộ đảng để đƣợc chọn là
ứng viên duy nhất ra tranh chức tổng thống với đảng khác. Các ứng viên
phải tiêu tốn rất nhiều tiền bạc để quảng cáo, tuyên truyền, vận động các

cử tri ủng họ cho mình. Các ứng viên tổ chức vận động ở các tiểu bang để
kêu gọi cử tri ủng hộ mình. Tại mỗi bang, cử tri qua cuộc bầu cử sơ bộ
chọn ra đại diện của tiểu bang đi dự đại hội đảng toàn quốc. Trong các
cuộc bầu cử sơ bộ, cử tri không chọn trực tiếp ứng cử viên đảng mình mà
bầu các đại biểu. Những ngƣời này sẽ bầu úng cử viên đảng. Để đƣợc
chọn ra tranh cử tổng thống, ứng cử viên đảng Dân chủ phải đƣợc 2383 từ
4764, cịn đảng Cộng hịa thì phải đƣợc 1237 từ 2472 đại biểu.
 Giai đoạn ba – Giai đoạn tổ chức Đại hội Đảng : Đại hội đảng đƣợc tổ
chức vài tháng trƣớc cuộc bầu cử tổng thống để chọn ứng viên ra tranh
chức tổng thống
 Giai đoạn bốn – Giai đoạn vận động tranh cử : Đây là giai đoạn quyết định
trong quá trình tranh cử tổng thống. Hai ứng viên tổ chức những hoạt
động quảng cáo, tuyên truyền nhằm lôi kéo sự ủng hộ. Và cử tri cũng rất
quan tâm tới các cuộc tranh luận trên truyền hình giữa hai ứng viên.
 Giai đoạn năm – Giai đoạn bầu cử : Tổng số đại cử tri của Hoa Kỳ là 538
ngƣời. Một ứng viên muốn trở thành tổng thống phải giành đƣợc số phiếu
tối thiểu là 270. Ở các tiểu bang, ứng viên nào giành đƣợc nhiều nhất
phiếu cử tri thì giành đƣợc tồn bộ phiếu của cử tri đoàn.
Xét hai giai đoạn bầu cử sơ bộ: số cử tri cao nhất có thể có chính là số dân
của bang đông dân nhất (khoảng 36 triệu ngƣời tính đến năm 2007 – Nguồn trích
dẫn số liệu từ [9]). Nhƣ vậy, theo cách phân tích ở trên, để biểu diễn lá phiếu cho
một cử tri ta cần một nhóm 8 ký số. Với hệ mã Paillier 1024bit ta có thể có đƣợc
128 ngƣời ứng cử, hay cịn gọi là đại cử tri của mỗi bang. Trong khi đó số đại cử
tri cao nhất (ứng với bang California có số dân đông nhất là 36 triệu ngƣời) cũng
chỉ là 55 đại cử tri. (Nguồn trích dẫn số liệu từ [9] ). Hệ mã Paillier 1024 bit có
thể đáp ứng.
15


CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ


Xét giai đoạn bầu cử: với hình thức bầu cử vẫn theo từng bang, số cử tri
không thay đổi, số ứng cử viên chỉ còn hai. Hệ mã Paillier 1024 bit chắc chắn có
thể đáp ứng đƣợc.

1.3.2 Bầu cử Quốc Hội nƣớc Cộng hịa xã hội chủ nghĩa Việt
Nam
Xét ví dụ bài toán thứ hai: bầu cử đại biểu Quốc Hội của nƣớc Cộng Hịa
Xã Hội Chủ Nghĩa Việt Nam. Quy trình bầu cử đại biểu Quốc Hội cũng trải qua
nhiều giai đoạn, trong đó ta chú trọng vào hai giai đoạn cử tri bỏ phiếu: giai đoạn
bầu đại biểu Quốc Hội của từng địa phƣơng và giai đoạn bầu chủ tịch Quốc Hội.
Với giai đoạn bầu đại biểu Quốc Hội địa phƣơng: xét địa phƣơng đông
dân nhất là thành phố Hồ Chí Minh với số dân đƣợc thống kê năm 2014 là 7,95
triệu (nguồn trích dẫn số liệu thống kê năm 2014 theo [10]). Nhƣ vậy số cử tri tối
đa trên lá phiếu cho từng đại biểu ứng cử sẽ cần dùng 7 ký số. Với hệ mã Paillier
1024 bit ta có thể có đƣợc 146 đại biểu ứng cử, trong khi đó theo danh sách phân
bố số lƣợng đại biểu thì thành phố Hồ Chí Minh sẽ bầu ra 30 đại biểu ( nguồn dữ
liệu thống kê theo [11]). Hệ mã Paillier 1024 bit có thể đáp ứng đƣợc.
Với giai đoạn bầu chủ tịch Quốc Hội : số cử tri sẽ là 500, lá phiếu cho
từng đại biểu sẽ cần 4 ký số. Với hệ mã Paillier 1024 bit ta có thể có 256 ứng cử
viên. Hệ mã Paillier 1024 bit đáp ứng đƣợc trong trƣờng hợp này.
Xét ví dụ bầu cử chủ tịch Hội sinh viên trong một trƣờng đại học. Giả sử
số sinh viên trong trƣờng là 30.000. Khi đó để biểu diễn lá phiếu cho một ứng cử
viên sẽ cần một nhóm 5 ký số. Với hệ mã Paillier 1024 bit ta có thể có 204 ứng
cử viên trong trƣờng hợp này.
Tổng quát hóa, nếu số cử tri ít hơn 10m và ta có n ngƣời ứng cử thì mỗi lá
phiếu cần đƣợc biểu diễn bởi (( m-1) * n) bit.

16



CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ

1.4 Thực trạng bỏ phiếu điện tử trên thế giới và tại Việt Nam

Nhƣ đã giới thiệu ở trên, bỏ phiếu điện tử đang và sẽ là nhu cầu cấp thiết,
là bài tốn cần có lời giải trong tình hình xã hội hiện nay. Trên thế giới, lịch sử
bỏ phiếu điện tử đã xuất hiện tại các nƣớc tiên tiến trên thế giới từ trƣớc năm
2004. Thời điểm này việc bỏ phiếu điện tử đƣợc thực hiện thông qua các máy bỏ
phiếu điện tử đƣợc đặt tại các khu vực đã chọn trƣớc, cử tri sẽ tập trung về đây và
tiến hành bỏ phiếu. Kết thúc giai đoạn bầu cử, kết quả sẽ đƣợc tổng hợp từ các
máy bỏ phiếu và đƣợc công bố. Đến năm 2004, lần đầu tiên máy bỏ phiếu điện tử
có màn hình cảm ứng với tên gọi MBC do công ty Diebold Election Systems sản
xuất đã đƣợc đƣa vào sử dụng trên toàn nƣớc Mỹ. Tuy nhiên trong cuộc bầu cử
tổng thống Mỹ năm 2004, gần 1.100 sự cố về máy bỏ phiếu điện tử đã đƣợc cử
tri phản hồi. Ngoài những sự cố về vận hành của máy bỏ phiếu điện tử đƣợc cử
tri phản hồi, các chuyên gia trên thế giới cũng chỉ ra đƣợc những lỗ hổng bảo mật
nghiêm trọng của MBC. Cụ thể năm 2010, giáo sƣ Alex Halderman trƣờng đại
học Michigan đã cùng với những sinh viên của mình tấn cơng thành công vào hệ
thống bỏ phiếu điện tử trên web khi Washington áp dụng mơ hình bỏ phiếu điện
tử trên Internet vào tháng 9 năm 2010. Tuy nhiên giáo sƣ Alex Halderman vẫn
khơng phủ nhận những tiện ích của bỏ phiếu điện tử cho phép bỏ phiếu từ xa đối
với những cử tri khuyết tật, những binh lính Mỹ đang ở xa, những đối tƣợng này
lên đến gần 6 triệu ngƣời. Ơng khẳng định mơ hình bỏ phiếu này cần đƣợc
nghiên cứu về độ an toàn và nhân rộng hơn.
Ngày nay với sự phát triển mạnh mẽ của Internet, việc bỏ phiếu điện tử đã
tiến xa hơn và đang hƣớng tới hình thức bỏ phiếu từ xa qua mạng Internet. Các
hệ thống bỏ phiếu điện tử trên thế giới vẫn đang đƣợc xây dựng và thử nghiệm
trong nhiều năm qua dƣới hình thức bình chọn trực tuyến. Điển hình năm 2013,
viện AMPAS (Academy of Motion Picture Arts and Sciences) bao gồm các đạo

diễn, diễn viên, nhà biên kịch, nhà sản xuất và những nhân vật hàng đầu trong
ngành công nghiệp điện ảnh trên khắp thế giới đã thông qua quyết định kể từ
năm 2013, việc bỏ phiếu bình chọn trao giải OSCAR sẽ đƣợc áp dụng hình thức
17


CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ

bình chọn trực tuyến thay vì bỏ phiếu truyền thống nhƣ trƣớc. Tuy nhiên, vẫn
cịn nhiều trở ngại để hiện thực hóa hoàn toàn việc bỏ phiếu điện tử, cụ thể tại
cuộc bầu cử tổng thống Mỹ năm 2016, các cử tri tại New York vẫn bỏ phiếu theo
hình thức truyền thống.
Tuy vậy, các nghiên cứu khác về bỏ phiếu điện tử vẫn đƣợc thực hiện
trong thời gian qua, bắt đầu từ những cơ sở đầu tiên về hệ mã Paillier đƣợc
Pascal Paillier nêu lên năm 1999 [3]. Qua thời gian, các nghiên cứu, bài báo về
hệ mã Paillier cũng nhƣ về lĩnh vực bỏ phiếu điện tử lần lƣợt ra đời với mong
muốn cải tiến cũng nhƣ giải quyết những lỗ hổng có thể xảy ra trong q trình
vận hành một hệ thống bỏ phiếu điện tử, từ đó hƣớng tới mục tiêu xây dựng
thành công hệ thống bỏ phiếu điện tử đảm bảo các tính chất bầu cử đã nêu ở
chƣơng I. Các bài báo về hệ mã Paillier và bỏ phiếu điện tử mà tác giả đã tham
khảo nhƣ : Ivan Damgard và Mads Jurik cùng các bài báo, nghiên cứu về hệ mã
Paillier trong bỏ phiếu điện tử [7] [8], David G. Robinson và J. Alex Halderman
với bài báo, nghiên cứu về vấn đề bảo mật trong bỏ phiếu điện tử [5].
Đối với ứng dụng bỏ phiếu điện tử, thơng thƣờng sẽ có hai hệ mã đƣợc sử
dụng: hệ mã Paillier và hệ mã El Gamal cải tiến [21]. Trong hệ mã El Gamal cải
tiến, bản rõ sẽ đƣợc biểu diễn dƣới dạng số mũ, số mũ này sẽ đƣợc mã hóa theo
hệ mã El Gamal nguyên bản, nhƣ vậy khi giải mã ta cần giải quyết bài tốn
logarit. Ví dụ trong bài báo [27], tác giả đã sử dụng hệ mã El Gamal kết hợp với
sơ đồ chia sẻ bí mật Shamir. Tuy nhiên, nếu số cử tri quá lớn, việc giải bài toán
logarit sẽ rất chậm, việc sử dụng hệ mã El Gamal khi đó sẽ khơng cịn phù hợp.

Trong trƣờng hợp này, hệ mã Paillier thƣờng đƣợc sử dụng hơn.
Hệ mã Paillier đã đƣợc các tác giả của [5-6] tiến hành cải tiến. Hệ số triển
khai đƣợc giảm đi, cho phép ta tùy chỉnh sơ đồ giải mã mà khơng làm mất đi tính
chất đồng cấu. So với hệ mã nguyên bản, các bƣớc cần thiết để tính tốn ra kết
quả cuối cùng của việc bỏ phiếu điện tử đƣợc giảm bớt, nhƣng vẫn đảm bảo độ
an toàn nhƣ hệ mã Paillier nguyên bản. Với hệ mã Paillier ngun bản, ta tính
tốn thặng dƣ với phép toán mod N2, với hệ mã đƣợc cải tiến ở đây, ta tính tốn
thặng dƣ với phép tốn mod Ns+1, biết s là một số tự nhiên. Kết quả nghiên cứu
18


CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ

đã cho ra các kết quả so sánh giữa hệ mã Paillier cải tiến này với hệ mã El Gamal
và hệ mã RSA.

Hình 1.2. So sánh giữa ba hệ mã ứng với bản rõ 2048 bit [6]

Hình 1.3 . So sánh giữa ba hệ mã ứng với bản rõ 4096 bit [6]

Hình 1.4. Tốc độ mã hóa/ giải mã ( tính theo bit ) mỗi giây đƣợc kiểm nghiệm
trên máy tính Pentuim III 750 MHz. [6]

19


CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ

Hệ mã Paillier cải tiến này cũng đã đƣợc nhắc lại trong [22] khi tác giả
giới khái niệm Electronic Voting và một ví dụ về triển khai hệ mã cải tiến này.

Một nghiên cứu khác về hệ mã Paillier đƣợc các tác giả thực hiện trong
[23] theo hƣớng tổng quát hơn. Tác giả sử dụng một số tính chất đặc biệt của
thuật tốn mã hóa Paillier để rút gọn q trình chứng thực phiếu bầu cử, tránh
việc phải chứng minh không để lộ tri thức (Zero-Knowledge Proofs)– tức thông
tin phiếu bầu. Nhƣ vậy, mẫu phiếu bầu cử phải đƣợc xây dựng nhằm đảm bảo
việc hoán vị tất cả các ứng cử viên một cách ngẫu nhiên ở mỗi phiếu bầu, tránh
việc chỉ đổi chỗ tuần tự các ứng cử viên theo mỗi phiếu bầu.
Tuy nhiên ngay cả với hệ mã Paillier, dù đã đƣợc cải tiến, vẫn có thể xảy
ra tình huống rỏ rỉ thông tin. Trong [24], tác giả đã chỉ năm tình huống nguy
hiểm dẫn đến việc rị rỉ thơng tin, từ đó đề xuất hệ mã Paillier cải tiến – hệ mã
PAV – Paillier có thể khắc phục đƣợc phần nào khả năng rị rỉ thơng tin từ phiếu
bầu.

Hình 1.5. Năm tình huống nguy hiểm có thể dẫn đến rị rỉ thơng tin phiếu bầu
[24].

20


CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ

Tại Việt Nam, hình thức bình chọn trực tuyến đã xuất hiện trong những
năm gần đây. Tuy nhiên nếu xét trên phƣơng diện một hệ thống bỏ phiếu điện tử
thỏa các yêu cầu "bí mật", "tồn vẹn" và "xác thực" của lá phiếu, bỏ phiếu điện
tử vẫn là một bài tốn khó giải. Trong những năm qua, các nghiên cứu về bỏ
phiếu điện tử đã dần xuất hiện, nhƣng chủ yếu tập trung vào hệ mã Elgamal.
Song song đó, một số hệ thống bỏ phiếu điện tử cũng bƣớc đầu đƣợc xây dựng.
Với sự bổ sung của Luật Doanh nghiệp năm 2015 thơng qua hình thức bỏ phiếu
điện tử, một số doanh nghiệp đã mạnh dạn đầu tƣ xây dựng và áp dụng hình thức
bỏ phiếu điện tử trong các cuộc bình chọn của doanh nghiệp, cụ thể là công ty cổ

phần chứng khoán FPT đã quyết định triển khai hệ thống bỏ phiếu E-Voting
trong đại hội cổ đông vào tháng 2 năm 2016 (thông tin đƣợc tham khảo từ nguồn
[13]). Ngày 25/6/2014, EVNCPC (tổng công ty điện lực miền Trung) cũng đã
ban hành quy chế xét hệ số thành tích hàng tháng đối với các ban và cán bộ công
nhân viên trong tổng công ty. Điểm nổi bật trong quy chế này là EVNCPC đã
tiến hành áp dụng mơ hình bỏ phiếu điện tử vào trong việc xét thi đua. Module
CPC eVote cho phép bỏ phiếu từ xa qua mạng thông qua máy tính, thiết bị di
động. Quy trình bỏ phiếu điện tử tại đơn vị này đƣợc triển khai nhƣ sau:
Hàng tháng, Ban Quan hệ cộng đồng EVNCPC sẽ nhập danh sách các Ban
đề xuất hệ số 1,1 kèm theo báo cáo thành tích của các Ban, sau đó sẽ nhắn tin
thông báo đến các thành viên Hội đồng trƣớc cuộc họp 24 giờ. Nếu các thành
viên Hội đồng đi cơng tác khơng tham dự thì nghiên cứu tài liệu để gửi phiếu
bình chọn điện tử về trƣớc khi kết thúc cuộc họp 20 phút. Các thành viên có thể
sử dụng trình duyệt web hoặc chƣơng trình CPC eVote đã đƣợc hỗ trợ cài đặt
trên điện thoại, máy tính bảng để bỏ phiếu. Kết quả bỏ phiếu đƣợc gửi ngay về
chƣơng trình kiểm phiếu tự động; kết quả bỏ phiếu đƣợc chƣơng trình tự động
tổng hợp theo thời gian thực và tất cả các thành viên đều có thể xem đƣợc báo
cáo tổng hợp này.

21


CHƢƠNG 1. TỔNG QUAN VỀ BỎ PHIẾU ĐIỆN TỬ

Hình 1.6 Bảng kết quả dựa trên dữ liệu demo của module bỏ phiếu điện tử tại
đơn vị CPCVN [13].
Tuy nhiên, theo nhận định của tác giả, hệ thống này vẫn có nhƣợc điểm là
nội dung của lá phiếu không đƣợc che giấu đối với ban kiểm phiếu [13]. Với việc
sử dụng hệ mã đồng cấu để mã hóa nội dung lá phiếu của cử tri mà tác giả đã đề
xuất ở trên, nội dung lá phiếu sau khi mã hóa sẽ đƣợc che giấu đối với cả ban

kiểm phiếu.

22


×