CN114240332A - 一种用于电子投票的聚合签名方法 - Google Patents

一种用于电子投票的聚合签名方法 Download PDF

Info

Publication number
CN114240332A
CN114240332A CN202111432958.4A CN202111432958A CN114240332A CN 114240332 A CN114240332 A CN 114240332A CN 202111432958 A CN202111432958 A CN 202111432958A CN 114240332 A CN114240332 A CN 114240332A
Authority
CN
China
Prior art keywords
voter
mecs
group
edge computing
information
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
CN202111432958.4A
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.)
Nanjing University of Information Science and Technology
Original Assignee
Nanjing University of Information Science and Technology
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 Nanjing University of Information Science and Technology filed Critical Nanjing University of Information Science and Technology
Priority to CN202111432958.4A priority Critical patent/CN114240332A/zh
Publication of CN114240332A publication Critical patent/CN114240332A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2230/00Voting or election arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种电子投票的聚合签名方法,该方法包括注册中心接收到注册请求,根据系统参数为选民生成伪身份、主公钥、主私钥与投票状态,并将伪身份、主公钥与投票状态存储于区块链中;认证中心成功认证选民身份后,根据系统参数生成部分密钥返回给选民;选民在接收到部分密钥后,随机选择秘密值生成群组公钥与群组私钥;选民将选票发送给边缘计算节点,计算节点将选票与伪身份上传给群组中所有成员,获得所有签名并验证通过后聚合所有签名,上传至中心网络,其他群组中边缘计算节点验证聚合群签名有效性,全部验证通过后,边缘节点将投票信息与伪身份上传至区块链中,将该选民区块链中存储的投票状态更新为1;自动识别投票信息获得票数。

Description

