CN101651542A - 多签名者强指定多个验证者的数字签名文档安全保护方法 - Google Patents

多签名者强指定多个验证者的数字签名文档安全保护方法 Download PDF

Info

Publication number
CN101651542A
CN101651542A CN200910023702A CN200910023702A CN101651542A CN 101651542 A CN101651542 A CN 101651542A CN 200910023702 A CN200910023702 A CN 200910023702A CN 200910023702 A CN200910023702 A CN 200910023702A CN 101651542 A CN101651542 A CN 101651542A
Authority
CN
China
Prior art keywords
signature
centerdot
signer
verifier
gatherer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910023702A
Other languages
English (en)
Other versions
CN101651542B (zh
Inventor
张亚玲
王尚平
王晓峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Technology
Original Assignee
Xian University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian University of Technology filed Critical Xian University of Technology
Priority to CN2009100237020A priority Critical patent/CN101651542B/zh
Publication of CN101651542A publication Critical patent/CN101651542A/zh
Application granted granted Critical
Publication of CN101651542B publication Critical patent/CN101651542B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种多签名者强指定多个验证者的数字签名文档安全保护方法,该方法按照以下步骤具体实施:步骤1.生成系统参数:选择阶为素数的循环群和一个密码学单向哈希函数;步骤2.用户密钥建立:为多个签名者秘密选择私钥,并通过秘密信道分发,分别为每个签名者生成公钥;为多个指定的验证者秘密选择私钥,并通过秘密信道分发;步骤3.签名过程:多个签名者通过运算对消息m计算强指定验证者数字签名;步骤4.验证过程:通过数字运算验证等式是否成立,若成立,验证通过,否则验证失败。本发明的方法运算效率高,能够提供电子文档在存储或传输中的完整性、真实性和不可否认性的安全保护。

Description

多签名者强指定多个验证者的数字签名文档安全保护方法
技术领域
本发明属于信息安全技术领域,涉及一种多签名者强指定多个验证者的数字签名文档安全保护方法。
背景技术
在传统的以书面文件为载体的事务处理中,通常采用手写签字、印章、指纹等方式作为书面签名,具有法律意义。但是互联网的快速发展使得人们通过网络实现快速、远距离的电子商务活动的需求越来越高。在以计算机数据文件为基础的电子邮件、电子商务等的数字通信中,因为书面签名可被任意拷贝,因此签名的安全性非常重要,数字签名技术应运而生。
人们通过网络进行电子文档的传输中,可能面临各种安全威胁,例如,文档的内容可能被盗取或篡改,文档的发送者可能是假冒的,文档的发送者可能否认自己曾发送过该文档等。信息加密和数字签名是应对这些安全威胁的重要手段。数字签名也称电子签名或电子签章。通俗的说,电子签名就是通过密码技术对电子文档的电子形式的签名,并非是书面签名的数字图象化,它的作用类似于手写签名或印章。准确的说,数字签名是以密码学的方法对数据文件作用,产生的一组代表签名者身份与数据完整性的数据信息,通常附加在数据文件的后面,数据文件的接收者可以利用签名者的公钥作用在数字签名上,验证数据文件的真实性、完整性。数字签名的应用包括:身份鉴别,可辨别信源的真实性而防止冒充;数据完整性保护,抵御数据的篡改或重排;不可抵赖性,信源事后不可否认其发送过或生成过签名信息,可以防止当事人事后抵赖。
多签名者多指定验证者数字签名算法可以为多个用户提供生成数字签名的方法,该签名可以由指定的多个验证者验证。由于数字签名一般都携带了签名者的私钥信息,签名的验证者可能正是数字签名的攻击者,故需要对于签名的验证权进行限制;而多签名者数字签名指由多个签名者共同生成文档的数字签名,适应于多人协同的文档认证应用。例如,在大型虚拟企业的分布式产品设计中,一组设计人员可能希望他们的设计文档的数字签名只有指定的多个设计人员(或验证者)可以验证,这就需要多签名者多个指定验证者的数字签名方案。在实际的电子举报违法现象的应用中,为了提高举报信息的完整性和真实性,多个举报人应该对其举报材料进行签名。为了保护举报人,希望举报材料的真实性只有指定的一组纪检人员可以共同验证。
现有的数字签名方案中有多签名者指定验证者算法,也有指定多验证者算法,但还没有对于多签名者多指定验证者数字签名算法,另外现有大部分的指定验证者签名方案中运用了双线性对运算,其运算效率较低。
发明内容
本发明的目的是提供一种多签名者强指定多个验证者的数字签名文档安全保护方法,解决了网络环境中多人协同在电子文档上进行数字签名并由指定的多个验证者验证的安全问题。
本发明所采用的技术方案是,一种多签名者强指定多个验证者的数字签名文档安全保护方法,多人共同生成数字签名,并只有指定的多个验证者可以验证该数字签名,该方法按照以下步骤具体实施:
步骤1.生成系统参数:
选择阶为素数q的循环群Gg,q,其中g是生成元,即Gg,q=<g>,|Gg,q|=ord(g)=q,q是一个二进制长度为l的素数,l是安全参数,要求在循环群Gg,q中计算离散对数问题DLP是困难的,
选择一个密码学单向哈希函数H:{0,1}*→{0,1}l
步骤2.用户密钥建立:
为多个签名者ui,i=1,…,u秘密选择私钥 x u i &Element; R z q * , i = 1 , . . . , u , 并通过秘密信道分发,分别为每个签名者生成公钥: y u i = , g x u i i = 1 , . . . , u ;
为多个指定的验证者vj,j=1,…,v秘密选择私钥 x u j &Element; R z q * , j = 1 , . . . , v , 并通过秘密信道分发,分别为每个验证者生成公钥: y v j = g x v j , j = 1 , . . . , v ;
步骤3.签名过程:
设:多个签名者为ui,i=1,…,u,
强指定多个验证者为vj,j=1,…,v,
消息为m;
31)每个签名者ui,i=1,…,u,随机选择 r ij 1 , r ij 2 &Element; z q * , j=1,…,v;计算 A u i = y u i r i 11 y v 1 r i 12 | | &CenterDot; &CenterDot; &CenterDot; | | y u i r ij 1 y v j r ij 2 | | &CenterDot; &CenterDot; &CenterDot; | | y u i r iv 1 y v v r iv 2 , 并将计算结果
Figure G2009100237020D00037
发送给签名收集者或者广播给其他的签名者;
32)签名收集者或者签名者将上步每个签名者计算得到的
Figure G2009100237020D00038
收集完全后,按照步骤1选择的哈希函数,根据下列公式
c = H ( m | | g | | q | | A u 1 | | &CenterDot; &CenterDot; &CenterDot; | | A u i | | &CenterDot; &CenterDot; &CenterDot; | | A u u )
计算得到c,并将c广播给所有的签名者;
33)每个签名者ui,i=1,…,u计算sij1:=rij1 s ij 2 : = r ij 2 - cx u i mod q , j=1,…,v,并将 ( s i 11 , s i 12 , . . . , s iv 1 , s iv 2 ) &Element; z q 2 v 发送给签名收集者或者广播给其他的签名者;
34)根据步骤32)和步骤33)得到的计算结果,签名收集者或者所有的签名者确定消息m的签名者(u1,…,uu)的强指定验证者(v1,…,vv)的签名是:
( c ; s 111 , s 112 , . . . , s 1 v 1 , s 1 v 2 ; . . . ; s u 11 , s u 12 , . . . , s uv 1 , s uv 2 ) &Element; { 0,1 } l &times; z q 2 uv ;
35)签名收集者或者签名者将消息m和
签名(c;s111,s112,…,s1v1,s1v2;…;su11,su12,…,suv1,suv2)发给验证者;
步骤4.验证过程:
41)每个验证者vj,j=1,…,v,计算,i=1,…,u,并将计算结果发送给验证收集者或者直接广播给其他的验证者;
42)验证收集者或者验证者将步骤41)中每个验证者的计算结果收集完后计算 A ~ u i = y u i s i 11 y v 1 s i 12 y u i cx v 1 | | &CenterDot; &CenterDot; &CenterDot; | | y u i s ij 1 y v j s ij 2 y u i cx v j | | &CenterDot; &CenterDot; &CenterDot; | | y u i s iv 1 y v v s iv 2 y u i cx v v , 将计算得到的
Figure G2009100237020D00044
带入步骤1选取的哈希函数H:{0,1}*→{0,1}l
计算得到
Figure G2009100237020D00045
将该计算结果与所收到的签名(c;s111,s112,…,s1v1,s1v2;…;su11,su12,…,suv1,suv2)中的c进行比较,如果相等即验证通过,否则验证不通过。
本发明的方法由于没有涉及双线性对运算,运算效率明显提高,并具有签名短、安全性高的特点,确保电子文件在存储及网络传输中的安全性。
具体实施方式
下面用具体实施例对本发明进行详细说明。
本发明方法的技术方案源于Schnorr签名思想,构造了一个基于Schnorr签名的强指定验证者签名方案,并对于方案的安全性进行了分析;在该方案的基础上,构造了多签名者强指定多个验证者签名方案(MSMV-SDVS)。
本发明的方法按照以下步骤具体实施:
步骤1.生成系统参数:
选择阶为素数q的循环群Gg,q,其中g是生成元,即Gg,q=<g>,|Gg,q|=ord(g)=q,q是一个二进制长度为l的素数,l是安全参数。要求在循环群Gg,q中计算离散对数问题DLP是困难的。
选择一个密码学单向哈希函数H:{0,1}*→{0,1}l,例如可选取H=SHA-1或H=MD5。
步骤2.用户密钥建立:
为多个签名者ui,i=1,…,u秘密选择私钥 x u i &Element; R z q * , i = 1 , . . . , u , 并通过秘密信道分发,分别为每个签名者生成公钥: y u i = g x u i , i = 1 , . . . , u ;
为多个指定的验证者vj,j=1,…,v秘密选择私钥 x v j &Element; R z q * , j = 1 , . . . , v , 并通过秘密信道分发,分别为每个验证者生成公钥: y v j = g x v j , j = 1 , . . . , v .
步骤3.签名过程:
设:多个签名者为ui,i=1,…,u,
强指定多个验证者为vj,j=1,…,v,
消息为m;
31)每个签名者ui,i=1,…,u,随机选择 r ij 1 , r ij 2 &Element; z q * , j=1,…,v;计算 A u i = y u i r i 11 y v 1 r i 12 | | &CenterDot; &CenterDot; &CenterDot; | | y u i r ij 1 y v j r ij 2 | | &CenterDot; &CenterDot; &CenterDot; | | y u i r iv 1 y v v r iv 2 , 并将计算结果发送给签名收集者或者广播给其他的签名者;
32)签名收集者或者签名者将上步每个签名者计算得到的
Figure G2009100237020D00058
收集完全后,按照步骤1选择的哈希函数,根据下列公式
c = H ( m | | g | | q | | A u 1 | | &CenterDot; &CenterDot; &CenterDot; | | A u i | | &CenterDot; &CenterDot; &CenterDot; | | A u u )
计算得到c,并将c广播给所有的签名者;
33)每个签名者ui,i=1,…,u计算sij1:=rij1 s ij 2 : = r ij 2 - cx u i mod q , j=1,…,v,并将 ( s i 11 , s i 12 , . . . , s iv 1 , s iv 2 ) &Element; z q 2 v 发送给签名收集者或者广播给其他的签名者;
34)根据步骤32)和步骤33)得到的计算结果,签名收集者或者所有签名者确定消息m的签名者(u1,…,uu)的强指定验证者(v1,…,vv)的签名是:
( c ; s 111 , s 112 , . . . , s 1 v 1 , s 1 v 2 ; . . . ; s u 11 , s u 12 , . . . , s uv 1 , s uv 2 ) &Element; { 0,1 } l &times; z q 2 uv ;
35)签名收集者或者签名者将消息m和签名(c;s111,s112,…,s1v1,s1v2;…;su11,su12,…,suv1,suv2)发给验证者。
步骤4.验证过程:
41)每个验证者vj,j=1,…,v,计算
Figure G2009100237020D00064
i=1,…,u,并将计算结果发送给验证收集者或者直接广播给其他的验证者;
42)验证收集者或者验证者将步骤41)中每个验证者的计算结果收集完后计算 A ~ u i = y u i s i 11 y v 1 s i 12 y u i cx v 1 | | &CenterDot; &CenterDot; &CenterDot; | | y u i s ij 1 y v j s ij 2 y u i cx v j | | &CenterDot; &CenterDot; &CenterDot; | | y u i s iv 1 y v v s iv 2 y u i cx v v , 将计算得到的
Figure G2009100237020D00066
带入步骤1选取的哈希函数H:{0,1}*→{0,1}l
计算得到将该计算结果与所收到的签名(c;s111,s112,…,s1v1,s1v2;…;su11,su12,…,suv1,suv2)中的c进行比较,如果相等即验证通过,否则验证不通过。
以下从密码理论上证明本发明方法的正确性。
若消息m的多签名者(u1,…,uu)强指定验证者(v1,…,vv)的签名 ( c ; s 111 , s 112 , . . . , s 1 v 1 , s 1 v 2 ; . . . ; s u 11 , s u 12 , . . . , s uv 1 , s uv 2 ) &Element; z q 2 uv + 1 是严格按照签名协议计算的,
y u i s ij 1 y v j s ij 2 y u i cx v j = y u i r ij 1 y v j r ij 2 , i=1,…,u,j=1,…,v,所以有
A ~ u i = y u i s i 11 y v 1 s i 12 y u i cx v 1 | | &CenterDot; &CenterDot; &CenterDot; | | y u i s ij 1 y v j s ij 2 y u i cx v j | | &CenterDot; &CenterDot; &CenterDot; | | y u i s iv 1 y v v s iv 2 y u i cx v v
= y u i r i 11 y v 1 r i 12 | | &CenterDot; &CenterDot; &CenterDot; | | y u i r ij 1 y v j r ij 2 | | &CenterDot; &CenterDot; &CenterDot; | | y u i r iv 1 y v v r iv 2 = ^ A u i
c = H ( m | | g | | q | | A ~ u 1 | | &CenterDot; &CenterDot; &CenterDot; | | A ~ u i | | &CenterDot; &CenterDot; &CenterDot; | | A ~ u u ) 成立,一定能够通过验证算法。
本发明的多签名者多指定验证者数字签名方法,突出特色是可以由多个人共同生成文档的数字签名,同时对于签名的验证权可以进行限制,应用本发明,任意多个签名者可以协同产生文档的数字签名,同时可以由指定的多个人进行签名验证。
实施例1
设有三名设计人员A、B、C完成了一份电子图纸的审查,并需要共同在文档上签名,指定主管D和主管E可以验证该数字签名。
步骤1.生成系统参数:设系统建立的公共参数为阶为素数q的循环群Gg,q,以及安全Hash函数H=SHA-1。
步骤2.用户密钥建立:
用户A、B、C、D、E的私钥分别为xA,xB,xC,xD,xE,这些私钥分别由每个用户秘密保存,对应地,他们的公钥分别为yA,yB,yC,yD,yE
三名设计人员A、B、C欲对消息m计算强指定两个验证者D和E的数字签名,于是有u=3,v=2。
步骤3.签名过程:
签名者A随机选择 r AD 1 , r AD 2 &Element; z q * , r AE 1 , r AE 2 &Element; z q * , 计算 A A = y A r AD 1 y D r AD 2 | | y A r AE 1 y E r AE 2 , 将AA广播给其他的签名者B和C;
签名者B随机选择 r BD 1 , r BD 2 &Element; z q * , r BE 1 , r BE 2 &Element; z q * , 计算 A B = y B r BD 1 y D r BD 2 | | y B r BE 1 y E r BE 2 , 将AB广播给其他的签名者A和C;
签名者C随机选择 r CD 1 , r CD 2 &Element; z q * , r CE 1 , r CE 2 &Element; z q * ; 计算 A C = y C r CD 1 y D r CD 2 | | y C r CE 1 y E r CE 2 , 将AC广播给其他的签名者A和B;
签名者A、B、C各自计算c=H(m||g||q‖AA‖AB‖AC);
签名者A计算
sAD1=rAD1,sAD2=rAD2-cxA modq,sAE1=rAE1,sAE2=rAE2-cxA modq;
签名者B计算
sBD1=rBD1,sBD2=rBD2-cxBmodq,sBE1=rBE1,sBE2=rBE2-cxB modq;
签名者C计算
sCD1=rCD1,sCD2=rCD2-cxC modq,sCE1=rCE1,sCE2=rCE2-cxC modq;
三个签名者分别向其他签名者广播 ( s iD 1 , s iD 2 , s iE 1 , s iE 2 ) &Element; z q 2 v , 其中i=A、B、C。则签名者A、B、C均可将消息m的签名者(A,B,C)的强指定验证者(D,E)的签名 ( c ; s AD 1 , s AD 2 , s AE 1 , s AE 2 ; s BD 1 , s BD 2 , s BE 1 , s BE 2 ; s CD 1 , s CD 2 , s CE 1 , s CE 2 ) &Element; { 0,1 } l &times; z q 2 uv 发送给验证者。
步骤4.验证过程:验证者D计算
Figure G2009100237020D00083
验证者E计算
Figure G2009100237020D00084
分别互相广播三项计算结果;验证者D和E收集完对方的广播数据后,均可以计算
A ~ A = y A s AD 1 y D s AD 2 y A cx D | | y A s AE 1 y E s AE 2 y A cx E ,
A ~ B = y B s BD 1 y D s BD 2 y B cx D | | y B s BE 1 y E s BE 2 y B cx E ,
A ~ C = y C s CD 1 y D s CD 2 y C cx D | | y C s CE 1 y E s CE 2 y C cx E ,
验证者D和E均可将得到的
Figure G2009100237020D00088
带入步骤1选取的哈希函数H=SHA-1,计算得到
Figure G2009100237020D00089
将该计算结果与所收到的签名(c;sAD1,sAD2,sAE1,sAE2;sBD1,sBD2,sBE1,sBE2;sCD1,sCD2,sCE1,sCE2)中的c进行比较,如果相等即验证通过,否则验证不通过。
实施例2
设有四名工作人员A、B、C、D完成了工作报告,需要共同在报告上签名,并指定主管E、主管F和主管G可以验证该数字签名。
步骤1.生成系统参数:设系统建立的公共参数为阶为素数q的循环群Gg,q,以及安全Hash函数H=MD5。
步骤2.用户密钥建立:
用户A、B、C、D、E、F、G的私钥分别为xA,xB,xC,xD,xE,xF,xG,这些私钥分别由每个用户秘密保存,对应地,他们的公钥分别为yA,yB,yC,yD,yE,yF,yG
工作人员A、B、C、D欲共同对消息m进行数字签名并指定三个验证者E、F、G进行验证,于是有u=4,v=3。设A是签名者中的负责人,即签名收集者,E是验证者中的负责人,即验证收集者。
步骤3.签名过程:
签名者A随机选择 r AE 1 , r AE 2 &Element; z q * , r AF 1 , r AF 2 &Element; z q * , r AG 1 , r AG 2 &Element; z q * ; 计算 A A = y A r AE 1 y E r AE 2 | | y A r AF 1 y F r AF 2 | | y A r AG 1 y G r AG 2 ;
签名者B随机选择 r BE 1 , r BE 2 &Element; z q * , r BF 1 , r BF 2 &Element; z q * , r BG 1 , r BG 2 &Element; z q * ; 计算 A B = y B r BE 1 y E r BE 2 | | y B r BF 1 y F r BF 2 | | y B r BG 1 y G r BG 2 , 将AB发送给签名收集者A;
签名者C随机选择 r CE 1 , r CE 2 &Element; z q * , r CF 1 , r CF 2 &Element; z q * , r CG 1 , r CG 2 &Element; z q * ; 计算 A C = y C r CE 1 y E r CE 2 | | y C r CF 1 y F r CF 2 | | y C r CG 1 y G r CG 2 , 将AC发送给签名收集者A;
签名者D随机选择 r DE 1 , r DE 2 &Element; z q * , r DF 1 , r DF 2 &Element; z q * , r DG 1 , r DG 2 &Element; z q * ; 计算 A D = y D r DE 1 y E r DE 2 | | y D r DF 1 y F r DF 2 | | y D r DG 1 y G r DG 2 , 将AD发送给签名收集者A;
收集者A计算c=H(m||g||q‖AA‖AB‖AC‖AD),并将c发送给B、C、D。
签名者A(兼收集者)计算 s AE 1 = r AE 1 , s AE 2 = r AE 2 - cx A mod q , s AF 1 = r AF 1 , s AF 2 , = r AF 2 - cx A mod q , s AG 1 = r AG 1 , s AG 2 = r AG 2 - cx A mod q ; 并保存 ( s AE 1 , s AE 2 , s AF 1 , s AF 2 , s AG 1 , s AG 2 ) &Element; z q 2 v
签名者B计算
s BE 1 = r BE 1 , s BE 2 = r BE 2 - cx B mod q , s BF 1 = r BF 1 , s BF 2 , = r BF 2 - cx B mod q , s BG 1 = r BG 1 , s BG 2 = r BG 2 - cx B mod q ; 并将 ( s BE 1 , s BE 2 , s BF 1 , s BF 2 , s BG 1 , s BG 2 ) &Element; z q 2 v 发送给签名收集者A。
签名者C计算
s CE 1 = r CE 1 , s CE 2 = r CE 2 - cx C mod q , s CF 1 = r CF 1 , s CF 2 , = r CF 2 - cx C mod q , s CG 1 = r CG 1 , s CG 2 = r CG 2 - cx C mod q ; 并将 ( s CE 1 , s CE 2 , s CF 1 , s CF 2 , s CG 1 , s CG 2 ) &Element; z q 2 v 发送给签名收集者A。
签名者D计算
s DE 1 = r DE 1 , s DE 2 = r DE 2 - cx D mod q , s DF 1 = r DF 1 , s DF 2 , = r DF 2 - cx D mod q , s DG 1 = r DG 1 , s DG 2 = r DG 2 - cx D mod q ; 并将 ( s DE 1 , s DE 2 , s DF 1 , s DF 2 , s DG 1 , s DG 2 ) &Element; z q 2 v 发送给签名收集者A。
签名收集者A发送消息m的签名者(A,B,C,D)的强指定验证者(E,F,G)的签名 ( c ; s AE 1 , s AE 2 , s AF 1 , s AF 2 , s AG 1 , s AG 2 ; s BE 1 , s BE 2 , s BF 1 , s BF 2 , s BG 1 , s BG 2 ; s CE 1 , s CE 2 , s CF 1 , s CF 2 , s CG 1 , s CG 2 ; s DE 1 , s DE 2 , s DF 1 , s DF 2 , s DG 1 , s DG 2 ) &Element; { 0,1 } l &times; z q 2 uv 给指定的验证者。
步骤4.验证过程:
验证者E计算
Figure G2009100237020D00108
验证者F计算
Figure G2009100237020D00109
并发送给验证收集者E;
验证者G计算
Figure G2009100237020D001010
并发送给验证收集者E。
验证收集者E计算
A ~ A = y A s AE 1 y E s AE 2 y A cx E | | y A s AF 1 y F s AF 2 y A cx F | | y A s AG 1 y G s AG 2 y A cx G ,
A ~ B = y B s BE 1 y E s BE 2 y B cx E | | y B s BF 1 y F s BF 2 y B cx F | | y B s BG 1 y G s BG 2 y B cx G ,
A ~ C = y C s CE 1 y E s CE 2 y C cx E | | y C s CF 1 y F s CF 2 y C cx F | | y C s CG 1 y G s CG 2 y C cx G ,
A ~ D = y D s DE 1 y E s DE 2 y D cx E | | y D s DF 1 y F s DF 2 y D cx F | | y D s DG 1 y G s DG 2 y D cx G ,
并向其他验证者F和G广播以上四项计算结果。
验证者E、F、G均可将得到的
Figure G2009100237020D00112
带入步骤1选取的哈希函数H=MD5,计算得到
Figure G2009100237020D00113
将该计算结果与所收到的签名 ( c ; s AE 1 , s AE 2 , s AF 1 , s AF 2 , s AG 1 , s AG 2 ; s BE 1 , s BE 2 , s BF 1 , s BF 2 , s BG 1 , s BG 2 ; s CE 1 , s CE 2 , s CF 1 , s CF 2 , s CG 1 , s CG 2 ; s DE 1 , s DE 2 , s DF 1 , s DF 2 , s DG 1 , s DG 2 ) 中的c进行比较,如果相等即验证通过,否则验证不通过。
本发明提供的数字签名算法可以有效地防止签名伪造,伪造签名相当于求解公认的基于离散对数困难问题,其安全性基于离散对数的困难性和哈希函数的单向性。
综上所述,本发明所提供的电子文档数字签名安全保护方法,运算效率高,可以控制该签名的验证权,能够提供电子文档在存储或传输中的完整性、真实性和不可否认性的安全保护。

