[发明专利]基于身份的不可拆分数字签名方法有效

专利信息
申请号: 201410403433.1 申请日: 2014-08-15
公开(公告)号: CN104184588B 公开(公告)日: 2017-09-08
发明(设计)人: 史扬;刘琴;穆斌;赵钦佩;韩景轩 申请(专利权)人: 同济大学
主分类号: H04L9/32 分类号: H04L9/32
代理公司: 上海天协和诚知识产权代理事务所31216 代理人: 叶凤
地址: 200092 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要: 基于身份的不可拆分数字签名方法,属于信息安全领域。包括(1)KGEN这是公用密钥生成算法生成的主密钥和系统参数。(2)EXTRACT输入是一个身份标识ID和主密钥s;在多项式时间输出私钥skID。(3)UndSigFunGen是一个概率多项式时间算法,需要一个客户的REQ_C,客户身份的要求IDC,和客户的公钥以及私钥。(4)IDUndSig是一个多项式时间算法,这需要合同(或相关的哈希值)作为输入。(5)DUndVrfy是一个多项式时间算法,这需要合同和不可拆卸的签名作为输入。(6)IDSig是一个概率多项式时间算法。(7)IDVer是一个多项式时间的算法,需要输入签名者的身份ID,消息Msg和数字签名,并输出该“接受”或“拒绝”。本发明在白盒攻击环境下,可实现基于身份的不可拆分数字签名。
搜索关键词: 基于 身份 不可 拆分 数字签名 方法
【主权项】:
一种基于身份的不可拆卸的数字签名方法,其特征在于,它包括七个步骤如下:步骤1.在一台权威认证的可信机构服务器C_Server上,在规定好的安全级别下,输入需要的安全指数k,运行算法1.,算法定义如下算法1.密钥生成算法:KGen输入1k当且为自然数时一个安全参数,算法输出系统参数以及主密钥s;k是安全指数,在系统参数Ω中,G1是由生成元P产生的循环群,它的阶数是质数q,G2是相同的阶为q的循环乘法群;假设离散对数问题在G1和G2之间是艰难的;映射是满足以下三个条件的双线性映射:条件1,双线性:同时满足(1)和(2)或单独满足(3)e^(P1+P2,Q)=e^(P1,Q)e^(P2,Q)---(1)]]>e^(P,Q1+Q2)=e^(P,Q1)e^(P,Q2)---(2)]]>e^(aP,bQ)=e^(P,Q)ab---(3)]]>上述为以质数q为阶且无零元的整数加法群;条件2,非退化性:存在P∈G1和Q∈G1受制于(4)e^(P,Q)≠1---(4)]]>条件3,可计算性:存在一个有效的算法来计算对所有系统参数可以按如下步骤生成:让P成为G1的生成元,取一个随机数然后计算Ppub=sP以及此外,同样在通用设定中给出两个安全的哈希函数:H2:{0,1}*→G1和H2的作用是将任意长度二进制数值映射到群G1;而H3的作用是将任意长度二进制数值与G2群中某元素的布尔乘积映射到整数加法群上;步骤2.C_server上算法1执行结束后会得到系统参数Ω和一个随机数Ω是所有人都可以轻易得到的,而s是要绝对保密的,随后C_server为每一个参与者即客户代理运行算法2,其具体定义如下算法2.基于身份私钥生成算法:Extract一个身份ID作为输入,算法输出私钥DID=sQID,其中QID=H2(ID),H2是上述哈希函数H2:{0,1}*→G1;私钥DID对于身份识别码ID,起到了关联公共密钥的作用;步骤3.C_server将系统参数Ω公开,然后通过特殊安全通道把私钥DID派送给客户端,并同时把拥有相应身份识别码ID的代理迁移给请求的客户端;步骤4.客户端安装移动代理,然后得到系统参数Ω,再然后通过特殊安全通道得到私钥DID,将DID和REQ_C作为输入运行算法3,算法定义如下:算法3.不可拆分签名函数生成算法:UndSigFunGen输入:REQ_C和DID后:表示从群中随机取出元素r,从系统参数Ω中取出g,随后计算U←gr和h←H3(REQ_C,U),H3为上述哈希函数,从Ω中取出Ppub,然后计算表示从群中随机取出元素t,计算A1←gt和A2←tPpub,最后输出函数fSigned(x)如下:fSigned(x)=<<U,V,A1>,V+xA2>,在客户端运行算法3后,移动代理就会一直携带不可拆分函数fSigned(·),随后运行算法6.其定义如下:算法6.签名算法:IDSig输入m=〈m1,m2〉和DID,m为需要签名的消息,其中m1为不敏感数据,m2为敏感数据,m1是没有进行签名的,而m2进行了签名运算,随机取t,计算A1←gt和A2←tPpub;y1←m1;y2←H3(m2,A1);y←〈y1,y2〉;然后输出签名Sig(y)=<<y1,A1〉,DID+y2A2〉,并将签名Sig(y)保存在代理当中,至此客户发送出代理,代理来代替客户在商店服务器中进行自己的行为,代理的迁移;步骤5.第一个接收到代理的商店在进行交易之前,先运行算法7,验证代理的合法性,即验证有没有被恶意篡改过,算法运行前需要输入代理携带来的签名Σ=〈Σ1,Σ2〉,即对应算法6.中的Sig(y),如此可知Σ1=〈y1,A1〉,而Σ2=DID+y2A2但是由于运算的特性,仅知道Σ2是无法计算DID的,这样保证了安全性,算法定义如下:算法7.验证算法:IDVer输入Σ=<Σ1,Σ2>,m=<m1,m2〉解析Σ1=(y1,A1)判断和是否相等是则输出1,否则输出0,在运行完算法7后,如果输出1则代理继续执行,否则终止交易,如果代理继续执行且交易需要代理迁移到另一台商店服务器,那么在新的商店服务器上重复运行步骤5.如果本商店服务器是最终交易服务器,即代理不需要再进行商店间迁移,那么执行步骤6.步骤6.在此,商店已经做出最终决策,如果完成交易,那么生成CONTRACT,然后运行算法4,其输入为CONTRACT和代理自身携带的,在步骤4中生成的fSigned(x),其中CONTRACT定义为CONTRACT=REQ_C||ID||BID_S||TBID_S,四个信息为(1)客户限制,(2)商店ID,(3)交易信息,(4)交易时间,算法4如下:算法4.不可拆分签名算法:IDUndSig输入CONTRACT,fSigned(x)从fSigned(x)中提取A1计算x←H3(CONTRACT,A1),代入fSigned(x),z←fSigned(x)=<<U,V,A1>,V+xA2>输出z;算法4.完成之后,代理将保存CONTRACT和z随后迁移回到客户端,进入步骤7;步骤7.客户端接收到交易完成后的代理后,运行算法5验证代理的合法性,防止被篡改,算法输入为代理携带的CONTRACT和z=<<U,V,A1>,B>算法5.不可拆分签名验证算法:IDUndVrfy输入CONTRACT,z=<<U,V,A1>,B>(1)从CONTRACT字符串中,提取ID,REQ_C和BID_S;如果BID_S不满足REQ_C,输出0,并终止该算法,否则跳到(2),(2)从z中提取<U,V>,(3)判断:和是否相等,如果相等,跳到第(4)步;否则输出0,终止算法,(4)x←H3(CONTRACT,A1)(5)计算B←V+xA2,QID←H2(ID)(6)计算和是否相等,如果相等,则输出1,不相等则输出0;如果算法5返回0,那么说明代理或交易不合法,终止交易;如果返回1,说明交易和代理合法,那么完成交易即可。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同济大学,未经同济大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410403433.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top