数字签名方法、验证方法、数字签名装置及数字签名系统的制作方法

文档序号:7714330阅读:187来源:国知局
专利名称:数字签名方法、验证方法、数字签名装置及数字签名系统的制作方法
技术领域
本发明涉及网络安全技术领域,尤其涉及一种数字签名方法、验证方法、数字签名
装置及数字签名系统。
背景技术
网络和信息安全对经济发展、国家社会稳定起着重要的作用。如怎样确保用户开
出的电子支票不被人破译、修改和伪造等就属于网络和信息安全中的重要内容。 数字签名是当今网络和信息安全中最基本的技术,也是提供认证性、完整性和不
可否认性的重要技术。数字签名利用非对称算法,来达到其他人可以验证该签名但却无法
假冒该签名的目的,是信息安全的核心技术之一。数字签名首先是网络通信与交互的保证,
可以保证通信对方是真实的,还可以作为签署电子文档时的工具,以保护自己的文档与签
名。数字签名还可以用于需要保密的场所、需要身份认证的场所及其他需要不可否认服务
的场所。 传统数字签名方法基于RSA或椭圆曲线(ECC)等公钥,签名验证方为了验证签名, 必须访问认证(CA)中心以获取签名方的公钥。这种签名方法通常都需要借助于公钥证书 才能实现,适用于用户群较少的简单系统。 随着信息化的不断发展,用户群的规模不断扩大,公钥证书的管理、获取变得日益 复杂,这种基于公钥证书的传统签名方法已难以满足信息化社会的发展对数字签名的需 求,成为实现信息化社会信息的防伪和防篡改的一大障碍。 为了满足规模不断扩大的用户群对数字签名的需求,2001年,Boneh和Franklin 首次利用椭圆曲线上的Weil配对构造了一种新的基于身份的数字签名方法。当前各种基 于身份的数字签名方法,如Hess数字签名方法等都是基于Weil配对。换句话说,现有技术 中,基于身份的数字签名方法在签名的生成与验证过程中,均通过Weil配对e的双线性特 性进行双线性配对的计算得以实现。配对计算是整个数字签名系统的核心。其中,身份信息 可以是姓名、地址、电子邮箱地址、手机号等个人信息,也可以是计算机信息如IP地址等。
基于身份的数字签名方法包括系统参数选取、系统初始化、私钥提取、签名生成、 验证签名。 以消息m为例,消息m的签名生成由签名装置任意地选取一个随机数k g Zq及
P丄e G丄进行如下计算: y = e(Pp P)k (1) v = H2(m, y) (2) U = vSm+kP丄 (3) 其中,公式(1)为weil配对运算;公式(2)为对消息m的映射运算,消息m通过公 式(2)变换为一个整数v,得到消息m签名的一部分;通过公式(3)得到信息m签名的另一 部分,从而得到签名装置对消息m的签名o = (U,v)。
签名生成后,被发送给签名验证装置进行验证。
3
在基于ID的数字签名方法中,接收方收到消息及其签名后,与传统的基于公钥的 数字签名不同,接收方不需要访问CA中心来获取发送方的公钥,而只需根据发送方的身份 就可在本地直接计算出发送方的公钥,从而实现对签名的验证。具体地,签名验证装置收到 消息m和签名装置对消息m的签名o = (U,v)后,执行以下操作
由签名装置的身份字符串ID计算签名装置的公钥QID = HJID);
计算Y , = e (U, P) e (QID, Ppub) v ; 判断H2(m, Y ' ) = v是否成立;如果成立,则验证通过,否则验证不通过。这是因 为 Y = e (U, P) e (QID, Ppub)v = e (vSm+kP丄,P) e (QID, _SP)v = e(vSID, P)e(kPp P)e(QID, _P)SV = e (vSID, P) e (vsQID, _P) e (kPn P) = e (vSID, P) e (vSID, _P) e (kP" P) = e(vSID, P)e(vSID, P)—'e(kP" P) =e(kP"P) =e(P丄,P)k = y 。 采用基于身份的密码体制实现数字签名,无须通过公钥证书捆绑用户的公钥和用 户的身份信息,简化了公钥的管理。并且,使用用户的身份信息直接在本地生成用户的公 钥,不需要通过公钥证书获取公钥,简化了公钥的分发,避免了建立认证中心CA的公共密
钥数据库,减少了金融成本,解决了由此而引发的安全问题。 然而,发明人发现现有技术至少存在以下缺陷在签名的生成与验证过程中,均需 要进行配对计算,降低了数字签名的效率。

发明内容
本发明实施例提出一种数字签名方法、验证方法、数字签名装置及数字签名系统, 以简化数字签名处理过程。 本发明实施例提供了一种数字签名方法,包括
接收系统参数;所述系统参数包括P及哈希函数H2 ;
选取随机数k ;k G Zq, Zq为剩余类集{0, 1,2, , q-1};
通过公式r = kP得到消息m签名二元组的一部分; 通过得到的r及系统参数中的哈希函数H2计算H2 (m, r),将所述消息m映射为一 个整数v ; 通过公式u = (v/k)Sm得到所述消息m签名二元组的另一部分;其中,SID为用户 私钥。 本发明实施例还提供了一种数字签名的验证方法,包括 接收系统参数及消息m签名二元组u,r ;所述系统参数包括哈希函数Hy哈希函数 &及配对函数t ; 通过消息m签名二元组中的r及系统参数中的哈希函数H2计算H2 (m, r),将消息 m映射为一个整数v ; 通过系统参数中的哈希函数HJ十算HJID)计算发送所述消息m的用户的公钥Qm ;
4其中,ID为对所述消息m进行签名的用户身份信息; 通过系统参数中的配对函数t计算t (u,r) 、t(Qm,Qjv,对所述消息m的签名二元
组(u, r)进行验证;其中,QTA为系统公开密钥。 本发明实施例还提供了一种数字签名装置,包括 接收模块,用于接收系统参数;所述系统参数包括P及哈希函数H2 ; 参数选取模块,用于选取随机数k;kG Z,,Z,为剩余类集{0,l,2,...,q-l}; 第一签名生成模块,用于通过公式r = kP得到消息m签名二元组的一部分; 映射模块,用于通过得到的r及系统参数中的哈希函数H2计算H2 (m, r),将所述消
息m映射为一个整数v ; 第二签名生成模块,用于通过公式u = (v/k)Sm得到所述消息m签名二元组的另 一部分;其中,Sm为用户私钥。 本发明实施例还提供了一种数字签名的验证装置,包括 接收模块,用于接收系统参数及消息m签名二元组u,r ;所述系统参数包括哈希函 数H^哈希函数&及配对函数t ; 映射模块,用于通过消息m签名二元组中的r及系统参数中的哈希函数H2计算 H2 (m, r),将消息m映射为一个整数v ; 公钥计算模块,用于通过系统参数中的哈希函数HJ十算HJID)计算发送所述消息 m的用户的公钥QID ;其中,ID为对所述消息m进行签名的用户身份信息;
验证模块,用于通过系统参数中的配对函数t计算t(u, r) 、 t(QID, Qjv,对所述消 息m的签名二元组(u, r)进行验证;其中,QTA为系统公开密钥。 本发明实施例还提供了 一种数字签名系统,包括上述数字签名装置及上述数字签 名的验证装置。 上述实施例提供的技术方案通过选取系统参数P及随机数k生成r,并将r作为消 息的签名二元组中的一个元素,生成消息的签名,避免了在签名的生成过程中计算配对,简 化了签名生成过程,提高了签名的生成效率。并且,能够保证数字签名系统的安全性。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明实施例提供的数字签名方法的流程图;
图2为本发明实施例提供的数字签名的验证方法的流程图; 图3为本发明实施例提供的数字签名方法与验证方法所应用的数字签名系统的 结构示意图; 图4为图3所示系统的数字签名的流程图;
图5为本发明实施例提供的数字签名装置的结构示意图;
图6为本发明实施例提供的数字签名的验证装置的结构示意图;
图7为本发明实施例提供的数字签名系统结构示意图。
具体实施例方式图1为本发明实施例提供的数字签名方法的流程图。该方法包括
5
步骤11、接收系统参数;所述系统参数包括P及哈希函数4 ; 步骤12、选取随机数k ;k G Zq, Zq为剩余类集{0, 1,2, . . . , q_l} , 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 ;其中,Sm为用户私钥。u是签名的一部分,是通过运算得到的椭圆曲线上的一个点。
上述步骤11 步骤15可由签名装置执行。 上述步骤12中,签名装置只需任意地选取一个随机数k G Z,,便可执行步骤13。
上述步骤13中,系统参数P由私钥生成中心选取并发送给签名装置。私钥生成中心选取系统参数包括选取椭圆曲线E :y2 = f+ax+b、选取群Gi和群62、选取Tate配对函数t、选取哈希函数Hi与哈希函数H2。椭圆曲线E :y2 = x3+ax+b中,a,b G F,,F,表示有限域,q是素数。私钥生成中心选择一个公开的基点PGE(F,),其阶为q二ord(P)。群&是阶为q的加法群,群^是阶为q的乘法群。在群^和群G2中离散对数问题都是难解的。设配对函数t是G^G2到G2的一个双线性映射。私钥生成中心取&为有限域Fq上椭圆曲线有理点群的一个加法子群,私钥生成中心取62为这个有限域的一个乘法子群,私钥生成中心由椭圆曲线上的Tate配对派生得到双线性映射函数t。对于群^中的任意给定元素a,b G G15 t(a, b)能被容易计算,而当给定任意的b G ^和c G 62,计算a G ^以致于t(a,b) 二c是不可行的。私钥生成中心选取哈希函数&与哈希函数4。其中,& :{0,1}*_>{0},哈希函数&用来实现将签名装置的身份ID通过映射变换到椭圆曲线上的一个点,即生成签名装置的公钥,并由私钥生成中心使用系统私钥和签名装置的公钥,生成与签名装置的身份相关的私钥;H2 : {0, 1} **Gr > Zq,哈希函数H2用来实现将需要签名的消息m通过映射变换成一个整数,哈希函数^与哈希函数^均公开。签名装置利用私钥生成中心公开的系统参数P以及上述步骤12选取的随机数k计算得到r。 上述步骤14中,签名装置通过私钥生成中心公开的哈希函数^,用上述步骤13得到的r将消息m映射为一个整数v,避免了将消息m通过明文嵌入映射到椭圆曲线上一个点的复杂运算。 上述步骤15中,签名装置利用用户私钥Sm及上述步骤12选取的随机数k、上述步骤14得到的整数v得到u。其中,用户私钥Sm由签名装置向私钥生成中心请求获得。当签名装置请求与所属用户的身份相对应的私钥时,私钥生成中心执行私钥提取算法。假设签名装置所属用户的身份由字符串ID表示,则签名装置的用户公钥QID为QID = HJID)。相应地,签名装置的用户私钥SID由私钥生成中心通过公式SID = sQID计算得到。签名装置的用户私钥SID在签名装置第一次加入系统时,由私钥生成中心计算出来并通过安全渠道发送给签名装置。任何其它用户的用户私钥的生成过程均与签名装置的私钥生成过程相同。
上述步骤15执行完毕后,得到消息m的签名二元组(u,r),签名装置完成对消息m的签名。
6
本实施例提供的技术方案通过选取系统参数P及随机数k生成r,并将r作为消息的签名二元组中的一个元素,生成消息的签名,不用随机生成群^中的点Pp避免了在签名的生成过程中计算配对,简化了签名生成过程,提高了签名的生成效率。并且,在签名的生成过程中,消息m的二元组签名(u,r)中的u和r均是椭圆曲线中倍乘运算的结果,基于椭圆曲线上离散对数问题(ECDLP)的困难性(即由k和P求r 二kP是容易的,但由椭圆曲线中倍乘结果r和P求k使得r = kP是困难的),从而能够保证数字签名系统的安全性。
图2为本发明实施例提供的数字签名的验证方法的流程图。该方法包括
步骤21、接收系统参数及消息m签名二元组u,r ;所述系统参数包括哈希函数H2、哈希函数^及配对函数t ; 步骤22、利用消息m的签名二元组中的r以及系统参数中的哈希函数112计算112(111,r),将所述消息m映射为一个整数v ; S卩,通过公式v = H2 (m, r)得到v。哈希函数H2详见上述步骤13的说明。 步骤23、利用发送所述消息m的用户的身份ID以及系统参数中的哈希函数&计算& (ID),得到所述用户的用户公钥QID ;即,通过公式QID = & (ID)计算得到所述用户的用户公钥Qm。其中,ID为对所述消息m进行签名的用户身份信息。哈希函数&详见上述步骤13的说明。 步骤24、通过系统参数中的配对函数t计算t (u, r) 、 t (QID, QTA) v,对所述消息m的签名二元组(u,r)进行验证;其中,QM为系统公开密钥。Tate配对函数t详见上述步骤13的说明。 上述步骤21 步骤24可由验证装置执行。 上述步骤24中,系统公开密钥QTA由私钥生成中心随机选取一元素P G GA {0}和一个秘密随机数s G Zq,并通过公式QTA = sP计算得到。其中,s的值仅被私钥生成中心存储。私钥生成中心得到系统公开密钥(^后发布(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)四部分。具体
7包括以下步骤 步骤41、选取系统参数。详见上述步骤13的说明,该系统参数可以直接利用消息的明文进行签名的相关运算,而不需要对消息进行明文映射,变换到椭圆曲线上的点,简化了签名的实现。 步骤42、私钥生成中心生成系统的公开密钥(P, QTA)和系统私钥s。 该步骤由私钥生成中心在系统初始化阶段完成。在私钥生成中心输入系统参
数,输出系统公开密钥(P, QTA)和系统私钥s。具体地,私钥生成中心随机地选取一元素
P G GA{0}及一秘密随机数s G Z,,计算QTA = sP得到系统公开密钥QTA ;然后向系统的所
有用户公开发布系统的公开密钥(P, QJ,并保存系统私钥S ;所有用户包括签名装置所属
用户和验证装置所属用户。最后,私钥生成中心公布系统公开密钥(P, QJ,并保存系统私钥s。 步骤43、私钥生成中心为签名装置生成用户私钥SID。 具体地,当签名装置首次加入系统时,私钥生成中心计算用户公钥QID = HJID),即可由签名装置所属用户的身份字符串ID生成签名装置的用户公钥Qm,并计算用户私钥SID = sQm,在签名装置首次加入系统时将签名装置的用户私钥SID通过安全渠道发送给签
名装置。换句话说,该算法由私钥生成中心完成,在私钥生成中心输入系统公开密钥(p,
QJ、系统私钥s和用户的身份ID,输出用户私钥S^之后私钥生成中心用安全的信道将用
户私钥sID返回给签名装置和验证装置。 步骤44、签名装置生成消息m的签名(u, r)。 生成签名的算法由签名装置实现。在签名装置输入安全参数r、系统公开密钥(P,QTA)、用户私钥Sm以及消息m,输出对消息m的签名o(u,r)。具体地,签名装置任意地选取一个随机数k G Zq,计算r = kP、 v = H2 (m, r) 、 u = (v/k) SID,生成消息m的签名(u, r),并发送给验证装置。签名的生成过程具体详见上述图l所示实施例。
步骤45、验证装置验证签名装置对消息m的签名(u, r)。 该验证算法由签名的验证装置完成。在验证装置输入系统公开密钥(P,QJ、签名装置的用户身份ID、消息m和签名o (u,r),输出签名验证结果l或O,代表真和伪。具体地,签名验证装置收到消息m和签名装置对消息m的签名(u,r)后,计算v = H2 (m, r) 、t (u,
r);通过签名装置的身份字符串ID计算签名装置的用户公钥Qm,即计算Qm = 1^(10);并
计算t说D, QTA)V。当且仅当t(u, r) = t(QID, Qtt)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 G Zq, Zq为剩余类集{0, 1 , 2,. . . , q-1}。第一签名生成模块53用于通过公式r = kP得到消息m签名二元组的一部分;所述系统参数P为公开的基点,具体详见上述步骤13的说明。映射模块54用于通过第一签名生成模块53得到的r及系统参数中的哈希函数H2计算H2 (m, r),将所述消息m映射为一个整数v,详见上述步骤14的说明。第二签
8名生成模块55用于通过公式u = (v/k)Sm得到所述消息m签名二元组的另一部分;其中,Sm为用户私钥。详见上述步骤15的说明。 本实施例提供数字签名装置通过选取随机数k生成r,并将r作为消息的签名二元组中的一个元素,生成消息的签名,不用随机生成群^中的点Pp避免了在签名的生成过程中计算配对,简化了签名生成过程,提高了签名的生成效率。 图6为本发明实施例提供的数字签名的验证装置的结构示意图。该验证装置包括接收模块61、映射模块62、公钥计算模块63及验证模块64。接收模块6l用于接收系统参数及消息m签名二元组u, r ;所述系统参数包括哈希函数!12、哈希函数&及配对函数t。映射模块62用于通过消息m签名二元组中的r及系统参数中的哈希函数H2计算H2 (m, r),将消息m映射为一个整数v,具体操作详见上述步骤22的说明。公钥计算模块63用于通过系统参数中的哈希函数&计算& (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配对的结果是否相等,不用对两个配对运算的结果再做乘运算,有效地提高了基于身份密码体制签名算法实施过程中的速度。 本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。 最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
9
权利要求
一种数字签名方法,其特征在于,包括接收系统参数;所述系统参数包括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、哈希函数&及配对函数t ;通过消息m签名二元组中的r及系统参数中的哈希函数H2计算H2 (m, r),将消息m映 射为一个整数v;通过系统参数中的哈希函数^计算HJID)计算发送所述消息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及哈希函数^ ; 参数选取模块,用于选取随机数k;k G Z,,Z,为剩余类集{0,1,2,... ,q_l}; 第一签名生成模块,用于通过公式r = kP得到消息m签名二元组的一部分; 映射模块,用于通过得到的r及系统参数中的哈希函数H2计算H2 (m, r),将所述消息m 映射为一个整数v ;第二签名生成模块,用于通过公式u = (v/k)Sm得到所述消息m签名二元组的另一部 分;其中,Sm为用户私钥。
5. —种数字签名的验证装置,其特征在于,包括接收模块,用于接收系统参数及消息m签名二元组u, r ;所述系统参数包括哈希函数 H^哈希函数&及配对函数t ;映射模块,用于通过消息m签名二元组中的r及系统参数中的哈希函数H2计算H2(m, r),将消息m映射为一个整数v ;公钥计算模块,用于通过系统参数中的哈希函数&计算& (ID)计算发送所述消息m的 用户的公钥QID ;其中,ID为对所述消息m进行签名的用户身份信息;验证模块,用于通过系统参数中的配对函数t计算t(u, r)、 t(QID, Qtt)v,对所述消息m 的签名二元组(u, r)进行验证;其中,QTA为系统公开密钥。
6. 根据权利要求5所述的数字签名的验证装置,其特征在于,所述验证模块当t(u, r) =t(QID, QTA)V时,验证所述消息m的签名二元组通过验证。
7. —种数字签名系统,其特征在于,包括上述权利要求4所述的数字签名装置及上述 权利要求5或6所述的数字签名的验证装置。
全文摘要
本发明涉及一种数字签名方法、验证方法、数字签名装置及数字签名系统,签名方法包括接收系统参数;所述系统参数包括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作为消息的签名二元组中的一个元素,生成消息的签名,避免了在签名的生成过程中计算配对,简化了签名生成过程,提高了签名的生成效率。
文档编号H04L9/28GK101697513SQ20091017964
公开日2010年4月21日 申请日期2009年10月26日 优先权日2009年10月26日
发明者王茂才, 罗耀平, 胡汉平, 陈国乔 申请人:深圳华为通信技术有限公司;华中科技大学;
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1