[发明专利]可更新密钥的无证书多消息多接收者签密方法有效
申请号: | 201810420018.5 | 申请日: | 2018-05-04 |
公开(公告)号: | CN108696362B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 庞辽军;许婷婷;魏萌萌;李慧贤 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30;H04L9/08 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 王鲜凯 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 更新 密钥 证书 消息 接收者 方法 | ||
1.一种可更新密钥的无证书多消息多接收者签密方法,其特征在于包括以下步骤:
首先,密钥生成中心KGC根据系统安全参数η选取大素数q和一个有限域Fq,并选取一条在有限域Fq上的安全椭圆曲线E,选取P为密钥生成中心KGC选取的椭圆曲线E的一个生成元;随机选系统主密钥s∈Zq*并秘密保存,其中,∈表示限定域符号,Zq*表示基于大素数q构成的非零乘法群;构造4个单向哈希函数,分别记为:
H0:{0,1}*×Gq×Gq→Zq*;H1:Gq×Zq*→{0,1}*;H2:Zq*→{0,1}*;
H3:{0,1}*×Zq*×Zq*×…×Zq*×{0,1}*×Gq×Zq*→Zq*;
其中,H0,H1,H2和H3表示密钥生成中心KGC构造的4个单向哈希函数,A→B表示定义域A到值域B的映射,{0,1}*表示任意长的“0”或“1”构成的串,Fq表示密钥生成中心KGC选取的一个有限域,×表示笛卡尔乘积,Zq*表示基于大素数q构成的非零乘法群;
密钥生成中心KGC从现有的对称加密算法中任意选取一种对称加密算法Ek(.),并选取与该对称加密算法对应的对称解密算法Dk(.);
密钥生成中心KGC构造并公开系统参数:params=Fq,E,P,Ppub,H0,H1,H2,H3,Ek(.),Dk(.),同时密钥生成中心KGC秘密保存系统主密钥s;
(1)用户注册过程:
(1a)用户U随机选取一个整数dU作为自己的秘密值,按照下式,用户U计算自己的验证份额DU,并将自己的身份信息IDU和验证份额DU通过公开信道发送给密钥生成中心KGC:
DU=dUP (1-1)
其中,DU表示用户U的验证份额,dU表示用户U的秘密值,P表示密钥生成中心KGC选取的椭圆曲线E的一个生成元,IDU表示用户U的身份信息,用户U包括接收者Ri和发送者S,i=1,2,…,n,n表示发送者S在已注册的用户U中随机选取的接收者Ri的数目;
(1b)密钥生成中心KGC收到用户U的验证份额DU和身份信息IDU后,随机选取一个整数wU,按照下式计算用户U的部分私钥验证参数WU和部分私钥vU,并将用户U的部分私钥验证参数WU和部分私钥vU通过安全信道发送给用户U:
WU=wUP (1-2)
vU=s+wUH0(IDU,DU,WU) (1-3)
其中,wU表示密钥生成中心KGC为用户U随机选取的整数,WU表示用户U的部分私钥验证参数,vU表示用户U的部分私钥,s表示密钥生成中心KGC选取的系统主密钥,H0表示密钥生成中心KGC选取的单向哈希函数;
(1c)用户U判断收到的部分私钥vU和部分私钥验证参数WU是否满足如下等式;若是,则执行步骤(4),否则,用户U向密钥生成中心KGC报错,并退出用户注册过程:
vUP=H0(IDU,DU,WU)P+Ppub (1-4)
其中,Ppub表示密钥生成中心KGC生成的系统公钥;
(1d)按照下式,用户U计算自己的部分公钥QU:
QU=H0(IDU,DU,WU)WU (1-5)
其中,QU表示用户U的部分公钥;
(1e)按照下式,用户U生成自己的公钥PKU并将其发送给密钥生成中心KGC:
PKU=(DU,QU) (1-6)
其中,PKU表示用户U的公钥,包含用户U的验证份额DU和用户U的部分公钥QU两部分;
(1f)密钥生成中心KGC收到用户U发送的公钥PKU后,对外发布用户U的公钥PKU;
(1g)密钥生成中心KGC对外发布用户U的公钥PKU后,按照下式,用户U计算自己的伪秘密值xU和伪部分私钥yU:
xU=dUH0(IDU,DU,QU) (1-7)
yU=vUH0(IDU,DU,QU) (1-8)
其中,xU表示用户U的伪秘密值,yU表示用户U的伪部分私钥;
(1h)按照下式,用户U生成自己的私钥SKU,并秘密保存,然后退出用户注册过程:
SKU=(xU,yU) (1-9)
其中,SKU表示用户U的私钥,包含用户U的伪秘密值xU和用户U的伪部分私钥yU两部分;
(2)用户密钥更新过程:
(2a)当用户U需要进行更新密钥时执行步骤(2b),若不需要更新密钥则直接执行步骤(3);
(2b)用户U随机选取一个整数dU′,然后计算用户U新的验证份额DU′和密钥更新验证参数βU,并将用户U新的验证份额DU′和密钥更新验证参数βU通过公开信道发送给密钥生成中心KGC:
DU′=dU′P (2-1)
βU=dU′-1(xU+yU)H0(IDU,DU′,QU) (2-2)
其中,dU′表示用户U新的秘密值,DU′表示用户U新的验证份额,βU表示用户U的密钥更新验证参数,-1表示求逆元操作;
(2c)密钥生成中心KGC判断收到的用户U新的验证份额DU′和密钥更新验证参数βU是否满足等式βUDU′=(DU+QU+Ppub)H0(IDU,DU′,QU);若满足,则密钥生成中心KGC将用户U的公钥设置为PKU=(DU,QU)=(DU′,QU)并进行发布,否则,用户密钥更新失败并退出用户密钥更新过程;
(2d)密钥生成中心KGC发布用户U的公钥PKU=(DU,QU)=(DU′,QU)后,按照下式,用户U计算自己新的伪秘密值xU′和新的伪部分私钥yU′,并设置自己的私钥SKU=(xU,yU)=(xU′,yU′):
xU′=dU′H0(IDU,DU′,QU) (2-3)
yU′=yUH0(IDU,DU,QU)-1H0(IDU,DU′,QU) (2-4)
其中,xU′表示用户U新的伪秘密值,yU′表示用户U新的伪部分私钥;
(3)发送者签密:
(3a)发送者S判断自己是否已经执行了步骤(1)的用户注册过程;若是,则执行步骤(3b),否则发送者S执行步骤(1)的用户注册过程,并获取自己的私钥SKS=(xS,yS),然后执行步骤(3b);
其中SKS表示发送者的私钥,包含发送者S的伪秘密值xS和发送者S的伪部分私钥yS两部分,xS表示发送者S的伪秘密值,yS表示发送者S的伪部分私钥;
(3b)发送者S在已注册的用户U中随机选取n个用户作为接收者R1,R2,…,Rn并获取n个用户的公钥PK1,PK2,…,PKn,然后执行步骤(3c);
其中,PKi表示第i个接收者Ri的公钥,包含第i个接收者Ri的验证份额Di和第i个接收者Ri的部分公钥Qi两部分,Di表示第i个接收者Ri的验证份额,Qi表示第i个接收者Ri的部分公钥;
(3c)发送者S随机选取一个整数t,计算签密验证份额T:
T=tP (3-1)
其中,t表示发送者S随机选取的整数,T表示发送者S的签密验证份额;
(3d)按照下式,发送者S计算每一个接收者Ri的公钥隐藏信息Ki:
Ki=tH0(IDi,Di,Qi)(Di+Qi+Ppub) (3-2)
其中,Ki表示第i个接收者Ri的公钥隐藏信息,IDi表示第i个接收者Ri的身份信息;
(3e)按照下式,发送者S计算每一个接收者Ri的伪身份值αi:
αi=H0(IDi,Ki,T) (3-3)
其中,αi表示第i个接收者Ri的伪身份值;
(3f)发送者S随机选取一个整数θ作为伪密钥,按照下式,发送者S构造接收者身份信息混合值f(u):
其中,θ表示发送者S随机选取的伪密钥,mod表示求模操作,f(u)表示接收者身份信息混合值,u表示自变量,∏表示连乘操作,q表示密钥生成中心KGC选取的大素数,c0,c1,…,cn-1表示接收者身份信息混合值f(u)的系数;
(3g)按照下式,发送者S计算明文消息混合值M:
其中,M表示明文消息混合值,H1和H2表示密钥生成中心KGC选取的单向哈希函数,||表示链接操作,表示逐位异或操作,mi表示要发送给第i个接收者Ri的明文消息;
(3h)按照下式,发送者S计算加密消息密文V:
其中,V表示加密消息密文,Ek(.)表示密钥生成中心KGC选取的对称加密算法,k为对称密钥,IDS表示发送者S的身份信息;
(3i)按照下式,发送者S计算签名参数λ:
λ=(xS+yS)t-1 (3-7)
其中,λ表示发送者S的签名参数,xS表示发送者S的伪秘密值,yS表示发送者S的伪部分私钥;
(3j)按照下式,发送者S计算密文有效性参数Λ:
Λ=H3(M,θ,c1,c2,...,cn,V,T,λ) (3-8)
其中,Λ表示密文有效性参数,H3表示密钥生成中心KGC选取的单向哈希函数;
(3k)发送者S将接收者身份信息混合值f(u)的系数c0,c1,…,cn-1、发送者S的签密验证份额T、加密消息密文V、发送者S的签名参数λ和密文有效性参数Λ构成签密密文C=c0,c1,…,cn-1,T,V,λ,Λ,并对签密密文C进行广播,然后结束发送者签密过程;
(4)接收者解签密:
(4a)按照下式,接收者Ri计算公钥隐藏信息Ki:
Ki=(xi+yi)T (4-1)
xi为第i个接收者Ri的伪秘密值,i=1,2,…,n;yi为第i个接收者Ri的伪部分私钥,i=1,2,…,n;
(4b)按照下式,接收者Ri计算自己的伪身份值αi:
αi=H0(IDi,Ki,T) (4-2)
(4c)按照下式,接收者Ri计算发送者S随机选取的伪密钥θ:
θ=f(αi) (4-3)
(4d)按照下式,接收者Ri计算明文消息混合值和发送者S的身份信息M||IDS:
M||IDS=DH2(θ)(V) (4-4)
(4e)按照下式,接收者Ri计算权限参数Λ′:
Λ′=H3(M,θ,c1,c2,...,cn,V,T,λ) (4-5)
其中,Λ′表示权限参数;
(4f)接收者Ri判断权限参数Λ′与密文有效性参数Λ是否相等;若是,则执行步骤(4g),否则,解密失败,并退出接收者解签密过程;
(4g)接收者Ri计算H1(αi,T)和H2(αi),根据H1(αi,T)找出明文消息混合值M中对应的计算
(4h)接收者Ri根据(4d)中解密得到的发送者S的身份信息IDS找到对应的发送者S的公钥PKS=(DS,QS),并判断下述等式是否成立;若是,则接收者Ri接收明文消息mi并退出接收者解签密过程,否则,接收者Ri拒绝明文消息mi并退出接收者解签密过程:
λT=H0(IDS,DS,QS)(DS+QS+Ppub) (4-6)
PKS表示发送者S的公钥,包含发送者S的验证份额DS和发送者S的部分公钥QS两部分,DS表示发送者S的验证份额,QS表示发送者S的部分公钥。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810420018.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:智能卡的配置方法、生成方法及装置
- 下一篇:一种计费方法及装置