CN115967497A - 一种电子投票验证方法、装置及电子投票系统 - Google Patents

一种电子投票验证方法、装置及电子投票系统 Download PDF

Info

Publication number
CN115967497A
CN115967497A CN202211475254.XA CN202211475254A CN115967497A CN 115967497 A CN115967497 A CN 115967497A CN 202211475254 A CN202211475254 A CN 202211475254A CN 115967497 A CN115967497 A CN 115967497A
Authority
CN
China
Prior art keywords
information
voting
voter
electronic voting
signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211475254.XA
Other languages
English (en)
Inventor
余旺科
王淑华
程昔恩
邱望仁
李芳�
刘伟洁
李娟�
胡静芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdezhen Ceramic Institute
Original Assignee
Jingdezhen Ceramic Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jingdezhen Ceramic Institute filed Critical Jingdezhen Ceramic Institute
Priority to CN202211475254.XA priority Critical patent/CN115967497A/zh
Publication of CN115967497A publication Critical patent/CN115967497A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种电子投票验证方法、装置及电子投票系统,包括:投票终端获取投票人的私钥和身份信息;基于私钥和身份信息调用预设第一哈希函数生成当前投票人的身份标签;利用私钥对经预设第二哈希函数运算的身份信息进行签名操作生成投票人签名信息;获取同一投票区中所有投票人的公钥并为所有投票人随机匹配高斯参数;基于投票人签名信息和所有投票人的高斯参数计算所有人的环签名信息;利用预设第二哈希函数对所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息;将包含有投票人签名信息、所有人的环签名信息、第一签名验证信息、身份标签的电子投票信息上传到验票终端,以供验票终端基于电子投票信息对投票结果进行验证。

Description

