发明名称 多签名者强指定多个验证者的数字签名文档安全保护方法
摘要 本发明公开了一种多签名者强指定多个验证者的数字签名文档安全保护方法,该方法按照以下步骤具体实施:步骤1.生成系统参数:选择阶为素数的循环群和一个密码学单向哈希函数;步骤2.用户密钥建立:为多个签名者秘密选择私钥,并通过秘密信道分发,分别为每个签名者生成公钥;为多个指定的验证者秘密选择私钥,并通过秘密信道分发;步骤3.签名过程:多个签名者通过运算对消息m计算强指定验证者数字签名;步骤4.验证过程:通过数字运算验证等式是否成立,若成立,验证通过,否则验证失败。本发明的方法运算效率高,能够提供电子文档在存储或传输中的完整性、真实性和不可否认性的安全保护。
申请公布号 CN101651542B 申请公布日期 2011.07.13
申请号 CN200910023702.0 申请日期 2009.08.26
申请人 西安理工大学 发明人 张亚玲;王尚平;王晓峰
分类号 H04L9/32(2006.01)I;G06Q10/00(2006.01)I 主分类号 H04L9/32(2006.01)I
代理机构 西安弘理专利事务所 61214 代理人 罗笛
主权项 1.一种多签名者强指定多个验证者的数字签名文档安全保护方法,其特征在于,多人共同生成数字签名,并只有指定的多个验证者可以验证该数字签名,该方法按照以下步骤具体实施:步骤1.生成系统参数:选择阶为素数q的循环群G<sub>g,q</sub>,其中g是生成元,即G<sub>g,q</sub>=&lt;g&gt;,|G<sub>g,q</sub>|=ord(g)=q,q是一个二进制长度为l的素数,l是安全参数,要求在循环群G<sub>g,q</sub>中计算离散对数问题DLP是困难的,选择一个密码学单向哈希函数H:{0,1}<sup>*</sup>→{0,1}<sup>l</sup>;步骤2.用户密钥建立:为多个签名者u<sub>i</sub>,i=1,…,u秘密选择私钥<img file="FSB00000458352100011.GIF" wi="251" he="84" />i=1,…,u,并通过秘密信道分发,分别为每个签名者生成公钥:<img file="FSB00000458352100012.GIF" wi="271" he="86" />i=1,…,u;为多个指定的验证者v<sub>j</sub>,j=1,…,v秘密选择私钥<img file="FSB00000458352100013.GIF" wi="275" he="100" />j=1,…,v,并通过秘密信道分发,分别为每个验证者生成公钥:<img file="FSB00000458352100014.GIF" wi="265" he="95" />j=1,…,v;步骤3.签名过程:设:多个签名者为u<sub>i</sub>,i=1,…,u,强指定多个验证者为v<sub>j</sub>,j=1,…,v,消息为m;31)每个签名者u<sub>i</sub>,i=1,…,u,随机选择<img file="FSB00000458352100015.GIF" wi="302" he="87" />j=1,…,v;计算<img file="FSB00000458352100016.GIF" wi="1098" he="93" />并将计算结果<img file="FSB00000458352100017.GIF" wi="77" he="85" />发送给签名收集者或者广播给其他的签名者;32)签名收集者或者签名者将上步每个签名者计算得到的<img file="FSB00000458352100021.GIF" wi="66" he="75" />收集完全后,按照步骤1选择的哈希函数,根据下列公式<maths num="0001"><![CDATA[<math><mrow><mi>c</mi><mo>=</mo><mi>H</mi><mrow><mo>(</mo><mi>m</mi><mo>|</mo><mo>|</mo><mi>g</mi><mo>|</mo><mo>|</mo><mi>q</mi><mo>|</mo><mo>|</mo><msub><mi>A</mi><msub><mi>u</mi><mn>1</mn></msub></msub><mo>|</mo><mo>|</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>|</mo><mo>|</mo><msub><mi>A</mi><msub><mi>u</mi><mi>i</mi></msub></msub><mo>|</mo><mo>|</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>|</mo><mo>|</mo><msub><mi>A</mi><msub><mi>u</mi><mi>u</mi></msub></msub><mo>)</mo></mrow></mrow></math>]]></maths>计算得到c,并将c广播给所有的签名者;33)每个签名者u<sub>i</sub>,i=1,…,u计算s<sub>ij1</sub>=r<sub>ij1</sub>,<img file="FSB00000458352100023.GIF" wi="600" he="74" />j=1,…,v,并将<img file="FSB00000458352100024.GIF" wi="561" he="73" />发送给签名收集者或者广播给其他的签名者;34)根据步骤32)和步骤33)得到的计算结果,签名收集者或者所有的签名者确定消息m的签名者(u<sub>1</sub>,…,u<sub>u</sub>)的强指定验证者(v<sub>1</sub>,…,v<sub>v</sub>)的签名是:<maths num="0002"><![CDATA[<math><mrow><mrow><mo>(</mo><mi>c</mi><mo>;</mo><msub><mi>s</mi><mn>111</mn></msub><mo>,</mo><msub><mi>s</mi><mn>112</mn></msub><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mi>s</mi><mrow><mn>1</mn><mi>v</mi><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>s</mi><mrow><mn>1</mn><mi>v</mi><mn>2</mn></mrow></msub><mo>;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>;</mo><msub><mi>s</mi><mrow><mi>u</mi><mn>11</mn></mrow></msub><mo>,</mo><msub><mi>s</mi><mrow><mi>u</mi><mn>12</mn></mrow></msub><mo>,</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>,</mo><msub><mi>s</mi><mrow><mi>uv</mi><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>s</mi><mrow><mi>uv</mi><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>&Element;</mo><msup><mrow><mo>{</mo><mn>0,1</mn><mo>}</mo></mrow><mi>l</mi></msup><mo>&times;</mo><msubsup><mi>z</mi><mi>q</mi><mrow><mn>2</mn><mi>uv</mi></mrow></msubsup><mo>;</mo></mrow></math>]]></maths>35)签名收集者或者签名者将消息m和签名(c;s<sub>111</sub>,s<sub>112</sub>,…,s<sub>1v1</sub>,s<sub>1v2</sub>;…;s<sub>u11</sub>,s<sub>u12</sub>,…,s<sub>uv1</sub>,s<sub>uv2</sub>)发给验证者;步骤4.验证过程:41)每个验证者v<sub>j</sub>,j=1,…,v,计算<img file="FSB00000458352100026.GIF" wi="370" he="108" />i=1,…,u,并将计算结果发送给验证收集者或者直接广播给其他的验证者;42)验证收集者或者验证者将步骤41)中每个验证者的计算结果收集完后计算<img file="FSB00000458352100027.GIF" wi="1457" he="103" />将计算得到的<img file="FSB00000458352100028.GIF" wi="67" he="94" />带入步骤1选取的哈希函数H:{0,1}<sup>*</sup>→{0,1}<sup>l</sup>,计算得到<img file="FSB00000458352100029.GIF" wi="954" he="93" />将该计算结果与所收到的签名(c;s<sub>111</sub>,s<sub>112</sub>,…,s<sub>1v1</sub>,s<sub>1v2</sub>;…;s<sub>u11</sub>,s<sub>u12</sub>,…,s<sub>uv1</sub>,s<sub>uv2</sub>)中的c进行比较,如果相等即验证通过,否则验证不通过。
地址 710048 陕西省西安市金花南路5号