发明名称 一种新的基于整数分解问题的代理签名及验证方法
摘要 本发明公开了一种新的基于整数分解问题的代理签名及验证方法,其步骤是:在网络运行之前,原始签名人和代理签名人首先生成自身的公钥和私钥,并发布公钥;当具有签名请求时,原始签名人生成委托书,并基于变色龙哈希函数和普通数字签名算法计算签名授权发送给代理签名人;代理签名人对收到的签名授权进行有效性验证,若有效,则基于变色龙哈希函数碰撞性生成代理签名,而无需对消息再进行数字签名;当验证者收到委托书和代理签名后,首先验证委托书是否有效,确认有效后,再验证代理签名的有效性。本发明的应用,代理签名处理效率高、代理签名长度短,适用于计算能力和网络带宽比较受限的移动网络、无线网络等环境中。
申请公布号 CN103259662B 申请公布日期 2016.08.10
申请号 CN201310157442.2 申请日期 2013.05.02
申请人 电子科技大学 发明人 禹勇;夏琦;倪剑兵;黄可
分类号 H04L9/32(2006.01)I;H04L29/06(2006.01)I 主分类号 H04L9/32(2006.01)I
代理机构 电子科技大学专利中心 51203 代理人 周刘英
主权项 一种新的基于整数分解问题的代理签名方法,其特征在于,包括下列步骤:步骤1:生成原始签名人的私钥、公钥,代理签名人的私钥、公钥:根据安全参数k随机选择满足条件p<sub>0</sub>≡3mod8、q<sub>0</sub>≡7mod8的素数p<sub>0</sub>、q<sub>0</sub>作为原始签名人的私钥,并将p<sub>0</sub>、q<sub>0</sub>的乘积n<sub>0</sub>作为原始签名人公钥;步骤2:代理签名人根据其私钥、公钥生成临时公钥r<sub>1</sub>,并发送给原始签名人:根据安全参数k随机选择两个素数p<sub>1</sub>、q<sub>1</sub>为代理签名人的私钥;取所述p<sub>1</sub>、q<sub>1</sub>的乘积为n<sub>1</sub>,选择乘法整数群<img file="FDA0000912624480000011.GIF" wi="138" he="100" />上的一个整数λ(n<sub>1</sub>)阶的元素g,所述<maths num="0001"><math><![CDATA[<mrow><mi>&lambda;</mi><mrow><mo>(</mo><msub><mi>n</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>=</mo><mn>2</mn><msubsup><mi>p</mi><mn>1</mn><mo>*</mo></msubsup><msubsup><mi>q</mi><mn>1</mn><mo>*</mo></msubsup><mo>,</mo></mrow>]]></math><img file="FDA0000912624480000012.GIF" wi="336" he="90" /></maths>整数<maths num="0002"><math><![CDATA[<mrow><msubsup><mi>p</mi><mn>1</mn><mo>*</mo></msubsup><mo>=</mo><mfrac><mrow><msub><mi>p</mi><mn>1</mn></msub><mo>-</mo><mn>1</mn></mrow><mn>2</mn></mfrac><mo>,</mo><msubsup><mi>q</mi><mn>1</mn><mo>*</mo></msubsup><mo>=</mo><mfrac><mrow><msub><mi>q</mi><mn>1</mn></msub><mo>-</mo><mn>1</mn></mrow><mn>2</mn></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000912624480000013.GIF" wi="558" he="147" /></maths>则将所述n<sub>1</sub>、g作为代理签名人的公钥;从加法整数群<img file="FDA0000912624480000014.GIF" wi="144" he="86" />中选择随机数k<sub>1</sub>作为临时私钥,并计算临时公钥<img file="FDA0000912624480000015.GIF" wi="338" he="91" />步骤3:原始签名人收到临时公钥r<sub>1</sub>后,首先生成委托书w,再随机选择整数t<sub>0</sub>,基于所生成的委托书w计算变色龙哈希函数的哈希值h<sub>2</sub>,并对所述哈希值h<sub>2</sub>进行数字签名,得到委托书w签名;并通过安全信道将签名授权发送给代理签名人,所述签名授权包含委托书w、委托书w签名、整数t<sub>0</sub>;其中,得到所述委托书w签名包括下列步骤:原始签名人根据整数t<sub>0</sub>,计算变色龙哈希函数的哈希值<img file="FDA0000912624480000016.GIF" wi="555" he="99" />其中H<sub>2</sub>(w,r<sub>1</sub>)是输入为w||r<sub>1</sub>的哈希函数,符号“||”表示追加操作;再将哈希值h<sub>2</sub>和委托书w作为部分域哈希函数H<sub>1</sub>的输入,得到部分域哈希值h<sub>w</sub>=H<sub>1</sub>(h<sub>2</sub>,w);原始签名人基于雅克比符号来确定参数a<sub>0</sub>和b<sub>0</sub>的值:<img file="FDA0000912624480000017.GIF" wi="1491" he="391" />原始签名人基于其私钥(p<sub>0</sub>,q<sub>0</sub>)对部分域哈希值h<sub>w</sub>进行签名,得到签名值s<sub>0</sub>:<maths num="0003"><math><![CDATA[<mrow><msub><mi>s</mi><mn>0</mn></msub><mo>&equiv;</mo><msup><mrow><mo>(</mo><msup><mn>2</mn><mrow><mo>-</mo><msub><mi>a</mi><mn>0</mn></msub></mrow></msup><msub><mi>h</mi><mi>w</mi></msub><mo>)</mo></mrow><mfrac><mrow><msub><mi>n</mi><mn>0</mn></msub><mo>-</mo><msub><mi>p</mi><mn>0</mn></msub><mo>-</mo><msub><mi>q</mi><mn>0</mn></msub><mo>+</mo><mn>5</mn></mrow><mn>8</mn></mfrac></msup><mi>mod</mi><mi> </mi><msub><mi>n</mi><mn>0</mn></msub><mo>;</mo></mrow>]]></math><img file="FDA0000912624480000018.GIF" wi="719" he="131" /></maths>由参数a<sub>0</sub>、b<sub>0</sub>、s<sub>0</sub>构成所述委托书w签名;步骤4:代理签名人对收到的签名授权进行有效性验证,若有效,则执行步骤5:代理签名人基于委托书w再次计算变色龙哈希函数的哈希值<img file="FDA0000912624480000019.GIF" wi="567" he="96" />将所述哈希值<img file="FDA0000912624480000021.GIF" wi="66" he="91" />和委托书w作为部分域哈希函数H<sub>1</sub>的输入,计算部分域哈希值<img file="FDA0000912624480000022.GIF" wi="377" he="91" />通过检验验证公式<img file="FDA0000912624480000023.GIF" wi="574" he="91" />是否成立来完成有效性验证;步骤5:代理签名人验证代理签名消息m是否符合委托书w,若是,则:根据代理签名人的私钥、公钥生成临时公钥r<sub>2</sub>;根据所述临时公钥r<sub>2</sub>,基于变色龙哈希函数的碰撞生成消息m对应的随机数t<sub>1</sub>,所述变色龙哈希函数的碰撞为:委托书w、整数t<sub>0</sub>的变色龙哈希函数值和消息m、随机数t<sub>1</sub>的变色龙哈希函数值相等,均为哈希值h<sub>2</sub>;由委托书w签名、临时公钥r<sub>2</sub>,随机数t<sub>1</sub>构成消息m在委托书w下的代理签名。
地址 611731 四川省成都市高新区(西区)西源大道2006号
您可能感兴趣的专利