一种用于电子投票的聚合签名方法
技术领域
本发明属于电子投票技术领域,具体涉及一种用于电子投票的聚合签名方法。
背景技术
随着信息技术的发展,电子投票系统的应用越来越广泛。电子投票一般由政府或独立选举当局的代表进行实际监督,大多通过网络远程进行,选民可以在任何地点通过网络向选举当局提交投票。这避免了投票过程中的排队时间花费,在计票方面也极大地减少人力开销。然而,电子投票在带来便利的同时也存在诸多安全隐患。一方面攻击者针对选民个人隐私发动攻击,如窃取用户真实身份及对应的选票信息,并恶意篡改选票信息导致最终计票错误。另一方面是投票过程无法实现完全公开透明化,仅可由选民向第三方申请进行选票的验证,由此导致验证的效率并不理想。因此,为了解决电子投票所面临的安全威胁,实现电子投票的透明、可验证性,以保障选民的隐私保护,设计一个安全、可信、高效的聚合签名协议是必要的。
近些年来,盲签名、环签名、聚合签名等是电子签名协议的研究热点,以往的方案大多仅能满足投票的基础特征,如投票唯一性与选票的不可见性等。但如今,更好的安全性与透明化需求使得基于区块链技术设计的聚合签名电子投票协议引发了众多研究学者的广泛探讨。当下,一些研究学者已在基于区块链的聚合签名电子投票协议相关领域取得一定的研究成果,但现有的研究成果仍存在着用户身份隐私泄露、选票被恶意篡改、无法实现投票过程的完全公开透明、安全性与效率两者间无法取得平衡等问题。因此,提出来一种安全且高效的基于区块链的聚合签名协议,该协议可高效的应用于电子投票中。
发明内容
发明目的:为了实现电子投票环境中计票的准确性与用户的匿名性,现有电子投票方案中存在一些安全及效率问题亟待解决。本发明旨在解决以下问题:
(1)选民的匿名与可追踪。现有的电子投票方案的关注点主要在于保障计票的准确性,对一些安全性问题欠缺考虑,如实现匿名保护和恶意用户可追踪。本发明中,我们利用聚合签名方法,将选民真实身份与选票信息进行剥离,攻击者无法通过选票信息获取选民的真实身份,而对于满足追踪条件的恶意投票者,可实现追踪其真实身份。
(2)选票的公开与可验证。现有的一些方案利用公示栏来实现投票信息的公开,但选票仅可实现最终总计票的准确性验证。对每一位选民对应的选票进行加密并展示在公示栏中,导致选民无法得知其它其他选票的具体信息。因此我们利用区块链特性,如去中心化、开放性与匿名性,将选票具体信息完全写入区块链中并发布在网络中,从而实现选票的公开与可验证性。
(3)协议的安全与高效性。一方面,单个签名的生成与验证及聚合签名的生成与验证会产生较大的时间开销,另一方面,在将选票信息写入区块链中的时间开销也不低。因此,我们基于区块链与边缘计算技术设计一个轻量级聚合签名协议,以实现在安全与高效之间取得一个良好的平衡。
技术方案:为了达到上述目的,本发明所采用的技术方案是:一种电子投票下基于区块链的聚合签名方法,所述方法包含以下步骤:
步骤A、根据安全参数,注册中心生成系统参数;
步骤B、根据选民真实身份、系统参数,注册中心生成该选民的伪身份、主公钥与主私钥,并将该选民的伪身份标识符与主公钥写入区块链中;
步骤C、根据选民的主私钥,选民加密一随机信息,根据选民发送的加密信息、系统参数以及区块链中该选民的对应信息,认证中心首先验证该选民身份的有效性,若验证通过,则生成该选民的部分密钥;
步骤D、根据系统参数、选民的部分密钥,选民生成自己的群组公钥与群组私钥,并使用所加入群组中的边缘计算节点的公钥加密一信息,将之发送给该边缘计算节点,每个群组有且仅有唯一一个边缘计算节点,即每个群组的生成由边缘计算节点决定,边缘计算节点查找区块链中存储的该选民相关信息,记录该选民是否已投票;
步骤E、根据系统参数、选民的群组私钥,选民对投票信息签名加密后,将签密后的信息返回给所在群组中的边缘计算节点,最终由该群组的边缘计算节点聚合所有签名,即生成群签名,并上传至中心网络中,由网络中其他群组中的边缘计算节点验证该聚合签名是否有效,若验证通过,则该边缘计算节点可将该加密投票信息写入区块链中;
步骤F、根据上传至区块链中的投票信息,智能合约统计最终票数。
进一步的,步骤A详细步骤如下:
A.1系统参数包括如下内容,一个大素数q,一个阶为q的循环群G,两个生成元P1,P2,6个哈希函数;
H:G×{0,1}*→G;H1:{0,1}*×{0,1}*×G×G→G;
H2:
Figure BDA0003380942050000021
H3:
Figure BDA0003380942050000022
H4:
Figure BDA0003380942050000023
H5:{0,1}*×{0,1}*×{0,1}*×{0,1}*×G→G
其中,
Figure BDA0003380942050000031
的定义如下:
Figure BDA0003380942050000032
定义中(a0,q)=1指a0与q互素,即:集合
Figure BDA0003380942050000033
中任一元素均与素数q互素;
A.2注册中心随机选择
Figure BDA0003380942050000034
作为密钥,并通过等式Ppub=sP1,计算得出公钥Ppub
A.3最终本阶段输出系统参数为params={q,P1,P2,Ppub,H,H1,H2,H3,H4,H5}。
进一步的,步骤B详细步骤如下:首先选民将真实身份RIDi发送给注册中心,注册中心在接收到真实身份后,随机选择
Figure BDA0003380942050000035
以及随机选取时间戳ti,通过异或运算以及系统参数params,计算等式
Figure BDA0003380942050000036
得伪身份IDi,其次,注册中心随机选择
Figure BDA0003380942050000037
作为选民IDi的主私钥ski=ki,该主私钥仅选民个人可知,并通过等式pki=kiP1,计算选民的主公钥pki,并设置参数ci=0为初始状态,其中,ci表示投票状态,0表示未投票,1表示已投票,最终将(IDi,pki,ci)写入区块链中,权限为所有人可查看。
进一步的,步骤C详细步骤如下:
C.1每个群组有且仅有唯一一个边缘计算节点,即每个群组的位置由边缘计算节点决定,将每个边缘计算节点视作一个群组的管理员,边缘计算节点标识符与群组标识符保持一致,选民IDi随机选择一个数a与一个边缘计算节点标识符MECS,并使用注册中心生成的主私钥ski对随机数a进行加密处理
Figure BDA0003380942050000038
最终选民将信息
Figure BDA0003380942050000039
发送给认证中心;
C.2认证中心在接收到消息Authi之后,根据消息中包含的IDi,在区块链中查找该选民对应的信息,包含该选民的主公钥pki以及投票状态ci,对信息Authi中加密项,即第三项
Figure BDA00033809420500000310
进行解密处理,以确定该选民是否拥有正确的主公-私密钥对,利用所查找到的主公钥pki通过判断等式
Figure BDA00033809420500000311
是否成立,若验证通过,则该选民拥有认证中心授予的正确的主公-私密钥对,即认证通过,当ci=0时,即该选民仍未有投票行为,则认证中心进行以下步骤:
(1)认证中心随机选择
Figure BDA00033809420500000312
作为选民所在群组的边缘计算节点MECS的私钥,通过系统参数params,计算PKMECS=sMECSP2作为边缘计算节点MECS的公钥PKMECS,认证中心最终将(sMECS,PKMECS)通过安全信道发送给对应的边缘计算节点MECS;
(2)认证中心为选民IDi随机选择一个参数
Figure BDA0003380942050000041
与一个时间戳T1,i,并根据系统参数params,计算部分密钥Di,其中包含两个参数di与Ri,di=ri+sMECSh1,i,Ri=riP2,h1,i=H1(IDi,MECS,Ri,PKMECS),等式中h1,i为哈希函数H1的输出值,最终认证中心生成该选民的部分密钥Di=(di,Ri),并将Mi=(Di,MECS,Ri,PKMECS)返回给选民。
进一步的,步骤D详细步骤如下:
D.1选民IDi在接收到消息Mi后,首先根据系统参数params、信息Mi中的部分密钥Di以及边缘计算节点公钥PKMECS,通过等式:dMECSP2=Ri+PKMECSh1,i验证部分密钥是否正确,其中选民通过h1,i=H1(IDi,MECS,Ri,PKMECS),若等式成立,则验证通过,选民便随机选择
Figure BDA0003380942050000042
作为其秘密值,该xi仅选民自己可知;
D.2选民IDi根据系统参数params、认证中心接收到的信息Mi以及秘密值xi进行计算Xi=xiP2,Qi=Ri+Xih2,i,得两个参数Xi与Qi,其中,h2,i=H2(IDi,MECS,Xi,PKMECS)为哈希函数H2的输出值,并设置该选民的群组私钥SKi与群组公钥PKi:SKi=(di,xi),PKi=(Qi,Ri),最终选民使用所在群组的唯一边缘计算节点MECS的公钥PKMECS对消息messi=(PKi,pki,T1,i+1,IDi)进行加密
Figure BDA0003380942050000043
其中,T1,i+1目的在于更新时间戳,防止重放攻击,选民最终将加密后的信息
Figure BDA0003380942050000044
发送给边缘计算节点MECS;
D.3边缘计算节点MECS在接收到选民IDi发送的加密信息
Figure BDA0003380942050000045
之后,利用自己的私钥sMECS对信息进行解密处理
Figure BDA0003380942050000046
最终获得未加密的消息messi=(PKi,pki,T1,i+1,IDi),在获取选民伪身份标识符IDi后,边缘计算节点MECS根据用户伪身份查询区块链所对应存储的相关信息,获取ci,并存储该选民的主公钥PKi,群组公钥pki,投票状态ci
进一步的,步骤E的详细步骤如下:
E.1当选民IDi确定好选票内容mi,上传给所在群组的边缘计算节点MECS之后,边缘计算节点将选票内容mi与选民伪身份标识符IDi,并发送给群组中所有选民IDj
Figure BDA0003380942050000051
其中,n为该选民IDi所在的群组中所有成员数量,在选民IDj接收到mi与IDi后,确认选票内容的有效性后,根据系统参数params与群组私钥SKj给出自己正确的签名σj,具体签名过程如下,uj=H3(IDj,MECS,mi,Yj),Yj=yjP2,wj=h4,j(xjh2,j+dj)+uj(yj+h5,jxj),其中,IDj是真实身份为RIDj的选民的伪身份,xj与dj是IDj在该群组中的群组私钥,随机选择
Figure BDA0003380942050000052
h2,j=H2(IDj,MECS,Xj,PKMECS),h4,j=H4(IDj,MECS,mj,Yj,PKj),h5,j=H5(IDj,MECS,mj,Yj,PKj),h2,j,h4,j与h5,j分别是哈希函数H2,H4与H5的输出值,uj是哈希函数H3的输出值,有Xj=xjP2,其中,xj为选民IDj的秘密值,得出消息mi对应的n个签名σj=(Yj,uj,wj),群组成员分别将签名发送给边缘计算节点MECS,在接收到n个签名之后,边缘计算节点MECS分别验证下列等式是否成立;
验证等式:wjP2-ujYj-ujh5,jXj=h4,j(Qj+h1,jPKMECS);
若n个签名均通过以上等式验证,则该群组内所有成员给出的签名均为有效签名,如若有选民给出的签名不正确,该群组中的边缘节点将投票信息mi退回给选民IDi
E.2边缘计算节点在接收到所有选民签名σj,且验证签名有效后,对所有签名进行聚合处理,聚合过程如下:UMECS=∑ujh5,jXj,YMECS=∑ujYj,WMECS=∑wj,最终生成聚合签名σ=(YMECS,UMECS,WMECS),该边缘计算节点将聚合签名后的消息上传至中心网络中,网络中其他群组中边缘计算节点可通过下列等式进行聚合签名验证,验证过程主要是通过下式进行验证:WMECSP2-YMECS-UMECS=∑h4,i(Qi+h1,iPKMECS),若全部验证通过,则该聚合签名为有效签名,如若有网络中其他边缘计算节点不通过该签名验证,则该签名驳回,不得写入区块链中。
进一步的,步骤F的详细步骤如下:聚合签名验证通过后,边缘计算节点将投票信息mi与选民伪身份标识符IDi直接写入区块链中,并将选民对应的ci更新为1,选票被写入区块链之后,由智能合约直接读取选票具体信息,并在对应的候选人的总票数加1,在所有选票全部写入区块链后,最终计票结果也将全部公示在中心网络与区块链中。
有益效果:与现有技术相比,本发明技术方案的有益技术效果如下:
(1)本发明可以满足选民身份的完全匿名与可追溯。
本发明通过独立的第三方(注册中心)对选民的真实身份进行匿名化,即生成其对应且唯一的伪身份,注册中心仅掌握选民真实身份与伪身份之间的关系,而无法从最终区块链写入的信息得知其具体投票信息。当选票需要被追溯时,由所在群组的边缘计算节点查找到其对应的伪身份并向注册中心申请追溯,即可查找到选票的真实选民身份。由于该方案中的第三方均为独立的个体且无直接联系,从而可以实现选民身份的完全匿名与可追溯。
(2)本发明确保投票信息的准确、公开。
该发明中,为了能具备更多实际的应用价值,如果仅能展示最终的票数统计结果,而无法具体展示每个人的投票行为,投票活动的可信度将极大降低。该发明提供了一种所有选民可验证投票结果机制,也就是每个选民可通过上传的公钥进行“签名-选票”验证,即验证投票信息的正确性,与此同时利用智能合约进行计票,完全实现计票的准确性,从而实现投票过程的准确与完全公开。
(3)本发明在保证安全性的前提下极大提高了计票的效率。
该方案提出一种轻量级聚合签名协议,方案仅利用map-to-point哈希函数,而避免使用双线性对,这极大降低了投票过程中的时间与计算开销。投票信息写入区块链中需要大量的时间开销,但本发明引用了边缘计算技术,选民将选票上传至边缘计算节点,由边缘计算节点写入区块链中,这相对于选民,有极好的用户体验。相对于移动设备而言,边缘计算节点写入区块链中的速度有明显优势。
(4)抵抗重放攻击。
当选民上传选票信息时,选票信息中加入时间戳。选民可通过时间戳验证自己的选票信息是否被恶意篡改。敌手无法获知具体的时间戳,即无法伪造出一个有效的选票信息。且每个选票都会被群组中所有用户验证,当被伪造的选民发现自己的选票被伪造,将给出无效的签名,即第一轮验证不通过。从而可实现抵抗重放攻击。
附图说明
图1为系统模型图;
图2为方案主要过程图。
具体实施方式
下面将结合说明书附图,对本发明作进一步的说明。
本发明提出一种电子投票下基于区块链的聚合签名方法,所述方法包含以下步骤:
步骤A、根据安全参数,注册中心生成系统参数;
步骤B、根据选民真实身份、系统参数,注册中心生成该选民的伪身份、主公钥与主私钥,并将该选民的伪身份标识符与主公钥写入区块链中;
步骤C、根据选民的主私钥,选民加密一随机信息,根据选民发送的加密信息、系统参数以及区块链中该选民的对应信息,认证中心首先验证该选民身份的有效性,若验证通过,则生成该选民的部分密钥;
步骤D、根据系统参数、选民的部分密钥,选民生成自己的群组公钥与群组私钥,并使用所加入群组中的边缘计算节点的公钥加密一信息,将之发送给该边缘计算节点,每个群组有且仅有唯一一个边缘计算节点,即每个群组的生成由边缘计算节点决定,边缘计算节点查找区块链中存储的该选民相关信息,记录该选民是否已投票;
步骤E、根据系统参数、选民的群组私钥,选民对投票信息签名加密后,将签密后的信息返回给所在群组中的边缘计算节点,最终由该群组的边缘计算节点聚合所有签名,即生成群签名,并上传至中心网络中,由网络中其他群组中的边缘计算节点验证该聚合签名是否有效,若验证通过,则该边缘计算节点可将该加密投票信息写入区块链中;
步骤F、根据上传至区块链中的投票信息,智能合约统计最终票数。
进一步的,步骤A详细步骤如下:
A.1系统参数包括如下内容,一个大素数q,一个阶为q的循环群G,两个生成元P1,P2,6个哈希函数;
H:G×{0,1}*→G;H1:{0,1}*×{0,1}*×G×G→G;
H2:
Figure BDA0003380942050000071
H3:
Figure BDA0003380942050000072
H4:
Figure BDA0003380942050000073
H5:{0,1}*×{0,1}*×{0,1}*×{0,1}*×G→G
其中,
Figure BDA0003380942050000074
的定义如下:
Figure BDA0003380942050000075
定义中(a0,q)=1指a0与q互素,即:集合
Figure BDA0003380942050000076
中任一元素均与素数q互素;
A.2注册中心随机选择
Figure BDA0003380942050000077
作为密钥,并通过等式Ppub=sP1,计算得出公钥Ppub
A.3最终本阶段输出系统参数为params={q,P1,P2,Ppub,H,H1,H2,H3,H4,H5}。
进一步的,步骤B详细步骤如下:首先选民将真实身份RIDi发送给注册中心,注册中心在接收到真实身份后,随机选择
Figure BDA0003380942050000081
以及随机选取时间戳ti,通过异或运算以及系统参数params,计算等式
Figure BDA0003380942050000082
得伪身份IDi,其次,注册中心随机选择
Figure BDA0003380942050000083
作为选民IDi的主私钥ski=ki,该主私钥仅选民个人可知,并通过等式pki=kiP1,计算选民的主公钥pki,并设置参数ci=0为初始状态,其中,ci表示投票状态,0表示未投票,1表示已投票,最终将(IDi,pki,ci)写入区块链中,权限为所有人可查看。
进一步的,步骤C详细步骤如下:
C.1每个群组有且仅有唯一一个边缘计算节点,即每个群组的位置由边缘计算节点决定,将每个边缘计算节点视作一个群组的管理员,边缘计算节点标识符与群组标识符保持一致,选民IDi随机选择一个数a与一个边缘计算节点标识符MECS,并使用注册中心生成的主私钥ski对随机数a进行加密处理
Figure BDA0003380942050000084
最终选民将信息
Figure BDA0003380942050000085
发送给认证中心;
C.2认证中心在接收到消息Authi之后,根据消息中包含的IDi,在区块链中查找该选民对应的信息,包含该选民的主公钥pki以及投票状态ci,对信息Authi中加密项,即第三项
Figure BDA0003380942050000086
进行解密处理,以确定该选民是否拥有正确的主公-私密钥对,利用所查找到的主公钥pki通过判断等式
Figure BDA0003380942050000087
是否成立,若验证通过,则该选民拥有认证中心授予的正确的主公-私密钥对,即认证通过,当ci=0时,即该选民仍未有投票行为,则认证中心进行以下步骤:
(1)认证中心随机选择
Figure BDA0003380942050000088
作为选民所在群组的边缘计算节点MECS的私钥,通过系统参数params,计算PKMECS=sMECSP2作为边缘计算节点MECS的公钥PKMECS,认证中心最终将(sMECS,PKMECS)通过安全信道发送给对应的边缘计算节点MECS;
(2)认证中心为选民IDi随机选择一个参数
Figure BDA0003380942050000089
与一个时间戳T1,i,并根据系统参数params,计算部分密钥Di,其中包含两个参数di与Ri,di=ri+sMECSh1,i,Ri=riP2,h1,i=H1(IDi,MECS,Ri,PKMECS),等式中h1,i为哈希函数H1的输出值,最终认证中心生成该选民的部分密钥Di=(di,Ri),并将Mi=(Di,MECS,Ri,PKMECS)返回给选民。
进一步的,步骤D详细步骤如下:
D.1选民IDi在接收到消息Mi后,首先根据系统参数params、信息Mi中的部分密钥Di以及边缘计算节点公钥PKMECS,通过等式:dMECSP2=Ri+PKMECSh1,i验证部分密钥是否正确,其中选民通过h1,i=H1(IDi,MECS,Ri,PKMECS),若等式成立,则验证通过,选民便随机选择
Figure BDA0003380942050000091
作为其秘密值,该xi仅选民自己可知;
D.2选民IDi根据系统参数params、认证中心接收到的信息Mi以及秘密值xi进行计算Xi=xiP2,Qi=Ri+Xih2,i,得两个参数Xi与Qi,其中,h2,i=H2(IDi,MECS,Xi,PKMECS)为哈希函数H2的输出值,并设置该选民的群组私钥SKi与群组公钥PKi:SKi=(di,xi),PKi=(Qi,Ri),最终选民使用所在群组的唯一边缘计算节点MECS的公钥PKMECS对消息messi=(PKi,pki,T1,i+1,IDi)进行加密
Figure BDA0003380942050000092
其中,T1,i+1目的在于更新时间戳,防止重放攻击,选民最终将加密后的信息
Figure BDA0003380942050000093
发送给边缘计算节点MECS;
D.3边缘计算节点MECS在接收到选民IDi发送的加密信息
Figure BDA0003380942050000094
之后,利用自己的私钥sMECS对信息进行解密处理
Figure BDA0003380942050000095
最终获得未加密的消息messi=(PKi,pki,T1,i+1,IDi),在获取选民伪身份标识符IDi后,边缘计算节点MECS根据用户伪身份查询区块链所对应存储的相关信息,获取ci,并存储该选民的主公钥PKi,群组公钥pki,投票状态ci
进一步的,步骤E的详细步骤如下:
E.1当选民IDi确定好选票内容mi,上传给所在群组的边缘计算节点MECS之后,边缘计算节点将选票内容mi与选民伪身份标识符IDi,并发送给群组中所有选民IDj
Figure BDA0003380942050000096
其中,n为该选民IDi所在的群组中所有成员数量,在选民IDj接收到mi与IDi后,确认选票内容的有效性后,根据系统参数params与群组私钥SKj给出自己正确的签名σj,具体签名过程如下,uj=H3(IDj,MECS,mi,Yj),Yj=yjP2,wj=h4,j(xjh2,j+dj)+uj(yj+h5,jxj),其中,IDj是真实身份为RIDj的选民的伪身份,xj与dj是IDj在该群组中的群组私钥,随机选择
Figure BDA0003380942050000101
h2,j=H2(IDj,MECS,Xj,PKMECS),h4,j=H4(IDj,MECS,mj,Yj,PKj),h5,j=H5(IDj,MECS,mj,Yj,PKj),h2,j,h4,j与h5,j分别是哈希函数H2,H4与H5的输出值,uj是哈希函数H3的输出值,有Xj=xjP2,其中,xj为选民IDj的秘密值,得出消息mi对应的n个签名σj=(Yj,uj,wj),群组成员分别将签名发送给边缘计算节点MECS,在接收到n个签名之后,边缘计算节点MECS分别验证下列等式是否成立;
验证等式:wjP2-ujYj-ujh5,jXj=h4,j(Qj+h1,jPKMECS);
若n个签名均通过以上等式验证,则该群组内所有成员给出的签名均为有效签名,如若有选民给出的签名不正确,该群组中的边缘节点将投票信息mi退回给选民IDi
E.2边缘计算节点在接收到所有选民签名σj,且验证签名有效后,对所有签名进行聚合处理,聚合过程如下:UMECS=∑ujh5,jXj,YMECS=∑ujYj,WMECS=∑wj,最终生成聚合签名σ=(YMECS,UMECS,WMECS),该边缘计算节点将聚合签名后的消息上传至中心网络中,网络中其他群组中边缘计算节点可通过下列等式进行聚合签名验证,验证过程主要是通过下式进行验证:WMECSP2-YMECS-UMECS=∑h4,i(Qi+h1,iPKMECS),若全部验证通过,则该聚合签名为有效签名,如若有网络中其他边缘计算节点不通过该签名验证,则该签名驳回,不得写入区块链中。
进一步的,步骤F的详细步骤如下:聚合签名验证通过后,边缘计算节点将投票信息mi与选民伪身份标识符IDi直接写入区块链中,并将选民对应的ci更新为1,选票被写入区块链之后,由智能合约直接读取选票具体信息,并在对应的候选人的总票数加1,在所有选票全部写入区块链后,最终计票结果也将全部公示在中心网络与区块链中。

