CN115967497A - 一种电子投票验证方法、装置及电子投票系统 - Google Patents
一种电子投票验证方法、装置及电子投票系统 Download PDFInfo
- 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
Links
- 238000012795 verification Methods 0.000 title claims abstract description 108
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000006870 function Effects 0.000 claims description 58
- 230000015654 memory Effects 0.000 claims description 26
- 238000003860 storage Methods 0.000 claims description 25
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 7
- 238000009826 distribution Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种电子投票验证方法、装置及电子投票系统,包括:投票终端获取投票人的私钥和身份信息;基于私钥和身份信息调用预设第一哈希函数生成当前投票人的身份标签;利用私钥对经预设第二哈希函数运算的身份信息进行签名操作生成投票人签名信息;获取同一投票区中所有投票人的公钥并为所有投票人随机匹配高斯参数;基于投票人签名信息和所有投票人的高斯参数计算所有人的环签名信息;利用预设第二哈希函数对所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息;将包含有投票人签名信息、所有人的环签名信息、第一签名验证信息、身份标签的电子投票信息上传到验票终端,以供验票终端基于电子投票信息对投票结果进行验证。
Description
技术领域
本发明实施例涉及计算机通信安全技术领域,尤其涉及一种电子投票验证方法、装置及电子投票系统。
背景技术
随着数据体量的不断增加和数据内在价值的不断提升,充分利用各大传统组织中的中心化数据价值,并发挥其作为数字化经济时代下的生产要素的作用变得格外重要。但是传统的数据交易平台作为流转数据价值的载体却存在着诸多的问题,比如会导致数据所有权的丢失和原始数据信息泄露。
目前电子投票领域面临着同样的问题,给投票人隐私数据的保护带来巨大的威胁。如何做到进行电子投票的同时,并保证投票信息的不可见以及投票信息所有权的确定,也就成为了一个亟待解决的问题。
发明内容
本申请提供了一种电子投票验证方法、装置及电子投票系统,来实现进行电子投票的同时,保证投票信息的不可见和投票信息所有权的确定。
本发明第一方面提供了一种电子投票验证方法,应用于投票终端,包括:当接收到目标投票区中任一投票人的投票结果,获取投票人的私钥和身份信息;基于私钥和身份信息,调用预设第一哈希函数生成当前投票人的身份标签;利用私钥对经预设第二哈希函数运算的身份信息进行签名操作,生成投票人签名信息;获取同一投票区所有投票人中每一个投票人的公钥,并为每一个投票人随机匹配高斯参数,其中每一个投票人的公钥和私钥根据格密钥生成算法生成;基于投票人签名信息和所有投票人的高斯参数,计算所有投票人的环签名信息;利用预设第二哈希函数对所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息;将包含有投票人签名信息、所有人的环签名信息、第一签名验证信息、身份标签的电子投票信息以及对应的投票结果上传到验票终端,以供验票终端基于电子投票信息对投票结果进行验证。
本发明实施例提供的电子投票验证方法,基于格上困难问题,有效保护系统数据的安全,具备抗量子计算。利用将需要保护的电子投票人私钥和该投票区中的其他投票人公钥混合在一起进行环签名处理,隐藏电子投票人的真实身份等敏感信息,在进行电子投票整个过程中都无法获取该电子投票的真实投票人身份,实现了匿名电子投票过程,保证投票信息的不可见和投票信息所有权确定,很好的保护了电子投票人的隐私。
可选地,利用预设第二哈希函数对所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息,包括:生成随机数;利用预设第二哈希函数对随机数、所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息。
可选地,电子投票信息包括随机数。
可选地,将包含有投票人签名信息、所有人的环签名信息、第一签名验证信息、身份标签的电子投票信息以及对应的投票结果上传到验票终端,包括:将电子投票信息以及对应的投票结果发送至同一投票区中其他至少部分投票终端,使得其他至少部分投票终端将电子投票信息以及对应的投票结果上传至验票终端。
本发明第二方面提供了一种电子投票验证方法,应用于验票终端,包括:接收任一投票人的投票结果以及对应的电子投票信息,电子投票信息包括当前投票人的签名信息、同一投票区内所有人的环签名信息、第一签名验证信息以及当前投票人的身份标签,当前投票人的身份标签为利用预设第一哈希函数对当前投票人的私钥以及身份信息进行计算得到,第一签名验证信息为利用预设第二哈希函数对同一投票区内所有人的公钥以及对应的高斯参数进行计算得到,其中每一个投票人的公钥和私钥根据格密钥生成算法生成;利用预设第二哈希函数对所有人的公钥、环签名信息以及当前投票人的签名信息进行计算,得到第二签名验证信息;将第二签名验证信息与第一签名验证信息进行比较;若比较结果一致,将接收的投票人的身份标签与同一投票区中其他电子投票信息中的身份标签进行比较;若比较结果没有重复身份标签,对当前电子投票信息对应的投票结果进行计票操作;将电子投票信息以及对应的投票结果上传至区块链中进行存储。
可选地,还包括:接收核验电子投票信息请求,电子投票信息请求中包含电子投票识别信息;基于电子投票识别信息,从区块链中下载保存的待核验电子投票信息;根据投票人签名信息,验证待核验电子投票信息是否合法。
可选地,包括:任一投票人的投票结果以及对应的电子投票信息为由同一投票区中其他投票终端上传得到。
本发明第三方面提供了一种基于区块链的电子投票系统,包括:
投票终端,用于执行上述第一方面以及第一方面任一可选电子投票验证方法;验票终端,用于执行上述第二方面以及第二方面任一可选电子投票验证方法。
本发明第四方面提供了一种电子投票装置,应用于投票终端,包括:第一获取模块,用于当接收到目标投票区中任一投票人的投票结果,获取投票人的私钥和身份信息;第一生成取模块,用于基于私钥和身份信息,调用预设第一哈希函数生成当前投票人的身份标签;第二生成取模块,用于利用私钥对经预设第二哈希函数运算的身份信息进行签名操作,生成投票人签名信息;第二获取模块,用于获取同一投票区所有投票人中每一个投票人的公钥,并为每一个投票人随机匹配高斯参数,其中每一个投票人的公钥和私钥根据格密钥生成算法生成;第一计算模块,用于基于投票人签名信息和所有投票人的高斯参数,计算所有投票人的环签名信息;第二计算模块,用于利用预设第二哈希函数对所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息;第一上传模块,用于将包含有投票人签名信息、所有人的环签名信息、第一签名验证信息、身份标签的电子投票信息以及对应的投票结果上传到验票终端,以供验票终端基于电子投票信息对投票结果进行验证。
本发明提供的电子投票装置中各部件所执行的功能均已在上述第一方面以及第一方面任一方法实施例中得以应用,因此这里不再赘述。
本发明第五方面提供了一种电子投票装置,应用于验票终端,包括:
第一接收模块,用于接收任一投票人的投票结果以及对应的电子投票信息,电子投票信息包括当前投票人的签名信息、同一投票区内所有人的环签名信息、第一签名验证信息以及当前投票人的身份标签,当前投票人的身份标签为利用预设第一哈希函数对当前投票人的私钥以及身份信息进行计算得到,第一签名验证信息为利用预设第二哈希函数对同一投票区内所有人的公钥以及对应的高斯参数进行计算得到,其中每一个投票人的公钥和私钥根据格密钥生成算法生成;第三计算模块,用于利用预设第二哈希函数对所有人的公钥、环签名信息以及当前投票人的签名信息进行计算,得到第二签名验证信息;第一比较模块,用于将第二签名验证信息与第一签名验证信息进行比较;第二比较模块,用于若比较结果一致,将接收的投票人的身份标签与同一投票区中其他电子投票信息中的身份标签进行比较;第一计票模块,用于若比较结果没有重复身份标签,对当前电子投票信息对应的投票结果进行计票操作;第二上传模块,用于将电子投票信息以及对应的投票结果上传至区块链中进行存储。
本发明提供的电子投票装置中各部件所执行的功能均已在上述第二方面以及第二方面任一方法实施例中得以应用,因此这里不再赘述。
本发明第六方面提供了一种计算机设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述电子投票验证方法的步骤。
本发明第七方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行如本发明提供的电子投票验证方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的电子投票验证方法流程示意图;
图2为本发明一实施例提供的电子投票验证方法流程示意图;
图3为本发明一实施例提供的基于区块链的电子投票系统结构示意图;
图4为本发明一实施例提供的基于区块链的电子投票系统结构示意图;
图5为本发明实施例提供的一种电子投票验证方法装置结构示意图;
图6为本发明实施例提供的一种电子投票验证方法装置结构示意图;
图7为本发明实施例提供的计算机设备结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
针对背景技术中所提及的技术问题,本发明实施例提供了一种电子投票验证方法,应用于投票终端,如图1所示,该方法的步骤包括:
步骤S110,当接收到目标投票区中任一投票人的投票结果,获取投票人的私钥和身份信息。
示例性地,假设第i个电子投票区中的n个投票人为第i个电子投票区中的第x个投票人的私钥为身份信息为其中目标投票区为系统预先划分出的若干投票区中当前投票人所在投票区。投票人的身份信息在预设范围中按预设规则选取或者分配。预设规则可以包括但不限于在预设范围中按固定间隔分配身份信息,或者随机分配,此处不做限制。投票人的私钥可以根据预设算法,如格密钥生成算法,来生成。
步骤S120,基于私钥和身份信息,调用预设第一哈希函数生成当前投票人的身份标签。
示例性地,根据第i个电子投票区中的第x个投票人的私钥和身份信息为本次电子投票生成一个可链接标签,即当前投票人的身份标签。具体地,预设第一哈希函数H1,基于身份信息选取最后一个行向量en,en∈{0,1}m,H1(IDi)表示运用预设第一哈希函数H1求解的哈希值。再调用预设第一哈希函数H1计算生成投票人的身份标签其中,H1:Z表示矩阵,上标n×m表示Z为一个n行m列矩阵,参数q为一个素数,m和n为大于零的整数。
步骤S130,利用私钥对经预设第二哈希函数运算的身份信息进行签名操作,生成投票人签名信息。
示例性地,利用第i个电子投票区中的电子投票人的私钥对经预设第二哈希函数H2运算的身份信息进行签名操作,生成投票人签名信息即以概率输出投票人的签名信息否则重新进行签名算法。签名信息可以作为投票人的可追踪性信息,以便被质疑时可追踪投票人的真实身份。其中,为预设高斯分布,σ、m为参数,M为随机数。
步骤S140,获取同一投票区所有投票人中每一个投票人的公钥,并为每一个投票人随机匹配高斯参数,其中每一个投票人的公钥和私钥根据格密钥生成算法生成。
格密钥生成算法包括:选择一个抗碰撞Hash函数:
投票终端密钥分配中心首先使用陷门生成算法TrapGen(q,n)在一个概率多项式时间PPT内输出一个矩阵和格Λ⊥(A,q)上对应的一个陷门格基且A满足在上均匀分布无法区分,格基S以一个绝对优势满足选择随机和独立的向量则输出公共参数保密的主密钥为S。
输入公共参数主密钥S和高斯参数运行原像抽样算法格密钥生成算法能在一个概率多项式时间PPT内输出一个环集合中的电子投票人IDx的公、私密钥对为且满足在上均匀分布无法区分和其中,n为一个安全参数,参数q为一个素数,m和n为大于零的整数,λ为大于零的实数,满足:q=poly(n),l=logq,m≥5nlgq,σ=12sλm。其中,D表示一种分布,Λ⊥(A,q)表示一个格,表示基于该格上的一种分布,T为格基矩阵,ω为大于零的实数。
需要说明的是本实施例中高斯参数s与高斯参数服从不同的高斯分布,实际中可根据需要进行适应性选取对应的高斯分布,此处不做限制。通过根据格密钥生成算法生成每一个投票人的公钥和私钥,这种加密方式具备抗量子计算,实现了匿名电子投票过程,给系统提供抗量子安全性。
步骤S150,基于投票人签名信息和所有投票人的高斯参数,计算所有投票人的环签名信息。
示例性地,利用第i个电子投票区投票人的签名信息以及投票区中每一个投票人的高斯参数计算出第i个电子投票区中所有人投票人的环签名信息具体地,真正电子投票人的环签名信息为用自身的私钥签名后的消息其他投票人均为非自己私钥生成的环签名信息
步骤S160,利用预设第二哈希函数对所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息。
步骤S170,将包含有投票人签名信息、所有人的环签名信息、第一签名验证信息、身份标签的电子投票信息以及对应的投票结果上传到验票终端,以供验票终端基于电子投票信息对投票结果进行验证。
示例性地,将含第i个电子投票区中所有投票人的环签名信息身份标签电子投票人的签名信息和第一签名验证信息u的电子投票信息一起打包发送给电子投票验票终端进行验证,以供验票终端基于电子投票信息对投票结果进行验证。具体的验证方式可以是验证终端将接收到的身份标签与历史接收并存储的身份标签进行比对来验证同一投票人是否重复投票;还可以是基于投票人的签名信息来验证投票人的身份是否合法等。本申请实施例对基于电子投票信息来验证投票结果的方式不作限定,本领域技术人员可以根据实际需要确定。
最后,第i个电子投票区的第x个投票人的电子投票整个过程结束,第i个电子投票区和其他选区的所有电子投票人的电子投票过程同上,此处不再赘述。
本发明实施例提供的电子投票验证方法,基于格上困难问题,有效保护系统数据的安全,具备抗量子计算。利用将需要保护的电子投票人私钥和该投票区中的其他投票人公钥混合在一起进行环签名处理,隐藏电子投票人的真实身份等敏感信息,在进行电子投票整个过程中都无法获取该电子投票的真实投票人身份,实现了匿名电子投票过程,保证投票信息的不可见和投票信息所有权确定,很好的保护了电子投票人的隐私。
作为本发明一可选实施方式,步骤S160,包括:
步骤S210,生成随机数。
示例性地,投票终端可以通过随机数生成函数,如哈希函数,生成随机数M。
步骤S220,利用预设第二哈希函数对随机数、所有投票人的公钥以及对应的高斯参数进行计算,得到第一签名验证信息。
本发明实施例提供的电子投票验证方法,通过将随机数作为签名验证消息生成的参数之一,增加了电子投票的隐蔽性。
作为本发明一可选实施方式,电子投票信息包括随机数。
示例性地,投票终端将含第i个电子投票区中所有投票人的环签名信息身份标签随机数M、电子投票人的签名信息和第一签名验证信息u的电子投票信息一起打包发送给电子投票验票终端进行验证,以供验票终端基于电子投票信息对投票结果进行验证。
作为本发明一可选实施方式,步骤S170,包括:将电子投票信息以及对应的投票结果发送至同一投票区中其他至少部分投票终端,使得其他至少部分投票终端将电子投票信息以及对应的投票结果上传至验票终端。
示例性地,部分投票终端可以包括至少一个除当前投票终端之外的其他电子投票终端,最多要小于所有其他电子投票终端总数。由第i个电子投票区中的其他电子投票终端,可以是一个,也可以是多个同时将电子投票信息发送给电子投票接收者进行验证。
本发明实施例提供的电子投票验证方法,通过由同一投票区中其他的电子投票终端将当前的电子投票终端的电子投票信息上传到验票终端,增加了电子投票的隐蔽性,保护了电子投票人的隐私。
本发明实施例提供了一种电子投票验证方法,应用于验票终端,如图2所示,该方法的步骤包括:
步骤S410,接收任一投票人的投票结果以及对应的电子投票信息,电子投票信息包括当前投票人的签名信息、同一投票区内所有人的环签名信息、第一签名验证信息以及当前投票人的身份标签,当前投票人的身份标签为利用预设第一哈希函数对当前投票人的私钥以及身份信息进行计算得到,第一签名验证信息为利用预设第二哈希函数对同一投票区内所有人的公钥以及对应的高斯参数进行计算得到,其中每一个投票人的公钥和私钥根据格密钥生成算法生成。
本实施例中,步骤S410与上述实施例中步骤S120至步骤S170类似,此处不再赘述。
步骤S420,利用预设第二哈希函数对所有人的公钥、环签名信息以及当前投票人的签名信息进行计算,得到第二签名验证信息。
示例性地,当电子投票接收者收到来自第i个电子投票区中的第x个投票人的电子投票信息后,先用第i个电子投票区中所有投票人的公钥和第i个电子投票区中所有投票人的环签名信息计算出第二签名验证信息u'。具体地,以电子投票信息为为例,根据电子投票验票终端接收到的环签名信息u、第i个电子投票区中所有投票人的环签名信息签名信息和第i个电子投票区中的所有投票人公钥j=1,2,…,n,计算:
步骤S430,将第二签名验证信息与第一签名验证信息进行比较。
步骤S440,若比较结果一致,将接收的投票人的身份标签与同一投票区中其他电子投票信息中的身份标签进行比较。
示例性地,如果u'=u,则第i个电子投票区中的第x个投票人的环签名通过验证。然后电子投票验票终端利用电子投票信息中的投票人的身份标签来验证是否为同一个投票人的重复电子投票。具体地,将接收到的第i个电子投票区电子投票信息中投票人的身份标签和已存储的第i个电子投票区中其他电子投票身份标签进行比对。
步骤S450,若比较结果没有重复身份标签,对当前电子投票信息对应的投票结果进行计票操作。
步骤S460,将电子投票信息以及对应的投票结果上传至区块链中进行存储。
示例性地,区块链保存电子投票验票终端发送过来的电子投票信息主要用于记录电子投票的原始信息,防止非法投票人或攻击者篡改电子投票数据,从而造成电子投票不一致和无法采信。
本发明实施例提供的电子投票验证方法,通过对接收到的电子投票信息进行环签名信息以及电子投票信息中的身份标签来验证投票的合法性,以及是否为同一个投票人的重复电子投票,保证了投票的合法性和公平性。
作为本发明一可选实施方式,还包括:
步骤S510,接收核验电子投票信息请求,电子投票信息请求中包含电子投票识别信息。
示例性地,电子投票识别信息可以包括但不限于电子投票编号,区块链存储位置。电子投票编号由投票终端对应生成;区块链存储位置可以在电子投票信息上传至区块链中进行存储时生成。具体地,以电子投票识别信息为电子投票编号为例,投票终端可以通过预设编号生成函数对电子投票信息进行运算得到电子投票编号;或者投票终端也可以通过编号生成器自动生成,此处不作限制。如果电子投票信息被质疑,可以求助电子投票验票终端,上传所质疑的电子投票信息的电子投票编号。
步骤S520,基于电子投票识别信息,从区块链中下载保存的待核验电子投票信息。
示例性地,验票终端基于电子投票识别信息,从区块链中下载待核验电子投票信息。
步骤S530,根据投票人签名信息,验证待核验电子投票信息是否合法。
示例性地,利用电子投票信息中投票人的签名信息对投票人进行追踪验证其身份是否合法。如果通过签名验证,表示该电子投票只能是第i个电子投票区中的第x个投票人合法投出。因为电子投票信息中的是用第i个电子投票区中的第x个投票人的私钥进行签名的,所以除了第i个电子投票区中的第x个投票人本人,其他任何电子投票人都无法生成签名信息投票人的签名信息具有投票人真实身份的可追踪性和防伪性。
本发明实施例提供的电子投票验证方法,区块链保存电子投票验票终端发送过来的电子投票信息主要用于记录电子投票的原始信息,防止非法投票人或攻击者篡改电子投票数据,从而造成电子投票不一致和无法采信。在对电子投票信息发生质疑时,利用信息中的投票人的签名信息对投票人的真实身份进行追踪验证其身份是否合法,实现了电子投票的可追踪性和防伪性。
作为本发明一可选实施方式,任一投票人的投票结果以及对应的电子投票信息为由同一投票区中其他投票终端上传得到。
本实施例中,与上述实施例中对应部分的描述类似,此处不再赘述。
本发明实施例提供了一种基于区块链的电子投票系统,如图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任一项所述的电子投票验证方法的步骤。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117040928A (zh) * | 2023-10-08 | 2023-11-10 | 广州市悦智计算机有限公司 | 一种基于区块链智能合约实现投票权隐私发放方法 |
-
2022
- 2022-11-23 CN CN202211475254.XA patent/CN115967497A/zh active Pending
Cited By (2)
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 |