CN101697513A - 数字签名方法、验证方法、数字签名装置及数字签名系统 - Google Patents
数字签名方法、验证方法、数字签名装置及数字签名系统 Download PDFInfo
- Publication number
- CN101697513A CN101697513A CN200910179641A CN200910179641A CN101697513A CN 101697513 A CN101697513 A CN 101697513A CN 200910179641 A CN200910179641 A CN 200910179641A CN 200910179641 A CN200910179641 A CN 200910179641A CN 101697513 A CN101697513 A CN 101697513A
- Authority
- CN
- China
- Prior art keywords
- signature
- message
- digital signature
- hash function
- tuples
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种数字签名方法、验证方法、数字签名装置及数字签名系统,签名方法包括:接收系统参数;所述系统参数包括P及哈希函数H2;选取随机数k;k∈Zq,Zq为剩余类集{0,1,2,...,q-1};通过公式r=kP得到消息m签名二元组的一部分;通过得到的r及系统参数中的哈希函数H2计算H2(m,r),将所述消息m映射为一个整数v;通过公式u=(v/k)SID得到所述消息m签名二元组的另一部分;其中,SID为用户私钥。通过选取系统参数P及随机数k生成r,并将r作为消息的签名二元组中的一个元素,生成消息的签名,避免了在签名的生成过程中计算配对,简化了签名生成过程,提高了签名的生成效率。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种数字签名方法、验证方法、数字签名装置及数字签名系统。
背景技术
网络和信息安全对经济发展、国家社会稳定起着重要的作用。如怎样确保用户开出的电子支票不被人破译、修改和伪造等就属于网络和信息安全中的重要内容。
数字签名是当今网络和信息安全中最基本的技术,也是提供认证性、完整性和不可否认性的重要技术。数字签名利用非对称算法,来达到其他人可以验证该签名但却无法假冒该签名的目的,是信息安全的核心技术之一。数字签名首先是网络通信与交互的保证,可以保证通信对方是真实的,还可以作为签署电子文档时的工具,以保护自己的文档与签名。数字签名还可以用于需要保密的场所、需要身份认证的场所及其他需要不可否认服务的场所。
传统数字签名方法基于RSA或椭圆曲线(ECC)等公钥,签名验证方为了验证签名,必须访问认证(CA)中心以获取签名方的公钥。这种签名方法通常都需要借助于公钥证书才能实现,适用于用户群较少的简单系统。
随着信息化的不断发展,用户群的规模不断扩大,公钥证书的管理、获取变得日益复杂,这种基于公钥证书的传统签名方法已难以满足信息化社会的发展对数字签名的需求,成为实现信息化社会信息的防伪和防篡改的一大障碍。
为了满足规模不断扩大的用户群对数字签名的需求,2001年,Boneh和Franklin首次利用椭圆曲线上的Weil配对构造了一种新的基于身份的数字签名方法。当前各种基于身份的数字签名方法,如Hess数字签名方法等都是基于Weil配对。换句话说,现有技术中,基于身份的数字签名方法在签名的生成与验证过程中,均通过Weil配对e的双线性特性进行双线性配对的计算得以实现。配对计算是整个数字签名系统的核心。其中,身份信息可以是姓名、地址、电子邮箱地址、手机号等个人信息,也可以是计算机信息如IP地址等。
基于身份的数字签名方法包括:系统参数选取、系统初始化、私钥提取、签名生成、验证签名。
以消息m为例,消息m的签名生成由签名装置任意地选取一个随机数k∈Zq及P1∈G1进行如下计算:
γ=e(P1,P)k (1)
v=H2(m,γ) (2)
U=vSID+kP1 (3)
其中,公式(1)为weil配对运算;公式(2)为对消息m的映射运算,消息m通过公式(2)变换为一个整数v,得到消息m签名的一部分;通过公式(3)得到信息m签名的另一部分,从而得到签名装置对消息m的签名σ=(U,v)。
签名生成后,被发送给签名验证装置进行验证。
在基于ID的数字签名方法中,接收方收到消息及其签名后,与传统的基于公钥的数字签名不同,接收方不需要访问CA中心来获取发送方的公钥,而只需根据发送方的身份就可在本地直接计算出发送方的公钥,从而实现对签名的验证。具体地,签名验证装置收到消息m和签名装置对消息m的签名σ=(U,v)后,执行以下操作:
由签名装置的身份字符串ID计算签名装置的公钥QID=H1(ID);
计算γ’=e(U,P)e(QID,Ppub)v;
判断H2(m,γ’)=v是否成立;如果成立,则验证通过,否则验证不通过。这是因为:
γ=e(U,P)e(QID,Ppub)v=e(vSID+kP1,P)e(QID,-SP)v
=e(vSID,P)e(kP1,P)e(QID,-P)sv
=e(vSID,P)e(vsQID,-P)e(kP1,P)
=e(vSID,P)e(vSID,-P)e(kP1,P)
=e(vSID,P)e(vSID,P)-1e(kP1,P)
=e(kP1,P)
=e(P1,P)k=γ。
采用基于身份的密码体制实现数字签名,无须通过公钥证书捆绑用户的公钥和用户的身份信息,简化了公钥的管理。并且,使用用户的身份信息直接在本地生成用户的公钥,不需要通过公钥证书获取公钥,简化了公钥的分发,避免了建立认证中心CA的公共密钥数据库,减少了金融成本,解决了由此而引发的安全问题。
然而,发明人发现现有技术至少存在以下缺陷:在签名的生成与验证过程中,均需要进行配对计算,降低了数字签名的效率。
发明内容
本发明实施例提出一种数字签名方法、验证方法、数字签名装置及数字签名系统,以简化数字签名处理过程。
本发明实施例提供了一种数字签名方法,包括:
接收系统参数;所述系统参数包括P及哈希函数H2;
选取随机数k;k∈Zq,Zq为剩余类集{0,1,2,...,q-1};
通过公式r=kP得到消息m签名二元组的一部分;
通过得到的r及系统参数中的哈希函数H2计算H2(m,r),将所述消息m映射为一个整数v;
通过公式u=(v/k)SID得到所述消息m签名二元组的另一部分;其中,SID为用户私钥。
本发明实施例还提供了一种数字签名的验证方法,包括:
接收系统参数及消息m签名二元组u,r;所述系统参数包括哈希函数H2、哈希函数H1及配对函数t;
通过消息m签名二元组中的r及系统参数中的哈希函数H2计算H2(m,r),将消息m映射为一个整数v;
通过系统参数中的哈希函数H1计算H1(ID)计算发送所述消息m的用户的公钥QID;其中,ID为对所述消息m进行签名的用户身份信息;
通过系统参数中的配对函数t计算t(u,r)、t(QID,QTA)v,对所述消息m的签名二元组(u,r)进行验证;其中,QTA为系统公开密钥。
本发明实施例还提供了一种数字签名装置,包括:
接收模块,用于接收系统参数;所述系统参数包括P及哈希函数H2;
参数选取模块,用于选取随机数k;k∈Zq,Zq为剩余类集{0,1,2,...,q-1};
第一签名生成模块,用于通过公式r=kP得到消息m签名二元组的一部分;
映射模块,用于通过得到的r及系统参数中的哈希函数H2计算H2(m,r),将所述消息m映射为一个整数v;
第二签名生成模块,用于通过公式u=(v/k)SID得到所述消息m签名二元组的另一部分;其中,SID为用户私钥。
本发明实施例还提供了一种数字签名的验证装置,包括:
接收模块,用于接收系统参数及消息m签名二元组u,r;所述系统参数包括哈希函数H2、哈希函数H1及配对函数t;
映射模块,用于通过消息m签名二元组中的r及系统参数中的哈希函数H2计算H2(m,r),将消息m映射为一个整数v;
公钥计算模块,用于通过系统参数中的哈希函数H1计算H1(ID)计算发送所述消息m的用户的公钥QID;其中,ID为对所述消息m进行签名的用户身份信息;
验证模块,用于通过系统参数中的配对函数t计算t(u,r)、t(QID,QTA)v,对所述消息m的签名二元组(u,r)进行验证;其中,QTA为系统公开密钥。
本发明实施例还提供了一种数字签名系统,包括上述数字签名装置及上述数字签名的验证装置。
上述实施例提供的技术方案通过选取系统参数P及随机数k生成r,并将r作为消息的签名二元组中的一个元素,生成消息的签名,避免了在签名的生成过程中计算配对,简化了签名生成过程,提高了签名的生成效率。并且,能够保证数字签名系统的安全性。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明实施例提供的数字签名方法的流程图;
图2为本发明实施例提供的数字签名的验证方法的流程图;
图3为本发明实施例提供的数字签名方法与验证方法所应用的数字签名系统的结构示意图;
图4为图3所示系统的数字签名的流程图;
图5为本发明实施例提供的数字签名装置的结构示意图;
图6为本发明实施例提供的数字签名的验证装置的结构示意图;
图7为本发明实施例提供的数字签名系统结构示意图。
具体实施方式
图1为本发明实施例提供的数字签名方法的流程图。该方法包括:
步骤11、接收系统参数;所述系统参数包括P及哈希函数H2;
步骤12、选取随机数k;k∈Zq,Zq为剩余类集{0,1,2,...,q-1},q为素数,详见下述步骤13中的说明;
步骤13、通过公式r=kP得到消息m签名二元组的一部分;其中,P为系统参数;作为消息m签名二元组的一部分,r既是基点P做k倍乘运算以后的结果,又是椭圆曲线E上的一个点。
步骤14、通过得到的r及系统参数中的哈希函数H2计算H2(m,r),将所述消息m映射为一个整数v,v=H2(m,r);
步骤15、通过公式u=(v/k)SID得到所述消息m签名二元组的另一部分u;其中,SID为用户私钥。u是签名的一部分,是通过运算得到的椭圆曲线上的一个点。
上述步骤11~步骤15可由签名装置执行。
上述步骤12中,签名装置只需任意地选取一个随机数k∈Zq,便可执行步骤13。
上述步骤13中,系统参数P由私钥生成中心选取并发送给签名装置。私钥生成中心选取系统参数包括:选取椭圆曲线E:y2=x3+ax+b、选取群G1和群G2、选取Tate配对函数t、选取哈希函数H1与哈希函数H2。椭圆曲线E:y2=x3+ax+b中,a,b∈Fq,Fq表示有限域,q是素数。私钥生成中心选择一个公开的基点P∈E(Fq),其阶为q=ord(P)。群G1是阶为q的加法群,群G2是阶为q的乘法群。在群G1和群G2中离散对数问题都是难解的。设配对函数t是G1*G2到G2的一个双线性映射。私钥生成中心取G1为有限域Fq上椭圆曲线有理点群的一个加法子群,私钥生成中心取G2为这个有限域的一个乘法子群,私钥生成中心由椭圆曲线上的Tate配对派生得到双线性映射函数t。对于群G1中的任意给定元素a,b∈G1,t(a,b)能被容易计算,而当给定任意的b∈G1和c∈G2,计算a∈G1以致于t(a,b)=c是不可行的。私钥生成中心选取哈希函数H1与哈希函数H2。其中,H1:{0,1}*->G1/{0},哈希函数H1用来实现将签名装置的身份ID通过映射变换到椭圆曲线上的一个点,即生成签名装置的公钥,并由私钥生成中心使用系统私钥和签名装置的公钥,生成与签名装置的身份相关的私钥;H2:{0,1}**G1->Zq,哈希函数H2用来实现将需要签名的消息m通过映射变换成一个整数,哈希函数H1与哈希函数H2均公开。签名装置利用私钥生成中心公开的系统参数P以及上述步骤12选取的随机数k计算得到r。
上述步骤14中,签名装置通过私钥生成中心公开的哈希函数H2,用上述步骤13得到的r将消息m映射为一个整数v,避免了将消息m通过明文嵌入映射到椭圆曲线上一个点的复杂运算。
上述步骤15中,签名装置利用用户私钥SID及上述步骤12选取的随机数k、上述步骤14得到的整数v得到u。其中,用户私钥SID由签名装置向私钥生成中心请求获得。当签名装置请求与所属用户的身份相对应的私钥时,私钥生成中心执行私钥提取算法。假设签名装置所属用户的身份由字符串ID表示,则签名装置的用户公钥QID为:QID=H1(ID)。相应地,签名装置的用户私钥SID由私钥生成中心通过公式SID=sQID计算得到。签名装置的用户私钥SID在签名装置第一次加入系统时,由私钥生成中心计算出来并通过安全渠道发送给签名装置。任何其它用户的用户私钥的生成过程均与签名装置的私钥生成过程相同。
上述步骤15执行完毕后,得到消息m的签名二元组(u,r),签名装置完成对消息m的签名。
本实施例提供的技术方案通过选取系统参数P及随机数k生成r,并将r作为消息的签名二元组中的一个元素,生成消息的签名,不用随机生成群G1中的点P1,避免了在签名的生成过程中计算配对,简化了签名生成过程,提高了签名的生成效率。并且,在签名的生成过程中,消息m的二元组签名(u,r)中的u和r均是椭圆曲线中倍乘运算的结果,基于椭圆曲线上离散对数问题(ECDLP)的困难性(即由k和P求r=kP是容易的,但由椭圆曲线中倍乘结果r和P求k使得r=kP是困难的),从而能够保证数字签名系统的安全性。
图2为本发明实施例提供的数字签名的验证方法的流程图。该方法包括:
步骤21、接收系统参数及消息m签名二元组u,r;所述系统参数包括哈希函数H2、哈希函数H1及配对函数t;
步骤22、利用消息m的签名二元组中的r以及系统参数中的哈希函数H2计算H2(m,r),将所述消息m映射为一个整数v;即,通过公式v=H2(m,r)得到v。哈希函数H2详见上述步骤13的说明。
步骤23、利用发送所述消息m的用户的身份ID以及系统参数中的哈希函数H1计算H1(ID),得到所述用户的用户公钥QID;即,通过公式QID=H1(ID)计算得到所述用户的用户公钥QID。其中,ID为对所述消息m进行签名的用户身份信息。哈希函数H1详见上述步骤13的说明。
步骤24、通过系统参数中的配对函数t计算t(u,r)、t(QID,QTA)v,对所述消息m的签名二元组(u,r)进行验证;其中,QTA为系统公开密钥。Tate配对函数t详见上述步骤13的说明。
上述步骤21~步骤24可由验证装置执行。
上述步骤24中,系统公开密钥QTA由私钥生成中心随机选取一元素P∈G1\{0}和一个秘密随机数s∈Zq,并通过公式QTA=sP计算得到。其中,s的值仅被私钥生成中心存储。私钥生成中心得到系统公开密钥QTA后发布(P,QTA)。验证装置从而获得系统公开密钥QTA,并进行tate配对运算,从而实现对签名的验证。当t(u,r)=t(QID,QTA)v时,验证通过,即所述消息m的签名二元组通过验证;否则验证失败。
本实施例提供的技术方案通过两次tate配对运算实现了签名的验证,有效地降低了数字签名的验证复杂度,提高了验证签名的速度。
图3为本发明实施例提供的数字签名方法与验证方法所应用的数字签名系统的结构示意图。
在基于ID的签名体制中,整个系统由私钥生成中心、签名装置和验证装置构成。私钥生成中心相当于传统的公钥密码体制中的CA,是整个系统的安全基础,主要负责选取系统的各公开参数和系统的私钥,为系统中的各用户生成用户私钥,并在用户初次加入系统时分发用户私钥。签名装置使用系统的公开参数和各自的用户私钥对消息m进行签名。验证装置使用系统的公开参数和签名装置所属用户的身份ID计算该用户的用户公钥,并使用签名装置的公钥验证签名装置对消息m的签名。但私钥生成中心不用承担复杂的证书管理、分发等功能,也不用参与签名过程,私钥生成中心在以后的签名过程中私钥生成中心不再参与签名过程。
图4为图3所示系统的数字签名的流程图。整个数字签名过程主要包括系统初始化(Setup)、用户私钥生成(Extract)、签名生成(Sign)、验证签名(Verify)四部分。具体包括以下步骤:
步骤41、选取系统参数。详见上述步骤13的说明,该系统参数可以直接利用消息的明文进行签名的相关运算,而不需要对消息进行明文映射,变换到椭圆曲线上的点,简化了签名的实现。
步骤42、私钥生成中心生成系统的公开密钥(P,QTA)和系统私钥s。
该步骤由私钥生成中心在系统初始化阶段完成。在私钥生成中心输入系统参数,输出系统公开密钥(P,QTA)和系统私钥s。具体地,私钥生成中心随机地选取一元素P∈G1\{0}及一秘密随机数s∈Zq,计算QTA=sP得到系统公开密钥QTA;然后向系统的所有用户公开发布系统的公开密钥(P,QTA),并保存系统私钥s;所有用户包括签名装置所属用户和验证装置所属用户。最后,私钥生成中心公布系统公开密钥(P,QTA),并保存系统私钥s。
步骤43、私钥生成中心为签名装置生成用户私钥SID。
具体地,当签名装置首次加入系统时,私钥生成中心计算用户公钥QID=H1(ID),即可由签名装置所属用户的身份字符串ID生成签名装置的用户公钥QID,并计算用户私钥SID=sQID,在签名装置首次加入系统时将签名装置的用户私钥SID通过安全渠道发送给签名装置。换句话说,该算法由私钥生成中心完成,在私钥生成中心输入系统公开密钥(P,QTA)、系统私钥s和用户的身份ID,输出用户私钥SID,之后私钥生成中心用安全的信道将用户私钥SID返回给签名装置和验证装置。
步骤44、签名装置生成消息m的签名(u,r)。
生成签名的算法由签名装置实现。在签名装置输入安全参数r、系统公开密钥(P,QTA)、用户私钥SID以及消息m,输出对消息m的签名σ(u,r)。具体地,签名装置任意地选取一个随机数k∈Zq,计算r=kP、v=H2(m,r)、u=(v/k)SID,生成消息m的签名(u,r),并发送给验证装置。签名的生成过程具体详见上述图1所示实施例。
步骤45、验证装置验证签名装置对消息m的签名(u,r)。
该验证算法由签名的验证装置完成。在验证装置输入系统公开密钥(P,QTA)、签名装置的用户身份ID、消息m和签名σ(u,r),输出签名验证结果1或0,代表真和伪。具体地,签名验证装置收到消息m和签名装置对消息m的签名(u,r)后,计算v=H2(m,r)、t(u,r);通过签名装置的身份字符串ID计算签名装置的用户公钥QID,即计算:QID=H1(ID);并计算t(QID,QTA)v。当且仅当t(u,r)=t(QID,QTA)v成立时验证装置接受签名装置对消息m的签名(u,r),否则拒绝接受签名。容易验证,如果协议双方都按照本数字签名方法的操作步骤进行,则签名装置的签名能通过下式被其他人验证:
t(u,r)=t((v/k)SID,kP)=t(SID,P)v=t(sQID,P)v=t(QID,QTA)v。
图5为本发明实施例提供的数字签名装置的结构示意图。该生成装置包括:接收模块51、参数选取模块52、第一签名生成模块53、映射模块54及第二签名生成模块55。接收模块51用于接收系统参数;所述系统参数包括P及哈希函数H2。参数选取模块52用于选取随机数k;k∈Zq,Zq为剩余类集{0,1,2,...,q-1}。第一签名生成模块53用于通过公式r=kP得到消息m签名二元组的一部分;所述系统参数P为公开的基点,具体详见上述步骤13的说明。映射模块54用于通过第一签名生成模块53得到的r及系统参数中的哈希函数H2计算H2(m,r),将所述消息m映射为一个整数v,详见上述步骤14的说明。第二签名生成模块55用于通过公式u=(v/k)SID得到所述消息m签名二元组的另一部分;其中,SID为用户私钥。详见上述步骤15的说明。
本实施例提供数字签名装置通过选取随机数k生成r,并将r作为消息的签名二元组中的一个元素,生成消息的签名,不用随机生成群G1中的点P1,避免了在签名的生成过程中计算配对,简化了签名生成过程,提高了签名的生成效率。
图6为本发明实施例提供的数字签名的验证装置的结构示意图。该验证装置包括:接收模块61、映射模块62、公钥计算模块63及验证模块64。接收模块61用于接收系统参数及消息m签名二元组u,r;所述系统参数包括哈希函数H2、哈希函数H1及配对函数t。映射模块62用于通过消息m签名二元组中的r及系统参数中的哈希函数H2计算H2(m,r),将消息m映射为一个整数v,具体操作详见上述步骤22的说明。公钥计算模块63用于通过系统参数中的哈希函数H1计算H1(ID)计算发送所述消息m的用户的公钥QID,其中,ID为对所述消息m进行签名的用户身份信息;具体操作详见上述步骤23的说明。验证模块64用于通过系统参数中的配对函数t计算t(u,r)、t(QID,QTA)v,对所述消息m的签名二元组(u,r)进行验证;其中,QTA为系统公开密钥,具体操作详见上述步骤24的说明。
所述验证模块64当t(u,r)=t(QID,QTA)v时,验证所述消息m的签名二元组通过验证;否则验证失败。
本实施例提供的技术方案通过两次tate配对运算实现了签名的验证,有效地降低了数字签名的验证复杂度,提高了验证签名的速度。
图7为本发明实施例提供的数字签名系统结构示意图。该系统包括签名装置71及验证装置72。签名装置71用于对消息进行运算生成签名,验证装置72通过两次Tate配对运算对签名进行验证。签名装置71为上述装置实施例中提供的数字签名装置,验证装置72上述装置实施例中提供的任一种数字签名的验证装置。
本实施例提供的数字签名系统通过数字签名装置生成签名,避免了在签名时进行配对运算,简化了签名生成过程,提高了签名生成效率;并且通过数字签名的验证装置对签名进行验证,仅进行了两次配对运算便实现了验证,简化了签名验证过程,提高了签名验证效率,从而整体提高了数字签名的处理效率。
上述方法及装置实施例提供的技术方案中,在签名的生成过程中不计算配对,仅在验证的过程中才计算配对,并且签名验证采用Tate配对而不是Weil配对实现算法,而且只需比较两个Tate配对的结果是否相等,不用对两个配对运算的结果再做乘运算,有效地提高了基于身份密码体制签名算法实施过程中的速度。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种数字签名方法,其特征在于,包括:
接收系统参数;所述系统参数包括P及哈希函数H2;
选取随机数k;k∈Zq,Zq为剩余类集{0,1,2,...,q-1};
通过公式r=kP得到消息m签名二元组的一部分;
通过得到的r及系统参数中的哈希函数H2计算H2(m,r),将所述消息m映射为一个整数v;
通过公式u=(v/k)SID得到所述消息m签名二元组的另一部分;其中,SID为用户私钥。
2.一种数字签名的验证方法,其特征在于,包括:
接收系统参数及消息m签名二元组u,r;所述系统参数包括哈希函数H2、哈希函数H1及配对函数t;
通过消息m签名二元组中的r及系统参数中的哈希函数H2计算H2(m,r),将消息m映射为一个整数v;
通过系统参数中的哈希函数H1计算H1(ID)计算发送所述消息m的用户的公钥QID;其中,ID为对所述消息m进行签名的用户身份信息;
通过系统参数中的配对函数t计算t(u,r)、t(QID,QTA)v,对所述消息m的签名二元组(u,r)进行验证;其中,QTA为系统公开密钥。
3.根据权利要求2所述的数字签名的验证方法,其特征在于,当t(u,r)=t(QID,QTA)v时,所述消息m的签名二元组通过验证。
4.一种数字签名装置,其特征在于,包括:
接收模块,用于接收系统参数;所述系统参数包括P及哈希函数H2;
参数选取模块,用于选取随机数k;k∈Zq,Zq为剩余类集{0,1,2,...,q-1};
第一签名生成模块,用于通过公式r=kP得到消息m签名二元组的一部分;
映射模块,用于通过得到的r及系统参数中的哈希函数H2计算H2(m,r),将所述消息m映射为一个整数v;
第二签名生成模块,用于通过公式u=(v/k)SID得到所述消息m签名二元组的另一部分;其中,SID为用户私钥。
5.一种数字签名的验证装置,其特征在于,包括:
接收模块,用于接收系统参数及消息m签名二元组u,r;所述系统参数包括哈希函数H2、哈希函数H1及配对函数t;
映射模块,用于通过消息m签名二元组中的r及系统参数中的哈希函数H2计算H2(m,r),将消息m映射为一个整数v;
公钥计算模块,用于通过系统参数中的哈希函数H1计算H1(ID)计算发送所述消息m的用户的公钥QID;其中,ID为对所述消息m进行签名的用户身份信息;
验证模块,用于通过系统参数中的配对函数t计算t(u,r)、t(QID,QTA)v,对所述消息m的签名二元组(u,r)进行验证;其中,QTA为系统公开密钥。
6.根据权利要求5所述的数字签名的验证装置,其特征在于,所述验证模块当t(u,r)=t(QID,QTA)v时,验证所述消息m的签名二元组通过验证。
7.一种数字签名系统,其特征在于,包括上述权利要求4所述的数字签名装置及上述权利要求5或6所述的数字签名的验证装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910179641A CN101697513A (zh) | 2009-10-26 | 2009-10-26 | 数字签名方法、验证方法、数字签名装置及数字签名系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910179641A CN101697513A (zh) | 2009-10-26 | 2009-10-26 | 数字签名方法、验证方法、数字签名装置及数字签名系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101697513A true CN101697513A (zh) | 2010-04-21 |
Family
ID=42142589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910179641A Pending CN101697513A (zh) | 2009-10-26 | 2009-10-26 | 数字签名方法、验证方法、数字签名装置及数字签名系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101697513A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012019407A1 (zh) * | 2010-08-09 | 2012-02-16 | 中兴通讯股份有限公司 | 一种数据加密方法、数据解密方法、发送节点及接收节点 |
CN102546173A (zh) * | 2011-12-19 | 2012-07-04 | 河海大学 | 基于证书的数字签名系统及签名方法 |
CN103346890A (zh) * | 2013-07-10 | 2013-10-09 | 天地融科技股份有限公司 | 初始化设备、基于ibc获取数字证书的系统及方法 |
CN105049451A (zh) * | 2015-08-25 | 2015-11-11 | 清华大学 | 生成数字签名的方法和验证数字签名的方法 |
CN106856432A (zh) * | 2017-03-21 | 2017-06-16 | 深圳职业技术学院 | 多变量数字签名装置 |
CN109639438A (zh) * | 2019-02-26 | 2019-04-16 | 燕山大学 | 一种基于数字签名的scada网络工业信息加密方法 |
CN111464305A (zh) * | 2019-01-18 | 2020-07-28 | 正链科技(深圳)有限公司 | 一种移动区块链系统三私钥动态数字签名与验证方法 |
WO2020232800A1 (zh) * | 2019-05-17 | 2020-11-26 | 深圳市网心科技有限公司 | 一种区块链网络中的数据处理方法、系统及相关设备 |
CN112564907A (zh) * | 2021-03-01 | 2021-03-26 | 北京信安世纪科技股份有限公司 | 密钥生成方法及装置、加密方法及装置、解密方法及装置 |
-
2009
- 2009-10-26 CN CN200910179641A patent/CN101697513A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012019407A1 (zh) * | 2010-08-09 | 2012-02-16 | 中兴通讯股份有限公司 | 一种数据加密方法、数据解密方法、发送节点及接收节点 |
CN102546173A (zh) * | 2011-12-19 | 2012-07-04 | 河海大学 | 基于证书的数字签名系统及签名方法 |
CN103346890B (zh) * | 2013-07-10 | 2016-12-28 | 天地融科技股份有限公司 | 初始化设备、基于ibc获取数字证书的系统及方法 |
CN103346890A (zh) * | 2013-07-10 | 2013-10-09 | 天地融科技股份有限公司 | 初始化设备、基于ibc获取数字证书的系统及方法 |
CN105049451B (zh) * | 2015-08-25 | 2018-10-30 | 清华大学 | 生成数字签名的方法和验证数字签名的方法 |
CN105049451A (zh) * | 2015-08-25 | 2015-11-11 | 清华大学 | 生成数字签名的方法和验证数字签名的方法 |
CN106856432A (zh) * | 2017-03-21 | 2017-06-16 | 深圳职业技术学院 | 多变量数字签名装置 |
CN111464305A (zh) * | 2019-01-18 | 2020-07-28 | 正链科技(深圳)有限公司 | 一种移动区块链系统三私钥动态数字签名与验证方法 |
CN111464305B (zh) * | 2019-01-18 | 2023-08-22 | 正链科技(深圳)有限公司 | 一种移动区块链系统三私钥动态数字签名与验证方法 |
CN109639438A (zh) * | 2019-02-26 | 2019-04-16 | 燕山大学 | 一种基于数字签名的scada网络工业信息加密方法 |
CN109639438B (zh) * | 2019-02-26 | 2021-08-27 | 燕山大学 | 一种基于数字签名的scada网络工业信息加密方法 |
WO2020232800A1 (zh) * | 2019-05-17 | 2020-11-26 | 深圳市网心科技有限公司 | 一种区块链网络中的数据处理方法、系统及相关设备 |
CN112564907A (zh) * | 2021-03-01 | 2021-03-26 | 北京信安世纪科技股份有限公司 | 密钥生成方法及装置、加密方法及装置、解密方法及装置 |
CN112564907B (zh) * | 2021-03-01 | 2021-07-20 | 北京信安世纪科技股份有限公司 | 密钥生成方法及装置、加密方法及装置、解密方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104539423B (zh) | 一种无双线性对运算的无证书公钥密码体制的实现方法 | |
US7533270B2 (en) | Signature schemes using bilinear mappings | |
CN101697513A (zh) | 数字签名方法、验证方法、数字签名装置及数字签名系统 | |
EP2285040A1 (en) | Two-factor combined public key generation and authentication method | |
CN111010272B (zh) | 一种标识私钥生成和数字签名方法及系统和装置 | |
CN108989054B (zh) | 一种密码系统及数字签名方法 | |
CN103746811B (zh) | 从身份公钥系统到证书公钥系统的匿名签密方法 | |
CN101471776A (zh) | 基于用户身份标识防止pkg伪造签名的方法 | |
GB2321741A (en) | Verification of electronic transactions | |
US20150288527A1 (en) | Verifiable Implicit Certificates | |
CN107911217B (zh) | 基于ecdsa算法协同生成签名的方法、装置和数据处理系统 | |
CN104639315A (zh) | 基于身份密码和指纹识别双重认证的方法和装置 | |
JP2004208263A (ja) | バイリニアペアリングを用いた個人識別情報に基づくブラインド署名装置及び方法 | |
CN104767612A (zh) | 一种从无证书环境到公钥基础设施环境的签密方法 | |
CN106936584B (zh) | 一种无证书公钥密码系统的构造方法 | |
JP2004208262A (ja) | バイリニアペアリングを用いたidに基づくリング署名装置及び方法 | |
CN101667913A (zh) | 基于对称加密的认证加密方法及加密系统 | |
KR20030062401A (ko) | 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법 | |
CN104767611A (zh) | 一种从公钥基础设施环境到无证书环境的签密方法 | |
WO2008026345A1 (fr) | Système de signature électronique et procédé de vérification de signature électronique | |
CN106453253B (zh) | 一种高效的基于身份的匿签密方法 | |
JP2956709B2 (ja) | 公開鍵生成方法及び装置 | |
CN112800482B (zh) | 基于身份的在线/离线安全云存储审计方法 | |
CN109617700A (zh) | 基于无证书的单向多跳代理重签名方法 | |
CN104579661B (zh) | 基于身份的电子签章的实现方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100421 |