Claims (7)

1.一种电子投票下基于区块链的聚合签名方法,其特征在于,所述方法包含以下步骤:
步骤A、根据安全参数,注册中心生成系统参数;
步骤B、根据选民真实身份、系统参数,注册中心生成该选民的伪身份、主公钥与主私钥,并将该选民的伪身份标识符与主公钥写入区块链中;
步骤C、根据选民的主私钥,选民加密一随机信息,根据选民发送的加密信息、系统参数以及区块链中该选民的对应信息,认证中心首先验证该选民身份的有效性,若验证通过,则生成该选民的部分密钥;
步骤D、根据系统参数、选民的部分密钥,选民生成自己的群组公钥与群组私钥,并使用所加入群组中的边缘计算节点的公钥加密一信息,将之发送给该边缘计算节点,每个群组有且仅有唯一一个边缘计算节点,即每个群组的生成由边缘计算节点决定,边缘计算节点查找区块链中存储的该选民相关信息,记录该选民是否已投票;
步骤E、根据系统参数、选民的群组私钥,选民对投票信息签名加密后,将签密后的信息返回给所在群组中的边缘计算节点,最终由该群组的边缘计算节点聚合所有签名,即生成群签名,并上传至中心网络中,由网络中其他群组中的边缘计算节点验证该聚合签名是否有效,若验证通过,则该边缘计算节点可将该加密投票信息写入区块链中;
步骤F、根据上传至区块链中的投票信息,智能合约统计最终票数。
2.根据权利要求1所述的一种电子投票下基于区块链的聚合签名方法,其特征在于,步骤A详细步骤如下:
A.1系统参数包括如下内容,一个大素数q,一个阶为q的循环群G,两个生成元P1,P2,6个哈希函数;
H:G×{0,1}*→G;H1:{0,1}*×{0,1}*×G×G→G;
Figure FDA0003380942040000011
Figure FDA0003380942040000012
H5:{0,1}*×{0,1}*×{0,1}*×{0,1}*×G→G
其中,
Figure FDA0003380942040000013
的定义如下:
Figure FDA0003380942040000014
定义中(a0,q)=1指a0与q互素,即:集合
Figure FDA0003380942040000015
中任一元素均与素数q互素;
A.2注册中心随机选择
Figure FDA0003380942040000016
作为密钥,并通过等式Ppub=sP1,计算得出公钥Ppub
A.3最终本阶段输出系统参数为params={q,P1,P2,Ppub,H,H1,H2,H3,H4,H5}。
3.根据权利要求2所述的一种电子投票下基于区块链的聚合签名方法,其特征在于,步骤B详细步骤如下:首先选民将真实身份RIDi发送给注册中心,注册中心在接收到真实身份后,随机选择
Figure FDA0003380942040000021
以及随机选取时间戳ti,通过异或运算以及系统参数params,计算等式
Figure FDA0003380942040000022
得伪身份IDi,其次,注册中心随机选择
Figure FDA0003380942040000023
作为选民IDi的主私钥ski=ki,该主私钥仅选民个人可知,并通过等式pki=kiP1,计算选民的主公钥pki,并设置参数ci=0为初始状态,其中,ci表示投票状态,0表示未投票,1表示已投票,最终将(IDi,pki,ci)写入区块链中,权限为所有人可查看。
4.根据权利要求3所述的一种电子投票下基于区块链的聚合签名方法,其特征在于,步骤C详细步骤如下:
C.1每个群组有且仅有唯一一个边缘计算节点,即每个群组的位置由边缘计算节点决定,将每个边缘计算节点视作一个群组的管理员,边缘计算节点标识符与群组标识符保持一致,选民IDi随机选择一个数a与一个边缘计算节点标识符MECS,并使用注册中心生成的主私钥ski对随机数a进行加密处理
Figure FDA0003380942040000024
最终选民将信息
Figure FDA0003380942040000025
发送给认证中心;
C.2认证中心在接收到消息Authi之后,根据消息中包含的IDi,在区块链中查找该选民对应的信息,包含该选民的主公钥pki以及投票状态ci,对信息Authi中加密项,即第三项
Figure FDA0003380942040000026
进行解密处理,以确定该选民是否拥有正确的主公-私密钥对,利用所查找到的主公钥pki通过判断等式
Figure FDA0003380942040000027
是否成立,若验证通过,则该选民拥有认证中心授予的正确的主公-私密钥对,即认证通过,当ci=0时,即该选民仍未有投票行为,则认证中心进行以下步骤:
(1)认证中心随机选择
Figure FDA0003380942040000028
作为选民所在群组的边缘计算节点MECS的私钥,通过系统参数params,计算PKMECS=sMECSP2作为边缘计算节点MECS的公钥PKMECS,认证中心最终将(sMECS,PKMECS)通过安全信道发送给对应的边缘计算节点MECS;
(2)认证中心为选民IDi随机选择一个参数
Figure FDA0003380942040000029
与一个时间戳T1,i,并根据系统参数params,计算部分密钥Di,其中包含两个参数di与Ri,di=ri+sMECSh1,i,Ri=riP2,h1,i=H1(IDi,MECS,Ri,PKMECS),等式中h1,i为哈希函数H1的输出值,最终认证中心生成该选民的部分密钥Di=(di,Ri),并将Mi=(Di,MECS,Ri,PKMECS)返回给选民。
5.根据权利要求4所述的一种电子投票下基于区块链的聚合签名方法,其特征在于,步骤D详细步骤如下:
D.1选民IDi在接收到消息Mi后,首先根据系统参数params、信息Mi中的部分密钥Di以及边缘计算节点公钥PKMECS,通过等式:dMECSP2=Ri+PKMECSh1,i验证部分密钥是否正确,其中选民通过h1,i=H1(IDi,MECS,Ri,PKMECS),若等式成立,则验证通过,选民便随机选择
Figure FDA0003380942040000031
作为其秘密值,该xi仅选民自己可知;
D.2选民IDi根据系统参数params、认证中心接收到的信息Mi以及秘密值xi进行计算Xi=xiP2,Qi=Ri+Xih2,i,得两个参数Xi与Qi,其中,h2,i=H2(IDi,MECS,Xi,PKMECS)为哈希函数H2的输出值,并设置该选民的群组私钥SKi与群组公钥PKi:SKi=(di,xi),PKi=(Qi,Ri),最终选民使用所在群组的唯一边缘计算节点MECS的公钥PKMECS对消息messi=(PKi,pki,T1,i+1,IDi)进行加密
Figure FDA0003380942040000032
其中,T1,i+1目的在于更新时间戳,防止重放攻击,选民最终将加密后的信息
Figure FDA0003380942040000033
发送给边缘计算节点MECS;
D.3边缘计算节点MECS在接收到选民IDi发送的加密信息
Figure FDA0003380942040000034
之后,利用自己的私钥sMECS对信息进行解密处理
Figure FDA0003380942040000035
最终获得未加密的消息messi=(PKi,pki,T1,i+1,IDi),在获取选民伪身份标识符IDi后,边缘计算节点MECS根据用户伪身份查询区块链所对应存储的相关信息,获取ci,并存储该选民的主公钥PKi,群组公钥pki,投票状态ci
6.根据权利要求5所述的一种电子投票下基于区块链的聚合签名方法,其特征在于,步骤E的详细步骤如下:
E.1当选民IDi确定好选票内容mi,上传给所在群组的边缘计算节点MECS之后,边缘计算节点将选票内容mi与选民伪身份标识符IDi,并发送给群组中所有选民IDj
Figure FDA0003380942040000041
其中,n为该选民IDi所在的群组中所有成员数量,在选民IDj接收到mi与IDi后,确认选票内容的有效性后,根据系统参数params与群组私钥SKj给出自己正确的签名σj,具体签名过程如下,uj=H3(IDj,MECS,mi,Yj),Yj=yjP2,wj=h4,j(xjh2,j+dj)+uj(yj+h5,jxj),其中,IDj是真实身份为RIDj的选民的伪身份,xj与dj是IDj在该群组中的群组私钥,随机选择
Figure FDA0003380942040000042
h2,j=H2(IDj,MECS,Xj,PKMECS),h4,j=H4(IDj,MECS,mj,Yj,PKj),h5,j=H5(IDj,MECS,mj,Yj,PKj),h2,j,h4,j与h5,j分别是哈希函数H2,H4与H5的输出值,uj是哈希函数H3的输出值,有Xj=xjP2,其中,xj为选民IDj的秘密值,得出消息mi对应的n个签名σj=(Yj,uj,wj),群组成员分别将签名发送给边缘计算节点MECS,在接收到n个签名之后,边缘计算节点MECS分别验证下列等式是否成立;
验证等式:wjP2-ujYj-ujh5,jXj=h4,j(Qj+h1,jPKMECS);
若n个签名均通过以上等式验证,则该群组内所有成员给出的签名均为有效签名,如若有选民给出的签名不正确,该群组中的边缘节点将投票信息mi退回给选民IDi
E.2边缘计算节点在接收到所有选民签名σj,且验证签名有效后,对所有签名进行聚合处理,聚合过程如下:UMECS=∑ujh5,jXj,YMECS=∑ujYj,WMECS=∑wj,最终生成聚合签名σ=(YMECS,UMECS,WMECS),该边缘计算节点将聚合签名后的消息上传至中心网络中,网络中其他群组中边缘计算节点可通过下列等式进行聚合签名验证,验证过程主要是通过下式进行验证:WMECSP2-YMECS-UMECS=∑h4,i(Qi+h1,iPKMECS),若全部验证通过,则该聚合签名为有效签名,如若有网络中其他边缘计算节点不通过该签名验证,则该签名驳回,不得写入区块链中。
7.根据权利要求6所述的一种电子投票下基于区块链的聚合签名方法,其特征在于,步骤F的详细步骤如下:聚合签名验证通过后,边缘计算节点将投票信息mi与选民伪身份标识符IDi直接写入区块链中,并将选民对应的ci更新为1,选票被写入区块链之后,由智能合约直接读取选票具体信息,并在对应的候选人的总票数加1,在所有选票全部写入区块链后,最终计票结果也将全部公示在中心网络与区块链中。
CN202111432958.4A 2021-11-29 2021-11-29 一种用于电子投票的聚合签名方法 Pending CN114240332A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111432958.4A CN114240332A (zh) 2021-11-29 2021-11-29 一种用于电子投票的聚合签名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111432958.4A CN114240332A (zh) 2021-11-29 2021-11-29 一种用于电子投票的聚合签名方法

