基于盲签名的电子投票方案的研究与实现
2016-11-18胡海燕
胡海燕
摘 要 本文提出了一个简单高效且具有可行性的电子投票方案,该方案使用了盲签名技术,保证了选票的秘密性和公平性,并增加了监督机制使其投票机制更接近于现实生活中的投票,提高投票流程效率,并使各投票机构间相互牵制,来制约投票的舞弊行为。同时,新方案解决了“同步”,“投票者弃权”,“选票碰撞”等问题。
关键词 电子投票 盲签名 FOO协议 公钥加密
中图分类号:TN918.1 文献标识码:A
0引言
互联网技术的发展与应用使得电子投票这种特殊的投票方式成为可能。网络的便捷使得投票活动可以节省大量的成本,在不同的场合下,可以考虑不用实物方式的选票,或者不用投票者到某处集中,甚至不用大量的投票活动工作人员,这些优点都使得电子投票具有很好的应用前景。然而另一方面,由于网络的开放性和选举活动本身对于公平性的要求,使得电子投票系统又不能是一个简单的选票的发送者和结果的统计者,它必须能够保证电子投票活动和其他非电子投票方式一样,具有公平性,匿名性等特点。
1电子投票的研究现状
近二十多年来,人们对于电子投票进行了大量的研究,也提出了一些经典的投票协议,大致划分起来可以分为两大类,一类是基于匿名信道和盲签名的协议,另一类是基于同态加密的协议,其中大多数存在许多不足。
总的来说,FOO协议是一个比较理想的投票协议。但其中也存在着某些不尽如人意的地方,而这些缺陷正是改进和完善的方向。本文就是要在FOO协议原有的基础进行改进,提出一个简单高效且具有可行性的电子投票方案。
2安全的电子投票方案
2.1 注册阶段
该阶段完成投票人的注册登记工作。注册登记由投票人提出申请,由管理机构完成。具体的信息流程如图1所示
2.2投票阶段
注册阶段完全结束后进入投票阶段。在该阶段中,投票者从管理机构取得合法选票,填写并投出,完成全部的投票工作。
2.2.1获取选票
投票者V随机生成一个唯一性标识vid作为选票的序列。管理机构对vid进行签名,并将签名信息vid||AMd(vid)发送给投票者V。然后把空白选票及(tid,ID)发送给投票者V,同时,将(tid,ID)记录到相应的数据库中。
2.2.2选票签证
获取选票后,投票者V还需要取得授权机构A对该选票的授权签名。
(1)投票者V选择随机数n和盲化因子r,t0=h1(vidn),tv=h2(t0)( h1、h2为散列函数),对tv进行计算:t=tvrmodna。
(2)投票者V对t进行签名,得到签名消息AVd(t)。
(3)将申请信息用授权机构A的公钥加密EA(t||AVd(t) ||AMd (vid) ||vid||ID)再发送给A请求授权签名。
(4)授权机构A根据收到的申请信息,启动身份验证算法来验证投票者V身份的合法性。
(5)如果V的通过身份验证,A对t进行授权签名:AAd(t)。并将AAd(t)发送给V,同时A将(t||AVd(t) ||vid|)记录到相应数据库中。
(6)投票者V在收到AAd(t)后,对其进行脱盲变换:
AAd(tv)=(r-1AAd(t))modna=tmodna
从而获得授权机构对V的选票tv的签名AAd(tv)。
2.2.3投票
(1)V对候选项做出自己的选择,从而产生自己的投票内容为v,生成有效选票。
(2)V利用密钥对构造比特承诺密钥k,然后利用k对选票内容进行比特承诺:f(v,k)。
(3)将选票信息用统计机构S的公钥加密成ES(t0||AAd(tv) ||f(v,k)),发送给S。
(4)统计机构S首先检验V发送的选票的有效性,如果选票有效,统计机构产生一个编号w,且将w作为投票凭证发给V,S将(w||t0||AAd(tv) ||f(v,k))记录到相应数据库中。
2.3计票阶段
当投票时间截止后,经过监督机构的允许,投票活动开始计票。
(1)监督机构R在确定计票阶段公布公钥登记表,同时管理机构M公布自己的秘密密钥km。
(2)统计机构S从公钥登记表中找出每张选票对应的公开密钥,并根据序号w对应解密选票内容。
(3)统计机构S统计最终选票结果。
3结论
本文利用盲签名技术提出了一个新的电子投票方案。新方案在解决FOO协议效率较低、要求投票人严格同步、不允许投票人弃权、有可能出现选票碰撞等缺点方面进行了有益的改进及探索。实验表明该方案可以在一定的网络环境中实现有效的电子投票。这个方案具备了相当的安全性和可用性。