电子投票方法以及系统技术方案

技术编号:21401495 阅读:24 留言:0更新日期:2019-06-19 07:41
本发明专利技术实施例公开一种电子投票方法和一种电子投票系统。其中,电子投票方法例如包括:发起投票步骤、投票签名步骤、投票验证步骤以及投票保存步骤。本发明专利技术实施例提供的一种电子投票方法基于区块链实现了投票的匿名性、不可篡改性和不可否认性。

【技术实现步骤摘要】
电子投票方法以及系统
本专利技术涉及投票
,尤其涉及一种电子投票方法和一种电子投票系统。
技术介绍
电子投票系统是指以电子方式进行投票,并通过电子方式统计票数的一种方式。和其他类型投票方式不同的是:电子投票是建立在网络投票系统上的,投票结果完全由程序输出,无需人工参与。然而没有了人工参与,投票结果很可能被黑客利用。且电子投票系统本身的技术含量并不高,对于连续投票的验证能力薄弱,只要黑客掌握了原理,就可以轻松地实现连续刷票,对投票结果进行作弊。现有的电子投票系统经常涉及欺诈、欺骗选票等问题,这些安全问题严重阻碍了电子投票系统广泛应用。
技术实现思路
本专利技术为了解决上述现有技术的不足,提供一种电子投票方法和一种电子投票系统。为了实现上述目的,本专利技术实施例提供一种适于应用在包含投票模块、投票管理模块、密码保存模块和区块生成模块的电子投票系统中,包括:发起投票步骤:所述投票模块获取由所述投票管理模块发送的标识码和投票列表;所述投票模块生成解密私钥,并根据所述解密私钥计算得到对应的加密公钥;所述投票模块保留所述解密私钥,并将所述加密公钥发送至所述投票管理模块,由所述投票管理模块将所述加密公钥存储到密码保存模块;所述投票模块根据所述投票列表进行投票得到投票信息和投票时间;投票签名步骤:所述投票模块根据所述标识码、所述投票时间和所述投票信息计算得到第一哈希值;所述投票模块使用所述解密私钥对所述第一哈希值进行签名得到签名信息;所述投票模块将所述标识码、所述投票信息、所述投票时间和所述签名信息发送至所述投票管理模块;投票验证步骤:所述投票管理模块从所述密码保存模块中获取所述加密公钥,以及根据所述加密公钥验证所述签名信息得到验证后签名信息;所述投票管理模块根据所述标识码、所述投票信息和所述投票时间计算得到第二哈希值;所述投票管理模块对比所述验证后签名信息和所述第二哈希值;当对比所述验证后签名信息和所述第二哈希值相同后,将所述标识码、所述投票信息、所述投票时间和所述签名信息发送至所述区块生成模块;投票保存步骤:所述区块生成模块根据所述标识码、所述投票信息、所述投票时间和所述签名信息生成新区块加入到区块链中。在本专利技术的一个实施例中,所述标识码为关联所述投票模块的唯一标识。在本专利技术的一个实施例中,所述解密私钥为在非零自然数中随机生成的字符串。在本专利技术的一个实施例中,所述使用所述解密私钥对所述第一哈希值进行签名得到签名信息包括:基于椭圆曲线密码学使用所述解密私钥对所述第一哈希值进行签名得到所述签名信息。在本专利技术的一个实施例中,所述新区块包括:所述标识码、所述投票信息、所述签名信息、所述投票时间和所述区块链中上一区块哈希值。此外,本专利技术实施例提供了一种电子投票系统,包括:投票管理模块以及分别连接所述投票管理模块的投票模块、密码保存模块和区块生成模块;其中,所述投票模块用于:获取由所述投票管理模块发送的标识码和投票列表;生成解密私钥,并根据所述解密私钥计算得到对应的加密公钥;保留所述解密私钥,以及将所述加密公钥发送至所述投票管理模块,由所述投票管理模块将所述加密公钥存储到密码保存模块;根据所述投票列表进行投票得到投票信息和投票时间;根据所述标识码、所述投票时间和所述投票信息计算得到第一哈希值;使用所述解密私钥对所述第一哈希值进行签名得到签名信息;将所述标识码、所述投票信息、所述投票时间和所述签名信息发送至所述投票管理模块;所述投票管理模块用于:接收由所述投票模块发送的所述标识码、所述投票信息、所述投票时间和所述签名信息;从所述密码保存模块中获取所述加密公钥,并根据所述加密公钥验证所述签名信息得到验证后签名信息;根据所述标识码、所述投票信息和所述投票时间计算得到第二哈希值;对比所述验证后签名信息和所述第二哈希值;当对比所述验证后签名信息和所述第二哈希值相同后,将所述标识码、所述投票信息、所述投票时间和所述签名信息发送至所述区块生成模块;所述区块生成模块用于根据所述标识码、所述投票信息、所述投票时间和所述签名信息生成新区块加入到区块链中。在本专利技术的一个实施例中,前述电子投票系统还包括:数据存储模块,连接于所述投票管理模块;其中,所述投票管理模块还用于周期性地访问并统计所述区块链中所有区块的投票信息以得到投票数据,并将所述投票数据存储到所述数据存储模块中。在本专利技术的一个实施例中,所述新区块包括:所述标识码、所述投票信息、所述签名信息、所述投票时间和所述区块链中上一区块哈希值。在本专利技术的一个实施例中,所述投票模块还用于在投票截止时间内撤回所述投票信息。在本专利技术的一个实施例中,所述标识码为关联所述投票模块的唯一标识;所述解密私钥为在非零自然数中随机生成的字符串;所述密码保存模块为第一分布式数据库;所述数据存储模块为第二分布式数据库。上述技术方案可以具有如下优点或有益效果:本专利技术实施例提供的一种电子投票系统,是基于区块链实现的电子投票系统,能够进行公开电子投票,基于区块链实现了投票的匿名性、不可篡改性和不可否认性,可以支持大规模的电子投票,且安全级别更高。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术第一实施例中电子投票系统的结构示意图;图2为本专利技术第一实施例中电子投票系统的又一结构示意图;图3为本专利技术第一实施例中电子投票系统中新区块161的结构示意图;图4a-图4c为本专利技术第一实施例中电子投票系统的具体实施方式的示意图;图5为本专利技术第二实施例中电子投票方法的流程示意图;图6为本专利技术第二实施例中电子投票方法步骤S31的流程图;图7为本专利技术第二实施例中电子投票方法步骤S32的流程图;图8为本专利技术第二实施例中电子投票方法步骤S33的流程图;图9为本专利技术第二实施例中电子投票方法步骤S34的流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应当理解这样使用的术语在适当情况下可以互换,以便这里描述的本专利技术实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。【第一实施例】参见图1,本专利技术第一实施例提出一种电子投票系统。如图1所示,电子投票系统10例如包括:投票模块11、投票管理模块12、密码保存模块13和区块生成模块14。其中,投票管理模块12分别连接投票模块11、密码保存模块12和区块生成模块14。具体地,投票模块11用于:获取由投票本文档来自技高网...

