本发明涉及信息安全技术相关,具体地说是涉及一种基于盲签名资格证的匿名电子投票方法及系统。
背景技术:
1、随着计算机技术和互联网的迅速发展,投票也已经由传统的人工手动计票转为了电子投票。
2、电子投票采用信息化手段和计算机设备,在组织工作、选票收集和结果统计上可以节约大量的人力物力,特别是在远程电子投票中,人们利用互联网参与决策,能够节省开展活动的经费,进一步提升投票的有效性和经济性。但是,因为远程电子投票技术的具体实现要涉及到许多复杂因素,其中最大的问题就是投票者隐私?;さ奈侍?,即要实现所谓的匿名投票。然而投票者匿名投票的诉求与其身份合法性验证的要求往往是冲突的:既要验证投票者真实身份保证其有投票的资格(合法性),又需要在投票时不暴露身份,其他人无法知道投票者的选票内容(匿名性),“合法性”与“匿名性”成为了一对看似悖论的矛盾。
3、解决这一矛盾的途径一般有两种,一是对选票进行加密或隐藏,使得其他人无法知道的投票者的具体选票内容。二是对投票者身份信息进行隐藏,使得其他人无法由选票追踪到对应的投票者。目前,国际上主流是采用第一种途径,这类途径的设计方案通常是投票者先通过官方验证其身份的合法性,然后在投票时使用各种密码学技术对选票内容进行加密,计票时再进行相关的解密计算,由此来实现匿名投票。但是这类技术方法存在一些问题:选票加解密的计算复杂度大,在大规模投票中统计的时效性难以保证;对选票的投票类型也会有相应的限制,如对于写入式投票,加密选票的方案可能无法满足需求;通常需要匿名信道、零知识证明等技术来实现投票的可验证性,技术实现难度大、成本高昂;此外对于投票者来说系统加密选票的流程有如“黑箱”一般,会让投票者怀疑自己的身份是否和选票关联。这些问题使得理论研究中的远程电子投票方案尚无法在实践中大规模实施和推广。
技术实现思路
1、针对现有技术之不足,本发明公开了一种基于盲签名资格证的匿名电子投票方法。
2、所述基于盲签名资格证的匿名电子投票方法包括如下步骤:
3、获取临时变量pi;
4、获取原始序列号mi;
5、基于临时变量pi和两个随机数α、β对原始序列号mi进行盲化操作,获取盲化序列号r′i;
6、基于盲化序列号r′i和身份信息idi,获取盲化序列号签名s′i;
7、对盲化序列号签名s′i进行脱盲,获取原始序列号签名(ri,si);
8、基于原始序列号mi和原始序列号签名(ri,si),获取盲签名资格证ci={mi,(ri,si)};
9、利用盲签名资格证ci={mi,(ri,si)}和选票bi进行投票;
10、对盲签名资格证ci={mi,(ri,si)}进行验证,若验证通过,则记录该原始序列号、接受该选票bi并统计;
11、对所有选票进行统计,并将最终的统计结果和所有选票及其对应的原始序列号{bi,mi}进行公布;
12、根据原始序列号mi验证对应的选票内容bi是否正确,并根据所有的选票验证统计结果是否正确。
13、根据本发明的一个优选实施方式,获取临时变量pi的方法包括:
14、在正式投票前,官方为每位投票者生成并发送一个临时变量pi,其包括如下步骤:
15、选取一条椭圆曲线e、一个基点g、一个安全单向杂凑函数h;其中,g的阶为n;选取一个私钥x,并利用公式q=xg计算得到q;其中,e、g、q、h、n、x为盲签名参数;e、g、q、h、n公开,x保密;
16、在集合{1,2,...,n-1}中随机选择一个数ki,计算临时变量pi=kig,并将pi发送给对应的投票者。
17、根据本发明的一个优选实施方式,基于临时变量pi和两个随机数α、β对原始序列号mi进行盲化操作,获取盲化序列号r′i的方法包括:
18、投票者在集合{1,2,...,n-1}中随机选择两个数α、β;
19、计算ki=api+βg;
20、令计算ei=h256(mi)和最后得到盲化序列号r′i=a-1(ri+β);
21、其中,
22、ki表示临时计算变量;
23、ei表示原始序列号的哈希值;
24、α、β表示盲签名的盲化随机因子。
25、根据本发明的一个优选实施方式,基于盲化序列号r′i和身份信息idi,获取盲化序列号签名s′i的方法包括:
26、投票者将身份信息idi、盲化序列号r′i发送给认证机构,由认证机构进行身份验证;如果用户是合法投票者且是第一次申请签名,认证机构对盲化序列号进行签名,得到盲化序列号签名s′i,并将发送给投票者;否则,拒绝签名;
27、其具体为:
28、投票者将身份信息idi和盲化序列号r′i发送给认证机构进行验证和签名;
29、如果身份信息idi是合法投票者的身份信息且投票者是第一次申请签名,则认证机构通过如下方式对盲化序列号r′i进行签名:s′i=(1+x)-1(ki-r′ix)mod?n;
30、将签名s′i发送给投票者,并记录投票者已申请签名;
31、否则拒绝签名。
32、根据本发明的一个优选实施方式,对盲化序列号签名s′i进行脱盲,获取原始序列号签名(ri,si)的方法包括:
33、投票者通过公式si=as′i+β对盲化序列号签名s′i进行脱盲,获得认证机构对原始序列号的签名,即原始序列号签名(ri,si)。
34、根据本发明的一个优选实施方式,对盲签名资格证ci={mi,(ri,si)}进行验证,若验证通过,则记录该原始序列号、接受该选票bi并统计的方法包括:
35、计票机构验证盲签名资格证ci={mi,(ri,si)}是否合法,其包括验证该原始序列号mi是否是第一次投票和原始序列号签名(ri,si)是否是认证机构的合法签名;
36、若该原始序列号mi是第一次投票且原始序列号签名(ri,si)合法,则记录该原始序列号mi,接受该原始序列号对应的选票bi并统计;
37、否则,拒绝该原始序列号对应的选票。
38、根据本发明的一个优选实施方式,对盲签名资格证ci={mi,(ri,si)}进行验证,若验证通过,则记录该原始序列号、接受该选票bi并统计的方法包括如下步骤:
39、投票者将盲签名资格证ci={mi,(ri,si)}和选票bi发送给计票机构后,计票机构验证原始序列号mi是否是第一次投票,如果是进入下一步;否则验证不通过;
40、计票机构验证检查ri和si是否都属于集合{1,2,...,n-1},如果是进入下一步;否则验证不通过;
41、计票机构计算临时变量ti=ri+simodn,若ti=0则验证不通过,否则进入下一步;
42、计票机构计算原始序列号的哈希值ei=h256(mi),椭圆曲线上的点若ri=ri,则盲签名资格证合法,进入下一步;否则验证不通过;
43、计票机构记录该原始序列号mi,接受该原始序列号对应的选票bi并统计。
44、根据本发明的一个优选实施方式,获取原始序列号mi的方法为:
45、投票者在随机序列号生成网站匿名获取一个唯一的原始序列号mi;
46、基于原始序列号mi和原始序列号签名(ri,si),获取盲签名资格证ci={mi,(ri,si)}的方法为:
47、由原始序列号mi和原始序列号签名(ri,si)形成了投票者的盲签名资格证ci={mi,(ri,si)}。
48、本发明还公开了一种基于盲签名资格证的匿名电子投票系统。
49、该基于盲签名资格证的匿名电子投票系统包括:
50、认证机构,所述认证机构用于对投票者进行身份验证,并对投票者消息进行签名;
51、随机序列号生成网站,所述随机序列号生成网站为每位投票者生成唯一的原始序列号;
52、计票机构,所述计票机构用于验证投票者的盲签名资格证,并接受选票进行统计;
53、公告板,所述公告板用于公布统计结果以及选票信息,供所有人进行验证;以及
54、投票终端,投票者通过所述投票终端从认证机构获取临时变量pi、从随机序列号生成网站获取原始序列号mi、对原始序列号mi进行盲化操作,获取盲化序列号ri′、从认证机构获取脱盲后签名(ri,si)并形成盲签名资格证ci={mi,(ri,si)}以及将自己的盲签名资格证ci和选票bi发送给计票机构。
55、根据本发明的一个优选实施方式,所述随机序列号生成网站采用基于梅森旋转算法的大周期伪随机数发生器。
56、本发明实施例提供的基于盲签名资格证的匿名电子投票方法及系统中的上述一个或多个技术方案至少具有如下技术效果之一:
57、本发明实施例的基于盲签名资格证的匿名电子投票方法及系统针对电子投票中投票者身份合法性和投票匿名性之间的矛盾,设计了一种不与投票者身份挂钩,但又能证明投票者合法投票权利的盲签名资格证,从而?;ち送镀闭叩纳矸菀?,实现了匿名投票。比起使用各种隐藏选票内容的方法,本发明采用隐藏投票者身份的方式,不需要对选票进行大量复杂的加解密计算,使得投票系统构成及执行流程之复杂度大大降低,从而得以提升系统的可靠性能,不会因为参与人数过多而影响计票效率。本发明为电子投票的进一步发展提供一种思路,同时对其它身份匿名的应用场景也具有借鉴参考意义。
58、本发明的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的检查或者对实施例的生产或操作的了解,本发明的一部分附加特性对于本领域技术人员是明显的。本发明披露的特性可以通过对以下描述的具体实施例的各种方法、手段和组合的实践或使用得以实现和达到。