System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据安全领域,具体提供一种基于多密钥同态的密文投票方法及装置。
技术介绍
1、同态加密是一种数据完全以密文形态流转和计算的算法,算法可以保证密文形态的计算等同于明文形态的计算。在传统的电子投票方案中,大多数依赖中心服务器或者可信第三方,存在被非法篡改等的安全风险。
2、尽管基于单密钥的同态加密保障投票的机密性,大大降低投票信息被篡改的风险,但仍存在单机构面临的弊端,如中心化作恶或者被攻陷。
技术实现思路
1、本专利技术是针对上述现有技术的不足,提供一种实用性强的基于多密钥同态的密文投票方法。
2、本专利技术进一步的技术任务是提供一种设计合理,安全适用的基于多密钥同态的密文投票装置。
3、本专利技术解决其技术问题所采用的技术方案是:
4、一种基于多密钥同态的密文投票方法,具有如下步骤:
5、s1、注册登录;
6、s2、投票发起流程;
7、s3、密文投票阶段;
8、s4、投票密文统计阶段;
9、s5、投票解密阶段;
10、s6、投票公示阶段;
11、s7、投票结果确认。
12、进一步的,在步骤s1中,用户根据提示信息进行注册,注册时,客户端为每个用户生成一对ecdsa公私钥,用于对投票内容进行数字签名,私钥由用户安全保存;
13、监票人用户和监票客户端依次执行mkhe.setup、mkhe.keygen生成同态加密的公
14、进一步的,在步骤s2中,首先监票人通过监票客户端进行创建投票任务,所述监票人不少于2个用户;
15、后台业务系统对监票人权限、签名以及配置内容进行校验,校验完成后,完成创建投票任务。
16、进一步的,创建投票任务后,投票发起预投票,需要所有的监理人进行确认;
17、采用所有监票人的同态公钥对事件进行加密,并进行密文统计相加校验,所有监票人联合解密,如果结果为t,则监票人校验成功;
18、否则,校验失败,投票任务创建失败。
19、进一步的,在步骤s3中,进一步包括:
20、s301、投票用户收到投票邀请后,登录投票客户端,查看投票信息,并根据投票提示完成密文投票,其中,加密前,客户端会对明文信息进行合法性校验;
21、s302、密文投票过程中,客户端随机选择其中一个监票人的公钥,执行mkhe.enc加密算法,对投票内容进行加密,并对密文选票进行ecdsa签名。
22、s303、投票系统收到密文选票后,进行用户权限校验、验签、密文选票校验通过后,生成一笔有效的投票事件,每个选票具有唯一的id,并存储到数据库中。
23、进一步的,在步骤s4中,投票结束后,监票人选中所有有效的密文选票发起密文计算,密文计算服务根据选票id从数据库中读取对应的密文选票,调用mkhe.extend、mkhe.evaluate算法执行密文计算。
24、进一步的,在步骤s5中,进一步包括:
25、s501、密文选票统计完成后,所有的监票人利用各自的私钥执行mkhe.dec进行解密,并将各自解密结果发送到投票系统;
26、s502、投票系统对解密结果进行汇总后,形成投票结果;
27、s503、监票人分别在投票结果上进行签名。
28、进一步的,在步骤s6中,进一步包括:
29、s601、投票解密完成后,投票系统将所有的密文投票的hash进行公示;
30、s602、所有投票用户根据密文hash查看自己的投票信息,如出现密文信息不一致或者遗漏的问题,可发起投票申诉;
31、s603、审计员根据申诉的信息,对密文统计的过程及相关日志进行审计,确认投票信息是否有误;
32、对于统计有误问题,发起密文重新统计。
33、进一步的,在步骤s7中,公示期结束后,用户可通过客户端查看投票结果。
34、一种基于多密钥同态的密文投票装置,包括:至少一个存储器和至少一个处理器;
35、所述至少一个存储器,用于存储机器可读程序;
36、所述至少一个处理器,用于调用所述机器可读程序,执行一种基于多密钥同态的密文投票方法。
37、本专利技术的一种基于多密钥同态的密文投票方法及装置和现有技术相比,具有以下突出的有益效果:
38、本专利技术投票信息完全以密文形态存储和计算,汇总所有投票信息后,只有私钥拥有者多方联合才能对汇总结果进行正确解密,降低中心化作恶或者被攻陷的几率。
本文档来自技高网...【技术保护点】
1.一种基于多密钥同态的密文投票方法,其特征在于,具有如下步骤:
2.根据权利要求1所述的一种基于多密钥同态的密文投票方法,其特征在于,在步骤S1中,用户根据提示信息进行注册,注册时,客户端为每个用户生成一对ECDSA公私钥,用于对投票内容进行数字签名,私钥由用户安全保存;
3.根据权利要求1所述的一种基于多密钥同态的密文投票方法,其特征在于,在步骤S2中,首先监票人通过监票客户端进行创建投票任务,所述监票人不少于2个用户;
4.根据权利要求3所述的一种基于多密钥同态的密文投票方法,其特征在于,创建投票任务后,投票发起预投票,需要所有的监理人进行确认;
5.根据权利要求4所述的一种基于多密钥同态的密文投票方法,其特征在于,在步骤S3中,进一步包括:
6.根据权利要求5所述的一种基于多密钥同态的密文投票方法,其特征在于,在步骤S4中,投票结束后,监票人选中所有有效的密文选票发起密文计算,密文计算服务根据选票ID从数据库中读取对应的密文选票,调用MKHE.Extend、MKHE.Evaluate算法执行密文计算。
8.根据权利要求7所述的一种基于多密钥同态的密文投票方法,其特征在于,在步骤S6中,进一步包括:
9.根据权利要求7所述的一种基于多密钥同态的密文投票方法,其特征在于,在步骤S7中,公示期结束后,用户可通过客户端查看投票结果。
10.一种基于多密钥同态的密文投票装置,其特征在于,包括:至少一个存储器和至少一个处理器;
...【技术特征摘要】
1.一种基于多密钥同态的密文投票方法,其特征在于,具有如下步骤:
2.根据权利要求1所述的一种基于多密钥同态的密文投票方法,其特征在于,在步骤s1中,用户根据提示信息进行注册,注册时,客户端为每个用户生成一对ecdsa公私钥,用于对投票内容进行数字签名,私钥由用户安全保存;
3.根据权利要求1所述的一种基于多密钥同态的密文投票方法,其特征在于,在步骤s2中,首先监票人通过监票客户端进行创建投票任务,所述监票人不少于2个用户;
4.根据权利要求3所述的一种基于多密钥同态的密文投票方法,其特征在于,创建投票任务后,投票发起预投票,需要所有的监理人进行确认;
5.根据权利要求4所述的一种基于多密钥同态的密文投票方法,其特征在于,在步骤s3中,进一步包括:
6.根...
【专利技术属性】
技术研发人员:孙宗臣,罗清彩,李锐,
申请(专利权)人:山东浪潮科学研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。