Publications (1)

Publication Number Publication Date
CN114240332A true CN114240332A (zh) 2022-03-25

Family

ID=80751757

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111432958.4A Pending CN114240332A (zh) 2021-11-29 2021-11-29 一种用于电子投票的聚合签名方法

Country Status (1)

Country Link
CN (1) CN114240332A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150163A (zh) * 2022-07-01 2022-10-04 中国银行股份有限公司 一种匿名电子投票方法及装置、存储介质及电子设备
CN117874838A (zh) * 2024-03-11 2024-04-12 誉农智汇(成都)农业科技发展集团有限公司 一种基于区块链的农业金融服务方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115150163A (zh) * 2022-07-01 2022-10-04 中国银行股份有限公司 一种匿名电子投票方法及装置、存储介质及电子设备
CN115150163B (zh) * 2022-07-01 2024-03-26 中国银行股份有限公司 一种匿名电子投票方法及装置、存储介质及电子设备
CN117874838A (zh) * 2024-03-11 2024-04-12 誉农智汇(成都)农业科技发展集团有限公司 一种基于区块链的农业金融服务方法及系统
CN117874838B (zh) * 2024-03-11 2024-05-17 誉农智汇(成都)农业科技发展集团有限公司 一种基于区块链的农业金融服务方法及系统

