CN101547099B - 基于椭圆曲线的自认证签名方法与装置 - Google Patents
基于椭圆曲线的自认证签名方法与装置 Download PDFInfo
- Publication number
- CN101547099B CN101547099B CN2009100831841A CN200910083184A CN101547099B CN 101547099 B CN101547099 B CN 101547099B CN 2009100831841 A CN2009100831841 A CN 2009100831841A CN 200910083184 A CN200910083184 A CN 200910083184A CN 101547099 B CN101547099 B CN 101547099B
- Authority
- CN
- China
- Prior art keywords
- signature
- entity
- private key
- produce
- pki
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于椭圆曲线的自认证签名方法及其拓展的签名方法,以及签名的验证过程。认证授权机构产生签名实体的部分签名私钥,签名实体利用自己选取的部分私钥,结合接收的认证授权机构的私钥,生成签名私钥。利用椭圆曲线,提高运算效率,并且提出了基于椭圆曲线的1-1自认证签名方法,自认证聚合签名方法,以及离线的状态下生成自认证签名的方法,这几种方法的安全性基于提出的SDH+CDH假设。提出的若干方法不仅能够满足签名协议的安全要求,而且在一定程度上能够提高签名效率,满足某些特殊情况要求。
Description
技术领域
本发明涉及密码领域的数字签名技术,自认证技术,通过结合椭圆曲线密码技术,并且利用计算机和其他类型的通讯设备,通过网络或其他途径实现自认证签名系统的设计,从而可以作为构造安全,公平电子商务、电子政务等的模块。
背景技术
数字签名方案中的私钥通常情况下,是由实体自己选取,并且秘密保管,所产生的相应公钥需要由一个认证权威机构产生一个证书来认证。在签名过程中,签名实体利用其私钥可以对任何消息进行签名,当一个验证者验证一个签名的有效性时,首先验证签名者公钥证书的有效性,再利用签名者的公钥来验证消息签名的有效性。在这种传统的PKI公钥体制下,认证权威机构需要对用户公钥证书的产生、更新、撤销和分发等复杂操作进行管理,从而给认证权威机构带来了沉重的负担,也增大了验证者验证的计算量。而基于身份的公钥体制,采用用户的身份,如:IP地址或email地址等作为用户的公钥,删除了传统PKI公钥体制中公钥证书的复杂管理,然而,用户的私钥需要一个私钥产生中心(PKG)来产生,用户必须完全信任该PKG,因而,基于身份的公钥体制存在着密钥托管问题。在现实社会中,这种信任无法完全保证。
为了删除传统PKI体制中认证权威机构对公钥证书的复杂管理,以及基于身份公钥体制中的密钥托管问,我们提出一种自认证签名系统。在该系统中,用户私钥的产生是由用户和权威认证机构共同完成。
本发明提出的基于椭圆曲线的自认证的签名方案,区别于传统公钥密码体制下数字签名方案,也不同于基于身份公钥体制下签名方案,它删除了这两种公钥体制的弊端并继承了它们的优势。在这种方案中,签名实体的私钥由两部分组成,一部分是由签名实体在Zp中随机一个元素来产生,另一部分是由认证授权机构通过自己的公/私钥对、签名实体的身份和公钥及其系统参数来产生,这样不仅可以使得签名实体的公钥被隐式的验证,而且可以有效的解决密钥的托管问题,同时,也删除了对权威认证机构对公钥证书的复杂管理。有效的限制了权威认证机构的权利的滥用,杜绝了恶意的权威认证机构以签名实体的名义来伪造消息签名。签名实体只有在权威认证机构的帮助下,才能获得有效的签名私钥。因此,不了解密码知识的实体也可以从这种签名方案中受益。
椭圆曲线是代数几何中最重要的一类研究对象,其中椭圆曲线中的双线性对即代数曲线的Weil和Tate对是代数几何研究的重要工具。椭圆曲线上的离散对数问题远难于离散对数问题,在椭圆曲线密码系统中单位比特强度要远高于传统的离散对数系统。因此在使用较短的密钥的情况下,ECC可以达到于DL系统相同的安全性。这带来的好处就是计算参数更小,密钥更短,运算速度更快,签名也更加短小。因此椭圆曲线密码尤其适用于处理器速度、带宽及功耗受限的场合。目前,许多基于椭圆曲线的数字签名方案被提出,尤其是许多基于身份ID的数字签名。随着数字签名的发展,为了能够满足不同的实际情况的要求,出现了适应不同情况的数字签名方案。但关于签名密钥的产生,密钥的托管却一直是研究的难点和重点。
1985年Neal Koblitz和Victor Miller分别提出将椭圆曲线用于公钥密码系统,并用椭圆曲线实现了已存在的公钥密码算法。基于椭圆曲线离散对数问题难解性的密码算法被称为椭圆曲线密码算法(Elliptic Curve Cryptography简称ECC),成为国际密码界所广泛接受的公钥密码算法。
US4200770给出了一个可以在公开信道中交换密钥的方法和设备,这个方法称为公开密钥交换或称为Diffie-Hellman密钥交换方法。该专利使得通信双方使用一个模函数协商和传递他们的秘密信息,解决了设计安全密码系统的一些密钥管理方面的麻烦。公钥密码系统中,每个实体拥有自己的私钥和公钥,私钥只有实体自己知道,公钥则由系统管理,不需要阻止公钥的公开,由于它的秘密在安全通信和数字签名中是不必要的。但是,公钥密码体制面临着熟悉的认证问题,例如,一个实体提供给签名实体有效的,但是错误的公钥,签名实体利用该公钥将秘密信息编码,编码将有可能被签名实体以外的实体解码,或者骗取签名实体接受含有无效签名的信息。最熟悉的认证公钥的方法是利用明确的证书,像X.509。当某个实体要使用其他实体的公钥时,前者必须要事先验证该公钥的真实性。攻击者要想获得传递的秘密信息,必须解决离散对数问题,如果使用的参数足够大,解离散对数问题是个难解的问题。
在传统公钥PKI框架下,用户的公钥是一串没有意义的字符串,并且有一个公钥证书与之相关联。为了简化证书的管理,在1984年Shamir提出了基于身份的公钥密码系统。在基于身份的公钥是由签名实体的身份产生,相应的私钥由一个值得信赖的认证授权机构产生。显然,这种体制存在着一个致命问题:密钥托管问题。认证授权机构了解所有签名实体的私钥,对于一个不诚实的认证授权机构,它可以任何伪造签名实体的签名。在1991年,Girault提出的自认证的公钥体制,作为除了基于身份的密码系统和传统的公钥密码体系以外的一种可选公钥体制。该公钥体制不仅删除了传统公钥体制下的复杂的证书管理,也克服了基于身份密码系统中的密钥托管问题。签名实体的私钥由认证授权机构和签名实体本身联合产生,有效的杜绝了不诚实认证授权机构的非法操作;在应用中,签名实体的公钥证书是以隐式方式被验证。在1997年Petersen和Hoster将自认证的公钥扩展到基于离散对数的密码系统中,随之也出现了很多基于离散对数的自认证的签名方案,但是由于离散对数的运算量比较大,计算比较复杂,对于密钥的选取比较麻烦,所以这类签名方案不是十分有效,自认证公钥体制的优势没有体现出来。相对于离散对数,椭圆曲线的计算量小,运算速度快,但遗憾的是利用椭圆曲线构造自认证的签名方案还没有正式的给出严格定义,因此需要定义基于椭圆曲线的自认证的签名方案。
一种有效的安全假设,该安全假设是构造基于椭圆曲线的自认证的签名方案的安全基础。对于构造安全的签名方案,通常利用的是强的Diffie-Hellman假设(strong Diffie-Hellman(SDH)assumption)和计算性Diffie-Hellman假设(Computational Diffie-Hellman(CDH)assumption),为了构造一种安全有效的基于椭圆曲线的自认证签名方案,本发明给出了一种新的,可证明安全的假设,我们称它为强的Diffie-Hellman假设+可计算的Diffie-Hellman假设,该假设将两则安全假设相结合,利用可计算的Diffie-Hellman假设的困难性,说明与所构造假设的困难性介于熟悉的两假设之间,是构造安全有效的基于椭圆曲线的自认证的签名方案的有效工具。
一种有效的基于椭圆曲线的自认证密钥产生方法。通常情况下,签名实体的私钥只有自己知道,并且由私钥所产生的公钥是一个随机的字符串,不便于记忆,并且该公钥需要一个权威认证机构来进行认证。随着电子商务与Internet技术的发展,计算能力小、带宽与内存有限的移动设备和便携设备日益得到普及,如何设计有效的签名技术和简化复杂的管理越来越迫切.1991年Girault的文章“Self-certified public keys(自认证公钥)”被发表在Pro.of the Eurocrypt’94,491-497,提出了自认证公钥的构造及产生,但对于私钥的产生及如何构造基于椭圆曲线的自认证私钥,没有给出具体的描述。自认证签名系统,不仅可以简化对公钥证书的管理和删除密钥托管问题,而且也可以减少验证者对签名验证的计算量。而椭圆曲线密码具有在同等安全强度下,签名长度短特点;因此,我们需要构造一种安全有效的基于椭圆曲线的自认证密钥的方法。
一种有效的自认证签名系统,即一个签名实体利用私钥对消息M产生签名,而验证者可以利用用户的身份ID和权威认证中心的公钥Pca来对这个消息签名进行验证。1997年Petersen和Hoster将自认证的公钥扩展到基于离散对数的密码系统中,文章“Self-certified keys-concept and application(自认证的密钥-概念和应用)”发表在Pro.of the Communication and Multimedia Security’97,102-116。但与椭圆曲线相比,离散对数的计算量,运算速度都不理想,该签名方法可以使签名实体在认证授权机构的帮助下,获得有效的签名密钥,并实现对消息完的签名。但是,还未出现基于椭圆曲线的自认证的签名方案的形式化定义,因此,需要一种基于椭圆曲线的自认证的签名方法。
一种有效的聚合签名方法,即签名实体对多条消息签名,验证者可以对这些消息签名进行同时验证而不是分别验证。目前存在着许多签名方案,但这些方案都不同程度的存在缺陷,比如,验证者对对多个消息签名验证时,签名的长度会随着消息签名的增加而变大,计算量,运算负担也相应变大等。需要一种能够满足验证者能够对多条消息签名验证的签名方法。因此,需要一种有效的基于椭圆曲线的自认证的聚合签名方法。
一种基于椭圆曲线的在线/离线自认证签名方法,能够在线/离线状态下,为签名实体产生消息签名的签名方案。在实际应用中,在线时间比签名时间重要,并不是所有签名过程都是在线状态下完成的,如果能够在离线状态下,仍能完成签名,则可以极大的提高签名效率,节省不必要的浪费。2001年A.Shamir,Y.Tauman的文章“Improved online/offline signature schemes(改进的在线/离线签名方案)”发表在Advances in crypt’2001,355-367。然而,基于椭圆曲线的,能够在/离线状态下同时完成自认证签名的方法却没有出现。因此,需要一种基于椭圆曲线的在线/离线自认证的签名方法,在/离线状态下都可以对消息进行处理,产生自认证签名的签名方法。
因此,本发明的目的之一是提供一种有效的SDH+CDH假设。本发明的目的之二是提供一种有效的基于椭圆曲线的自认证签名方法。本发明的目的之三是提供一种有效的,基于椭圆曲线的自认证的聚合签名方法。本发明的目的之四是提供一种基于椭圆曲线的在/离线自认证签名方法。一种困难性低于Computational Diffie-Hellman(CDH)Assumption而高于q-Strong Diffie-Hellman Assumption的新的假设q-SDH+CDH Assumption,该假设具体内容包括:
选取定义的第一个循环群G1;
选取第一个循环群G1中的一个q元数组和一个数组
一种基于椭圆曲线的,产生关于消息M的自认证签名Sig的方法以及验证,一个签名实体对消息M产生签名δ,最后,一个验证者利用验证算法对该签名δ进行验证,具体内容包括:
在系统初始化阶段,选取第一循环群G1和第二循环群G2(阶数均为大素数p);
选取一个非退化的双线性对映射e,满足能够由G1中的两个元素映射到G2中的一个元素;
选取第一循环群G1的生成元g;
随机选取模p的剩余类Zp中的一个元素α作为CA的私钥,并且产生PCA=gα作为CA公钥;
选取第一哈希函数H1,能由第一串二进制数产生第一循环群G1中的一个元素;
选取第二哈希函数H2,能由第二串二进制数产生剩余类Zp中的一个元素;
选取第三哈希函数H,能由第三串二进制数产生剩余类Zp中的一个元素;
权威授权中心CA和用户Ui进行交互操作来产生用户Ui来产生用户的私钥。当CA接收到用户Ui发送来的信息(IDi,Pi),CA利用它的公钥和(IDi,Pi)作为第一哈希函数值的输入来计算h1=H1(PCA,IDi,Pi),然后再利用它的私钥来产生用户Ui的部分私钥并返回给用户Ui。
当用户Ui接收到部分私钥di以后,利用(Pi,PCA,IDi)通过下面的等式来验证Ui的部分私钥di的有效性
最后,签名实体Ui的私钥为(xi,di),其中(i=1,2,…,n);
在签名阶段,为了产生对消息M的签名,用户Ui通过自认证签名算法来产生一个签名。具体如下:
1.随机选取模p的剩余类Zp中的一个元素s;
3.产生消息M的自认证的签名Sig=(δ1,δ2)
在签名验证阶段,把Sig=(δ1,δ2)和消息M作为验证装置的一个输入,该验证装置工作如下:
一种基于椭圆曲线的,产生关于消息的自认证聚合签名Sig的方法以及验证,签名实体可以对不同的消息进行签名,最后把这些消息签名聚合生成最终签名,在验证时,验证者只要验证聚合所得到的签名,就意味着所有的消息签名是正确的,通过该方法可以使签名验证的计算量和速度比较所有单个消息签名的验证有很大提高,且聚合后的签名长度比所有单个签名的长度明显缩短,该系统包括:
一个认证授权机构和签名实体进行一个交互操作来签名实体的签名密钥;签名实体利用所产生的签名密钥按照上面的自认证加密签名方法来对不同消息产生签名。最后,签名实体把对不同消息产生的签名聚合成一个最终的签名。
当一个验证者验证几个不同消息的聚合签名时,他利用预先选定的双线性对映射和选定的哈希函数来验证聚合签名的有效性,如果该聚合签名满足验证等式,这就意味着这几个不同消息的签名是有效的。
一个可以由一个签名实体,对一个消息M产生签名的offline/online系统,该系统分为在线和离线两个阶段。该签名实体在离线(offline)状态下,完成签名的主要运算过程;在在线状态下,签名实体基于离线状态下的计算结果,使用较少的计算量来产生消息M签名。该系统包括:
一个认证授权构和签名实体进行交互操作,产生签名实体的签名密钥,每个签名实体对应各自的不同签名密钥,签名实体与认证授权机构共同产生签名实体的签名私钥;
一个与认证授权机构,签名实体相互传递的处理器,该处理器能够利用预先选定的哈希函数,认证机构或者签名实体的输入生成一个函数值,并且利用该函数值和签名实体的私钥,相关公钥生成签名实体的自认证签名;而且,该处理器能够在离线状态下,随机的选择秘密信息和一个随机数,利用预先选定的函数,签名实体的私钥,生成一个离线签名,在在线签名阶段,该处理器能够使用在离线状态下所生成的离线签名与待签消息M,共同生成一个在线自认证签名;
一个与签名验证者相互传递的处理器,该处理器能够利用预先选定的双线性对映射,选定的哈希函数,上面处理器生成的在线自认证签名进行验证,如果通过验证,确定该签名的真实性。
发明内容
本发明给出了可靠的理论基础,提出了安全,有效且快速的密钥,签名产生方法。
本发明的目的在于提出一种新的有效椭圆曲线自认证签名方法。该签名方法基于椭圆曲线离散对数问题,该问题具有高复杂性,因而具有单位安全强度更高的特定,可大大缩短具有相同安全强度的数字签名长度,加快签名速度。
本发明的内容之一,提出了有效的SDH+CDH假设。利用解决强SDH和CDH假设的困难性,将两者的困难性相结合,构造了有效的SDH+CDH假设。在多项式时间内解决SDH假设的概率是可以忽略的,在多项式时间内解决CDH假设的概率也是可以忽略的,由于提出假设的困难性低于解决CDH假设,而高于解决SDH假设,得知在多项式时间内解决SDH+CDH假设的概率也是可以忽略的。利用SDH+CDH假设,可以产生有效的基于椭圆曲线的自认证签名方案,构造方案的安全模型和安全性证明。
本发明的内容之二,提出了一种有效的基于椭圆曲线的自认证密钥产生方法。传统的公钥系统中,用户的私钥可以自己产生或由一个认证机构产生,然后,生成相应的公钥,这个公钥是一个随机的字符串,一般不容易记忆;同时相应的公钥需要一个认证机构来认证该公钥的有效性。因此,带来的问题是:当验证签名时,验证者首先需要公钥的有效性,然后,再利用该公钥来验证签名的有效性。显然,不适合目前流行的低计算、低计算的移动设备。本发明中签名实体的私钥只能在认证授权机构的帮助下才能完成。具体如下:产生第一循环群和第二循环群,选出一个非退化的双线性映射,使得由第一循环群中的两个元素能够得到第二循环群中的一个元素。选出第一循环群的生成元,并产生第二循环群的生成元。随机选取剩余类Zq中一个的元素,生成认证授权机构的密钥。签名实体在剩余类Zq中随机选择一个数作为部分私钥,并产生相应的部分公钥,认证授权机构利用它的私钥、签名实体的身份和第一,第二哈希函数,生成签名实体的另外的部分私钥,最后,签名实体可以将两部分密钥合在一起,产生签名密钥。
本发明的内容之三,提出了一种有效的基于椭圆曲线的自认证签名的方法。具体如下:产生第一循环群和第二循环群,选出一个非退化的双线性映射,使得由第一循环群中的两个元素能够得到第二循环群中的一个元素。选出第一循环群的生成元,并产生第二循环群的生成元。随机选取剩余类Zq中一个的元素,生成认证授权机构的密钥。签名实体选取的部分私钥,产生相应的部分公钥,认证授权机构利用它的私钥、用户的身份和第一,第二哈希函数,生成签名实体的另外的部分私钥。签名实体利用签名私钥,选择随机数、利用哈希函数和自己的身份与认证授权机构的公钥来对消息进行签名。自认证签名可以通过非退化的双线性映射,认证授权机构的公钥和签名实体的身份,以及哈希函数来完成签名的验证。
本发明的内容之四,提出了一种有效的基于椭圆曲线的,聚合的自认证签名方法。签名实体利用签名密钥对不用的消息进行签名,然后,把这些不同的消息签名聚合起来,生成一个聚合签名。然后,该聚合签名可以通过非退化的双线性映射,认证授权机构的公钥和签名实体的身份,及选定的哈希函数来完成签名的验证。
本发明的内容之五,提出了一种基于椭圆曲线的在/离线自认证的签名方法,能够在/离线状态下,为签名实体产生消息签名。利用预先选定的函数,认证机构或者签名实体的输入生成消息函数值,并且利用消息函数值和签名实体的私钥,认证授权机构的公钥生成签名实体的自认证签名;在线时间通常比签名时间更重要,离线状态下,随机的选择秘密信息和一个随机数,随机选择一条消息,利用预先选定的函数,签名实体的私钥生成一个离线签名,在以后的处理中,该处理器能够在在线状态下,能够利用识别出与所给消息相匹配的签名中所包含的随机数来认证。因此,需要一种基于椭圆曲线的在/离线自认证的签名方法,来完成对消息签名的签名方法。
附图说明
图1是一张流程图,该图介绍了本发明的内容之二的操作过程,描述了如何产生一种有效的基于椭圆曲线的自认证密钥的方法;
图2是一张流程图,该图介绍了本发明的内容之三的操作过程,描述了如何产生一种有效的基于椭圆曲线的,一个签名实体对一条消息进行自认证签名的方法;
图3是一张流程图,该图介绍了本发明的内容之四的操作过程,描述了如何产生一种有效的基于椭圆曲线的,自认证的聚合签名方法;
图4是一张流程图,该图介绍了本发明的内容之五的操作过程,描述了如何产生一种基于椭圆曲线的在/离线自认证的签名方法;
图5是本发明的签名装置的方框图。
具体实施方式
本发明所提出的基于椭圆曲线的自认证的签名方法,能够提供安全,快速,简洁而且有效的签名方法,通过对签名实体的签名密钥设置,防止了签名权利的外延。本发明提出的基于椭圆曲线的自认证的签名方法,根据不同的签名实体,签名消息,可以扩展到满足一对多的聚合签名,即一个签名实体对不同消息进行自认证签名,然后,把这些消息签名聚合成一个签名的方法;为了提高在线签名的速度,给出了一种在/离线自认证消息签名方法。
本发明的基于椭圆曲线的自认证的签名方法,在用户的部分私钥产生中需要一个认证授权机构CA。签名实体在产生签名密钥的过程中,与该认证授权机构交互传递,签名实体选择一个剩余类Zp中的随机数作为自己的部分签名私钥,认证授权机构利用签名实体的身份,部分公钥等特殊信息,产生签名实体的另外部分签名私钥,签名实体将两部分私钥结合,得到有效的签名私钥。本发明中的认证授权机构不在是一个完全信任机构,签名实体的私钥不再有它完全产生,它也不能伪造签名实体的签名。
本发明提出的基于椭圆曲线的自认证的签名方法包括4个步骤:建立模型,密钥产生,签名,以及验证。离线状态下的签名步骤则还需要选取随机信息和识别匹配数两个步骤。
在建立模型中,该算法输入安全参数1k,认证授权机构CA选取秘密参数作为私钥,并用来产生公共参数params,包括第一循环群生成器,哈希函数,双线性映射函数和公钥。私钥的产生只有认证机构CA知道,参数params是公开的。
在密钥产生中,签名实体选取自己的部分私钥,并生成相应的部分公钥。签名实体将身份信息,部分公钥传递给认证授权机构,认证授权机构利用哈希函数,经过处理,得到签名实体的另一部分私钥,传递给签名实体,通过验证,签名实体确定私钥的真实性,产生签名私钥。
在签名过程中,签名实体选取一秘密参数,利用第一循环群生成器,自己的身份信息,公共参数,哈希函数产生部分签名,利用该部分签名和消息得到消息函数,再签名私钥对消息函数签名得到另一部分签名,将两部分签名合产生签名消息的自认证签名。
在验证过程中,利用哈希函数值,对公共参数params和消息进行处理,得到消息函数值。验证生成参数,消息函数值,自认证签名等是否满足验证等式,得到结论“接受”(签名有效)或者“拒绝”(签名无效)。
椭圆曲线
本发明的高效性是基于椭圆曲线上的运算简洁性。本发明提出的签名方法是基于椭圆曲线的,利用椭圆曲线上的对,比如Tate对和Weil对,来进行运算。本发明利用两个阶为大素数q的循环群,一个是椭圆曲线或阿贝尔族上点的加法群G1,它的生成器是g;另一个是有限域上的乘法群G2。两个循环群之间存在一种双线性映射函数e:G1×G1→G2,将加法群G1中的两个元素映射到乘法群G2中的一个元素。要求该函数满足:首先,双线性的,对于G1中的元素u,v,整数a,b,满足e(ua,vb)=e(u,v)ab;其次,非退化的,即对于G1中的元素g,满足e(g,g)≠1;再次,可计算的,对于G1中的元素u,v,存在有效的算法计算e(u,v)。除了上面的三个要求,该函数还应该是对称的,即e(u,v)=e(v,u)。椭圆曲线上点的运算,横纵坐标互相交换的两点,满足对称性,在椭圆曲线上得到的映射点是相同的。强的Diffie-Hellman+可计算的Diffie-Hellman假设。
本发明的安全性基于强的Diffie-Hellman假设-strong Diffie-Hellman(SDH)assumption和可计算的Diffie-Hellman假设-Computational Diffie-Hellman(CDH)assumption,其中,前者定义在(g1,G2)中,g1,g2分别是G1和G2的生成器,给出一个q+2元数组对于未知整数c,求出后者定义在G1上,g1是G1的生成器,给出对于未知整数x,y,求出对于上面的两种假设,本发明提出了一种新的假设强的Diffie-Hellman假设+可计算的Diffie-Hellman假设。该假设在困难性上,介于强的Diffie-Hellman假设和可计算的Diffie-Hellman假设之间。该假设同样定义在G1上,g1是G1的生成器,给出一个q元数组和2元数组对于整数c,r,求出如果强的Diffie-Hellman+可计算的Diffie-Hellman假设可以在多项式时间内解决,令q=2,则该假设转化为可计算的Diffie-Hellman假设,说明可以在多项式时间内解决可计算的Diffie-Hellman假设。实际上可计算的Diffie-Hellman假设等价于求逆运算,在多项式时间内是不能解决的。因此,提出的强的Diffie-Hellman+可计算的Diffie-Hellman假设也同样不能在多项式时间内,以不可忽略的概率解决。
如上所述,提出的强的Diffie-Hellman+可计算的Diffie-Hellman假设,定义在循环加群G1上,g1是G1的生成器,输入一个q元数组和2元数组对于整数c,r,输出输出结果的概率,决定于g1,c,r选取的任意性,以及概率算法A。如果一个概率算A法能够在多项式时间输出所要的值,则该算法能以不可忽略的概率解决强的Diffie-Hellman+可计算的Diffie-Hellman假设。但提出的假设,本质上等价于可计算的Diffie-Hellman假设,而可计算的Diffie-Hellman假设的困难性基于离散对数的求逆问题。离散对数的求逆问题,定义在循环加群G1上,g1是G1的生成器,输入对于未知整数x,输出x。在任意的多项式时间内,不能以不可忽略的概率解决离散对数的求逆问题,能够得出,不能以不可忽略的概率在多项式时间内解决可计算的Diffie-Hellman假设,因此不能以不可忽略的概率在多项式时间内解决强的Diffie-Hellman+可计算的Diffie-Hellman假设。该假设是构造基于椭圆曲线的自认证签名方案的理论基础。由于该假设的困难性,本发明提出的基于椭圆曲线的自认证签名方案是安全的。
基于椭圆曲线的自认证密钥产生方法
在传统的PKI框架下,签名私钥的选取,通常情况下,是签名实体秘密选取,然后生成相应的公钥,并由一个认证机构对该公钥进行认证,或者,由某个认证授权机构产生一对公/私钥,把私钥返回给用户,并对公钥进行认证。这种私钥产生方法给公钥管理以及签名的验证带来一系列的麻烦。在基于身份的体制下,用户的私钥是由一个可信机构来产生,因而,存在着密钥托管问题。为了解决传统公钥体制和基于身份公钥体制下,密钥产生所带来的问题,我们研究自认证的密钥产生方法,签名实体只能产生部分私钥,而另一部分,由认证授权机构对用户的身份和部分公钥产生一个BBS签名作为部分私钥,最后,将两部分私钥结合在一起,构成签名私钥。签名实体无法单独产生有效的签名私钥,认证授权机构的引入,将使得用户的公钥在签名验证时以隐式形式进行研究。
下面结合图1来说明基于椭圆曲线的自认证签名密钥的具体产生方法。图1给出的是一张流程图,描述了包括签名密钥产生及验证等各个步骤。签名实体的信息,作为哈希函数的输入,传递给认证授权机构,产生部分签名私钥。本方法的核心是步骤106和步骤110:步骤106中,签名实体任意选取部分私钥;步骤110中,认证授权机构生成签名实体的另一部分私钥,两部分结合产生签名私钥。
步骤101中,产生两个阶数同为大素数q的,第一循环加群G1和第二循环乘群G2;
步骤102中,选取G1的生成元为g;
步骤103中,选取一个非退化的双线性映射函数e,可以将G1中的两个元素映射到G2的元素;
步骤104中,认证授权机构选取秘密整数α作为其私钥;步骤105中,认证授权机构产生其公钥PCA=gα;
步骤106中,签名实体Ui任意选取整数xi(i=1,2,…,n)(i=1,2,)作为其部分私钥,不同的签名实体选取的整数各不相同,不同的签名过程,同一签名实体选取的整数也不同;
步骤108中,选取第一,第二哈希函数,第一哈希函数能够由一串二进制数产生第一循环群中的元素,第二哈希函数能够由一串二进制数产生一整数;
步骤109中,第一哈希函数H1由认证授权机构的公钥PCA,签名实体的身份IDi,部分公钥Pi组成的一串二进制数产生G1中的元素h0=H1(PCA,IDi,Pi);
步骤111中,利用双线性对映射e,验证等式满足验证等式的私钥对,签名实体认为是有效的,接受,否则,拒绝。
基于椭圆曲线的自认证签名的方法
基于椭圆曲线的自认证签名,就是一个签名实体对消息签名。本发明提出的方法,能够结合椭圆曲线的运算的高效性,简单的认证,解决了密钥托管问题和公钥复杂管理问题,同时,本方法的安全性和可行性是基于强的Diffie-Hellman+可计算的Diffie-Hellman假设的困难性。
下面结合图2来说明基于椭圆曲线的自认证签名的生成方法。图2给出的是一张流程图,描述了自认证签名产生的具体步骤。本方法的核心是步骤210和步骤213:步骤210,签名实体将选择的部分私钥和由认证授权机构产生的另一部分私钥结合,产生签名私钥;步骤213,签名实体利用签名私钥,消息的第三哈希函数值,产生自认证的签名。
步骤201,产生两个的循环群,第一个为加群G1,第二个为乘群G2,阶数都是大素数q;
步骤202,选取G1的生成元g,然后再随机选择群G1中的两个元素h1,h2∈G1作为公开参数;
步骤203,选取一个非退化的双线性映射e,可以将G1中的两个元素映射到G2中;
步骤204,认证授权机构选取秘密整数α作为其私钥。
步骤205,认证授权机构利用其私钥产生其公钥PCA=gα;
步骤206,签名实体Ui任意选取整数xi(i=1,2,…,n)(i=1,2,)作为其部分私钥,不同的签名实体选取的整数各不相同,不同的签名过程,同一签名实体选取的私钥也不同;
步骤208,选取三个哈希函数,第一哈希函数能够由一串二进制数产生第一循环群中的元素,第二哈希函数能够由一串二进制数产生一整数,第三个哈希函数能够由一串二进制数产生一整数;
步骤209中,第一哈希函数H1由认证授权机构的公钥PCA,签名实体的身份IDi,部分公钥Pi组成的一串二进制数产生G1中的元素h0=H1(PCA,IDi,Pi);
步骤212和213,签名实体分三层来进行签名。第一层,签名实体随机选取一整数s,签名实体利用认证授权机构公钥PCA,第二哈希函数H2,签名实体身份信息IDi,签名实体的部分公钥Pi,生成前签名第二层,签名实体,利用前签名δ1,签名消息M,签名实体的部分公钥Pi,生成消息的哈希值m=H(δ1,M,Pi);第三层,签名实体利用消息哈希值m,利用签名私钥(xi,di),第一和第二哈希函数H1,H2,签名实体身份信息INi,签名实体的部分公钥Pi,生成前签名将前签名和后签名合在一起,生成消息M的签名δ=(δ1,δ2);
步骤214,任意的验证实体,可以通过签名实体的公钥Pi,身份信息IDi,签名消息M,来验证签名δ的真实性。首先,计算m=H(δ1,M,Pi)和h0=H1(PCA,IDi,Pi);其次,验证等式是否成立,成立,则认为自认证签名有效,接受,否则,拒绝。
基于椭圆曲线的自认证聚合签名的方法
基于椭圆曲线的自认证聚合签名,就是签名实体对不同消息的签名,然后将这些不同的消息签名聚合成一个签名的方法。在签名的过程,类似于上面的自认证签名方法,签名实体首先利用自己的签名密钥对不同的消息进行签名,然后,通过聚合方法把这些不同消息的签名聚合成一个长度相对短的签名;在验证时,验证者只要对聚合后的签名有效进行验证,如果成立就意味着这些不同的签名是有效的。从而,在签名的长度和验证的计算量上有较大的缩减。
下面结合图3来说明基于椭圆曲线的自认证聚合签名的生成方法。图3给出的是一张流图,描述了签名实体对消息的自认证聚合签名产生的具体步骤。本方法的核心是步骤314,利用签名实体对不同的消息生成自认证的签名,将这些消息签名结合产成一个自认证聚合签名。
步骤301,产生两个的循环群,第一个为加群G1,第二个为乘群G2,阶数都是大素数q;
步骤302,选取G1的生成元g,然后再随机选择群G1中的两个元素h1,h2∈G1作为公开参数
步骤303,选取一个非退化的双线性函数e,可以将G1中的两个元素映射到G2中;
步骤304,认证授权机构选取秘密整数α作为其私钥,在不同的签名过程中,选取的秘密数不同;
步骤305,认证授权机构产生其公钥PCA=gα;
步骤306,签名实体任意选取整数xi(i=1,2,…,n)作为其部分私钥,不同的签名实体选取的整数各不相同,不同的签名过程,同一签名实体选取的私钥也不同;
步骤308,选取三个哈希函数,第一哈希函数能够由一串二进制数产生第一循环群中的元素,第二哈希函数能够由一串二进制数产生一整数,第三个哈希函数能够由一串二进制数产生一整数;
步骤309,第一哈希函数H1由认证授权机构的公钥PCA,签名实体的身份IDi,部分公钥Pi组成的一串二进制数产生G1中的元素h0=H1(PCA,IDi,Pi);
步骤311,利用函数e,验证等式如果等式验证成立,签名实体认为是有效的,接受,否则,拒绝;
步骤312和313,聚合签名的过程分为三层。第一层,签名实体任意选取一整数si,签名实体利用认证授权机构公钥的PCA,第二哈希函数H2,签名实体身份信息IDi,签名实体的部分公钥Pi,生成前签名第二层,签名实体利用前签名δi1,签名消息Mi。
签名实体的部分公钥Pi,生成消息的哈希值mi=H(δi1,Mi,Pi);第三层,签名实体利用消息哈希值mi,利用签名私钥(xi,di),第一和第二哈希函数H1,H2,签名实体身份信息IDi,签名实体的部分公钥Pi,生成后签名
将前签名和后签名合在一起,生成消息Mi的签名δi=(δi1,δi2);
步骤314,对于n个消息的签名(δ1,δ2,…,δn),其中满足δi=(δi1,δi2)。签名实体的聚合过程如下:首先,计算接着,对于i=1,2,…,n,签名实体计算mi=H(δi1,Mi,Pi);最后,计算那么,所产生的聚合签名就是(δ1,δ2)。由此,我们可以看出,我们的聚合签名长度仅仅是n个签名长度的1/n。当验证者需要验证该聚合签名的有效性时,只需要验证等式是否成立。如果成立就意味这该聚合签名是有效的。从聚合签名的验证我们知道,该聚合签名的验证仅仅需要3个对(pairing)计算和1个指数运算。验证的计算量基本上与单个签名的验证相等。注:对计算是椭圆曲线中最耗时的计算。
步骤315,任意的验证实体,可以通过签名实体的公钥Pn,身份信息IDn,和系统参数h1,h2,来验证签名(δ1,δ2)的真实性。具体验证等式是否成立,如果成立,则认为自认证聚合签名有效,接受,否则,拒绝。
基于椭圆曲线的在/离线自认证签名方法
本发明的内容之五,提出了一种基于椭圆曲线的在/离线自认证的签名方法。一般来说,签名过程中,在线签名要比离线签名代价更大,带宽的限制,计算能力的限制,都对在线操作提出了更高的要求.,本方法能够利用离线状态完成签名的主要操作,在在线状态下进行简单的操作来完成消息的签名,节省了在线时间,提高了在线签名的效率,并通过对所选取的与签名消息匹配随机数的识别,验证签名的真实性。
下面结合图4来说明基于椭圆曲线的在/离线自认证签名的生成方法。图4给出的是一张流程图,描述了在/离线状态下产生自认证签名的过程。本方法的核心是步骤412和步骤和步骤414。
步骤412中,认证授权机构随机的选择秘密信息和一随机数,利用预先选定的函数,签名实体的私钥,生成一个离线签名;步骤414中,在在线状态下,利用离线签名,识别出与所给消息相匹配的签名中所包含的随机数,验证签名的真实性。
步骤401,产生两个的循环群,第一个为加群G1,第二个为乘群G2,阶数都是大素数q;
步骤402,选取G1的生成元g,然后再随机选择群G1中的两个元素h1,h2∈G1作为公开参数
步骤403,选取一个非退化的双线性函数e,可以将G1中的两个元素映射到G2中;
步骤404,认证授权机构选取秘密整数α作为其私钥;
步骤405,认证授权机构产生其公钥PCA=gα;
步骤406,签名实体任意选取整数xi(i=1,2,…,n)作为其部分私钥,不同的签名实体选取的整数各不相同,不同的签名过程,同一签名实体选取的私钥也不同;
步骤408,选取三个哈希函数,第一哈希函数能够由一串二进制数产生第一循环群中的元素,第二哈希函数能够由一串二进制数产生一整数,第三个哈希函数能够由一串二进制数产生一整数;
步骤409中,第一哈希函数H1由认证授权机构的公钥PCA,签名实体的身份IDi,部分公钥Pi组成的一串二进制数产生G1中的元素h0=H1(PCA,IDi,Pi);
步骤412,选取n和n’,并令签名信息M′和M分别为M′=gn′,M=gn,签名私钥(x′i,d′i),以及随机数r′,其中的信息M′不同于M;
步骤414,签名实体需要找出一随机数r,要使得即可以在在线状态下的求出将得到的随机数r,消息M,签名一起传递给签名验证实体。
图5表示了本发明的签名和验证签名装置。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (3)
1.一种基于椭圆曲线的自认证私钥产生及验证方法,一个公认的认证机构CA,和一个签名实体之间进行的,其中的签名实体Ui是一个集合,其中i=1,2,…,n,签名实体对应的身份信息集合为IDi其中i=1,2,…,n,其特征在于:该方案具体内容如下:
在椭圆曲线上,选取第一循环加群G1和第二循环乘群G2,其中,阶数均为大素数p;
选取一个非退化的双线性对映射e,该映射e是一种可行的双线性对映射,满足能够由G1中的两个元素映射得到G2中的元素;
选取第一循环加群G1的生成元g;
随机选取模p的剩余类Zp中的一个元素α作为CA的私钥,并且产生PCA=gα作为CA公钥;
选取第一哈希函数H1,能由第一串二进制数产生第一循环加群G1中的一个元素;
2.根据权利要求1所述的方法,其特征在于:
所述第一循环加群G1是超奇异椭圆曲线或阿贝尔族上的点的加法群,所述第二循环乘群G2则是有限域上的乘法群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100831841A CN101547099B (zh) | 2009-05-07 | 2009-05-07 | 基于椭圆曲线的自认证签名方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100831841A CN101547099B (zh) | 2009-05-07 | 2009-05-07 | 基于椭圆曲线的自认证签名方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101547099A CN101547099A (zh) | 2009-09-30 |
CN101547099B true CN101547099B (zh) | 2011-08-03 |
Family
ID=41194015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100831841A Expired - Fee Related CN101547099B (zh) | 2009-05-07 | 2009-05-07 | 基于椭圆曲线的自认证签名方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101547099B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102064940B (zh) * | 2009-11-13 | 2013-06-19 | 赵运磊 | 一种在线/离线高效的数字签名方法 |
CN101702807B (zh) * | 2009-11-16 | 2012-07-25 | 东南大学 | 一种无线安全接入认证方法 |
KR101712850B1 (ko) * | 2010-03-31 | 2017-03-07 | 이르데토 비.브이. | 화이트 박스로부터 암호화설비를 보호하는 시스템 및 그 방법 |
CN101977110B (zh) * | 2010-10-09 | 2012-08-29 | 北京航空航天大学 | 一种基于椭圆曲线的群签名方法 |
CN102164151B (zh) * | 2011-05-20 | 2013-06-26 | 北京理工大学 | 一种基于双线性群的跨域联盟认证方法 |
CN102769530A (zh) * | 2012-07-02 | 2012-11-07 | 赵运磊 | 一种计算高效的在线/离线数字签名方法 |
CN103260001A (zh) * | 2013-04-03 | 2013-08-21 | 匡创公司 | 用于多媒体的自认证防护方法 |
CN103746811B (zh) * | 2013-12-27 | 2017-01-25 | 西安邮电大学 | 从身份公钥系统到证书公钥系统的匿名签密方法 |
CN104134066B (zh) * | 2014-08-08 | 2017-06-16 | 科进生物识别(深圳)有限公司 | 用于离线签名的识别方法 |
CN105187205B (zh) * | 2015-08-05 | 2018-05-15 | 北京航空航天大学 | 无证书的基于层次身份基的认证密钥协商方法和协商系统 |
CN105406970B (zh) * | 2015-10-21 | 2019-03-12 | 浪潮电子信息产业股份有限公司 | 签名的方法及装置、验证签名的方法及装置 |
CN105577373B (zh) * | 2015-12-15 | 2018-10-19 | 四川长虹电器股份有限公司 | 标识密匙的生成方法 |
CN106452748A (zh) * | 2016-10-18 | 2017-02-22 | 西安电子科技大学 | 基于多用户的外包数据库审计方法 |
SG10201701044SA (en) | 2017-02-09 | 2018-09-27 | Huawei Int Pte Ltd | System and method for computing private keys for self certified identity based signature schemes |
CN106878011A (zh) * | 2017-02-27 | 2017-06-20 | 中国银联股份有限公司 | 一种密钥保存方法及装置 |
CN106972924B (zh) * | 2017-03-23 | 2020-06-23 | 联想(北京)有限公司 | 加密、解密、电子签章、验证签章的方法及装置 |
CN107784580B (zh) * | 2017-09-15 | 2020-10-27 | 数据通信科学技术研究所 | 一种基于公私钥对派生的无中心数字货币交易方法 |
CN108650097B (zh) * | 2018-04-28 | 2021-03-09 | 上海扈民区块链科技有限公司 | 一种高效的聚合数字签名方法 |
CN108847933B (zh) * | 2018-06-26 | 2020-11-03 | 西安电子科技大学 | 基于sm9密码算法的标识签发方法 |
CN109361645B (zh) * | 2018-08-23 | 2021-03-23 | 泰链(厦门)科技有限公司 | 区块链任务共同认证方法、介质、装置及区块链系统 |
CN109687958A (zh) * | 2018-12-28 | 2019-04-26 | 全链通有限公司 | 一种基于保真区块链的艺术品证书设计及验证方法 |
CN109784094B (zh) * | 2019-01-21 | 2023-05-30 | 桂林电子科技大学 | 一种支持预处理的批量外包数据完整性审计方法及系统 |
CN110175473B (zh) * | 2019-05-22 | 2022-12-27 | 西安电子科技大学 | 基于格上困难问题的数字签名方法 |
CN110324357B (zh) * | 2019-07-25 | 2021-09-24 | 郑州师范学院 | 数据发送方法及装置、数据接收方法及装置 |
CN110808833B (zh) * | 2019-11-12 | 2021-08-06 | 电子科技大学 | 一种轻量级的在线离线无证书签名方法 |
CN110896351B (zh) * | 2019-11-14 | 2022-07-26 | 湖南盾神科技有限公司 | 基于全域哈希的身份基数字签名方法 |
CN114760076B (zh) * | 2022-06-14 | 2022-09-09 | 江西财经大学 | 基于多种不同公钥密码体制的异构工业物联网认证方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1121219A (zh) * | 1994-03-31 | 1996-04-24 | 韩国电气通信公社 | 交换鉴别和标记电子签名的方法 |
CN1505313A (zh) * | 2002-11-29 | 2004-06-16 | 海南信安数据系统有限公司 | 椭圆曲线签名和验证签名方法和装置 |
-
2009
- 2009-05-07 CN CN2009100831841A patent/CN101547099B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1121219A (zh) * | 1994-03-31 | 1996-04-24 | 韩国电气通信公社 | 交换鉴别和标记电子签名的方法 |
CN1505313A (zh) * | 2002-11-29 | 2004-06-16 | 海南信安数据系统有限公司 | 椭圆曲线签名和验证签名方法和装置 |
Non-Patent Citations (2)
Title |
---|
李发根,胡予濮,李刚.一个高效的基于身份的签密方案.《计算机学报》.2006,第29卷(第9期),2752-2758. * |
王尚平,侯红霞,李敏.基于椭圆曲线的前向安全数字签名方案.《计算机工程与应用》.2006,(第18期),第150-151,206页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101547099A (zh) | 2009-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101547099B (zh) | 基于椭圆曲线的自认证签名方法与装置 | |
US6578144B1 (en) | Secure hash-and-sign signatures | |
Zhang et al. | A new certificateless aggregate signature scheme | |
CN110912708B (zh) | 一种基于sm9数字签名算法的环签名生成方法 | |
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
CN101667913B (zh) | 基于对称加密的认证加密方法及加密系统 | |
CN1937496A (zh) | 可延展伪名证书系统和方法 | |
CN102523093B (zh) | 一种带标签的基于证书密钥封装方法及系统 | |
CN109861826B (zh) | 一种双向代理重签名的实现方法及装置 | |
CN102387019A (zh) | 无证书部分盲签名方法 | |
CN104767612A (zh) | 一种从无证书环境到公钥基础设施环境的签密方法 | |
CN107171788B (zh) | 一种基于身份且签名长度恒定的在线离线聚合签名方法 | |
CN104767611A (zh) | 一种从公钥基础设施环境到无证书环境的签密方法 | |
Wang et al. | A modified efficient certificateless signature scheme without bilinear pairings | |
Pang et al. | Efficient and secure certificateless signature scheme in the standard model | |
Li et al. | Constructions of certificate-based signature secure against key replacement attacks | |
CN113162773A (zh) | 一种可证安全的异构盲签密方法 | |
Wang et al. | A non-interactive deniable authentication scheme based on designated verifier proofs | |
Xiong et al. | Strong security enabled certificateless aggregate signatures applicable to mobile computation | |
CN115174056B (zh) | 一种基于sm9签名的变色龙签名生成方法及装置 | |
Yang et al. | Certificateless universal designated verifier signature schemes | |
CN114285576B (zh) | 一种非对的在线离线签密方法 | |
US20020044648A1 (en) | Methods and systems for efficient chained certification | |
Asaar et al. | A Novel Strong Designated Verifier Signature Scheme without Random Oracles | |
Zhang et al. | Strong designated verifier signature scheme resisting replay attack |
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: 20110803 Termination date: 20120507 |