发明名称 一种基于非均匀超递增序列的数字签名方法
摘要 密码学、计算机科学;利用非均匀超递增序列和超对数难题设计出一个公开密钥数字签名方法,包括密钥生成、数字签名和身份验证三个部分;其用户拥有两个密钥,即一个私钥和一个公钥,且从公钥不能推出私钥;私钥用于生成文件或消息的签名码,公钥用于验证文件或消息的签名码;该方法能有效抵御已有分析手段的攻击,可用于计算机和通信网络中任何文件的签名与验证、电子政务和电子商务中的身份鉴定与内容确认、以及现实世界中金融票据和有关证书的鉴别与防伪。
申请公布号 CN101369888A 申请公布日期 2009.02.18
申请号 CN200810167772.9 申请日期 2008.10.07
申请人 苏盛辉;李健;王长喜 发明人 苏盛辉;李健;吕述望
分类号 H04L9/30(2006.01);H04L9/08(2006.01) 主分类号 H04L9/30(2006.01)
代理机构 代理人
主权项 1、一种基于非均匀超递增系列的数字签名方法,由密钥生成、数字签名和身份验证三个部分组成,第一部分用来生成用户的一对私钥和公钥,第二部分供发送方使用自己的私钥对文件或消息做签名并产生签名码,第三部分供接收方使用发送方的公钥来验证签名码,假设T、D、d是两两互素的正整数,其中<img file="A200810167772C0002160235QIETU.GIF" wi="155" he="81" />且<img file="A200810167772C0002160247QIETU.GIF" wi="37" he="57" />非大,其特征在于·密钥生成部分采用了下列步骤:(1)随机产生非均匀超递增序列{A<sub>1</sub>,A<sub>2</sub>,…,A<sub>n</sub>},计算<maths num="0001"><![CDATA[<math><mrow><mi>E</mi><mo>=</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msub><mi>A</mi><mi>i</mi></msub></mrow></math>]]></maths>(2)找到一个整数<maths num="0002"><![CDATA[<math><mrow><mi>M</mi><mo>></mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>-</mo><mi>i</mi><mo>)</mo></mrow><msub><mi>A</mi><mi>i</mi></msub></mrow></math>]]></maths>使得logM≤2n、<img file="A200810167772C0002160810QIETU.GIF" wi="245" he="74" />且存在S&lt;M有<img file="A200810167772C0002160313QIETU.GIF" wi="368" he="67" />和<img file="A200810167772C0002160322QIETU.GIF" wi="245" he="67" />(3)任选W、δ、<img file="A200810167772C0002160349QIETU.GIF" wi="129" he="67" />满足gcd(W,M)=1、M/gcd(M,δ)≈2<sup>n</sup>、<img file="A200810167772C00028.GIF" wi="355" he="45" /><img file="A200810167772C00029.GIF" wi="219" he="44" />和<img file="A200810167772C000210.GIF" wi="394" he="46" />(4)计算θ←δS<sup>(E+δ)WS</sup>、<img file="A200810167772C0002160413QIETU.GIF" wi="187" he="57" /><img file="A200810167772C0002160427QIETU.GIF" wi="273" he="83" />和<img file="A200810167772C0002160435QIETU.GIF" wi="352" he="97" />(5)随机产生两两不同的值<maths num="0003"><![CDATA[<math><mrow><mi>l</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&Element;</mo><mrow><mo>{</mo><mn>5,6</mn><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><mi>n</mi><mo>+</mo><mn>4</mn><mo>}</mo></mrow><mo>,</mo></mrow></math>]]></maths>对i=1,2,…,n(6)计算序列{C<sub>i</sub>|C<sub>i</sub>≡(A<sub>i</sub>+δl(i))W(mod M),对i=1,2,…,n}最后,以<img file="A200810167772C0002161055QIETU.GIF" wi="577" he="85" />作为私钥,({C<sub>i</sub>}、θ、α、β、γ)作为公钥,d、S、T、M共用;·数字签名部分采用了下列步骤:发送方以自己的私钥<img file="A200810167772C0002161111QIETU.GIF" wi="556" he="76" />作为签名密钥,设Hash为单向散列函数,针对文件F做(1)令消息摘要H=hash(F),其二进制形式为b<sub>1</sub>b<sub>2</sub>…b<sub>n</sub>(2)计算<maths num="0004"><![CDATA[<math><mrow><msub><mi>k</mi><mn>1</mn></msub><mo>&LeftArrow;</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msub><mi>b</mi><mi>i</mi></msub><mi>l</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths><img file="A200810167772C0002160901QIETU.GIF" wi="658" he="69" />(3)任选Q&lt;M使得<img file="A200810167772C0002160920QIETU.GIF" wi="299" he="69" /><img file="A200810167772C0002160927QIETU.GIF" wi="635" he="67" />计算R满足<maths num="0005"><![CDATA[<math><mrow><mi>Q</mi><mo>&equiv;</mo><msup><mrow><mo>(</mo><mi>R</mi><msup><mi>S</mi><mrow><msub><mi>E</mi><mn>0</mn></msub><mi>W</mi></mrow></msup><mo>)</mo></mrow><mi>S</mi></msup><mi>&delta;</mi><mrow><mo>(</mo><mi>mod</mi><mi>M</mi><mo>)</mo></mrow></mrow></math>]]></maths>(4)计算<img file="A200810167772C0002160940QIETU.GIF" wi="713" he="69" />若<img file="A200810167772C0002160952QIETU.GIF" wi="971" he="48" />则转至(3)最后,得到签名码(Q、U),其可附在文件F后面发送给接收方;·身份验证部分采用了下列步骤:接收方以发送方的公钥({C<sub>i</sub>}、θ、α、β、γ)作为验证密钥,针对文件F和签名码(Q、U)做(1)令消息摘要H=hash(F),其二进制形式为b<sub>1</sub>b<sub>2</sub>…b<sub>n</sub>(2)计算<img file="A200810167772C0002161012QIETU.GIF" wi="523" he="64" />(3)计算<maths num="0006"><![CDATA[<math><mrow><mi>X</mi><mo>&LeftArrow;</mo><msup><mrow><mo>(</mo><mi>&theta;</mi><msup><mi>Q</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>)</mo></mrow><mi>QUT</mi></msup><msup><mi>&alpha;</mi><mrow><msup><mi>Q</mi><mi>n</mi></msup><mi>T</mi></mrow></msup><mo>,</mo></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><mi>Y</mi><mo>&LeftArrow;</mo><msup><mrow><mo>(</mo><msup><mi>S</mi><mi>EQT</mi></msup><msup><mi>U</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>)</mo></mrow><mi>US</mi></msup><msup><mi>&beta;</mi><mi>UHT</mi></msup><msup><mi>&gamma;</mi><mrow><msup><mi>H</mi><mi>n</mi></msup><mi>T</mi></mrow></msup><mi>mod</mi><mi>M</mi></mrow></math>]]></maths>(4)若X≡Y,则签名者身份有效且F未被修改,否则,签名者身份无效或F在传输中已被修改算法执行后,可以达到鉴别签名真伪、防发送者抵赖和抗攻击者修改的目的。
地址 100037北京市海淀区甘家口24号楼1508室