【技术保护点】
1.一种电子投票方法,适于应用在包含投票模块、投票管理模块、密码保存模块和区块生成模块的电子投票系统中,其特征在于,包括:发起投票步骤:所述投票模块获取由所述投票管理模块发送的标识码和投票列表;所述投票模块生成解密私钥,并根据所述解密私钥计算得到对应的加密公钥;所述投票模块保留所述解密私钥,并将所述加密公钥发送至所述投票管理模块,由所述投票管理模块将所述加密公钥存储到密码保存模块;所述投票模块根据所述投票列表进行投票得到投票信息和投票时间;投票签名步骤:所述投票模块根据所述标识码、所述投票时间和所述投票信息计算得到第一哈希值;所述投票模块使用所述解密私钥对所述第一哈希值进行签名得到签名信息;所述投票模块将所述标识码、所述投票信息、所述投票时间和所述签名信息发送至所述投票管理模块;投票验证步骤:所述投票管理模块从所述密码保存模块中获取所述加密公钥,以及根据所述加密公钥验证所述签名信息得到验证后签名信息;所述投票管理模块根据所述标识码、所述投票信息和所述投票时间计算得到第二哈希值;所述投票管理模块对比所述验证后签名信息和所述第二哈希值;当对比所述验证后签名信息和所述第二哈希值相同后,将所述标识码、所述投票信息、所述投票时间和所述签名信息发送至所述区块生成模块;投票保存步骤:所述区块生成模块根据所述标识码、所述投票信息、所述投票时间和所述签名信息生成新区块加入到区块链中。...

【技术特征摘要】
1.一种电子投票方法,适于应用在包含投票模块、投票管理模块、密码保存模块和区块生成模块的电子投票系统中,其特征在于,包括:发起投票步骤:所述投票模块获取由所述投票管理模块发送的标识码和投票列表;所述投票模块生成解密私钥,并根据所述解密私钥计算得到对应的加密公钥;所述投票模块保留所述解密私钥,并将所述加密公钥发送至所述投票管理模块,由所述投票管理模块将所述加密公钥存储到密码保存模块;所述投票模块根据所述投票列表进行投票得到投票信息和投票时间;投票签名步骤:所述投票模块根据所述标识码、所述投票时间和所述投票信息计算得到第一哈希值;所述投票模块使用所述解密私钥对所述第一哈希值进行签名得到签名信息;所述投票模块将所述标识码、所述投票信息、所述投票时间和所述签名信息发送至所述投票管理模块;投票验证步骤:所述投票管理模块从所述密码保存模块中获取所述加密公钥,以及根据所述加密公钥验证所述签名信息得到验证后签名信息;所述投票管理模块根据所述标识码、所述投票信息和所述投票时间计算得到第二哈希值;所述投票管理模块对比所述验证后签名信息和所述第二哈希值;当对比所述验证后签名信息和所述第二哈希值相同后,将所述标识码、所述投票信息、所述投票时间和所述签名信息发送至所述区块生成模块;投票保存步骤:所述区块生成模块根据所述标识码、所述投票信息、所述投票时间和所述签名信息生成新区块加入到区块链中。2.根据权利要求1所述的电子投票方法,其特征在于,所述标识码为关联所述投票模块的唯一标识。3.根据权利要求1所述的电子投票方法,其特征在于,所述解密私钥为在非零自然数中随机生成的字符串。4.根据权利要求1所述的电子投票方法,其特征在于,所述使用所述解密私钥对所述第一哈希值进行签名得到签名信息包括:基于椭圆曲线密码学使用所述解密私钥对所述第一哈希值进行签名得到所述签名信息。5.根据权利要求1所述的电子投票方法,其特征在于,所述新区块包括:所述标识码、所述投票信息、所述签名信息、所述投票时间和所述区块链中上一区块哈希值。6.一种电子投票系统,其特征在于,包括:投票管理模块...

【专利技术属性】
技术研发人员:易海博聂哲
申请(专利权)人:深圳职业技术学院
类型:发明
国别省市:广东,44

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

1