Similar Documents

Publication Publication Date Title
Ibrahim et al. Secure E-voting with blind signature
CN109756893A (zh) 一种基于混沌映射的群智感知物联网匿名用户认证方法
CN109672530A (zh) 基于非对称密钥池的抗量子计算数字签名方法和抗量子计算数字签名系统
CN112291062B (zh) 一种基于区块链的投票方法及装置
Qureshi et al. SeVEP: Secure and verifiable electronic polling system
CN110060403A (zh) 基于区块链的一人多票电子投票方法及系统
Shim Reconstruction of a secure authentication scheme for vehicular ad hoc networks using a binary authentication tree
CN114240332A (zh) 一种用于电子投票的聚合签名方法
KR20060127194A (ko) 공정한 블라인드 서명을 이용한 전자 투표 방법 및 시스템
CN110955918A (zh) 一种基于RSA加密sha-256数字签名的合同文本保护方法
CN112329519A (zh) 一种安全的在线指纹匹配方法
CN109687977A (zh) 基于多个密钥池的抗量子计算数字签名方法和抗量子计算数字签名系统
CN115147975B (zh) 一种基于区块链的加密网络投票方法
Zhang et al. A choreographed distributed electronic voting scheme
WO2001020562A2 (en) Multiway election method and apparatus
Malina et al. Secure electronic voting based on group signatures
Zwierko et al. A light-weight e-voting system with distributed trust
KR100653361B1 (ko) 투표결과의 반영 여부를 검증 가능한 전자투표 방법 및시스템
Zhou et al. MVP: an efficient anonymous E-voting protocol
Sultan et al. PairVoting: A secure online voting scheme using Pairing-Based Cryptography and Fuzzy Extractor
Emilia et al. E-voting protocols in context of COVID19
Abd-alrazzq et al. Secure internet voting system based on public key kerberos
CN114677794A (zh) 一种基于区块链的电子投票方法
CN112422294B (zh) 基于环签名的匿名投票方法及装置、电子设备、存储介质
Chung et al. Casting ballots over internet connection against bribery and coercion

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