System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于区块链的电子投票方法及系统技术方案_技高网

一种基于区块链的电子投票方法及系统技术方案

技术编号:40594968 阅读:7 留言:0更新日期:2024-03-12 21:57
本发明专利技术提供一种基于区块链的电子投票方法及系统,该方法包括如下步骤:服务端创建投票合约;服务端为投票合约选定投票候选名单和投票格式;用户客户端获取投票用户的用户身份信息,并将用户身份信息发送至注册中心;注册中心验证用户身份信息,为合格投票用户生成用户签名私钥;服务端基于所有合格投票用户并通过投票合约生成合格用户列表;合格用户客户端基于区块链中的合格用户列表生成更新公钥和路径方向,并隐藏合格用户身份和路径方向;合格用户客户端调用投票合约签名选票数据;服务端通过投票合约获取所有合格用户客户端的签名选票数据,投票合约基于所有签名选票数据计算投票结果。本发明专利技术具有提升电子投票过程安全性的效果。

【技术实现步骤摘要】

本专利技术属于区块链,具体是涉及到一种基于区块链的电子投票方法及系统


技术介绍

1、在互联网以及区块链技术新兴之前,投票的主要形式为线下投票,它存在隐私泄露问题,严重威胁着投票制度的公平公正性。随着技术的不断发展,线上电子投票系统的实施引起了学术界以及大多数政府和民主组织的兴趣,并逐步取代了低效的线下投票形式。与传统线下投票制度相比,线上电子投票方案应该能够满足更多要求,例如隐私性、公平性和透明度。线上电子投票系统是一个基于密码学的综合性的系统。目前,其系统所依赖的密码学安全技术可分为4大类:混合网络、同态加密、签名和秘密共享,这些密码学安全技术为线上电子投票系统的后续发展打下了良好的基础。第一个投票方案于20世纪80年代由chaum提出。此后,线上电子投票的概念引起了人们以及众多学者的广泛关注,成为生活中组织安全选举的必要手段,许多学者也相继提出了各自不同的线上电子投票方案。

2、尽管技术方法解决了传统投票方式的诸多弊端,给人们提供了更加便捷、快速的选举方案,但同时也面临着一些挑战。例如,它们都依赖于一个中央权威机构,需要一个可信的第三方来收集、验证和计算选票,这使得系统容易出现单点故障。随着时代的演进,新兴区块链技术引起了研究者的广泛关注,为电子投票带来了全新的发展机遇。然而,在区块链系统中,尽管区块链是匿名的,但仍然可能通过分析区块链上的交易和信息来揭示选民的身份。而且区块链还存在潜在的安全漏洞和攻击风险。黑客可能会试图入侵系统,篡改或窃取投票数据,从而破坏投票选举的公正性和可靠性。


<b>技术实现思路

1、本专利技术提供一种基于区块链的电子投票方法及系统,以解决基于区块链的电子投票过程安全性不足的问题。

2、第一方面,本专利技术提供一种基于区块链的电子投票方法,应用于电子投票系统,所述电子投票系统包括服务端、注册中心和多个用户客户端,该方法包括如下步骤:

3、所述服务端创建投票合约,并设置所述投票合约的合约参数;

4、所述服务端为所述投票合约选定投票候选名单和投票格式,并将所述投票合约部署至预设的区块链;

5、所述用户客户端获取投票用户的用户身份信息,并将所述用户身份信息发送至所述注册中心;

6、所述注册中心验证所述用户身份信息,为所述用户身份信息验证通过的合格投票用户生成合格用户身份和用户签名私钥,并将所述合格用户身份和所述用户签名私钥发送至对应的合格用户客户端,所述合格用户客户端为所述合格投票用户所使用的用户客户端;

7、所述服务端基于所有所述合格投票用户并通过所述投票合约生成合格用户列表,并将所述合格用户列表公布至所述区块链;

8、所述合格用户客户端基于所述区块链中的所述合格用户列表生成更新公钥和路径方向,并隐藏所述合格用户身份和所述路径方向;

