电子投票是基于密码学技术设计并通过网络实现的一种投票方式. 与传统的唱票表决相比, 电子投票的投票和计票过程更高效、选举结果更准确. 随着互联网与密码学技术的发展, 电子投票得到大力发展. 近年来, 电子投票系统在许多西方国家的选举中得到应用, 其中爱沙尼亚首先在国家层面的选举使用电子投票. 目前, 美国、加拿大等地的议会和立法中已开始使用电子投票. 我国部分领域也在尝试使用电子投票, 其中2005年上海市长宁区某街道进行团支部直选时首次在政治领域使用电子投票.
最早的电子投票方案可追溯到1981年, 由 Chaum[1]基于混合网络和RSA公钥加密体制提出. 1992年, Fujilka等人[2]基于盲签名提出了可适用于大规模选举的FOO方案, 使电子投票走向实用. 1997年, Cramer等人[3]首次提出了多候选人的电子投票问题, 并利用ElGamal加密系统设计了一个多选一的电子选举方案, 该方案需要可信的计票中心参与接收并统计选票. 2001年, Damgård等人[4]基于Paillier加密系统提出了一个多选多的电子投票方案, 该方案无法避免重复投票现象且需要可信计票机构参与. 2006年, 仲红等人[5]基于安全多方求和提出一个无需第三方计票机构参与的多选多电子投票方案, 但选举结束后会公开所有候选人的得票数. 2012年, Pang等人[6]基于混合网络和PET协议提出一个多选多电子选举方案. 2015年, 杨婷婷等人[7]基于安全多方排序协议设计了一个多选多电子投票方案, 但方案使用的排序协议要求参与者两两之间有安全信道, 对通信环境要求较高. 2018年, 娄宇等人[8]基于全同态加密算法提出一个多候选人的电子投票方案, 其计票工作由第三方计票中心完成且公开所有候选人得票数. 2019年, 刘霆等人[9]将随机线性分组码的秘密分享应用于多候选人电子投票方案中, 解决了防投票记录篡改、关键信息存储的安全性等问题. 同年, 付伟伟等人[10]基于随机矩阵提出一个多选一电子投票方案, 该方案满足可验证性, 但需要计票中心参与. 2021年, 邵清等人[11]基于ElGamal强盲签名和区块链技术提出了电子投票方案, 此方案没有明确选举场景、选票形式等, 重点关注选票的可验证性、不可篡改性等问题, 且用智能合约取代可信第三方完成计票. 文献[12-16]等结合区块链、同态加密等技术提出了完整的安全电子投票系统.
保密选票内容是安全电子投票方案的一个基本要求. 但在计票阶段, 候选者得票数同样属于关键信息. 因为破坏者可能根据候选人之间得票数的差异, 在下次选举时通过拉拢选票的手段, 破坏选举的公平性. 因此, 文献[6]首次提出了投票方案中“全隐私”的概念, 是指既保护选民选票内容又保护候选人得票数. 上述文献[6,7]提出的方案保护了落选者得票数.
为保密选票内容, 可以用加密技术对选票信息进行加密. 同时为方便后续计票, 加密后的信息需要满足一定的同态性质. 而同态加密[17]满足上述需求, 能够在不解密密文的前提下, 通过对密文的操作实现对相应明文的计算. 姚期智[18]提出的安全多方计算主要解决互不信任的数据拥有者之间的安全协同计算问题, 基于此思想设计电子投票方案可解决计票时第三方机构参与的问题.
尽我们所知, 已有的电子投票方案仅统计候选人的赞成票数. 然而在实际的选举场景中, 时常会遇到以下情况: 某些候选人赞成票数名列前茅, 但选民对其反对声音也很高. 例如, 在有50位合法选民的选举活动中, 有两位候选人得票情况如表1. 根据已有的电子投票方案候选人2获胜, 但是候选人1当选更能反映选民的意愿.
为了避免上述有争议的选举结果出现, 本文在综合考虑候选人赞成票数和反对票数的前提下, 基于安全多方计算, 结合ElGamal同态加密系统提出一个无需第三方计票机构参与、全隐私的多选多电子投票方案.
1 预备知识 1.1 半诚实模型及其安全性定义本文在半诚实模型下考虑方案的安全性. 半诚实参与者是指参与者会忠实执行协议, 但他们会利用收到的中间信息试图推断其他参与者的输入.
设n个参与者
$ VIEW_\tau ^\pi \left( X \right) = \left( {\tau , VIEW_{{i_1}}^\pi \left( X \right), \cdots , VIEW_{{i_s}}^\pi \left( X \right)} \right) $ | (1) |
定义1 (半诚实模型下协议的安全性[19]). 当参与者都是半诚实参与者时, 若存在概率多项式时间算法S, 使得对于任意的
$ \left\{ {S\left( {\tau , {X_{{i_1}}}, {X_{{i_2}}}, \cdots , {X_{{i_s}}}, {f_\tau }\left( X \right)} \right)} \right\}\mathop \equiv \limits^c \left\{ {VIEW_\tau ^\pi \left( X \right)} \right\} $ | (2) |
则称协议
ElGamal加密系统[20]是一种具有乘法同态性的公钥加密系统, 本文将使用文献[21]中构造的具有加法同态性的门限ElGamal加密系统, 描述如下:
(1)密钥生成算法
对给定安全参数k, 系统生成一个k比特的大素数p和循环群
(2)加密算法E
对于消息
(3)解密算法D
对于密文
$ {g^M}{\text{ = }}{c_2} \cdot {\left[ {\prod\nolimits_{i = 1}^n {{w_i}} } \right]^{ - 1}}\boldsymbolod p $ | (3) |
与ElGamal加密系统类似, 该加密系统具有语义安全性. 需要注意的是此加密系统不具有完全解密性, 解密算法仅可得明文M的幂值
Kissner等人[22]研究隐私集合运算时提出了IsEq协议. 根据此协议, 对于用同一公钥加密所得的密文
本文假设有n位选民和m位候选人取得了合法身份标识
选民
本文设计的投票方案分为初始化阶段、投票阶段和计票阶段, 具体过程如下:
2.3.1 初始化阶段基于门限ElGamal加密系统生成大素数
选民
计票阶段由所有选民
(1)每个候选人
① 将所有加密选票
$ {w_j} = \prod\nolimits_{i = 1}^n {E\left( {{v_{i, 3j - 2}}} \right)} , {s_j} = \prod\nolimits_{i = 1}^n {E\left( {{v_{i, 3j - 1}}} \right)} $ | (4) |
② 计算密文:
$ {L_j} = E\left( {IsEq\left( {{s_j}, {E_0}} \right) + \cdots + IsEq\left( {{s_j}, {E_t}} \right)} \right) $ | (5) |
③ 选取n个随机数
$ {U_j} = \left( {{u_{j1}}, {u_{j2}}, \cdots , {u_{jn}}} \right) $ | (6) |
其中,
(2)
①
②
③
$ {Z_m} = {U_1} \cdot {U_2} \cdot\; \cdots\; \cdot {U_m}{\text{ = }}\left( {{{\textit{z}}_1}, {{\textit{z}}_2}, \cdots , {{\textit{z}}_n}} \right) $ | (7) |
并公开.
(3) 候选人
$ IsEq\left( {{{\textit{z}}_n} \cdot {{\textit{z}}_{n - 1}} \cdot\; \cdots\; \cdot {{\textit{z}}_q}, {E_k}} \right){\text{ = }}1 $ | (8) |
停止计算.
(4) 所有人从
(5) 候选人
$ {Y_j} = E\left( {\sum\nolimits_{u = 1}^e {IsEq\left( {{E_0} \cdot {w_j}^{IsEq\left( {{L_j}, {E_1}} \right)}, E\left( {{x_u}} \right)} \right)} } \right) $ | (9) |
并公开.
(6) 所有人共同解密
定理1. 本方案的选举结果是正确的, 即对选民
证明: 投票阶段将其加密选票
第1步. 首先, 由门限ElGamal加密系统的加法同态性, 式(4)中
第2步. 候选人交互计算得到式(7), 其中
第3步. 由于找到的
第4步. 由本文使用的门限ElGamal加密系统的不完全解密性可知,
第5步. 对于式(9)得到的密文
第6步. 结束时所有获胜候选人将被输出.
综上所述, 该方案的选举结果是正确的.
3.2 全隐私性分析全隐私性[10]是指在整个选举过程中, 所有选民的选票信息和候选者的得票数均是隐私的.
定理2. 在半诚实模型下, 本方案满足对所有选民选票信息的隐私保护.
证明: 由于任意n–1位选民和所有的候选者合谋, 可以产生最大程度的攻击. 因此, 在此合谋结构下, 证明方案满足对所有选民投票信息的隐私保护即可. 此处用模拟范例[19]的方法证明. 由于每位选民的地位是平等的, 不妨设选民
$ \left\{ {S\left( {{V_1}, {V_2}, \cdots , {V_{n - 1}}, W} \right)} \right\}\mathop \equiv \limits^c \left\{ {VIEW_\tau ^\pi \left( {{V_1}, {V_2}, \cdots , {V_n}} \right)} \right\} $ | (10) |
S构造门限ElGamal加密系统, 其主私钥为
(1)
(2)
(3)
$ \begin{split} &\left\{ {S\left( {{V_1}, {V_2}, \cdots , {V_{n - 1}}, W} \right)} \right\} {\text{ = }}\\ &\left\{ {{V_1}, {V_2}, \cdots , {V_{n - 1}}, w_j', s_j', q_{ji}', L_j', U_j', {Z_m}', {q'}, {X'}, Y_j', W'} \right\} \end{split} $ | (11) |
其中,
而在整个方案执行过程中:
$ \begin{split} &VIEW_\tau ^\pi \left\{ {{V_1}, {V_2}, \cdots , {V_n}} \right\} = \\ &\left\{ {{V_1}, {V_2}, \cdots , {V_{n - 1}}, {w_j}, {s_j}, {q_{ji}}, {L_j}, {U_j}, {Z_m}, q, X, {Y_j}, W} \right\} \end{split} $ | (12) |
其中,
由于门限ElGamal加密系统具有语义安性, 因此, 对于
$ \left\{ {w_j', s_j', L_j', U_j', {Z_m}', Y_j'} \right\}\mathop \equiv \limits^c \left\{ {{w_j}, {s_j}, {L_j}, {U_j}, {Z_m}, {Y_j}} \right\} $ |
其中,
$ \left\{ {S\left( {{V_1}, {V_2}, \cdots , {V_{n - 1}}, W} \right)} \right\}\mathop \equiv \limits^c \left\{ {VIEW_\tau ^\pi \left( {{V_1}, {V_2}, \cdots , {V_n}} \right)} \right\} $ | (13) |
定理2得证, 即本方案满足对选民选票信息的隐私保护.
由于本方案仅输出获胜候选人的名单, 且即使在计票阶段每位候选人保存了获胜候选者对应的获胜票数, 但其无法将票数与候选人对应起来, 则方案满足对获胜者得票数的隐私保护. 同时, 由于门限ElGamal加密系统的特性, 任何人都无法解密式(4)中的
综上, 本方案满足全隐私性, 并且保护了所有落选者的得票数.
3.3 其它安全性质分析(1)无收据性是指任何选民都无法向他人证明自己的选票. 本方案中每位选民将加密选票发送给所有候选人, 由于门限ElGamal加密系统的特性, 选民靠自己不能解密任何密文, 则无法向候选人证明自己的选票.
(2)公平性是指所有选民同时得到选举结果. 该方案的选举结果在计票阶段结束之后输出, 任何人都无法提前获知选举结果. 因此, 本方案满足公平性.
3.4 复杂性分析与比较本文设计的方案使用了门限ElGamal加密系统, 分析时只考虑费时的模指数运算, 每次加密操作需要2次模指数运算, 每次解密操作需要
投票阶段, 所有选民需要
将本文设计的方案与文献[6,7]中提出的全隐私多候选人电子投票方案进行对比, 如表2所示. 本方案考虑了候选者所得反对票数, 且其全隐私性实现了对所有候选者得票数的保护.
4 结语
为使选举结果更符合选民的意愿, 本文首次考虑了候选人反对票数. 在此基础上提出了一个满足全隐私性、无需第三方参与的多选多电子投票方案, 并且本方案的全隐形实现了对所有候选人得票数的保护. 此外, 分析表明方案同时满足公平性和无收据性. 下一步工作将研究符合实际应用场景需求、满足更多安全性质且高效的电子投票方案.
[1] |
Chaum DL. Untraceable electronic mail, return addresses, and digital pseudonyms. Communications of the ACM, 1981, 24(2): 84-90. DOI:10.1145/358549.358563 |
[2] |
Fujioka A, Okamoto T, Ohta K. A practical secret voting scheme for large scale elections. Workshop on the Theory and Application of Cryptographic Techniques. Gold Coast: Springer, 1993. 244–251.
|
[3] |
Cramer R, Gennaro R, Schoenmakers B. A secure and optimally efficient multi-authority election scheme. International Conference on the Theory and Applications of Cryptographic Techniques. Konstanz: Springer, 1997. 103–118.
|
[4] |
Damgård I, Jurik M. A generalisation, a simplification and some applications of Paillier’s probabilistic public-key system. 4th International Workshop on Public Key Cryptography. Cheju Island: Springer, 2001. 119–136.
|
[5] |
仲红, 黄刘生, 罗永龙. 基于安全多方求和的多候选人电子选举方案. 计算机研究与发展, 2006, 43(8): 1405-1410. |
[6] |
Pang L, Sun MH, Luo SS, et al. Full privacy preserving electronic voting scheme. The Journal of China Universities of Posts and Telecommunications, 2012, 19(4): 86-93. DOI:10.1016/S1005-8885(11)60287-2 |
[7] |
杨婷婷, 林昌露, 刘忆宁, 等. 基于多方排序协议的安全电子投票方案. 计算机系统应用, 2015, 24(8): 25-32. DOI:10.3969/j.issn.1003-3254.2015.08.005 |
[8] |
娄宇, 朱更明. RLWE同态加密算法的多候选人电子投票协议. 计算机工程与科学, 2018, 40(3): 472-480. DOI:10.3969/j.issn.1007-130X.2018.03.012 |
[9] |
刘霆, 崔喆, 蒲泓全, 等. 基于随机线性分组码的秘密分享在电子投票中的应用. 工程科学与技术, 2019, 51(6): 175-181. |
[10] |
付伟伟, 王晓京, 彭行一, 等. 基于随机矩阵的一种新型电子投票方案. 计算机应用, 2019, 39(S2): 280-283. |
[11] |
邵清, 洪皓洁, 李斌. 基于Elgamal强盲签名的区块链电子投票方案研究. 小型微型计算机系统, 2021, 1-8. DOI:10.3969/j.issn.1000-1220.2021.01.001 |
[12] |
Gupta SP, Tripathi AM. E-voting using blockchain. Journal of Physics: Conference Series, 2021, 1911: 012001. DOI:10.1088/1742-6596/1911/1/012001 |
[13] |
张育衔. 基于区块链的匿名投票系统研究[硕士学位论文]. 北京: 北京邮电大学, 2020.
|
[14] |
吴昊天. 高效可验证电子选举系统的研究与设计[硕士学位论文]. 西安: 西安电子科技大学, 2020.
|
[15] |
Choi S, Kang JH, Chung KS. Design of blockchain based e-voting system for vote requirements. Journal of Physics: Conference Series, 2021, 1944: 012002. DOI:10.1088/1742-6596/1944/1/012002 |
[16] |
Geetha SK, Sathya S, Sakthi ST. A secure digital e-voting using blockchain technology. Journal of Physics: Conference Series, 2021, 1916 012197.
|
[17] |
Rivest RL, Adleman L, Dertouzos ML. On data banks and privacy homomorphisms. Foundations of Secure Computation. New York: Academic, 1978. 169–179.
|
[18] |
Yao AC. Protocols for secure computations. 23rd Annual Symposium on Foundations of Computer Science. Washington: IEEE, 1982. 160–164.
|
[19] |
Goldreich O. Foundations of Cryptography: Volume II Basic Applications. London: Cambridge University Press, 2004. 599–764.
|
[20] |
Elgamal T. A public key cryptosystem and a signature scheme based on discrete logarithms. IEEE Transactions on Information Theory, 1985, 31(4): 469-472. DOI:10.1109/TIT.1985.1057074 |
[21] |
窦家维, 刘旭红, 周素芳, 等. 高效的集合安全多方计算协议及应用. 计算机学报, 2018, 41(8): 1844-1860. DOI:10.11897/SP.J.1016.2018.01844 |
[22] |
Kissner L, Song D. Privacy-preserving set operations. 25th Annual International Cryptology Conference on Advances in Cryptology. Santa Barbara: Springer, 2005. 241–257.
|
[23] |
Kissner L, Oprea A, Reiter MK, et al. Private keyword-based push and pull with applications to anonymous communication. Second International Conference on Applied Cryptography and Network Security. Yellow Mountain: Springer, 2004. 16–30.
|