一种电子投票验证方法、装置及电子投票系统
技术领域
本发明实施例涉及计算机通信安全技术领域,尤其涉及一种电子投票验证方法、装置及电子投票系统。
背景技术
随着数据体量的不断增加和数据内在价值的不断提升,充分利用各大传统组织中的中心化数据价值,并发挥其作为数字化经济时代下的生产要素的作用变得格外重要。但是传统的数据交易平台作为流转数据价值的载体却存在着诸多的问题,比如会导致数据所有权的丢失和原始数据信息泄露。
目前电子投票领域面临着同样的问题,给投票人隐私数据的保护带来巨大的威胁。如何做到进行电子投票的同时,并保证投票信息的不可见以及投票信息所有权的确定,也就成为了一个亟待解决的问题。
发明内容
本申请提供了一种电子投票验证方法、装置及电子投票系统,来实现进行电子投票的同时,保证投票信息的不可见和投票信息所有权的确定。
本发明第一方面提供了一种电子投票验证方法,应用于投票终端,包括:当接收到目标投票区中任一投票人的投票结果,获取投票人的私钥和身份信息;基于私钥和身份信息,调用预设第一哈希函数生成当前投票人的身份标签;利用私钥对经预设第二哈希函数运算的身份信息进行签名操作,生成投票人签名信息;获取同一投票区所有投票人中每一个投票人的公钥,并为每一个投票人随机匹配高斯参数,其中每一个投票人的公钥和私钥根据格密钥生成算法生成;基于投票人签名信息和所有投票人的高斯参数,计算所有投票人的环签名信息;利用预设第二哈希函数对所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息;将包含有投票人签名信息、所有人的环签名信息、第一签名验证信息、身份标签的电子投票信息以及对应的投票结果上传到验票终端,以供验票终端基于电子投票信息对投票结果进行验证。
本发明实施例提供的电子投票验证方法,基于格上困难问题,有效保护系统数据的安全,具备抗量子计算。利用将需要保护的电子投票人私钥和该投票区中的其他投票人公钥混合在一起进行环签名处理,隐藏电子投票人的真实身份等敏感信息,在进行电子投票整个过程中都无法获取该电子投票的真实投票人身份,实现了匿名电子投票过程,保证投票信息的不可见和投票信息所有权确定,很好的保护了电子投票人的隐私。
可选地,利用预设第二哈希函数对所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息,包括:生成随机数;利用预设第二哈希函数对随机数、所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息。
可选地,电子投票信息包括随机数。
可选地,将包含有投票人签名信息、所有人的环签名信息、第一签名验证信息、身份标签的电子投票信息以及对应的投票结果上传到验票终端,包括:将电子投票信息以及对应的投票结果发送至同一投票区中其他至少部分投票终端,使得其他至少部分投票终端将电子投票信息以及对应的投票结果上传至验票终端。
本发明第二方面提供了一种电子投票验证方法,应用于验票终端,包括:接收任一投票人的投票结果以及对应的电子投票信息,电子投票信息包括当前投票人的签名信息、同一投票区内所有人的环签名信息、第一签名验证信息以及当前投票人的身份标签,当前投票人的身份标签为利用预设第一哈希函数对当前投票人的私钥以及身份信息进行计算得到,第一签名验证信息为利用预设第二哈希函数对同一投票区内所有人的公钥以及对应的高斯参数进行计算得到,其中每一个投票人的公钥和私钥根据格密钥生成算法生成;利用预设第二哈希函数对所有人的公钥、环签名信息以及当前投票人的签名信息进行计算,得到第二签名验证信息;将第二签名验证信息与第一签名验证信息进行比较;若比较结果一致,将接收的投票人的身份标签与同一投票区中其他电子投票信息中的身份标签进行比较;若比较结果没有重复身份标签,对当前电子投票信息对应的投票结果进行计票操作;将电子投票信息以及对应的投票结果上传至区块链中进行存储。
可选地,还包括:接收核验电子投票信息请求,电子投票信息请求中包含电子投票识别信息;基于电子投票识别信息,从区块链中下载保存的待核验电子投票信息;根据投票人签名信息,验证待核验电子投票信息是否合法。
可选地,包括:任一投票人的投票结果以及对应的电子投票信息为由同一投票区中其他投票终端上传得到。
本发明第三方面提供了一种基于区块链的电子投票系统,包括:
投票终端,用于执行上述第一方面以及第一方面任一可选电子投票验证方法;验票终端,用于执行上述第二方面以及第二方面任一可选电子投票验证方法。
本发明第四方面提供了一种电子投票装置,应用于投票终端,包括:第一获取模块,用于当接收到目标投票区中任一投票人的投票结果,获取投票人的私钥和身份信息;第一生成取模块,用于基于私钥和身份信息,调用预设第一哈希函数生成当前投票人的身份标签;第二生成取模块,用于利用私钥对经预设第二哈希函数运算的身份信息进行签名操作,生成投票人签名信息;第二获取模块,用于获取同一投票区所有投票人中每一个投票人的公钥,并为每一个投票人随机匹配高斯参数,其中每一个投票人的公钥和私钥根据格密钥生成算法生成;第一计算模块,用于基于投票人签名信息和所有投票人的高斯参数,计算所有投票人的环签名信息;第二计算模块,用于利用预设第二哈希函数对所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息;第一上传模块,用于将包含有投票人签名信息、所有人的环签名信息、第一签名验证信息、身份标签的电子投票信息以及对应的投票结果上传到验票终端,以供验票终端基于电子投票信息对投票结果进行验证。
本发明提供的电子投票装置中各部件所执行的功能均已在上述第一方面以及第一方面任一方法实施例中得以应用,因此这里不再赘述。
本发明第五方面提供了一种电子投票装置,应用于验票终端,包括:
第一接收模块,用于接收任一投票人的投票结果以及对应的电子投票信息,电子投票信息包括当前投票人的签名信息、同一投票区内所有人的环签名信息、第一签名验证信息以及当前投票人的身份标签,当前投票人的身份标签为利用预设第一哈希函数对当前投票人的私钥以及身份信息进行计算得到,第一签名验证信息为利用预设第二哈希函数对同一投票区内所有人的公钥以及对应的高斯参数进行计算得到,其中每一个投票人的公钥和私钥根据格密钥生成算法生成;第三计算模块,用于利用预设第二哈希函数对所有人的公钥、环签名信息以及当前投票人的签名信息进行计算,得到第二签名验证信息;第一比较模块,用于将第二签名验证信息与第一签名验证信息进行比较;第二比较模块,用于若比较结果一致,将接收的投票人的身份标签与同一投票区中其他电子投票信息中的身份标签进行比较;第一计票模块,用于若比较结果没有重复身份标签,对当前电子投票信息对应的投票结果进行计票操作;第二上传模块,用于将电子投票信息以及对应的投票结果上传至区块链中进行存储。
本发明提供的电子投票装置中各部件所执行的功能均已在上述第二方面以及第二方面任一方法实施例中得以应用,因此这里不再赘述。
本发明第六方面提供了一种计算机设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述电子投票验证方法的步骤。
本发明第七方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行如本发明提供的电子投票验证方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的电子投票验证方法流程示意图;
图2为本发明一实施例提供的电子投票验证方法流程示意图;
图3为本发明一实施例提供的基于区块链的电子投票系统结构示意图;
图4为本发明一实施例提供的基于区块链的电子投票系统结构示意图;
图5为本发明实施例提供的一种电子投票验证方法装置结构示意图;
图6为本发明实施例提供的一种电子投票验证方法装置结构示意图;
图7为本发明实施例提供的计算机设备结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
针对背景技术中所提及的技术问题,本发明实施例提供了一种电子投票验证方法,应用于投票终端,如图1所示,该方法的步骤包括:
步骤S110,当接收到目标投票区中任一投票人的投票结果,获取投票人的私钥和身份信息。
示例性地,假设第i个电子投票区中的n个投票人为
Figure BDA0003959674870000071
第i个电子投票区中的第x个投票人的私钥为
Figure BDA0003959674870000072
身份信息为
Figure BDA0003959674870000073
其中
Figure BDA0003959674870000074
目标投票区为系统预先划分出的若干投票区中当前投票人所在投票区。投票人的身份信息
Figure BDA0003959674870000075
在预设范围中按预设规则选取或者分配。预设规则可以包括但不限于在预设范围中按固定间隔分配身份信息,或者随机分配,此处不做限制。投票人的私钥
Figure BDA0003959674870000076
可以根据预设算法,如格密钥生成算法,来生成。
步骤S120,基于私钥和身份信息,调用预设第一哈希函数生成当前投票人的身份标签。
示例性地,根据第i个电子投票区中的第x个投票人的私钥
Figure BDA0003959674870000077
和身份信息
Figure BDA0003959674870000078
为本次电子投票生成一个可链接标签,即当前投票人的身份标签。具体地,预设第一哈希函数H1,基于身份信息
Figure BDA0003959674870000081
选取
Figure BDA0003959674870000082
最后一个行向量en,en∈{0,1}m,H1(IDi)表示运用预设第一哈希函数H1求解
Figure BDA0003959674870000083
的哈希值。再调用预设第一哈希函数H1计算生成投票人的身份标签
Figure BDA0003959674870000084
其中,H1:
Figure BDA0003959674870000085
Z表示矩阵,上标n×m表示Z为一个n行m列矩阵,参数q为一个素数,m和n为大于零的整数。
步骤S130,利用私钥对经预设第二哈希函数运算的身份信息进行签名操作,生成投票人签名信息。
示例性地,利用第i个电子投票区中的电子投票人的私钥
Figure BDA0003959674870000086
对经预设第二哈希函数H2运算的身份信息
Figure BDA00039596748700000817
进行签名操作,生成投票人签名信息
Figure BDA0003959674870000087
Figure BDA0003959674870000088
以概率
Figure BDA0003959674870000089
输出投票人的签名信息
Figure BDA00039596748700000810
否则重新进行签名算法。签名信息
Figure BDA00039596748700000811
可以作为投票人的可追踪性信息,以便被质疑时可追踪投票人的真实身份。其中,
Figure BDA00039596748700000812
为预设高斯分布,σ、m为参数,M为随机数。
步骤S140,获取同一投票区所有投票人中每一个投票人的公钥,并为每一个投票人随机匹配高斯参数,其中每一个投票人的公钥和私钥根据格密钥生成算法生成。
示例性地,从高斯分布
Figure BDA00039596748700000813
中,为第i个电子投票区所有投票人中每一个投票人j随机选取一个高斯参数
Figure BDA00039596748700000814
其中j=1,2,…,n,n为投票区包含的投票人总数,i表示该投票人属于第i个电子投票区。
格密钥生成算法包括:选择一个抗碰撞Hash函数:
预设第一哈希函数:H1:
Figure BDA00039596748700000815
预设第二哈希函数:H2:
Figure BDA00039596748700000816
投票终端密钥分配中心首先使用陷门生成算法TrapGen(q,n)在一个概率多项式时间PPT内输出一个矩阵
Figure BDA0003959674870000091
和格Λ(A,q)上对应的一个陷门格基
Figure BDA0003959674870000092
且A满足在
Figure BDA0003959674870000093
上均匀分布无法区分,格基S以一个绝对优势满足
Figure BDA0003959674870000094
选择随机和独立的向量
Figure BDA0003959674870000095
则输出公共参数
Figure BDA0003959674870000096
保密的主密钥为S。
输入公共参数
Figure BDA0003959674870000097
主密钥S和高斯参数
Figure BDA0003959674870000098
运行原像抽样算法
Figure BDA0003959674870000099
格密钥生成算法能在一个概率多项式时间PPT内输出一个环集合中的电子投票人IDx的公、私密钥对为
Figure BDA00039596748700000910
Figure BDA00039596748700000911
满足在
Figure BDA00039596748700000912
上均匀分布无法区分和
Figure BDA00039596748700000913
其中,n为一个安全参数,参数q为一个素数,m和n为大于零的整数,λ为大于零的实数,满足:q=poly(n),l=logq,m≥5nlgq,
Figure BDA00039596748700000914
σ=12sλm。其中,D表示一种分布,Λ(A,q)表示一个格,
Figure BDA00039596748700000915
表示基于该格上的一种分布,T为格基矩阵,ω为大于零的实数。
需要说明的是本实施例中高斯参数s与高斯参数
Figure BDA00039596748700000916
服从不同的高斯分布,实际中可根据需要进行适应性选取对应的高斯分布,此处不做限制。通过根据格密钥生成算法生成每一个投票人的公钥和私钥,这种加密方式具备抗量子计算,实现了匿名电子投票过程,给系统提供抗量子安全性。
假设第i个电子投票区的投票人共为n人,第i个电子投票区中的其他投票人的公私密钥对
Figure BDA00039596748700000917
和身份标识
Figure BDA00039596748700000918
其中j=1,2,…,n,及其他电子投票区的用户私钥和身份信息的生成方法同上。
步骤S150,基于投票人签名信息和所有投票人的高斯参数,计算所有投票人的环签名信息。
示例性地,利用第i个电子投票区投票人的签名信息
Figure BDA0003959674870000101
以及投票区中每一个投票人的高斯参数
Figure BDA0003959674870000102
计算出第i个电子投票区中所有人投票人的环签名信息
Figure BDA0003959674870000103
具体地,真正电子投票人
Figure BDA0003959674870000104
的环签名信息为用自身的私钥
Figure BDA0003959674870000105
签名后的消息
Figure BDA0003959674870000106
其他投票人均为非自己私钥生成的环签名信息
Figure BDA0003959674870000107
步骤S160,利用预设第二哈希函数对所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息。
示例性地,用第i个电子投票区所有投票人公钥计算第一签名验证消息u,具体地,
Figure BDA0003959674870000108
步骤S170,将包含有投票人签名信息、所有人的环签名信息、第一签名验证信息、身份标签的电子投票信息以及对应的投票结果上传到验票终端,以供验票终端基于电子投票信息对投票结果进行验证。
示例性地,将含第i个电子投票区中所有投票人的环签名信息
Figure BDA0003959674870000109
身份标签
Figure BDA00039596748700001010
电子投票人的签名信息
Figure BDA00039596748700001011
和第一签名验证信息u的电子投票信息
Figure BDA00039596748700001012
一起打包发送给电子投票验票终端进行验证,以供验票终端基于电子投票信息对投票结果进行验证。具体的验证方式可以是验证终端将接收到的身份标签与历史接收并存储的身份标签进行比对来验证同一投票人是否重复投票;还可以是基于投票人的签名信息来验证投票人的身份是否合法等。本申请实施例对基于电子投票信息来验证投票结果的方式不作限定,本领域技术人员可以根据实际需要确定。
最后,第i个电子投票区的第x个投票人的电子投票整个过程结束,第i个电子投票区和其他选区的所有电子投票人的电子投票过程同上,此处不再赘述。
本发明实施例提供的电子投票验证方法,基于格上困难问题,有效保护系统数据的安全,具备抗量子计算。利用将需要保护的电子投票人私钥和该投票区中的其他投票人公钥混合在一起进行环签名处理,隐藏电子投票人的真实身份等敏感信息,在进行电子投票整个过程中都无法获取该电子投票的真实投票人身份,实现了匿名电子投票过程,保证投票信息的不可见和投票信息所有权确定,很好的保护了电子投票人的隐私。
作为本发明一可选实施方式,步骤S160,包括:
步骤S210,生成随机数。
示例性地,投票终端可以通过随机数生成函数,如哈希函数,生成随机数M。
步骤S220,利用预设第二哈希函数对随机数、所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息。
示例性地,用第i个电子投票区所有投票人公钥以及随机数M计算第一签名验证消息u,具体地,
Figure BDA0003959674870000111
本发明实施例提供的电子投票验证方法,通过将随机数作为签名验证消息生成的参数之一,增加了电子投票的隐蔽性。
作为本发明一可选实施方式,电子投票信息包括随机数。
示例性地,投票终端将含第i个电子投票区中所有投票人的环签名信息
Figure BDA0003959674870000121
身份标签
Figure BDA0003959674870000122
随机数M、电子投票人的签名信息
Figure BDA0003959674870000123
和第一签名验证信息u的电子投票信息
Figure BDA0003959674870000124
一起打包发送给电子投票验票终端进行验证,以供验票终端基于电子投票信息对投票结果进行验证。
作为本发明一可选实施方式,步骤S170,包括:将电子投票信息以及对应的投票结果发送至同一投票区中其他至少部分投票终端,使得其他至少部分投票终端将电子投票信息以及对应的投票结果上传至验票终端。
示例性地,部分投票终端可以包括至少一个除当前投票终端之外的其他电子投票终端,最多要小于所有其他电子投票终端总数。由第i个电子投票区中的其他电子投票终端,可以是一个,也可以是多个同时将电子投票信息发送给电子投票接收者进行验证。
本发明实施例提供的电子投票验证方法,通过由同一投票区中其他的电子投票终端将当前的电子投票终端的电子投票信息上传到验票终端,增加了电子投票的隐蔽性,保护了电子投票人的隐私。
本发明实施例提供了一种电子投票验证方法,应用于验票终端,如图2所示,该方法的步骤包括:
步骤S410,接收任一投票人的投票结果以及对应的电子投票信息,电子投票信息包括当前投票人的签名信息、同一投票区内所有人的环签名信息、第一签名验证信息以及当前投票人的身份标签,当前投票人的身份标签为利用预设第一哈希函数对当前投票人的私钥以及身份信息进行计算得到,第一签名验证信息为利用预设第二哈希函数对同一投票区内所有人的公钥以及对应的高斯参数进行计算得到,其中每一个投票人的公钥和私钥根据格密钥生成算法生成。
本实施例中,步骤S410与上述实施例中步骤S120至步骤S170类似,此处不再赘述。
步骤S420,利用预设第二哈希函数对所有人的公钥、环签名信息以及当前投票人的签名信息进行计算,得到第二签名验证信息。
示例性地,当电子投票接收者收到来自第i个电子投票区中的第x个投票人的电子投票信息后,先用第i个电子投票区中所有投票人的公钥和第i个电子投票区中所有投票人的环签名信息
Figure BDA0003959674870000131
计算出第二签名验证信息u'。具体地,以电子投票信息为
Figure BDA0003959674870000132
为例,根据电子投票验票终端接收到的环签名信息u、第i个电子投票区中所有投票人的环签名信息
Figure BDA0003959674870000133
签名信息
Figure BDA0003959674870000134
和第i个电子投票区中的所有投票人公钥
Figure BDA0003959674870000135
j=1,2,…,n,计算:
Figure BDA0003959674870000136
步骤S430,将第二签名验证信息与第一签名验证信息进行比较。
示例性地,验证计算出来的第二签名验证信息u'是否与接收到的电子投票信息中的第一签名验证信息u相等,即:
Figure BDA0003959674870000137
步骤S440,若比较结果一致,将接收的投票人的身份标签与同一投票区中其他电子投票信息中的身份标签进行比较。
示例性地,如果u'=u,则第i个电子投票区中的第x个投票人的环签名通过验证。然后电子投票验票终端利用电子投票信息中的投票人的身份标签
Figure BDA0003959674870000141
来验证是否为同一个投票人的重复电子投票。具体地,将接收到的第i个电子投票区电子投票信息中投票人的身份标签
Figure BDA0003959674870000142
和已存储的第i个电子投票区中其他电子投票身份标签
Figure BDA0003959674870000143
进行比对。
步骤S450,若比较结果没有重复身份标签,对当前电子投票信息对应的投票结果进行计票操作。
示例性地,如果
Figure BDA0003959674870000144
表示该电子投票无重复,电子投票结果有效,不是由同一个电子投票人投出的,则第i个电子投票区中的第x个投票人的电子投票有效性通过验证,进行计票。
Figure BDA0003959674870000145
表示该电子投票为之前某个投票人的重复投票,则丢弃该重复的无效电子投票信息。
步骤S460,将电子投票信息以及对应的投票结果上传至区块链中进行存储。
示例性地,区块链保存电子投票验票终端发送过来的电子投票信息主要用于记录电子投票的原始信息,防止非法投票人或攻击者篡改电子投票数据,从而造成电子投票不一致和无法采信。
本发明实施例提供的电子投票验证方法,通过对接收到的电子投票信息进行环签名信息以及电子投票信息中的身份标签来验证投票的合法性,以及是否为同一个投票人的重复电子投票,保证了投票的合法性和公平性。
作为本发明一可选实施方式,还包括:
步骤S510,接收核验电子投票信息请求,电子投票信息请求中包含电子投票识别信息。
示例性地,电子投票识别信息可以包括但不限于电子投票编号,区块链存储位置。电子投票编号由投票终端对应生成;区块链存储位置可以在电子投票信息上传至区块链中进行存储时生成。具体地,以电子投票识别信息为电子投票编号为例,投票终端可以通过预设编号生成函数对电子投票信息进行运算得到电子投票编号;或者投票终端也可以通过编号生成器自动生成,此处不作限制。如果电子投票信息被质疑,可以求助电子投票验票终端,上传所质疑的电子投票信息的电子投票编号。
步骤S520,基于电子投票识别信息,从区块链中下载保存的待核验电子投票信息。
示例性地,验票终端基于电子投票识别信息,从区块链中下载待核验电子投票信息。
步骤S530,根据投票人签名信息,验证待核验电子投票信息是否合法。
示例性地,利用电子投票信息中投票人的签名信息
Figure BDA0003959674870000151
对投票人进行追踪验证其身份是否合法。如果通过签名验证,表示该电子投票只能是第i个电子投票区中的第x个投票人合法投出。因为电子投票信息中的
Figure BDA0003959674870000152
是用第i个电子投票区中的第x个投票人的私钥进行签名的,所以除了第i个电子投票区中的第x个投票人本人,其他任何电子投票人都无法生成签名信息
Figure BDA0003959674870000153
投票人的签名信息具有投票人真实身份的可追踪性和防伪性。
本发明实施例提供的电子投票验证方法,区块链保存电子投票验票终端发送过来的电子投票信息主要用于记录电子投票的原始信息,防止非法投票人或攻击者篡改电子投票数据,从而造成电子投票不一致和无法采信。在对电子投票信息发生质疑时,利用信息中的投票人的签名信息对投票人的真实身份进行追踪验证其身份是否合法,实现了电子投票的可追踪性和防伪性。
作为本发明一可选实施方式,任一投票人的投票结果以及对应的电子投票信息为由同一投票区中其他投票终端上传得到。
本实施例中,与上述实施例中对应部分的描述类似,此处不再赘述。
本发明实施例提供了一种基于区块链的电子投票系统,如图3所示,包括:
投票终端710,用于执行应用于投票终端的任一项电子投票验证方法。
验票终端720,用于执行应用于验票终端的任一项电子投票验证方法。其中该验票终端可以是一计票中心,或者该验票终端与计票中心均为区块链网络中的节点。
基于格上困难问题,有效保护区块链系统数据的安全,具备抗量子计算。如图4所示,本实施例所提供的基于区块链的电子投票系统中各组成部分所执行的功能均已在上述方法实施例中得以应用,因此这里不再赘述。
图5为本发明一实施例提供的一种电子投票装置,应用于投票终端,包括:
第一获取模块810,用于当接收到目标投票区中任一投票人的投票结果,获取投票人的私钥和身份信息。详细内容参见上述实施例中步骤S110的描述,在此不再赘述。
第一生成取模块820,用于基于私钥和身份信息,调用预设第一哈希函数生成当前投票人的身份标签。详细内容参见上述实施例中步骤S120的描述,在此不再赘述。
第二生成取模块830,用于利用私钥对经预设第二哈希函数运算的身份信息进行签名操作,生成投票人签名信息。详细内容参见上述实施例中步骤S130的描述,在此不再赘述。
第二获取模块840,用于获取同一投票区所有投票人中每一个投票人的公钥,并为每一个投票人随机匹配高斯参数,其中每一个投票人的公钥和私钥根据格密钥生成算法生成。详细内容参见上述实施例中步骤S140的描述,在此不再赘述。
第一计算模块850,用于基于投票人签名信息和所有投票人的高斯参数,计算所有投票人的环签名信息。详细内容参见上述实施例中步骤S150的描述,在此不再赘述。
第二计算模块860,用于利用预设第二哈希函数对所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息。详细内容参见上述实施例中步骤S160的描述,在此不再赘述。
第一上传模块870,用于将包含有投票人签名信息、所有人的环签名信息、第一签名验证信息、身份标签的电子投票信息以及对应的投票结果上传到验票终端,以供验票终端基于电子投票信息对投票结果进行验证。详细内容参见上述实施例中步骤S170的描述,在此不再赘述。
作为本发明一可选实施装置,第二计算模块860,包括:
第一生成子模块,用于生成随机数。详细内容参见上述实施例中步骤S210的描述,在此不再赘述。
第一计算子模块,用于利用预设第二哈希函数对随机数、所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息。详细内容参见上述实施例中步骤S220的描述,在此不再赘述。
作为本发明一可选实施装置,包括:电子投票信息包括随机数。
作为本发明一可选实施装置,包括:
第三上传模块,用于将电子投票信息以及对应的投票结果发送至同一投票区中其他至少部分投票终端,使得其他至少部分投票终端将电子投票信息以及对应的投票结果上传至验票终端。详细内容参见上述实施例中对应部分的描述,在此不再赘述。
图6为本发明一实施例提供的一种电子投票装置,应用于验票终端,包括:
第一接收模块910,用于接收任一投票人的投票结果以及对应的电子投票信息,电子投票信息包括当前投票人的签名信息、同一投票区内所有人的环签名信息、第一签名验证信息以及当前投票人的身份标签,当前投票人的身份标签为利用预设第一哈希函数对当前投票人的私钥以及身份信息进行计算得到,第一签名验证信息为利用预设第二哈希函数对同一投票区内所有人的公钥以及对应的高斯参数进行计算得到,其中每一个投票人的公钥和私钥根据格密钥生成算法生成。详细内容参见上述实施例中步骤S410的描述,在此不再赘述。
第三计算模块920,用于利用预设第二哈希函数对所有人的公钥、环签名信息以及当前投票人的签名信息进行计算,得到第二签名验证信息。详细内容参见上述实施例中步骤S420的描述,在此不再赘述。
第一比较模块930,用于将第二签名验证信息与第一签名验证信息进行比较。详细内容参见上述实施例中步骤S430的描述,在此不再赘述。
第二比较模块940,用于若比较结果一致,将接收的投票人的身份标签与同一投票区中其他电子投票信息中的身份标签进行比较。详细内容参见上述实施例中步骤S440的描述,在此不再赘述。
第一计票模块950,用于若比较结果没有重复身份标签,对当前电子投票信息对应的投票结果进行计票操作。详细内容参见上述实施例中步骤S450的描述,在此不再赘述。
第二上传模块960,用于将电子投票信息以及对应的投票结果上传至区块链中进行存储。详细内容参见上述实施例中步骤S460的描述,在此不再赘述。
作为本发明一可选实施装置,还包括:
第二接收模块,用于接收核验电子投票信息请求,电子投票信息请求中包含电子投票识别信息。详细内容参见上述实施例中步骤S510的描述,在此不再赘述。
第一下载模块,用于基于电子投票识别信息,从区块链中下载保存的待核验电子投票信息。详细内容参见上述实施例中步骤S520的描述,在此不再赘述。
第一验证模块,用于根据投票人签名信息,验证待核验电子投票信息是否合法。详细内容参见上述实施例中步骤S530的描述,在此不再赘述。
作为本发明一可选实施装置,包括:
第二接收模块,用于任一投票人的投票结果以及对应的电子投票信息为由同一投票区中其他投票终端上传得到。详细内容参见上述实施例中对应部分的描述,在此不再赘述。
本发明实施例提供了一种计算机设备,如图7所示,该设备包括一个或多个处理器1010以及存储器1020,存储器1020包括持久内存、易失内存和硬盘,图7中以一个处理器1010为例。该设备还可以包括:输入装置1030和输出装置1040。
处理器1010、存储器1020、输入装置1030和输出装置1040可以通过总线或者其他方式连接,图7中以通过总线连接为例。
处理器1010可以为中央处理器(Central Processing Unit,CPU)。处理器1010还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。存储器1020可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子投票验证方法装置的使用所创建的数据等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器1020可选包括相对于处理器1010远程设置的存储器,这些远程存储器可以通过网络连接至电子投票验证方法装置。输入装置1030可接收用户输入的计算请求(或其他数字或字符信息),以及产生与电子投票验证方法装置有关的键信号输入。输出装置1040可包括显示屏等显示设备,用以输出计算结果。
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储计算机指令,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的电子投票验证方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读存储介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RandomAccess Memory,RAM),只读存储器(Read-Only Memory,ROM),可擦除可编辑只读存储器(Erasable Programmable Read-Only Memory,EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(Compact Disc Read-Only Memory,CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(Programmable Gate Array,PGA),现场可编程门阵列(Field Programmable Gate Array,FPGA)等。
在本说明书的描述中,参考术语“本实施例”、“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。在本公开描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (12)

1.一种电子投票验证方法,应用于投票终端,其特征在于,包括:
当接收到目标投票区中任一投票人的投票结果,获取所述投票人的私钥和身份信息;
基于所述私钥和所述身份信息,调用预设第一哈希函数生成当前投票人的身份标签;
利用所述私钥对经预设第二哈希函数运算的所述身份信息进行签名操作,生成投票人签名信息;
获取同一投票区所有投票人中每一个投票人的公钥,并为每一个投票人随机匹配高斯参数,其中每一个投票人的公钥和私钥根据格密钥生成算法生成;
基于所述投票人签名信息和所有投票人的高斯参数,计算所有投票人的环签名信息;
利用所述预设第二哈希函数对所述所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息;
将包含有所述投票人签名信息、所有人的环签名信息、所述第一签名验证信息、所述身份标签的电子投票信息以及对应的投票结果上传到验票终端,以供所述验票终端基于所述电子投票信息对所述投票结果进行验证。
2.根据权利要求1所述的电子投票验证方法,其特征在于,所述利用所述预设第二哈希函数对所述所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息,包括:
生成随机数;
利用所述预设第二哈希函数对所述随机数、所述所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息。
3.根据权利要求2所述的电子投票验证方法,其特征在于,所述电子投票信息包括所述随机数。
4.根据权利要求1所述的电子投票验证方法,其特征在于,所述将包含有所述投票人签名信息、所有人的环签名信息、所述第一签名验证信息、所述身份标签的电子投票信息以及对应的投票结果上传到验票终端,包括:
将所述电子投票信息以及对应的投票结果发送至同一投票区中其他至少部分投票终端,使得其他至少部分投票终端将所述电子投票信息以及对应的投票结果上传至验票终端。
5.一种电子投票验证方法,应用于验票终端,其特征在于,包括:
接收任一投票人的投票结果以及对应的电子投票信息,所述电子投票信息包括当前投票人的签名信息、同一投票区内所有人的环签名信息、第一签名验证信息以及当前投票人的身份标签,所述当前投票人的身份标签为利用预设第一哈希函数对所述当前投票人的私钥以及身份信息进行计算得到,所述第一签名验证信息为利用预设第二哈希函数对同一投票区内所有人的公钥以及对应的高斯参数进行计算得到,其中每一个投票人的公钥和私钥根据格密钥生成算法生成;
利用所述预设第二哈希函数对所有人的公钥、环签名信息以及当前投票人的签名信息进行计算,得到第二签名验证信息;
将所述第二签名验证信息与第一签名验证信息进行比较;
若比较结果一致,将接收的投票人的身份标签与同一投票区中其他电子投票信息中的身份标签进行比较;
若比较结果没有重复身份标签,对当前电子投票信息对应的投票结果进行计票操作;
将电子投票信息以及对应的投票结果上传至区块链中进行存储。
6.根据权利要求5所述的电子投票验证方法,其特征在于,还包括:
接收核验电子投票信息请求,所述电子投票信息请求中包含电子投票识别信息;
基于电子投票识别信息,从区块链中下载保存的待核验电子投票信息;
根据投票人签名信息,验证待核验电子投票信息是否合法。
7.根据权利要求5所述的电子投票验证方法,其特征在于,所述任一投票人的投票结果以及对应的电子投票信息为由同一投票区中其他投票终端上传得到。
8.一种基于区块链的电子投票系统,其特征在于,包括:
投票终端,用于执行如权利要求1-4任一项所述电子投票验证方法;
验票终端,用于执行如权利要求5-7任一项所述电子投票验证方法。
9.一种电子投票装置,应用于投票终端,其特征在于,包括:
第一获取模块,用于当接收到目标投票区中任一投票人的投票结果,获取所述投票人的私钥和身份信息;
第一生成取模块,用于基于所述私钥和所述身份信息,调用预设第一哈希函数生成当前投票人的身份标签;
第二生成取模块,用于利用所述私钥对经预设第二哈希函数运算的所述身份信息进行签名操作,生成投票人签名信息;
第二获取模块,用于获取同一投票区所有投票人中每一个投票人的公钥,并为每一个投票人随机匹配高斯参数,其中每一个投票人的公钥和私钥根据格密钥生成算法生成;
第一计算模块,用于基于所述投票人签名信息和所有投票人的高斯参数,计算所有投票人的环签名信息;
第二计算模块,用于利用所述预设第二哈希函数对所述所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息;
第一上传模块,用于将包含有所述投票人签名信息、所有人的环签名信息、所述第一签名验证信息、所述身份标签的电子投票信息以及对应的投票结果上传到验票终端,以供所述验票终端基于所述电子投票信息对所述投票结果进行验证。
10.一种电子投票装置,应用于验票终端,其特征在于,包括:
第一接收模块,用于接收任一投票人的投票结果以及对应的电子投票信息,所述电子投票信息包括当前投票人的签名信息、同一投票区内所有人的环签名信息、第一签名验证信息以及当前投票人的身份标签,所述当前投票人的身份标签为利用预设第一哈希函数对所述当前投票人的私钥以及身份信息进行计算得到,所述第一签名验证信息为利用预设第二哈希函数对同一投票区内所有人的公钥以及对应的高斯参数进行计算得到,其中每一个投票人的公钥和私钥根据格密钥生成算法生成;
第三计算模块,用于利用所述预设第二哈希函数对所有人的公钥、环签名信息以及当前投票人的签名信息进行计算,得到第二签名验证信息;
第一比较模块,用于将所述第二签名验证信息与第一签名验证信息进行比较;
第二比较模块,用于若比较结果一致,将接收的投票人的身份标签与同一投票区中其他电子投票信息中的身份标签进行比较;
第一计票模块,用于若比较结果没有重复身份标签,对当前电子投票信息对应的投票结果进行计票操作;
第二上传模块,用于将电子投票信息以及对应的投票结果上传至区块链中进行存储。
11.一种计算机设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一项所述的电子投票验证方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的电子投票验证方法的步骤。
CN202211475254.XA 2022-11-23 2022-11-23 一种电子投票验证方法、装置及电子投票系统 Pending CN115967497A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211475254.XA CN115967497A (zh) 2022-11-23 2022-11-23 一种电子投票验证方法、装置及电子投票系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211475254.XA CN115967497A (zh) 2022-11-23 2022-11-23 一种电子投票验证方法、装置及电子投票系统

Publications (1)

Publication Number Publication Date
CN115967497A true CN115967497A (zh) 2023-04-14

Family

ID=87362339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211475254.XA Pending CN115967497A (zh) 2022-11-23 2022-11-23 一种电子投票验证方法、装置及电子投票系统

Country Status (1)

Country Link
CN (1) CN115967497A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117040928A (zh) * 2023-10-08 2023-11-10 广州市悦智计算机有限公司 一种基于区块链智能合约实现投票权隐私发放方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117040928A (zh) * 2023-10-08 2023-11-10 广州市悦智计算机有限公司 一种基于区块链智能合约实现投票权隐私发放方法
CN117040928B (zh) * 2023-10-08 2024-02-09 广州市悦智计算机有限公司 一种基于区块链智能合约实现投票权隐私发放方法

Similar Documents

Publication Publication Date Title
CN112215608B (zh) 数据处理方法和装置
Farooq et al. A framework to make voting system transparent using blockchain technology
EP4092956A1 (en) Implementing logic gate functionality using a blockchain
CN109243045A (zh) 一种投票方法、装置、计算机设备及计算机可读存储介质
CN118694520A (zh) 基于未确定数据保护区块链交易
US6647493B1 (en) Method and system for authentication and electronic signature
US20060101047A1 (en) Method and system for fortifying software
CN116192405B (zh) 一种电子投票方法及相关装置
CN109948320B (zh) 基于区块链的身份识别管理方法、装置、介质及电子设备
CN110309672B (zh) 一种基于区块链的隐私保护的可控数据管理方法
US11356243B2 (en) Information management system with blockchain authentication
CN115499379B (zh) 一种基于区块链的信息交互方法、装置、设备及介质
CN111709860A (zh) 遗嘱处理方法、装置、设备及存储介质
CN109241762A (zh) 基于区块链技术的资产信息获取方法、装置与计算机设备
CN111431908A (zh) 一种访问处理方法、装置及可读存储介质
CN115967497A (zh) 一种电子投票验证方法、装置及电子投票系统
CN108540335B (zh) 设备分析报告的管理方法及管理装置
CN115514492A (zh) Bios固件验证方法、装置、服务器、存储介质和程序产品
CN109302442B (zh) 一种数据存储证明方法及相关设备
CN109495276A (zh) 一种基于se芯片的电子驾照的实现方法、计算机装置、计算机可读存储介质
CN112069529B (zh) 基于区块链的卷宗管理方法、装置、计算机以及存储介质
TIWARI et al. Secure online voting system using visual cryptography
CN116506134B (zh) 数字证书管理方法、装置、设备、系统及可读存储介质
CN115277240B (zh) 一种物联网设备的认证方法及装置
US11488434B1 (en) Electronic voting system with cryptographically managed trust

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination