[发明专利]基于椭圆曲线的无密钥托管问题的多接收者签密方法有效
申请号: | 201610504588.3 | 申请日: | 2016-06-30 |
公开(公告)号: | CN106027239B | 公开(公告)日: | 2019-03-26 |
发明(设计)人: | 庞辽军;赵慧洋;闫旭霞;李慧贤 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/30 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 王鲜凯 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于椭圆曲线的无密钥托管问题的多接收者签密方法,用于解决现有多接收者签密方法存在密钥托管的技术问题。技术方案是首先由用户随机选取一个秘密值作为自己的私钥,而后根据自己的私钥计算出一个验证份额,并将这个验证份额与自己的身份信息一起发送给密钥生成中心KGC。密钥生成中心KGC根据用户发过来的验证份额及身份信息,生成用户的公钥、公钥验证参数和公钥隐藏参数,并发送给用户。用户收到密钥生成中心KGC发送过来的参数后,对公钥进行验证。由于用户的私钥是自己随机选取的秘密值,密钥生成中心KGC只知道用户的公钥和对应的身份信息,故无法获取用户的私钥,无密钥托管。同时,提高了签密效率,减少了带宽。 | ||
搜索关键词: | 基于 椭圆 曲线 密钥 托管 问题 接收者 方法 | ||
【主权项】:
1.一种基于椭圆曲线的无密钥托管问题的多接收者签密方法,其特征在于包括以下步骤:(1)生成系统参数:(1a)密钥生成中心KGC选取素数q,确定循环群Gq;(1b)密钥生成中心KGC选取一条在循环群Gq上的椭圆曲线E,P为椭圆曲线E上的点,其阶为p,p为素数;(1c)密钥生成中心KGC选取密码系统主密钥s,并将密码系统主密钥s秘密保存;(1d)密钥生成中心KGC构造6个密码单向哈希函数,分别记为:H0:{0,1}*→Gq;H1:Gq×Gq×{0,1}*→Zq*;H2:Gq×Gq→Zq*;H3:Zq*→{0,1}l;H4:{0,1}l→{0,1}l;H5:{0,1}l×{0,1}*×{0,1}l×Zq*×…×Zq*→Zq*;其中,H0,H1,H2,H3,H4,H5表示密钥生成中心KGC构造的6个密码单向哈希函数,A→B表示定义域A到值域B的映射,{0,1}*表示任意长的0或1构成的串,Gq为密钥生成中心KGC选取的循环群,×表示笛卡尔乘积,Zq*表示基于素数q构成的非零乘法群,l表示明文消息m的长度,{0,1}l表示长度为l的0或1构成的串;(1e)密钥生成中心KGC选取对称加密算法Ek和对应的对称解密算法Dk,其中k表示对称密钥;(1f)密钥生成中心KGC发布密钥生成中心KGC选取循环群Gq、椭圆曲线E、椭圆曲线E上的点P、6个密码单向哈希函数H0,H1,H2,H3,H4,H5、对称加密算法Ek、对称解密算法Dk,秘密保存密码系统主密钥s;(2)用户注册:(2a)用户注册步骤中的用户包括接收者和发送者,均需通过执行下列步骤获取自己的公钥和私钥;(2b)用户随机选取一个整数作为自己的私钥d;(2c)按照下式,用户计算验证份额V:V=dP其中,V表示用户的验证份额,d表示用户的私钥,P表示椭圆曲线E上的点;(2d)用户将自己的验证份额V和自己的身份信息ID发送给密钥生成中心KGC;(2e)密钥生成中心KGC收到用户的验证份额V和身份信息ID后,随机选取一个整数t,按照下式计算用户的公钥验证参数T:T=tP其中,T表示用户的公钥验证参数,t表示密钥生成中心KGC随机选取的整数,P表示椭圆曲线E上的点;(2f)按照下式,密钥生成中心KGC计算用户的公钥PK:PK=sV‑H0(ID)其中,PK表示用户的公钥,s表示密码系统主密钥,V表示用户的验证份额,H0表示密码单向哈希函数,ID表示用户的身份信息;(2g)按照下式,密钥生成中心KGC计算用户的公钥隐藏参数x:x=s+tH1(T,PK,ID)其中,x表示用户的公钥隐藏参数,s表示密码系统主密钥,t表示密钥生成中心KGC随机选取的整数,H1表示密码单向哈希函数,T表示用户的公钥验证参数,PK表示用户的公钥,ID表示用户的身份信息;(2h)密钥生成中心KGC将用户的公钥验证参数T、用户的公钥隐藏参数x和用户的公钥PK发送给用户;(2i)用户判断收到的公钥PK是否满足如下等式,若是,则执行步骤(2j),否则,则执行步骤(2k):xV=PK+H0(ID)+dTH1(T,PK,ID)其中,x表示用户的公钥隐藏参数,V表示用户的验证份额,PK表示用户的公钥,H0、H1表示密码单向哈希函数,ID表示用户的身份信息,d表示用户的私钥,T表示用户的公钥验证参数;(2j)密钥生成中心KGC对外公布用户的公钥PK,用户秘密保存自己的私钥d,之后退出用户注册过程;(2k)用户向密钥生成中心KGC报错,并退出用户注册过程;(3)发送者签密:(3a)发送者S判断自己是否已经执行步骤2的用户注册过程,并获取自己的公钥PKS和私钥dS,若是,则执行步骤(3b),否则,发送者S执行步骤(2)获取自己的公钥PKS和私钥dS后,执行步骤(3b);(3b)发送者S在已注册的用户中随机选取n个接收者R1,R2,...,Rn,其中,n表示大于0的整数;(3c)按照下式,发送者S计算与每一个接收者Ri之间的关联信息KS,i:KS,i=dS(PKi+H0(IDi))其中,KS,i表示发送者S与第i个接收者Ri之间的关联信息,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,dS表示发送者S的私钥,PKi表示第i个接收者Ri的公钥,H0表示密码单向哈希函数,IDi表示第i个接收者Ri的身份信息;(3d)按照下式,发送者S计算每一个接收者Ri的伪身份值ωi:ωi=H2(KS,i,H0(IDi))其中,ωi表示第i个接收者Ri的伪身份值,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,H2、H0表示两个密码单向哈希函数,KS,i表示发送者S与第i个接收者Ri之间的关联信息,IDi表示第i个接收者Ri的身份信息;(3e)按照下式,发送者S构造接收者身份信息混合值f(x):
其中,f(x)表示接收者身份信息混合值,其中a0,a1,…,an‑1表示接收者身份信息混合值f(x)的系数;x表示自变量,∏表示连乘操作,n表示发送者S在已注册的用户中随机选取的接收者的数目,i表示计数游标,ωi表示第i个接收者Ri的伪身份值,u表示发送者S随机选取的整数,mod表示求模操作,q为密钥生成中心KGC选取的素数;(3f)按照下式,发送者S计算密钥验证值J:
其中,J表示密钥验证值,δ表示发送者S随机选取的长度为l的0或1构成的串,l表示明文消息m的长度,
表示逐位异或操作,H3表示密码单向哈希函数,u表示发送者S随机选取的整数;(3g)按照下式,发送者S计算加密消息密文Z:
其中,Z表示加密消息密文,Ek表示对称加密算法,k表示对称密钥,k=H4(δ),H4表示密码单向哈希函数,δ表示发送者S随机选取的长度为l的0或1构成的串,l表示明文消息m的长度,m表示明文消息;(3h)按照下式,发送者S计算密文有效性参数h:h=H5(m,Z,J,a0,a1,...,an‑1)其中,h表示密文有效性参数,H5表示密码单向哈希函数,m表示明文消息,Z表示加密消息密文,J表示密钥验证值,a0,a1,…,an‑1表示接收者身份信息混合值f(x)的系数;(3i)发送者S将加密消息密文Z、密钥验证值J、接收者身份信息混合值f(x)的系数a0,a1,…,an‑1、密文有效性参数h和发送者S的身份信息IDS构成签密密文C,并对签密密文C进行广播;(4)接收者解密:(4a)接收者Ri完成步骤2的用户注册过程计算出自己的公钥PKi和私钥di后,进行如下操作进行解密,i=1,2,…,n;(4b)按照下式,接收者Ri计算与发送者S之间的关联信息KS,i:KS,i=di(PKS+H0(IDS))其中,KS,i表示发送者S与第i个接收者Ri之间的关联信息,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,di表示第i个接收者Ri的私钥,PKS表示发送者S的公钥,H0表示密码单向哈希函数,IDS表示发送者S的身份信息;(4c)按照下式,接收者Ri计算伪身份值ωi:ωi=H2(KS,i,H0(IDi))其中,ωi表示第i个接收者Ri的伪身份值,i=1,2,…,n,n表示发送者S在已注册的用户中随机选取的接收者的数目,H2、H0表示两个密码单向哈希函数,KS,i表示发送者S与第i个接收者Ri之间的关联信息,IDi表示第i个接收者Ri的身份信息;(4d)按照下式,接收者Ri计算发送者S随机选取的整数u:u=f(ωi)其中,u表示发送者S随机选取的整数,f(x)表示接收者身份信息混合值,x表示自变量,ωi表示第i个接收者Ri的伪身份值;(4e)按照下式,接收者Ri计算发送者S随机选取的长度为l的0或1构成的串δ:
其中,δ表示发送者S随机选取的长度为l的0或1构成的串,l表示明文消息m的长度,J表示密钥验证值,
表示逐位异或操作,H3表示密码单向哈希函数,u表示发送者S随机选取的整数;(4f)按照下式,接收者Ri计算明文消息m:
其中,m表示明文消息,Dk表示对称解密算法,k表示对称密钥,k=H4(δ),H4表示密码单向哈希函数,δ表示发送者S随机选取的长度为l的0或1构成的串,l表示明文消息m的长度,Z表示加密消息密文;(4g)按照下式,接收者Ri计算权限参数h′:h′=H5(m,Z,J,a0,a1,...,an‑1)其中,h′表示权限参数,H5表示密码单向哈希函数,m表示明文消息,Z表示加密消息密文,J表示密钥验证值,a0,a1,…,an‑1表示接收者身份信息混合值f(x)的系数;(5)接收者判断权限参数h′与密文有效性参数h是否相等;若是,则执行步骤(6),否则,执行步骤(7);(6)接收者接受明文消息,并退出接收者解密过程;(7)接收者拒绝明文消息,并退出接收者解密过程。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610504588.3/,转载请声明来源钻瓜专利网。
- 上一篇:一种密钥保护方法
- 下一篇:一种弹性非对称群组密钥协商的方法