9、所述合格用户客户端调用所述投票合约以根据所述投票候选名单生成选票集,并结合所述选票集、所述更新公钥、所述用户签名私钥、隐藏后的所述合格用户身份和所述路径方向生成签名选票数据;

10、所述服务端通过所述投票合约获取所有所述合格用户客户端的所述签名选票数据,所述投票合约基于所有所述签名选票数据计算投票结果,并将所述投票结果公布至所述区块链。

11、可选的,所述注册中心验证所述用户身份信息,为所述用户身份信息验证通过的合格投票用户生成合格用户身份和用户签名私钥,并将所述合格用户身份和所述用户签名私钥发送至对应的合格用户客户端包括如下步骤:

12、所述注册中心基于预设的安全参数并利用数字签名算法生成主公钥和主私钥;

13、所述注册中心基于所述安全参数并利用累加器算法生成公共参数;

14、所述注册中心将所述主公钥和所述公共参数通过所述投票合约公开至所述区块链;

15、所述注册中心验证所述用户身份信息,为所述用户身份信息验证通过的合格投票用户生成合格用户身份;

16、所述注册中心结合所述合格用户身份和所述主私钥,并通过执行算法生成用户签名私钥;

17、所述注册中心将所述合格用户身份和所述用户签名私钥发送至对应的合格用户客户端。

18、可选的,所述合格用户客户端基于所述区块链中的所述合格用户列表生成更新公钥和路径方向,并隐藏所述合格用户身份和所述路径方向包括如下步骤:

19、所述合格用户客户端结合所述公共参数和所述合格用户列表,利用所述累加器算法生成累加器列表和更新公钥;

20、所述合格用户客户端结合所述更新公钥、所述累加器列表、所述合格用户列表和所述合格用户身份,并利用所述累加器算法生成路径方向;

21、所述合格用户客户端利用多路复用器隐藏所述合格用户身份和所述路径方向。

22、可选的,所述合格用户客户端调用所述投票合约以根据所述投票候选名单生成选票集,并结合所述选票集、所述更新公钥、所述用户签名私钥、隐藏后的所述合格用户身份和所述路径方向生成签名选票数据包括如下步骤:

23、所述合格用户客户端调用所述投票合约以根据所述投票候选名单生成选票集;

24、所述合格用户客户端对所述选票集进行环签名,所述合格用户客户端结合所述选票集、所述更新公钥、所述累加器列表、所述主公钥、所述用户签名私钥、隐藏后的所述合格用户身份和所述路径方向,并采用基于非交互式零知识证明的证明生成算法生成合格用户签名;

25、所述合格用户客户端将所述选票集合所述合格用户签名组合为签名选票数据。

26、可选的,所述服务端通过所述投票合约获取所有所述合格用户客户端的所述签名选票数据,所述投票合约基于所有所述签名选票数据计算投票结果,并将所述投票结果公布至所述区块链包括如下步骤:

27、所述服务端通过所述投票合约获取所有所述合格用户客户端的所述签名选票数据;

28、所述投票合约将所述签名选票数据中的选票集进行m轮迭代,并基于m个公共元素生成m+2个秘密共享份额,m为所述投票候选名单中候选者的数量,所述选票集由所述合格用户客户端调用所述投票合约以根据所述投票候选名单生成;

29、所述投票合约将m个所述公共元素以及所述秘密共享份额的验证信息公布至所述区块链;

30、所述服务端获取所述秘密共享份额中的秘密子份额,并求和计算所述秘密子份额以得到秘密份额,所述服务端结合所述公共元素和所述验证信息对所述秘密份额进行验证,若验证通过,则所述服务端通过所述投票合约将所述秘密份额进行重构,得到投票结果;

31、所述投票合约将所述投票结果公布至所述区块链。

32、可选的,所述投票合约将所述签名选票数据中的选票集进行m轮迭代,并基于m个公共元素生成m+2个秘密共享份额包括如下步骤:

33、所述投票合约基于预设的素数规则选取第一素数和第二素数,并结合所述第一素数和所述第二素数选取基础构造函数;