Claims (2)

1、一种多签名者强指定多个验证者的数字签名文档安全保护方法,其特征在于,多人共同生成数字签名,并只有指定的多个验证者可以验证该数字签名,该方法按照以下步骤具体实施:
步骤1.生成系统参数:
选择阶为素数q的循环群Gg,q,其中g是生成元,即Gg,q=<g>,|Gg,q|=ord(g)=q,q是一个二进制长度为l的素数,l是安全参数,要求在循环群Gg,q中计算离散对数问题DLP是困难的,
选择一个密码学单向哈希函数H:{0,1}*→{0,1}l
步骤2.用户密钥建立:
为多个签名者ui,i=1,…,u秘密选择私钥
Figure A2009100237020002C1
并通过秘密信道分发,分别为每个签名者生成公钥:
Figure A2009100237020002C2
为多个指定的验证者vj,j=1,…,v秘密选择私钥并通过秘密信道分发,分别为每个验证者生成公钥:
Figure A2009100237020002C4
步骤3.签名过程:
设:多个签名者为ui,i=1,…,u,
强指定多个验证者为vj,j=1,…,v,
消息为m;
31)每个签名者ui,i=1,…,u,随机选择
Figure A2009100237020002C5
j=1,…,v;计算
Figure A2009100237020002C6
并将计算结果
Figure A2009100237020002C7
发送给签名收集者或者广播给其他的签名者;
32)签名收集者或者签名者将上步每个签名者计算得到的
Figure A2009100237020002C8
收集完全后,按照步骤1选择的哈希函数,根据下列公式
c = H ( m | | g | | q | | A u 1 | | &CenterDot; &CenterDot; &CenterDot; | | A u i | | &CenterDot; &CenterDot; &CenterDot; | | A u u )
计算得到c,并将c广播给所有的签名者;
33)每个签名者ui,i=1,…,u计算sij1:=rij1
Figure A2009100237020003C2
mod q,j=1,…,v,并将
Figure A2009100237020003C3
发送给签名收集者或者广播给其他的签名者;
34)根据步骤32)和步骤33)得到的计算结果,签名收集者或者所有的签名者确定消息m的签名者(u1,…,uu)的强指定验证者(v1,…,vv)的签名是:
( c ; s 111 , s 112 , &CenterDot; &CenterDot; &CenterDot; , s 1 v 1 , s 1 v 2 ; &CenterDot; &CenterDot; &CenterDot; ; s u 11 , s u 12 , &CenterDot; &CenterDot; &CenterDot; , s uv 1 , s uv 2 ) &Element; { 0,1 } l &times; z q 2 uv ;
35)签名收集者或者签名者将消息m和
签名(c;s111,s112,…,s1v1,s1v2;…;su11,su12,…,suv1,suv2)发给验证者;
步骤4.验证过程:
41)每个验证者vj,j=1,…,v,计算i=1,…,u,并将计算结果发送给验证收集者或者直接广播给其他的验证者;
42)验证收集者或者验证者将步骤41)中每个验证者的计算结果收集完后计算
Figure A2009100237020003C6
将计算得到的
Figure A2009100237020003C7
带入步骤1选取的哈希函数H:{0,1}*→{0,1}l
计算得到
Figure A2009100237020003C8
将该计算结果与所收到的签名(c;s111,s112,…,s1v1,s1v2;…;su11,su12,…,suv1,suv2)中的c进行比较,如果相等即验证通过,否则验证不通过。
2、根据权利要求1所述的数字签名文档安全保护方法,所述的哈希函数H:{0,1}*→{0,1}l选取H=SHA-1或H=MD5。
CN2009100237020A 2009-08-26 2009-08-26 多签名者强指定多个验证者的数字签名文档安全保护方法 Expired - Fee Related CN101651542B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100237020A CN101651542B (zh) 2009-08-26 2009-08-26 多签名者强指定多个验证者的数字签名文档安全保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100237020A CN101651542B (zh) 2009-08-26 2009-08-26 多签名者强指定多个验证者的数字签名文档安全保护方法

