[发明专利]一种可重随机的标识加解密方法有效
申请号: | 202010672997.0 | 申请日: | 2020-07-14 |
公开(公告)号: | CN111756539B | 公开(公告)日: | 2021-02-05 |
发明(设计)人: | 陈荣茂;王小峰;王毅;彭伟;邢倩倩;陈锦榕 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;H04L29/06;H04L9/32 |
代理公司: | 湖南企企卫知识产权代理有限公司 43257 | 代理人: | 任合明 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 随机 标识 解密 方法 | ||
1.一种可重随机的标识加解密方法,其特征在于包括以下步骤:
第一步:构建加解密系统,加解密系统由五个模块组成,分别为初始化模块、密钥提取模块、加密模块、解密模块和重随机模块,其中初始化模块和密钥提取模块部署在密钥生成中心即负责生成私钥的服务器,加密模块部署在发送者即发送者所在服务器,解密模块部署在接收者即接收者所在服务器,重随机模块部署在公共服务器;
第二步:密钥生成中心运行初始化模块,生成公共参数和主私钥,并将公共参数公开,具体步骤如下:
2.1初始化模块生成对称双线性群四元组其中p为素数;中的元素个数均为p,中的元素为椭圆曲线上点的坐标,表示为两个整数,中的元素为有限域中的元素,表示为k维整数数组,e(g1,g2)为一个可有效计算的非退化的双线性映射,即g1,g2均为中的元素;
2.2初始化模块生成元素个数为p的加法整数群其元素为0到p-1的整数;
2.3构造哈希函数H(m),其输入m为中的元素,输出为中的元素;
2.4从中随机选取8个元素g,h1,h2,h3,h4,h5,h6,h7;
2.5从中随机选取3个元素α,z0,z1,其中z0≠z1;
2.6计算公共参数元素g1=gα,该指数运算代表椭圆曲线上的坐标元素g与从中随机选取的标量元素α的乘法运算,表示对椭圆曲线坐标g进行α-1次加法运算;
2.7将g,g1,h1,h2,h3,h4,h5,h6,h7,z0,z1,H(m)组成公共参数,α组成主私钥;h1,h2,h3,h4,h5,h6,h7中的任意一个记为hi,i∈{1,2,3,4,5,6,7};
第三步,密钥生成中心运行密钥提取模块,采用接收者的标识id为接收者生成私钥,接收者的标识id为接收者已有的身份标识在中对应的元素,私钥生成方法是:
3.1判断id是否等于α,若相等,则标识非法,转第七步;若不相等,转3.2;
3.2令变量i=1;
3.3从中随机选取一个元素,作为接收者的私钥中的第i个元素rid,i;
3.4计算私钥元素更新i=i+1;
3.5若i≤7,转3.3;否则,将{rid.i,hid.i|i∈{1,2,3,4,5,6,7}}组成私钥;
第四步,发送者运行加密模块,采用接收者的标识id生成密文,并将密文发送给公共服务器,具体步骤如下:
4.1将明文M按照二进制转十进制的方法,转化为整数M′;令中间明文m=(0,…,0,M′),其中前k-1维元素均为0,第k维元素为M′,m为中的元素,k为中元素表示为整数数组时的维数;
4.2从中随机选取4个元素s,t,
4.3从中随机选取元素u;
4.4计算第一哈希值θ=H(m),计算第二哈希值σ=H(u);
4.5计算密文第一元素密文第二元素x2=e(gs,g),密文第三元素x3=m·e(g-s,h1),密文第四元素密文第五元素密文第六元素密文第七元素y2=e(gt,g),密文第八元素y3=e(g-t,h1),密文第九元素y4=(e(g,h2)e(gθ,h3))σt,密文第十元素y5=(e(g,h4)e(gθ,h5))σt,密文第十一元素密文第十二元素密文第十三元素密文第十四元素密文第十五元素密文第十六元素密文第十七元素密文第十八元素令元素β1,β2为从中随机选取的元素,元素γ为从中随机选取的元素,β1β2表示β1和β2进行有限域上的乘法运算,表示β1和γ进行有限域上的指数运算;
4.6将x1,x2,x3,x4,x5组成第一五元组X,将y1,y2,y3,y4,y5组成第二五元组Y,将u1,u2,u3,u4组成第一四元组U,将v1,v2,v3,v4组成第二四元组V;
4.7将X,Y,U,V组成密文C,将C发送给公共服务器;
第五步,公共服务器运行重随机模块,对从发送者接收的密文C进行重随机,将得到的新密文C′发送给接收者,具体步骤如下:
5.1重随机模块从发送者接收密文C,将密文C解析成(X,Y,U,V),其中第一五元组X=(x1,x2,x3,x4,x5),第二五元组Y=(y1,y2,y3,y4,y5),第一四元组U=(u1,u2,u3,u4)以及第二四元组V=(v1,v2,v3,v4);
5.2从中随机选取4个元素s′,t′,
5.3计算新密文第一元素新密文第二元素新密文第三元素新密文第四元素新密文第五元素新密文第六元素新密文第七元素新密文第八元素新密文第九元素新密文第十元素新密文第十一元素新密文第十二元素新密文第十三元素新密文第十四元素新密文第十五元素新密文第十六元素新密文第十七元素新密文第十八元素
5.4将x′1,x′2,x′3,x′4,x′5组成第三五元组X′,将y′1,y′2,y′3,y′4,y′5组成第四五元组Y′,将u′1,u′2,u′3,u′4组成第三四元组U′,将v′1,v′2,v′3,v′4组成第四四元组V′;
5.5将X′,Y′,U′,V′组成新密文C′,将C′发送给接收者;
第六步,接收者运行解密模块,对从公共服务器收到的新密文C′进行解密,具体步骤如下:
6.1将密文C′解析成(X′,Y′,U′,V′),其中第三五元组X′=(x′1,x′2,x′3,x′4,x′5),第四五元组Y′=(y′1,y′2,y′3,y′4,y′5),第三四元组U′=(u′1,u′2,u′3,u′4)以及第四四元组V′=(v′1,v′2,v′3,v′4);
6.2还原中间明文和元素若m不能表示为k维数组(0,…,0,M′)或者整数M′大于p,转第七步;否则,将M′按照十进制转二进制的方法,计算得到明文M;
6.3计算第一哈希值θ=H(m)和第二哈希值σ=H(u);
6.4计算临时第一元素临时第二元素临时第三元素
6.5判断第一三元组是否等于第二三元组(u′4,v′3,v′4),若不等于,则密文C′不合法,转第七步;若相等,转6.6;
6.6计算临时第四元素临时第五元素临时第六元素临时第七元素临时第八元素
6.7判断第五五元组是否等于第六五元组(x′4,x′5,y′3,y′4,y′5),若不等于,则密文不合法,转第七步;若相等,则解密结果为M;
第七步,加解密系统结束运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010672997.0/1.html,转载请声明来源钻瓜专利网。