[发明专利]基于椭圆曲线密码体制的无证书门限签密方法有效
申请号: | 202110895410.7 | 申请日: | 2021-08-05 |
公开(公告)号: | CN113347009B | 公开(公告)日: | 2022-01-07 |
发明(设计)人: | 雷浩;牟玉松;欧阳森山;刘倍铭;刘志波 | 申请(专利权)人: | 成都飞机工业(集团)有限责任公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08 |
代理公司: | 成都天嘉专利事务所(普通合伙) 51211 | 代理人: | 彭思雨 |
地址: | 610092 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 椭圆 曲线 密码 体制 证书 门限 方法 | ||
1.一种基于椭圆曲线密码体制的无证书门限签密方法,其特征在于,具体包括以下步骤:
S1、公共参数生成:密码生成中心KGC任意选择主密钥S、循环群G以及对应的生成元g,密码生成中心KGC选取四个哈希函数,生成公共参数params;
S2、接收者部分私钥生成:接收者初始化时向密码生成中心KGC输入公共参数params、主密钥S和发送者的身份信息ID0,密码生成中心KGC对应生成接收者部分私钥DID;
S3、接收者完整私钥生成:密码生成中心KGC随机选择秘密值xID,通过接收者部分私钥DID以及秘密值xID,进一步生成接收者完整私钥SKID;
S4、接收者公钥生成:密码生成中心KGC通过已输入的公共参数params以及生成的接收者完整私钥SKID,进一步生成接收者公钥PKID;
S5、发送者密钥生成:向密码生成中心KGC输入所有接收者的身份信息、公共参数params以及主密钥S,密码生成中心KGC通过计算生成发送者部分私钥DSG并将该部分私钥返回至发送者,然后密码生成中心KGC再任意选取私密值xSG,进而合成完整的发送者私钥SKSG,并最终初始化生成对应的发送者公钥PKSG;
S6、密钥共享:密码生成中心KGC随机选取一个非循环多项式函数F(x),构造函数F(x)的多项式数列,并任意选择素数p,密码生成中心KGC通过素数p以及发送者私钥SKSG生成各个接收者的子密钥,并向各个接收者发送子密钥;
S7、密钥还原合成:各个接收者向密码生成中心KGC输入其对应的子密钥,密码生成中心KGC通过提取系数行列式,利用克莱默法则解出多项式函数F(x)的系数,所有接收者最终通过密码生成中心KGC还原出完整的发送者私钥SKSG;
S8、签密:发送者从集合中随机选择一个数k,输入待签密的信息m和接收者公钥PKID,生成签密并发送给所有接收者;
S9、解签密:接收者通过密码生成中心KGC验证签密的有效性,若计算结果为h=H2(r,PKID,m0),则表示此次签密信息有效且未被篡改,否则无效;
其中,h为生成的签名信息;H2表示构造的密码单向哈希函数;r为加解密参数;PKID为接收者公钥;m0为解密后的信息;
所述步骤S3具体如下:
S3.1、密码生成中心KGC随机选择作为接收者私钥的秘密值;
S3.2、密码生成中心KGC通过下列公式计算生成接收者完整私钥SKID,并将该私钥返还给接收者
SKID=H1(DID,XID);
其中,H1表示密码生成中心KGC构造的密码单向哈希函数;DID表示接收者部分私钥;xID表示接收者私钥的私密值;
所述步骤S4具体如下:
密码生成中心KGC通过已输入的公共参数params以及生成的接收者完整私钥SKID,通过下列计算公式生成接收者公钥PKID,并将该公钥发送至接收者与发送者,计算公式如下
其中,表示g的SKID次方;
所述步骤S5具体如下:
S5.1、假设组内有n个接收者参与密钥的管理,向密码生成中心KGC输入所有接收者的身份信息ID1,ID2,ID3,...,IDn、公共参数params以及主密钥S,密码生成中心KGC首先整合所有接收者的身份信息,得到然后通过下列公式计算生成发送者的部分私钥DSG,并将该部分私钥返回至发送者
QSG=H0(IDSG);
其中,QSG表示中间量;H0表示密码生成中心KGC构造的密码单向哈希函数;IDSG表示所有接收者的身份信息;表示QSG的S次方;
S5.2、密码生成中心KGC任意选取作为发送者私钥的秘密值,通过下列公式计算生成完整的发送者私钥SKSG:
SKSG=H1(DSG,xSG);
其中,H1表示密码生成中心KGC构造的密码单向哈希函数;DSG表示发送者的部分私钥;xSG表示发送者私钥的私密值;
S5.3、密码生成中心KGC通过下列公式初始化生成对应的发送者公钥PKSG
其中,表示g的SKSG次方;
所述步骤S6具体如下:
S6.1、假设组内有n个接收者参与密钥的管理,至少需要u个接收者合作合成完整的密钥,密码生成中心KGC随机选取一个非循环多项式函数
F(x)=C0+C1x+C2x2+...+Cuxu;
其中,C0到Cu表示密码生成中心KGC随机选取的u+1个整数;
S6.2、密码生成中心KGC定义非循环多项式函数F(x)的多项式数列
{an}:a0=0,an=F(an-1);
其中,数列{an}表示所有子密钥的接收者的个人参数的集合,an则表示对应子密钥的接收者的个人参数;
S6.3、密码生成中心KGC任意选择素数p,p>SKSG,并随机选取通过下列公式计算子密钥的部分参数f
F(an+2)=SKSG+f+αp;
其中,SKSG表示发送者私钥;α表示子密钥的隐藏参数;
S6.4、密码生成中心KGC向各个接收者发送对应的子密钥
ski=(ai,ai+1,f,p)(i=1,2,...,n);
其中,ski为第i个接收者收到的子密钥,该接收者收到的子密钥的接收者个人参数为ai与ai+1;
所述步骤S7具体如下:
S7.1、各个接收者向密码生成中心KGC输入其对应的子密钥,密码生成中心KGC将接收者的子密钥中的接收者个人参数分别代入函数F(x)的多项式数列,得到如下方程组,密码生成中心KGC根据克莱默法则计算出多项式的系数,并最终求得非循环多项式函数F(x)的表达式
其中,C0到Cu表示密码生成中心KGC随机选取的u+1个整数;
S7.2、所有接收者通过密码生成中心KGC计算还原出完整的发送者私钥SKSG,计算公式如下
SKSG=(F(an+2)-f)mod p;
所述步骤S8具体如下:
S8.1、发送者随机选择计算
其中,k表示发送者签密时随机选取的整数,r为加解密参数;表示接收者公钥PKID的k次方;
S8.2、对签密信息m进行签名,计算公式如下
h=H2(r,PKID,m);
其中,h为生成的签名信息;H2密码生成中心KGC表示构造的密码单向哈希函数;r为加解密参数;PKID为接收者公钥;
S8.3、对签密信息m进行加密,计算公式如下:
其中,mc表示加密信息的密文;H3表示密码生成中心KGC构造的密码单向哈希函数;
S8.4、发送者通过下列公式计算密文解签密有效性参数E
S8.5、发送者向接收者输出签密σ=(h,mc,E);
所述步骤S9具体如下:
S9.1、接收者收到签密信息σ=(h,mc,E),通过密钥PKSG和密钥SKID重新计算加解密参数r,计算公式如下
其中,表示PKID的k次方;表示PKID的E×SKSG次方;表示g的E×SKID次方;表示PKSG的E×SKID次方;
S9.2、接收者对加密信息的密文mc进行解密,通过下列公式计算得到解密后的信息m0
其中,mc表示加密信息的密文;H3表示密码生成中心KGC构造的密码单向哈希函数;
S9.3、验证签密有效性,若h=H2(r,PKID,m0),则表示此次签密信息有效且未被篡改,否则无效。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都飞机工业(集团)有限责任公司,未经成都飞机工业(集团)有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110895410.7/1.html,转载请声明来源钻瓜专利网。