Publications (2)

Publication Number Publication Date
CN101651542A true CN101651542A (zh) 2010-02-17
CN101651542B CN101651542B (zh) 2011-07-13

Family

ID=41673672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100237020A Expired - Fee Related CN101651542B (zh) 2009-08-26 2009-08-26 多签名者强指定多个验证者的数字签名文档安全保护方法

Country Status (1)

Country Link
CN (1) CN101651542B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102340483A (zh) * 2010-07-15 2012-02-01 航天信息股份有限公司 民主群签名的生成、验证、追踪方法和民主群签名系统
CN103095697A (zh) * 2013-01-09 2013-05-08 华东师范大学 一种多重签名生成与验证系统及其方法
CN103220146A (zh) * 2013-04-02 2013-07-24 西安理工大学 基于多变量公钥密码体制的零知识数字签名方法
CN103220147A (zh) * 2013-04-02 2013-07-24 西安理工大学 基于多变量公钥密码体制的强指定验证者签名方法
CN105471918A (zh) * 2016-01-13 2016-04-06 中山大学 一种代理重指定验证者签名方法
CN110995441A (zh) * 2019-11-25 2020-04-10 武汉大学 一种多方协同EdDSA数字签名生成方法与介质
CN111355590A (zh) * 2020-02-25 2020-06-30 西安邮电大学 无证书环境下具有强指定验证者的多变量多重签名方法
CN112613882A (zh) * 2020-12-29 2021-04-06 成都知道创宇信息技术有限公司 一种分布式签名系统及管理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101420304B (zh) * 2008-11-25 2010-12-08 西安理工大学 基于离散对数对电子文档数字签名的安全保护方法
CN101441693B (zh) * 2008-11-25 2010-09-01 西安理工大学 基于椭圆曲线对电子文档数字签名的安全保护方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102340483A (zh) * 2010-07-15 2012-02-01 航天信息股份有限公司 民主群签名的生成、验证、追踪方法和民主群签名系统
CN102340483B (zh) * 2010-07-15 2015-05-06 航天信息股份有限公司 民主群签名的生成、验证、追踪方法和民主群签名系统
CN103095697A (zh) * 2013-01-09 2013-05-08 华东师范大学 一种多重签名生成与验证系统及其方法
CN103220146A (zh) * 2013-04-02 2013-07-24 西安理工大学 基于多变量公钥密码体制的零知识数字签名方法
CN103220147A (zh) * 2013-04-02 2013-07-24 西安理工大学 基于多变量公钥密码体制的强指定验证者签名方法
CN103220147B (zh) * 2013-04-02 2016-08-10 西安理工大学 基于多变量公钥密码体制的强指定验证者签名方法
CN103220146B (zh) * 2013-04-02 2016-12-28 西安理工大学 基于多变量公钥密码体制的零知识数字签名方法
CN105471918A (zh) * 2016-01-13 2016-04-06 中山大学 一种代理重指定验证者签名方法
CN105471918B (zh) * 2016-01-13 2018-06-12 中山大学 一种代理重指定验证者签名方法
CN110995441A (zh) * 2019-11-25 2020-04-10 武汉大学 一种多方协同EdDSA数字签名生成方法与介质
CN111355590A (zh) * 2020-02-25 2020-06-30 西安邮电大学 无证书环境下具有强指定验证者的多变量多重签名方法
CN112613882A (zh) * 2020-12-29 2021-04-06 成都知道创宇信息技术有限公司 一种分布式签名系统及管理方法