34、所述投票合约从所述基础构造函数的函数区域中本文档来自技高网...

【技术保护点】

1.一种基于区块链的电子投票方法,其特征在于,应用于电子投票系统,所述电子投票系统包括服务端、注册中心和多个用户客户端,所述方法包括如下步骤:

2.根据权利要求1所述的基于区块链的电子投票方法,其特征在于,所述注册中心验证所述用户身份信息,为所述用户身份信息验证通过的合格投票用户生成合格用户身份和用户签名私钥,并将所述合格用户身份和所述用户签名私钥发送至对应的合格用户客户端包括如下步骤:

3.根据权利要求2所述的基于区块链的电子投票方法,其特征在于,所述合格用户客户端基于所述区块链中的所述合格用户列表生成更新公钥和路径方向,并隐藏所述合格用户身份和所述路径方向包括如下步骤:

4.根据权利要求3所述的基于区块链的电子投票方法,其特征在于,所述合格用户客户端调用所述投票合约以根据所述投票候选名单生成选票集,并结合所述选票集、所述更新公钥、所述用户签名私钥、隐藏后的所述合格用户身份和所述路径方向生成签名选票数据包括如下步骤:

5.根据权利要求1所述的基于区块链的电子投票方法,其特征在于,所述服务端通过所述投票合约获取所有所述合格用户客户端的所述签名选票数据,所述投票合约基于所有所述签名选票数据计算投票结果,并将所述投票结果公布至所述区块链包括如下步骤:

6.根据权利要求5所述的基于区块链的电子投票方法,其特征在于,所述投票合约将所述签名选票数据中的选票集进行m轮迭代,并基于m个公共元素生成m+2个秘密共享份额包括如下步骤:

7.根据权利要求6所述的基于区块链的电子投票方法,其特征在于,所述验证信息为aj(j=0,1,...,m),其中:

8.根据权利要求7所述的基于区块链的电子投票方法,其特征在于,所述电子投票系统还包括云服务端,所述服务端获取所述秘密共享份额中的秘密子份额,并求和计算所述秘密子份额以得到秘密份额,所述服务端结合所述公共元素和所述验证信息对所述秘密份额进行验证,若验证通过,则所述服务端通过所述投票合约将所述秘密份额进行重构,得到投票结果包括如下步骤:

9.根据权利要求8所述的基于区块链的电子投票方法,其特征在于,所述服务端利用所述云服务端并通过所述投票合约将所述秘密份额进行重构,得到投票结果包括如下步骤:

10.一种基于区块链的电子投票系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9中任意一项所述的基于区块链的电子投票方法。

...

【技术特征摘要】

1.一种基于区块链的电子投票方法,其特征在于,应用于电子投票系统,所述电子投票系统包括服务端、注册中心和多个用户客户端,所述方法包括如下步骤:

2.根据权利要求1所述的基于区块链的电子投票方法,其特征在于,所述注册中心验证所述用户身份信息,为所述用户身份信息验证通过的合格投票用户生成合格用户身份和用户签名私钥,并将所述合格用户身份和所述用户签名私钥发送至对应的合格用户客户端包括如下步骤:

3.根据权利要求2所述的基于区块链的电子投票方法,其特征在于,所述合格用户客户端基于所述区块链中的所述合格用户列表生成更新公钥和路径方向,并隐藏所述合格用户身份和所述路径方向包括如下步骤:

4.根据权利要求3所述的基于区块链的电子投票方法,其特征在于,所述合格用户客户端调用所述投票合约以根据所述投票候选名单生成选票集,并结合所述选票集、所述更新公钥、所述用户签名私钥、隐藏后的所述合格用户身份和所述路径方向生成签名选票数据包括如下步骤:

5.根据权利要求1所述的基于区块链的电子投票方法,其特征在于,所述服务端通过所述投票合约获取所有所述合格用户客户端的所述签名选票数据,所述投票合约基于所有所述签名选票数据计算投票结果,并将所述投票结果公布至...

【专利技术属性】
技术研发人员:张经宇吴承浩郭得科罗来龙任棒棒张千桢
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1