利索能及
我要发布
收藏
专利号: 2021114329584
申请人: 南京信息工程大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种电子投票下基于区块链的聚合签名方法,其特征在于,所述方法包含以下步骤:

步骤A、根据安全参数,注册中心生成系统参数;

步骤B、根据选民真实身份、系统参数,注册中心生成该选民的伪身份、主公钥与主私钥,并将该选民的伪身份标识符与主公钥写入区块链中;

步骤C、根据选民的主私钥,选民加密一随机信息,根据选民发送的加密信息、系统参数以及区块链中该选民的对应信息,认证中心首先验证该选民身份的有效性,若验证通过,则生成该选民的部分密钥;

步骤D、根据系统参数、选民的部分密钥,选民生成自己的群组公钥与群组私钥,并使用所加入群组中的边缘计算节点的公钥加密一信息,将之发送给该边缘计算节点,每个群组有且仅有唯一一个边缘计算节点,即每个群组的生成由边缘计算节点决定,边缘计算节点查找区块链中存储的该选民相关信息,记录该选民是否已投票;

步骤E、根据系统参数、选民的群组私钥,选民对投票信息签名加密后,将签密后的信息返回给所在群组中的边缘计算节点,最终由该群组的边缘计算节点聚合所有签名,即生成群签名,并上传至中心网络中,由网络中其他群组中的边缘计算节点验证该聚合签名是否有效,若验证通过,则该边缘计算节点可将该加密投票信息写入区块链中;

步骤F、根据上传至区块链中的投票信息,智能合约统计最终票数;

步骤C详细步骤如下:

C.1每个群组有且仅有唯一一个边缘计算节点,即每个群组的位置由边缘计算节点决定,将每个边缘计算节点视作一个群组的管理员,边缘计算节点标识符与群组标识符保持一致,选民IDi随机选择一个数a与一个边缘计算节点标识符MECS,并使用注册中心生成的主私钥ski对随机数a进行加密处理 最终选民将信息发送给认证中心;

C.2认证中心在接收到消息Authi之后,根据消息中包含的IDi,在区块链中查找该选民对应的信息,包含该选民的主公钥pki以及投票状态ci,对信息Authi中加密项,即第三项进行解密处理,以确定该选民是否拥有正确的主公‑私密钥对,利用所查找到的主公钥pki通过判断等式 是否成立,若验证通过,则该选民拥有认证中心授予的正确的主公‑私密钥对,即认证通过,当ci=0时,即该选民仍未有投票行为,则认证中心进行以下步骤:(1)认证中心随机选择 作为选民所在群组的边缘计算节点MECS的私钥,通过

系统参数params,计算PKMECS=sMECSP2作为边缘计算节点MECS的公钥PKMECS,认证中心最终将(sMECS,PKMECS)通过安全信道发送给对应的边缘计算节点MECS;

(2)认证中心为选民IDi随机选择一个参数 与一个时间戳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),若等式成立,则验证通过,选民便随机选择 作为其秘密值,该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)进行加密 其中,T1,i+1目的在于更新时间戳,防止重放攻击,选民最终将加密后的信息 发送给边缘计算节点MECS;

D.3边缘计算节点MECS在接收到选民IDi发送的加密信息 之后,利用自

己的私钥sMECS对信息进行解密处理 最终获得未加密的消

息messi=(PKi,pki,T1,i+1,IDi),在获取选民伪身份标识符IDi后,边缘计算节点MECS根据用户伪身份查询区块链所对应存储的相关信息,获取ci,并存储该选民的主公钥PKi,群组公钥pki,投票状态ci。

2.根据权利要求1所述的一种电子投票下基于区块链的聚合签名方法,其特征在于,步骤A详细步骤如下:A.1系统参数包括如下内容,一个大素数q,一个阶为q的循环群G,两个生成元P1,P2,6个哈希函数;

* * *

H:G×{0,1}→G;H1:{0,1}×{0,1}×G×G→G;

H2: H3:

* * * *

H4: H5:{0,1}×{0,1}×{0,1}×{0,1}×G→G

其中, 的定义如下: 定义中(a0,q)=1指a0与q互素,

即:集合 中任一元素均与素数q互素;

A.2注册中心随机选择 作为密钥,并通过等式Ppub=sP1,计算得出公钥Ppub;

A.3最终本阶段输出系统参数为params={q,P1,P2,Ppub,H,H1,H2,H3,H4,H5}。

3.根据权利要求2所述的一种电子投票下基于区块链的聚合签名方法,其特征在于,步骤B详细步骤如下:首先选民将真实身份RIDi发送给注册中心,注册中心在接收到真实身份后,随机选择 以及随机选取时间戳ti,通过异或运算以及系统参数params,计算等式得伪身份IDi,其次,注册中心随机选择 作为选民IDi的主私钥ski=ki,该主私钥仅选民个人可知,并通过等式pki=kiP1,计算选民的主公钥pki,并设置参数ci=0为初始状态,其中,ci表示投票状态,0表示未投票,1表示已投票,最终将(IDi,pki,ci)写入区块链中,权限为所有人可查看。

4.根据权利要求1所述的一种电子投票下基于区块链的聚合签名方法,其特征在于,步骤E的详细步骤如下:E.1当选民IDi确定好选票内容mi,上传给所在群组的边缘计算节点MECS之后,边缘计算节点将选票内容mi与选民伪身份标识符IDi,并发送给群组中所有选民IDj, 其中,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在该群组中的群组私钥,随机选择 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),若全部验证通过,则该聚合签名为有效签名,如若有网络中其他边缘计算节点不通过该签名验证,则该签名驳回,不得写入区块链中。

5.根据权利要求4所述的一种电子投票下基于区块链的聚合签名方法,其特征在于,步骤F的详细步骤如下:聚合签名验证通过后,边缘计算节点将投票信息mi与选民伪身份标识符IDi直接写入区块链中,并将选民对应的ci更新为1,选票被写入区块链之后,由智能合约直接读取选票具体信息,并在对应的候选人的总票数加1,在所有选票全部写入区块链后,最终计票结果也将全部公示在中心网络与区块链中。