Also Published As

Publication number Publication date
CN101651542B (zh) 2011-07-13

Similar Documents

Publication Publication Date Title
CN101651542B (zh) 多签名者强指定多个验证者的数字签名文档安全保护方法
US10944575B2 (en) Implicitly certified digital signatures
CN103414569B (zh) 一种建立抗攻击的公钥密码的方法
CN104601605B (zh) 云存储中基于变色龙哈希函数的高效隐私保护审计方法
CN107733648B (zh) 一种基于身份的rsa数字签名生成方法及系统
CN102006165B (zh) 基于多变量公钥密码对消息匿名环签名的方法
EP2533457B1 (en) Secure implicit certificate chaining
CN107682151B (zh) 一种gost数字签名生成方法及系统
CN104023044A (zh) 一种具有隐私保护的云存储数据轻量级公共审计的方法
CN103220147B (zh) 基于多变量公钥密码体制的强指定验证者签名方法
CN104092686B (zh) 基于svm分类器的隐私保护和数据安全访问的方法
CN101441693B (zh) 基于椭圆曲线对电子文档数字签名的安全保护方法
Noether et al. Monero is not that mysterious
CN103220146B (zh) 基于多变量公钥密码体制的零知识数字签名方法
CN105376064A (zh) 一种匿名消息认证系统及其消息签名方法
CN102006166A (zh) 基于多变量多项式对消息匿名环签名的方法
CN102291396A (zh) 可信平台远程证明的匿名认证算法
CN102006168B (zh) 基于多变量数字签名对消息匿名环签名的方法
Tanwar et al. An efficient and secure identity based multiple signatures scheme based on RSA
CN103346999B (zh) 一种支持not运算符并具有cca安全的cp-abe方法
CN102006170B (zh) 基于有限域上mq问题对消息匿名环签名的方法
CN102006167B (zh) 基于代数的对消息匿名环签名的方法
CN101420304B (zh) 基于离散对数对电子文档数字签名的安全保护方法
CN104184581B (zh) 一种带符号二次剩余类群中的公钥加密方法
Sun et al. Delegatability of an identity based strong designated verifier signature scheme

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110713

Termination date: 20130826