System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及信息安全技术相关,具体地说是涉及一种基于盲签名资格证的匿名电子投票方法及系统。
技术介绍
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),椭圆曲线上的点若r本文档来自技高网...
【技术保护点】
1.一种基于盲签名资格证的匿名电子投票方法,其特征在于,其包括如下步骤:
2.根据权利要求1所述的基于盲签名资格证的匿名电子投票方法,其特征在于,获取临时变量Pi的方法包括:
3.根据权利要求2所述的基于盲签名资格证的匿名电子投票方法,其特征在于,基于临时变量Pi和两个随机数α、β对原始序列号mi进行盲化操作,获取盲化序列号ri′的方法包括:
4.根据权利要求3所述的基于盲签名资格证的匿名电子投票方法,其特征在于,基于盲化序列号ri′和身份信息IDi,获取盲化序列号签名s′i的方法包括:
5.根据权利要求4所述的基于盲签名资格证的匿名电子投票方法,其特征在于,对盲化序列号签名s′i进行脱盲,获取原始序列号签名(ri,si)的方法包括:
6.根据权利要求5所述的基于盲签名资格证的匿名电子投票方法,其特征在于,对盲签名资格证Ci={mi,(ri,si)}进行验证,若验证通过,则记录该原始序列号、接受该选票Bi并统计的方法包括:
7.根据权利要求6所述的基于盲签名资格证的匿名电子投票方法,其特征在于,对盲签名资格证
8.根据权利要求1所述的基于盲签名资格证的匿名电子投票方法,其特征在于,
9.一种基于盲签名资格证的匿名电子投票系统,其特征在于,其包括:
10.根据权利要求9所述的基于盲签名资格证的匿名电子投票系统,其特征在于,所述随机序列号生成网站采用基于梅森旋转算法的大周期伪随机数发生器。
...【技术特征摘要】
1.一种基于盲签名资格证的匿名电子投票方法,其特征在于,其包括如下步骤:
2.根据权利要求1所述的基于盲签名资格证的匿名电子投票方法,其特征在于,获取临时变量pi的方法包括:
3.根据权利要求2所述的基于盲签名资格证的匿名电子投票方法,其特征在于,基于临时变量pi和两个随机数α、β对原始序列号mi进行盲化操作,获取盲化序列号ri′的方法包括:
4.根据权利要求3所述的基于盲签名资格证的匿名电子投票方法,其特征在于,基于盲化序列号ri′和身份信息idi,获取盲化序列号签名s′i的方法包括:
5.根据权利要求4所述的基于盲签名资格证的匿名电子投票方法,其特征在于,对盲化序列号签名s′i进行脱盲,获取原始序列号签名(ri,si)的方法包括:
6.根据...
【专利技术属性】
技术研发人员:付铄雅,李美娟,边赟,崔喆,王晓京,黎发明,
申请(专利权)人:成都中科极云软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。