[发明专利]可更新密钥的无证书多消息多接收者签密方法有效
申请号: | 201810420018.5 | 申请日: | 2018-05-04 |
公开(公告)号: | CN108696362B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 庞辽军;许婷婷;魏萌萌;李慧贤 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30;H04L9/08 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 王鲜凯 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种可更新密钥的无证书多消息多接收者签密方法,用于解决现有无证书多消息多接收者签密方法复杂的技术问题。技术方案是先由用户注册生成自己的公钥和私钥,当用户需要进行密钥更新时,则重新选择一个随机数,然后生成新的验证份额和密钥更新验证参数,然后通过公开信道将其发送给密钥生成中心KGC,密钥生成中心KGC收到后验证两者是否满足验证等式,若满足则将新的验证份额替换原来的验证份额,否则更新失败。当KGC更新了公钥后,用户计算并更新自己的私钥。在签密过程,对发送者的身份信息和明文一起加密,用发送者的私钥生成一个签名参数;当解密得到发送者的身份信息以后,再获取对应的公钥验证签名参数。方法简单实用。 | ||
搜索关键词: | 更新 密钥 证书 消息 接收者 方法 | ||
【主权项】:
1.一种可更新密钥的无证书多消息多接收者签密方法,其特征在于包括以下步骤:(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(α1,T)||H2(α1)⊕m1,...,H1(αi,T)||H2(αi)⊕mi,...,H1(αn,T)||H2(αn)⊕mn) (3‑5)其中,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=,并对签密密文C进行广播,然后结束发送者签密过程;(4)接收者解签密:(4a)按照下式,接收者Ri计算公钥隐藏信息Ki:Ki=(xi+yi)T (4‑1)(4b)按照下式,接收者Ri计算自己的伪身份值αi:αi=H0(IDi,Ki,T) (4‑2)(4c)按照下式,接收者Ri计算发送者S随机选取的伪密钥θ:θ=f(αi) (4‑3)(4d)按照下式,接收者Ri计算明文消息混合值和发送者S的身份信息M||IDS:
(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中对应的H1(αi,T)||(H2(αi)⊕mi),计算mi=H2(αi)⊕mi⊕H2(αi);(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的部分公钥。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810420018.5/,转载请声明来源钻瓜专利网。
- 上一篇:智能卡的配置方法、生成方法及装置
- 下一篇:一种计费方法及装置