CN103155481A - 具有消息恢复的数字签名的认证加密 - Google Patents

具有消息恢复的数字签名的认证加密 Download PDF

Info

Publication number
CN103155481A
CN103155481A CN201180049393XA CN201180049393A CN103155481A CN 103155481 A CN103155481 A CN 103155481A CN 201180049393X A CN201180049393X A CN 201180049393XA CN 201180049393 A CN201180049393 A CN 201180049393A CN 103155481 A CN103155481 A CN 103155481A
Authority
CN
China
Prior art keywords
message
signer
mac
signature
signed
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
Application number
CN201180049393XA
Other languages
English (en)
Inventor
马修·约翰·坎帕尼亚
丹尼尔·理查德·L·布朗
格雷戈里·马克·扎韦鲁哈
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.)
Certicom Corp
Certicom US Ltd
Original Assignee
Certicom Corp
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 Certicom Corp filed Critical Certicom Corp
Publication of CN103155481A publication Critical patent/CN103155481A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出了一种用于具有消息恢复的数字签名的认证加密的框架,由此实现认证而无冗余要求。通过使用认证加密来修改椭圆曲线Pintsov-Vanstone签名方案,从而使用消息认证码(1028)来实现认证。认证加密可以在单一函数中执行,或者作为两个分离的函数执行。还可以将认证加密应用于要签名的消息(104)中的关联数据。

Description

具有消息恢复的数字签名的认证加密
技术领域
本文描述的技术总体涉及密码签名,且具体地涉及具有消息恢复的密码签名的产生和使用。
背景技术
传统密码签名方案可以用于提供(1)确保签名者的身份,以及(2)确保接收到的消息在传输期间未被改变。典型地,签名者产生针对消息的不可伪造的签名,使得接收者随后可以验证签名以认证签名者的身份和消息的来源。
一般地,期望较小大小的密码值,因为其可以降低存储和传输要求。基于椭圆曲线离散对数问题的难解性的签名方案,如椭圆曲线数字签名算法(ECDSA),例如在“American National Standard for Financial ServicesANS X9.62-2005:Public Key Cryptography for the Financial ServicesIndustry-The Elliptic Curve Digital Signature Algorithm(ECDSA)”,Accredited Standards Committee X9,Inc.,2005描述的,可以实现使用比其他密码方案(如Rivest Shamir Adleman(RSA)算法,例如在“PKCS#1v2.1:RSA Cryptography Standards”,RSA Laboratories,2002中描述)更小的签名,同时仍提供相同水平的安全性。具有部分消息恢复的数字签名,例如Nyberg等在“Message Recovery for Signature Schemes Based on theDiscrete Logarithm Problem”,Advances in Cryptology-Eurocrypt‘94,Springer Verlag,New York,1994中描述的,也可以通过在签名值内嵌入消息的一部分(隐藏部分)来降低[消息,签名]对的传输要求,同时不增加签名的大小。例如,消息的嵌入部分可以包括发送者的地址或对接收者的地址的确认。椭圆曲线Pintsov-Vanstone签名(ECPVS)方案是具有部分消息恢复的数字签名方案的示例。ECPVS方案例如在“American National Standard for Financial Services Draft X9.92-2007-02-21:Public Key Cryptography for the Financial Services Industry,DigitalSignature Algorithms Giving Partial Message Recovery Part1:EllipticCurve Pintsov-Vanstone Signatures(ECPVS)”,Accredited StandardsCommittee X9,Inc.,2007以及由Vanstone等在美国专利No.7,249,259中更详细描述。在ECPVS中,可以将要签名的消息的全部或部分嵌入或“隐藏”在签名中并从签名中恢复。该方案还可以用于通过添加将签名者的公钥保持秘密的限制来提供一定水平的机密性,使得只有拥有公钥的各方可以验证签名,且因此仅它们可以计算消息的隐藏部分。
为了能够验证ECPVS签名,要签名的消息的隐藏部分具有由签名者选择并由验证者达成一致的预定义特性。例如,隐藏部分可以包含特定水平的冗余,验证者检查该特定水平的冗余以验证签名。冗余允许将消息的隐藏部分识别为属于有效明文集合。给定充分的冗余,伪造者应当不能产生满足所有准则的签名。消息的隐藏部分中存在的冗余越多,安全性水平越高,并且要发送的已签名的消息越长。
发明内容
本文提出了一种在具有消息恢复的数字签名中使用认证加密的框架,由此修改ECPVS方案以移除针对要签名的消息的隐藏部分的冗余准则。本文提出的框架通过将ECPVS中传统使用的加密替换为认证加密,来增强具有真实性的常规对称密钥加密的安全性。所提出的框架可以应用于签名产生和签名验证。
在一个示例中,一种认证加密-Pintsov Vanstone(AE-PV)方案使用认证加密(AE)函数来加密要签名的消息的隐藏部分,同时对隐藏部分创建消息认证码(MAC),该MAC应当由验证者用来验证已签名的消息。
在另一示例中,一种“MAC然后加密”-Pintsov Vanstone(ME-PV)方案使用MAC函数来获得要签名的消息的隐藏部分的MAC,接着使用加密函数来加密隐藏部分和MAC的组合,使得该MAC可以由验证者用来验证已签名的消息。在变型中,一种“加密然后MAC”-PintsovVanstone(EM-PV)方案先使用加密函数来加密已签名的消息的隐藏部分,接着使用MAC函数来获得加密结果的MAC。
在另一示例中,一种具有关联数据的认证加密-Pintsov Vanstone(AEAD-PV)方案使用具有关联数据的认证加密(AEAD)函数来加密消息的隐藏部分并对隐藏部分以及消息中的非加密关联数据创建MAC,从而允许认证隐藏部分和关联数据。
附图说明
附图中的图用于以示例而非限制方式进行说明。图中相似的附图标记指示相应、类似或相似的元素。
图1是针对签名者和验证者的示例认证加密签名方案的简化框图;
图2是将签名应用于消息以产生已签名的消息的第一示例方法的简化流程图;
图3是验证由签名者签名的已签名的消息的第一示例方法的简化流程图;
图4是将签名应用于消息以产生已签名的消息的第二示例方法的简化流程图;
图5是验证由签名者签名的已签名的消息的第二示例方法的简化流程图;
图6是将签名应用于消息以产生已签名的消息的第三示例方法的简化流程图;
图7是验证由签名者签名的已签名的消息的第三示例方法的简化流程图;
图8是将签名应用于消息以产生已签名的消息的第四示例方法的简化流程图;
图9是验证由签名者签名的已签名的消息的第四示例方法的简化流程图;以及
图10是示例签名者设备和示例验证者设备的简化框图。
具体实施方式
尽管使用椭圆曲线上的点的群来实例化本文描述的签名方案,但是备选地可以使用任何有限循环群来实例化本文描述的签名方案,例如
Figure BDA00003041461800041
的子群,模素数p的整数的子群。在这种情况下,群的阶可以是p-1,生成元G产生n阶的子群,其中n整除p-1。传统上,以乘法形式书写
Figure BDA00003041461800042
的子群中的算术,其中两个元素P和Q的乘积为PQ,且在椭圆曲线群中与整数k的标量乘法对应于求幂,即Pk
基于椭圆曲线密码(ECC)的协议依赖于椭圆曲线离散对数问题的难解性。给定椭圆曲线E上的公开知晓的点G和Q,其中点Q等于标量乘法因数d与点G的乘积,即Q=dG,可以推测非常难以确定标量乘法因数d。利用已知算法,解决该问题的计算难度随G产生的子群的大小呈指数增长。
为了实现基于ECC的协议,所有参与者就椭圆曲线的域参数达成一致。在素数有限域
Figure BDA00003041461800043
上定义的椭圆曲线E,即
Figure BDA00003041461800044
,由椭圆曲线域参数D=(p,a,b,G,n,h)来定义,其中p是表示域中的元素数目的奇素数,整数a和b是满足例如4a3+27b2≠0(mod p)(然而由另一方程指定的曲线可以是合适的)的素数有限域
Figure BDA00003041461800045
的元素,G是具有n阶的椭圆曲线
Figure BDA00003041461800046
上的基点或生成元,以及余因子h是相对小的整数,其被定义为椭圆曲线
Figure BDA00003041461800047
上的点的数量
Figure BDA00003041461800048
与n之比。可以用加法形式来书写
Figure BDA00003041461800049
的子群中的算术,其中两点P和Q之和为P+Q,与整数k的标量乘法为kP。现有基于ECC的协议的进一步细节在“Standards for Efficient CryptographySEC1:Elliptic Curve Cryptography”,Certicom Research,Certicom Corp.,2000,以及“Standards for Efficient Cryptography SEC2:RecommendedElliptic Curve Domain Parameters version2.0”,Certicom Research,Certicom Corp.,2000中描述。椭圆曲线还可以定义在有限域F2m上,而不是素数有限域
Figure BDA000030414618000410
上,有限域F2m是具有2m个元素的二进制表示,且可以修改本文中描述的技术以适于在有限域F2m上定义的椭圆曲线。
椭圆曲线Pintsov-Vanstone签名(ECPVS)方案提供了一种具有部分消息恢复的数字签名方案。ECPVS方案已经用于通过实现在作为结果的签名分量之一内嵌入或“隐藏”被签名的消息的一部分来提供一定水平的机密性。ECPVS可以由签名者用于对数据产生数字签名,并由验证者用于验证签名的真实性并恢复在签名内隐藏的消息的该部分。在签名产生过程中使用签名者的私钥,在签名验证过程中使用对应的公钥。为了使消息的隐藏部分保持机密,签名者的公钥需要保持秘密。
如本文使用的术语“签名者”指能够针对数据产生数字签名的任何计算机化设备。如本文使用的术语“验证者”指能够验证数字签名的真实性的任何计算机化设备。
ECPVS方案的一个方面是签名者针对要签名的消息的隐藏部分选择消息冗余准则,其中该冗余准则对于验证者已知,以验证已签名的消息。冗余准则的示例包括:消息是ASCII文件、消息具有特定格式、消息包含特定关键字、或者每段以句点结束。总冗余量是被选择用于实现安全目标的可缩放安全参数。给定充分冗余,伪造者应当不能针对消息产生满足冗余准则的有效签名。要签名的消息的隐藏部分中存在的冗余越多,安全性水平越高,并且要发送的已签名的消息越长。因此,选择合适的密码签名可能涉及安全要求与存储/传输要求之间的折衷。
本文提出了一种在具有消息恢复的数字签名中使用认证加密的框架,由此修改ECPVS方案以移除针对要签名的消息的隐藏部分的冗余准则。所提出的框架可以应用于签名产生和签名验证。
在一个示例中,一种认证加密-Pintsov Vanstone(AE-PV)方案使用认证加密(AE)函数来加密要签名的消息的隐藏部分,同时对隐藏部分创建消息认证码(MAC),该MAC应当由验证者用来验证已签名的消息。
在另一示例中,一种“MAC然后加密”-Pintsov Vanstone(ME-PV)方案使用MAC函数来获得要签名的消息的隐藏部分的MAC,接着使用加密函数来加密隐藏部分和MAC的组合,使得该MAC可以由验证者用来验证已签名的消息。在变型中,一种“加密然后MAC”-PintsovVanstone(EM-PV)方案先使用加密函数来加密已签名的消息的隐藏部分,接着使用MAC函数来获得加密结果的MAC。
在另一示例中,一种具有关联数据的认证加密-Pintsov Vanstone(AEAD-PV)方案使用具有关联数据的认证加密(AEAD)函数来加密消息的隐藏部分并对隐藏部分以及消息中的非加密关联数据创建MAC,从而允许认证隐藏部分和关联数据。
本文提出的框架还适用于密钥ECPVS和其他签名密码(signcryption)技术。
在以下示例中,除非另外指明,否则可以假定签名方案中的签名者和验证者已经就合适的域参数达成一致。例如,对于使用椭圆曲线上的点的群的来实例化的签名方案,签名者和验证者就包括基点G在内的对应椭圆曲线域参数达成一致。
如上所述,尽管使用椭圆曲线上的点的群来实例化本文描述的Pintsov-Vanstone(PV)签名方案,但是可以使用任何有限循环群来实例化这些方案。在这种情况下,签名者和验证者将必须就包括生成元G在内的与该群相关联的域参数达成一致。
使用特定签名方案的签名者和验证者就与该方案相关联的函数和参数达成一致。例如,对于认证加密-Pintsov Vanstone(AE-PV)方案,签名者和验证者就以整数k1为密钥的认证加密(AE)函数达成一致,该函数能够取消息M作为输入,并输出加密值c1和消息认证码(MAC)mac,即AEk1(M)=(c1,mac)。签名者和验证者还就认证解密(AD)函数达成一致,其是以整数k1为密钥的AE的逆变换,且其取加密值c1’和MAC mac’作为输入,并要么输出消息M和有效(validity)指示,要么输出空(null)和无效(invalidity)指示,即ADk1(c1’,mac’)=(M,VALID)或ADk1(c1’,mac’)=(NULL,INVALID)。签名者和验证者还就密钥k1的比特长度以及MAC mac的比特长度达成一致。
签名者和验证者就合适的密钥导出函数(KDF)达成一致。例如,对于(AE-PV)方案,KDF能够用于构造适用于认证加密函数AEk1和认证解密函数ADk1的密钥。可以使用任何ANSI-X9核准的密钥导出函数,例如在“NIST SP800-108Recommendation for Key Derivation UsingPseudorandom Functions”,National Institute of Standards and Technology,2009中描述的KDF。
在使用散列函数作为签名方案的一部分的示例中,签名者和验证者就密码散列函数达成一致,密码散列函数将任意长度输入映射至固定长度输出。示例散列函数包括在“FIPS PUB180-3Federal InformationProcessing Standards Publication:Secure Hash Standard(SHS)”,NationalInstitute of Standards and Technology,2008中描述的SHA-2族。
签名者和验证者就用于传送包括整数和群元素在内的值的编码方法达成一致。示例编码方法是Dubuisson在“ASN.1CommunicationBetween Heterogeneous Systems”,Morgan Kaufmann,2000中描述的ASN.1。签名者和验证者还就以下内容达成一致:在对值列表进行散列操作之前,将值列表公共编码为比特串。例如,它们可以就以下各项达成一致:(1)将所有值转换为八位字节串,然后(2)对八位字节串的串联进行散列操作。与散列操作一样,可以在导出密钥之前执行编码。在利用KDF和散列函数的情况下,编码可以并入附加信息,例如日期、时间、签名者名称、验证者名称、或与被签名的消息相关的联系信息。
为了签名方案的安全性,应当谨慎地选择域参数。对于PintsovVanstone签名方案,参数选择的进一步细节可以参见“IEEE P1363a/D2,Standard Specifications for Public Key Cryptography:Pinstov VanstoneSignatures with Message Recovery”,Institute of Electrical and ElectronicsEngineers,2000。还应注意:为了安全性,签名者可以包括用于产生密钥和已签名的消息的安全随机或伪随机数生成器。
如上所述,验证者知道与用于签名产生过程的私钥相对应的签名者的公钥,以验证已签名的消息。此外,对于消息的隐藏部分要保持机密的实现,不应向其他实体公开签名者的公钥。
图1是针对签名者100和验证者102的具有消息恢复的数字签名的认证加密的示例方案的简化框图。签名者100要对消息M104签名,消息M104包含隐藏部分N和可见部分V。隐藏部分N是消息M104中要被嵌入或“隐藏”在签名的一部分中的部分。签名者100要将签名应用于消息M104以获得要发送至验证者102的已签名的消息106。已签名的消息106至少包括:第一签名分量c、第二签名分量s和消息M104的可见部分V。为了让验证者102验证已签名的消息106,验证者102拥有签名者100的公钥GA110。公钥GA110可以从签名者100直接接收,如图1中虚线所示,或者可以从可信实体(未示出,如证书权威机构)接收。对于消息M104的隐藏部分N要保持机密的实现,这可以通过确保公钥GA110的机密性来实现。验证者102执行的对已签名的消息106的认证解密的结果在108示出。如果已签名的消息106被验证,则恢复消息M104的隐藏部分N并伴有有效指示。如果已签名的消息106未被验证,则不恢复隐藏部分N并存在无效指示。
图2是要由签名者(例如签名者100)执行的用于将签名应用于消息M104以产生已签名的消息106的示例认证加密方法的简化流程图。在202,签名者产生第一值k,第一值k是不应向其他实体公开的签名者的私有值。根据该第一值k和椭圆曲线上的基点G,签名者根据方程1来计算第二值Q,第二值Q等于第一值k与基点G的标量乘积:
Q=k·G.    (1)
在一些实现中,(k,Q)对是短期的。即,针对要被应用签名的每个消息M产生新的(k,Q)对。
在204,签名者根据第二值Q来构造导出密钥k1。例如,可以根据方程2,通过将密钥导出函数KDF应用于第二值Q来构造导出密钥k1
k1=KDF(Q).      (2)
在206,签名者将以导出密钥k1为密钥的AE函数,即AEk1,应用于消息M104的隐藏部分N,以获得加密值c1和具有必要长度L的消息认证码(MAC)mac,其中长度L是认证加密函数AE的参数。这在方程3中示出:
(c1,mac)=AEk1(N).    (3)
AE函数用于对消息M104的隐藏部分N加密以及用于创建可以由验证者用于随后验证已签名的消息106的MACmac。不知道导出密钥k1但是观察到认证加密函数AEk1输出的多个[加密值,MAC]对的敌方应当不能输出可以由验证者用于成功验证已签名的消息106并恢复消息M104的隐藏部分N的新[加密值,MAC]对。关于图3更详细描述认证解密。
可以使用的一个可能AE函数是具有计数器模式加密(CME)和密码块链(CBC)的高级加密标准(AES),也称为AES-CCM,在“NIST SP800-38C Recommendation for Block Cipher Modes of Operation:The CCMMode for Authentication and Confidentiality”,National Institute ofStandards and Technology,2007中描述。可以使用的另一可能AE函数是具有Galois计数器模式的AES(AES-GCM),在“NIST SP800-38DRecommendation for Block Cipher Modes of Operation:The Galois/CounterMode(GCM)and GMAC”,National Institute of Standards and Technology,2007中描述。AES的细节在“FIPS PUB197Advanced Encryption Standard(AES)”,Federal Information Processing Standards,2001,and Section7.2.2of“Handbook of Applied Cryptography”,CRC Press,ISBN0-8493-8523-7中描述。可以使用的另一可能AE函数是在“AES Key Wrap Specification”,National Institute of Standards and Technology,November2001中描述的AES密钥卷绕及其变型。Accredited Standards Committee,X9,Inc.(ASCX9)已经在其2004年11月出版的其草案标准中定义了4种算法。这4种算法中的任一种是可以使用的合适AE函数:AESKW(AES密钥卷绕规范的变型)、TDKW(类似于AESKW,但是使用三重DES而不是AES作为基础块密码)、AKW1(实质上是在因特网协议工程任务组请求评论(RFC)3217中提出的算法)、以及AKW2(在“密钥块”规范中隐式定义的算法,已开发用于金融服务业中的受限传统***)。还可以想到使用在加密时不显式输出MAC值但是仍提供认证的AE函数。例如,这种AE函数在应用于输入I时输出加密值AEk1(I),但是不输出任何MAC,且其相关联认证解密函数AD在应用于输入I’时,要么输出I’无效,要么输出I以及I有效的指示。
返回图2,在208,签名者根据加密值c1和MAC mac形成第一签名分量c。例如,第一签名分量c可以是加密值c1和MAC mac的串联,如方程4所示:
c=c1||mac    (4)
备选地,第一签名分量c可以是MAC mac和加密值c1的串联,即c=mac||c1。更一般地,第一签名分量c可以是将任何可逆函数f应用于加密值c1和MAC mac的结果,即c=f(c1,mac),其中f是由签名者和验证者达成一致的。本领域普通技术人员还将理解:可以使用特定不可逆函数。例如,取三个元素x、y和z作为输入并输出x和y的串联的函数f(即f(x,y,z)=x||y)是不可逆的,因为输出不包含关于元素z的任何信息。然而,仍可以使用该函数。
在210,签名者根据方程5来计算第二签名分量s:
s=Hash(c||V)·dA+k(modn),    (5)
其中Hash是如上所述的密码散列函数,dA是签名者的私钥,对应的公钥GA已被计算为私钥dA与基点G的乘积,即GA=dA·G。
尽管图中未显式示出,可以预期计算第二签名分量s的其他方法。例如,可以通过在方程5中交换私钥dA和第一值k的位置来计算第二签名分量s,即s=Hash(c||V)·k+dA(modn)。备选地,可以在这些方程中任意一个方程中对这些项中的任意一项取反。如果使用方程5的这种修改来计算第二签名分量s,则相应地改变验证过程。
尽管未显式示出,Hash(c||V)被转换为整数以用于方程5或方程5的任一备选中。
表达式c||V表示第一签名分量c和消息M104的可见部分V的串联。备选地,可以将可见部分V与第一签名分量c串联,即V||c。更一般地,可以使用任何可逆函数g将第一签名分量c与可见部分V组合,即g(c,V),其中g由签名者和验证者达成一致。如以上关于方程4所述,也可以使用特定不可逆函数。
在212,签名者准备已签名的消息106,已签名的消息106包括第一签名分量c、第二签名分量s和消息M104的可见部分V。尽管第一签名分量c和可见部分V被示出为已签名的消息106的分离的元素,但是可以想到:如在210计算第二签名分量s期间所做的一样,可以使用可逆函数g将其组合。例如,如果如方程5所示串联第一签名分量c和可见部分V,则已签名的消息106可以包括相同串联,即c||V。
图3是由验证者(例如验证者102)执行的用于验证声称由签名者(例如签名者100)签名的已签名的消息(例如已签名的消息106)的示例认证解密方法的简化流程图。
在301,验证者从已签名的消息106中提取第一签名分量c’、第二签名分量s’和消息M104的可见部分V’。撇号用于指示尚未被验证的值。如上所述,如果已经使用可逆函数g将第一签名分量c和可见部分V组合,则需要函数g的反函数,即g-1,来从已签名的消息106中提取第一签名分量c’和可见部分V’。
在302,验证者使用与认证加密函数AE相关联的必要长度L(已经由签名者和验证者达成一致),从第一签名分量c’中提取加密值c1’和MAC mac’。例如,如果第一签名分量c被定义为加密值c1和MAC mac的串联,如方程4所示,则验证者可以通过将第一签名分量c’的最后L个比特定义为MAC mac’,使得在第一签名分量c’的起始处的其余比特对应于加密值c1’,来确定加密值c1’。
如果已经如上所述使用某个其他可逆函数f来将加密值c1和MACmac组合,则需要函数f的反函数,即f-1,来从第一签名分量c’中提取加密值c1’和MAC mac’。
应当注意,可以在308处应用认证解密函数之前的任何时间执行在302处描述的提取,如以下更详细描述的。
在304,验证者根据方程6来计算值Q’:
Q’=s’·G-Hash(c’||V’)·GA,    (6)
其中Hash是签名者用于如方程5所示在210计算第二签名分量s的相同密码散列函数。如上所述,如果使用方程5的修改来计算第二签名分量s,则将需要相应修改方程6。如方程5中一样,Hash(c||V)被转换为整数用于方程6。可以从签名者100直接接收公钥GA110,或者可以从可信实体(如证书权威机构)接收公钥GA110。如上所述,可以想到第一签名分量c’和可见部分V’的其他组合以取代方程6中所示的串联c’||V’,只要方程6中使用的组合对应于在方程5中计算第二签名分量s时使用的组合。
在306,验证者使用签名者在204构造导出密钥k1的相同方法,根据值Q’来构造导出密钥k1’。例如,如果签名者已经使用密钥导出函数KDF来构造导出密钥k1,如方程2所示,则验证者要根据方程7来构造导出密钥k1’:
k1’=KDF(Q’).     (7)
在308,验证者应用AD函数,该AD函数是签名者在206使用的AE函数的逆变换。以导出密钥k1’为密钥并表示为ADk1’的AD函数可以用于验证已签名的消息106并恢复消息104的隐藏部分N。AD函数的结果108取决于验证者是否能够验证已签名的消息106。如果验证者确定已签名的消息106有效,则结果108包括恢复的消息M104的隐藏部分N和有效指示。如果验证者确定已签名的消息106无效,则结果108仅包括无效指示而不包括隐藏部分N。
取代使用在方程3中描述并在206处示出的AE函数来联合创建加密值c1和MAC mac,可以作为两个分离的步骤来执行加密和MAC的创建。存在这一操作的至少两种变型,称为:(1)MAC然后加密(ME)以及(2)加密然后MAC(EM)。(还存在加密并且MAC变型。然而,假如加密并且MAC变型仅对于加密函数和MAC函数的特定选择是安全的,因此不显式描述加密并且MAC变型。)
加密函数和MAC函数均可以是安全函数。安全加密函数的示例包括:具有密码块链的AES(AES-CBC)和AES计数器模式(AES-CTR),如在“NIST SP800-38A Recommendation for Block Cipher Modes ofOperation”,National Institute of Standards and Technology,2001中描述的。安全MAC函数的示例包括:如在“ISO/IEC9797Data CryptographicTechniques-Data integrity mechanism using a cryptographic check functionemploying a block cipher algorithm”,International Organization forStandardization,1989中描述的AES密码块链消息认证码(AES-CBC-MAC),以及如在“NIST SP800-38B Recommendation forBlock Cipher Modes of Operation:The CMAC Mode for Authentication”,National Institute of Standards and Technology,2005中描述的AES基于密码的MAC(AES-CMAC)。加密函数和MAC函数由签名者和验证者达成一致。
图4是图2所示的用于消息M104的AE方法的示例“MAC然后加密”变型的简化流程图。如关于图2所述,图4所示示例方法包括:在202,产生第一值k并计算第二值Q。如关于图2所述,在一些实现中,(k,Q)对是短期的。即,针对要被应用签名的每个消息M产生新的(k,Q)对。然而,在本方法中,在404,签名者根据值Q来构造第一导出密钥k11和第二导出密钥k12。例如,根据方程8,可以通过将密钥导出函数KDF应用于第二值Q来构造导出密钥k1和k2
(k1,k2)=KDF(Q),    (8)
其中,KDF的输出长于方程2中使用的KDF的输出,使得可以将输出划分为第一导出密钥k11和第二导出密钥k12。备选地,可以通过将KDF应用于第二值Q两次,每次应用使用不同的辅助信息,来构造第一导出密钥k11和第二导出密钥k12。尽管有可能将KDF应用于第二值Q两次而不针对每次应用使用不同的辅助信息,但是出于安全原因这可能不可取。
在405,签名者根据方程9,将以第二导出密钥k12为密钥的MAC函数T,即Tk12,应用于消息M104的隐藏部分N,以获得MAC mac:
mac=Tk12(N),     (9)
其中MAC mac具有必要长度L,L是MAC函数T的参数。
在406,签名者根据方程10,将以第一导出密钥k11为密钥的加密函数E,即Ek11,应用于隐藏部分N和MAC mac的组合,以获得第一签名分量c:
c=Ek11(N||mac).    (10)
表达式N||mac表示隐藏部分N和MAC mac的串联。备选地,可以将MAC mac与隐藏部分N串联,即mac||N。更一般地,可以使用任何可逆函数j将隐藏部分N与MAC mac组合,即j(N,mac),其中j是签名者和验证者达成一致的。如以上关于方程4所示,还可以使用特定不可逆函数。
在406获得第一签名分量c时,方法如关于图2所述继续,其中在210签名者计算第二签名分量s,在212准备已签名的消息106。
图5是图3中所示AD方法的示例“解密然后验证”变型的简化流程图。如关于图3所述,图5所示示例方法包括:在301,从已签名的消息106中提取第一签名分量c’、第二签名分量s’和可见部分V’。撇号用于指示尚未被验证的值。在304,验证者使用公钥GA110来计算值Q’。在506,验证者使用签名者在404用于构造第一导出密钥k11和第二导出密钥k12的相同方法,根据值Q’来构造第一导出密钥k11’和第二导出密钥k12’。
为了解密第一签名分量c’,在508,验证者将解密函数D应用于第一签名分量c’,其中解密函数D是签名者在406使用的加密函数E的逆变换。解密函数以第一导出密钥k11’为密钥,并表示为Dk11’。这在方程11中示出:
N’||mac’=Dk11’(c),    (11)
其中N’||mac’表示已签名的消息106的隐藏部分N’和MAC mac’的串联。验证者能够使用与签名者和验证者达成一致的与MAC函数T相关联的必要长度L,从串联N’||mac’中提取隐藏部分N’和MAC mac’。如果如上所述在406使用某个其他可逆函数j来将隐藏部分N和MAC mac组合,则需要函数j的反函数,即j-1,来获得隐藏部分N’和MAC mac’。
在510,验证者使用第二导出密钥k12’来验证MAC mac’是已签名的消息106的隐藏部分N’的有效MAC,并且相应地确定已签名的消息106是否有效。如以上关于图3所述,如果验证者确定已签名的消息106有效,则结果108包括恢复的消息M104的隐藏部分N和有效指示。如果验证者确定已签名的消息106无效,则结果108仅包括无效指示而不包括隐藏部分N。
还可以想到:可以使用“加密然后MAC”/“验证然后解密”变型作为“MAC然后加密”/“解密然后验证”变型的备选。图6是图2所示的用于消息M104的AE方法的示例“加密然后MAC”变型的简化流程图。如关于图2所示,图6所示方法包括:在202,产生第一值k并计算第二值Q,使得Q=k·G。如关于图2所述,在一些实现中,(k,Q)对是短期的。即,针对要被应用签名的每个消息M产生新的(k,Q)对。然后,如关于图4所述,在404,签名者根据值Q来构造第一导出密钥k11和第二导出密钥k12
在606,签名者根据方程12,将以第一导出密钥k11为密钥的加密函数E,即Ek11,应用于隐藏部分N,以获得加密值c1
c1=Ek11(N)     (12)
在607,签名者根据方程13,将以第二导出密钥k12为密钥的MAC函数T,即Tk12,应用于加密值c1,以获得MAC mac:
mac=Tk12(c1),     (13)
其中MAC mac具有必要长度L,L是MAC函数T的参数。
在607获得MAC mac后,方法如关于图2所述继续,其中签名者在208根据加密值c1和MAC mac形成第一签名分量c,在210计算第二签名分量s,在212准备已签名的消息106。
图7是图3所示的AD方法的示例“验证然后解密”变型的简化流程图。如关于图3所述,图7所示示例方法包括:在301,从已签名的消息106中提取第一签名分量c’、第二签名分量s’和可见部分V’,在302从第一签名分量c’中提取加密值c1’和MAC mac’,以及在304使用公钥GA110来计算值Q’。撇号用于指示尚未被验证的值。如关于图5所述,在506,验证者使用签名者在404用于构造第一导出密钥k11和第二导出密钥k12的相同方法,根据值Q’来构造第一导出密钥k11’和第二导出密钥k12’。
在708,验证者使用第二导出密钥k12’来验证MAC mac’是加密值c1’的有效MAC,并相应地确定已签名的消息106是否有效。
如果验证者确定MAC mac’是加密值c1’的有效MAC,则在710,验证者继续将解密函数D应用于加密值c1’,其中解密函数是签名者在606使用的加密函数E的逆变换。解密函数以第一导出密钥k11’为密钥,并表示为Dk11’。这在方程14中示出:
N=Dk11’(c1’).     (14)
由于验证者已经在708确定MAC mac’是加密值c1’的有效MAC从而已签名的消息106有效,结果108包括恢复的消息M104的隐藏部分N和有效指示。
如果验证者在708确定MAC mac’不是加密值c1’的有效MAC,则验证者不在710应用解密函数D,且结果108仅包括无效指示而不包括隐藏部分N。
在另一示例中,可以使用具有关联数据的认证加密(AEAD)作为具有消息恢复的Pintsov-Vanstone签名方案的一部分。例如,可以利用AEAD函数来代替AE函数。Rogaway在“Authenticated encryption withassociated data”,Proceedings of ACM CCS’02:98-107,ACM,New York,2002中更详细描述了AEAD。
与AE-PV、ME-PV和EM-PV方案类似,AEAD-Pintsov Vanstone(AEAD-PV)方案可以用于对消息M的要在签名中嵌入或隐藏的隐藏部分N进行加密,并对消息的该部分提供真实性和机密性。AEAD-PV方案使用AEAD函数来保证消息的可见部分V的真实性(从而可以避免使用散列函数)。在许多设置中,存在与加密值相关联的数据,所述数据是公开的,以允许不拥有加密密钥的中间方处理或路由消息。使用AEAD函数来代替上述签名方案中的AE函数具有不涉及散列函数的优点。
AEAD-PV方案包括:签名者和验证者就以整数k1为密钥的AEAD函数达成一致,该函数能够取隐藏部分N和可见部分V作为输入,并输出加密值c1和MAC mac,即AEADk(N,V)=(c1,mac)。签名者和验证者还就具有关联数据的认证解密(ADAD)函数达成一致,该函数是AEAD的逆变换,其以整数k1’为密钥且取加密值c1’和MAC mac’为输入,并要么输出隐藏部分N和有效指示,要么输出空和无效指示,即ADADk1’(c1’,mac’,V)=(N,VALID)或ADADk1’(c1’,mac’,V)=(NULL,INVALID)。签名者和验证者还就密钥k1的比特长度和MAC mac的比特长度达成一致。适用于所提出的框架的示例AEAD方案由Kohno等在“CWC:AHigh-Performance Conventional Authenticated Encryption Mode”,Proceedings of Fast Software Encryption2004(FSE’04),LNCS3017:408-426,2004中描述。
图8是由签名者(例如签名者100)执行的用于将签名应用于消息104以产生已签名的消息106的示例具有关联数据的认证加密(AEAD)方法的简化流程图。如关于图2所示,在202,签名者产生第一值k并计算第二值Q,使得Q=k·G。如关于图2所述,在一些实现中,(k,Q)对是短期的。即,针对要被应用签名的每个消息M产生新的(k,Q)对。在204,签名者根据第二值Q来构造导出密钥k1
在806,签名者将以导出密钥k1为密钥的AEAD函数,即AEADk1,应用于消息M104的隐藏部分N和消息M104的可见部分V,以获得加密值c1和具有必要长度L的MAC mac,其中长度L是签名者和验证者达成一致的与AEAD相关联的参数。这在方程15中示出:
(c1,mac)=AEADk1(N,V).    (15)
AEAD函数用于对消息M104的隐藏部分N加密,并用于创建验证者可以用于随后验证已签名的消息106的MAC。具体地,AEAD函数的应用可以用于保证可见部分V的真实性,而不涉及散列函数,如以下更详细描述的。
在806获得加密值c1和MAC mac之后,签名者如关于图2所述继续,以在208根据加密值c1和MAC mac形成第一签名分量c。
在810,签名者根据方程16来计算第二签名分量s:
s=mac·dA+k(modn),    (16)
其中,MAC mac已经被转换为整数用于方程16中。方程16与方程5的比较揭示了在AEAD-PV加密中不涉及AE-PV、ME-PV和EM-PV认证加密方法的散列函数。
尽管在图8中未显式示出,可以想到计算第二签名分量s的其他方法。例如,可以通过在方程16中交换私钥dA和第一值k的位置来计算第二签名分量s,即s=mac·dA+k(modn)。备选地,可以在这些方程中的任意一个方程中对这些项中的任一项取反。如果使用方程16的修改来计算第二签名分量s,则相应地改变验证过程。
在208计算第二签名分量s之后,签名者如关于图2所述继续,在212准备已签名的消息106。
图9是由验证者(例如验证者102)执行的用于验证声称由签名者(例如签名者100)签名的已签名的消息(例如已签名的消息106)的示例具有关联数据的认证解密(ADAD)方法的简化流程图。如关于图3所述,图9所示示例方法包括:在301从已签名的消息106中提取第一签名分量c’、第二签名分量s’和可见部分V’,在302从第一签名分量c’中提取加密值c1’和MAC mac’。撇号用于指示尚未被验证的值。在这种情况下,MACmac’具有必要长度L,L是AEAD函数的由签名者和验证者达成一致的参数。
在904,验证者根据方程17,使用公钥GA110来计算值Q’:
Q’=s’·G-mac’·GA,    (17)
其中,在用于方程17之前,MAC mac’已经被转换为整数。方程17与方程6的比较揭示了在AEAD-PV解密中不涉及AE-PV、ME-PV和EM-PV认证解密方法的散列函数。
如上所述,如果使用方程16的修改来计算第二签名分量s,则将需要相应修改方程17。
在306,验证者使用签名者在204构造导出密钥k1的相同方法,根据值Q’来构造导出密钥k1’。
在908,验证者将ADAD函数应用于加密值c1’、MAC mac’和可见部分V’,其中ADAD函数是签名者在806使用的AEAD函数的逆变换。以导出密钥k1’为密钥并表示为ADADk1’的ADAD函数可以用于验证已签名的消息106并用于恢复消息M104的隐藏部分N。ADAD函数的结果108取决于验证者是否能够验证已签名的消息106。如果验证者确定已签名的消息106有效,则结果108包括恢复的消息M104的隐藏部分N和有效指示。如果验证者确定已签名的消息106无效,则结果108仅包括无效指示而不包括隐藏部分N。
如上所述,所提出的框架还可以适用于密钥ECPVS和其他签名密码技术。签名密码提供了公钥签名和加密这两者的功能。签名者在创建签名密码消息时使用验证者的公钥。只有验证者能够使用验证者的秘密密钥和签名者的公钥来解密消息并验证消息是由签名者签名的。这与如ECPVS中保持签名者的公钥是秘密的不同,因为通过验证者的秘密密钥的私密性来提供机密性,而签名者的公钥可以公开。
将认识到,对于非常短的消息M=N||V,可见部分V可以为空。AE-PV方案可以在无修改的情况下处理可见部分为空的情况。如果隐藏部分N为空,则在AE-PV方案中,应当将隐藏部分N替换为零字节或任何其他公共常数。AEAD-PV方案可能能够处理空消息。如果不能,则可以将空消息或消息的空部分替换为公共常数。
图10是签名者设备1000和验证者设备1040的简化框图。
签名者设备1000能够执行图2、4、6和8所示示例方法中的一个或多个。签名者设备1000包括处理器1002,处理器1002耦合至存储器1004和通信接口1006。签名者设备1000可以包括随机或伪随机数生成器(RNG)1005。签名者设备1000可以包含为了清楚而在图10中未示出的其他元件。
验证者设备1040能够执行图3、5、7和9所示示例方法中的一个或多个。验证者设备1040包括处理器1042,处理器1042耦合至存储器1044和通信接口1046。验证者设备1040可以包含为了清楚而在图10中未示出的其他元件。
处理器1002和1042可以包括处理单元、数字信号处理器、硬件加速器等等的任何组合。存储器1004的全部或部分可以嵌入处理器1002中。存储器1044的全部或部分可以嵌入处理器1042中。
通信接口1006和1046可以是有线通信接口或无线通信接口或光通信接口。例如,通信接口1006和1046可以是通用串行总线(USB)接口,以太网接口、综合业务数字网(ISDN)接口、数字订户线(DSL)接口、局域网(LAN)接口、高清多媒体(HDMI)接口、数字视频接口(DVI)或电气与电子工程师协会(IEEE)1394接口,如i.LINKTM、LynxSM
Figure BDA00003041461800191
在另一示例中,通信接口1006和1046可以是无线局域网(WLAN)接口、短距无线通信接口,如无线个域网(WPAN)接口、近场通信接口、无线城域网(WMAN)接口或无线广域网(WWAN)接口。
可以由签名者设备1000的处理器1002和存储器1004中存储的代码1008的任意组合来实现在图2、4、6和8所示示例方法中的一个或多个的功能。存储器1004还可以存储处理器1002要执行的签名者设备1000中安装的应用(未示出)。
存储器1004和1044中的每一个能够存储已由签名者设备1000和验证者设备1040达成一致的参数1010。达成一致的参数1010的示例是:椭圆曲线域参数D、一个或多个密钥导出函数、一个或多个散列函数、与要实现的签名方案相关联的一个或多个函数(例如AE函数、MAC函数、加密函数、和AEAD函数中的一个或多个)以及与签名方案相关联的参数,如消息认证码的必要长度L。
存储器1004能够存储签名者设备1000的私钥dA1012,私钥dA1012对应于签名者设备1000的公钥GA1014。存储器1004还能够存储在202计算的第一值k1016和第二值Q1018(除了(k,Q)对是短期的从而不存储在存储器中的实现之外)。存储器1004能够存储要被签名的消息的隐藏部分N1020和可见部分V1022。此外,存储器1004能够存储在204或404构造的一个或多个导出密钥1024、在206、606或806计算的加密值c1 1026以及在206、405、607或806确定的消息认证码mac1028。存储器1004能够存储在208或406确定的第一签名分量c1030和在210或810确定的第二签名分量s1032。存储器1004可以存储在图10中未显式示出的附加元素。
如箭头1034所示,能够直接或经由一个或多个中间设备从签名者设备1000向验证者设备1040发送包括可见部分V1022、第一签名分量c1030和第二签名分量s1032在内的已签名的消息1036,其中,已签名的消息1036可以存储在验证者设备1040的存储器1044中。尽管未显式示出,已签名的消息1036可以经由通信接口1006从签名者设备1000发送,并可以经由通信接口1046由验证者设备1040接收。
可以由验证者设备1040的处理器1042和存储器1044中存储的代码1048的任意组合来实现在图3、5、7和9所示示例方法中的一个或多个的功能。存储器1044还可以存储处理器1042要执行的验证者设备1040中安装的应用(未示出)。
存储器1044能够存储签名者设备1000的公钥GA1014,存储器1044可以直接从签名者设备1000或从可信设备(未示出)(可能经由通信接口1046以及可能由其他手段)接收GA1014。例如,签名者设备1000的公钥GA1014可以包括在验证者设备1040上安装的软件中。存储器1044还能够存储在304或904确定的值Q’1050、在306或506构造的一个或多个导出密钥1052、在302提取的加密值c1’1054和在302或508确定的消息认证码mac’1056,以及所恢复的隐藏部分N1020。存储器1044可以存储在图10中未显式示出的附加元素。
尽管以结构特征和/或方法动作特定的语言描述了本发明的内容,但是应理解:在所附权利要求中限定的内容不必限于上述特定特征或动作。而是上述特定特征和动作仅作为实现权利要求的示例形式来公开。

Claims (9)

1.一种将签名应用于原始消息M(104)以产生由签名者(100,1000)签名的已签名的消息(106,1036)的方法,所述原始消息M(104)由第一部分N(1020)和第二部分V(1022)组成,所述方法包括:
选择第一整数值k(1016)并根据第一整数值k(1016)和椭圆曲线的基点G来计算第二值Q(1018),使得第二值Q(1018)包括在所述椭圆曲线上的点的集合中;
通过将密钥导出函数KDF应用于包括第二值Q(1018)的输入来构造导出密钥k1(1024);
将以导出密钥k1(1024)为密钥的认证加密函数应用于消息M(104)的第一部分N(1020)以获得加密值c1(1026)并获得消息认证码mac(1028);
将加密值c1(1026)和消息认证码mac(1028)可逆组合,以形成第一签名分量c(1030);
使用以下各项来计算第二签名分量s(1032):
(i)第一整数值k(1016);
(ii)签名者(100,1000)的私钥dA(1012);以及
(iii)第二整数值,其依赖于第一签名分量c(1030)和消息M(104)的第二部分V(1022);以及
将第一签名分量c(1030)、第二签名分量s(1032)和消息M(104)的第二部分V(1022)可逆组合,以形成已签名的消息(106,1036),
其中,对所述已签名的消息(106,1036)的验证和根据所述已签名的消息(106,1036)来恢复消息M(104)的第一部分N(1020)涉及签名者(100,1000)的公钥GA(110,1014)。
2.根据权利要求1所述的方法,其中,签名者的公钥GA包括在椭圆曲线上的点的集合中,并能够根据私钥dA(1012)和基点G来计算。
3.根据权利要求1所述的方法,所述方法还包括:
向验证者(102,1040)发送所述已签名的消息(106,1036)。
4.根据权利要求1所述的方法,所述方法还包括:
将散列函数应用于第一签名分量c(1030)和消息M(104)的第二部分V(1022)的可逆组合,以获得散列结果;以及
计算与散列结果等价的第二整数值。
5.根据权利要求4所述的方法,其中,所述可逆组合还包括签名者(100,1000)的身份。
6.一种验证已签名的消息(106,1036)的方法,所述已签名的消息(106,1036)是通过将签名应用于由第一部分N(1020)和第二部分V(1022)组成的原始消息M(104)而产生的,所述方法包括:
接收声称由签名者(100,1000)签名的已签名的消息(106,1036),所述已签名的消息(106,1036)是根据第一签名分量c(1030)、第二签名分量s(1032)和消息M(104)的第二部分V(1022)以可逆方式准备的;
从所述已签名的消息(106,1036)中提取第一签名分量c(1030)、第二签名分量s(1032)和第二部分V(1022);
从第一签名分量c(1030)中提取消息认证码mac’(1056)和加密值c1’(1054);
接收签名者(100,1000)的公钥GA(110,1014);
使用第二签名分量s(1032)、椭圆曲线的基点G、公钥GA(110,1014)和中间值来计算第一值Q’(1050),所述中间值依赖于第一签名分量c(1030)和消息M(104)的第二部分V(1022);
通过将密钥导出函数KDF应用于包括第一值Q’(1050)的输入来构造导出密钥k1’(1052);
将以导出密钥k1’(1052)为密钥的认证解密函数应用于加密值c1’(1054)和消息认证码mac’(1056)来确定所述已签名的消息(106,1036)是否有效,以及在所述已签名的消息(106,1036)有效的情况下恢复原始消息M(104)的第一部分N(1020)。
7.根据权利要求6所述的方法,其中,签名者的公钥GA包括在椭圆曲线上的点的集合中,并能够根据签名者(100,1000)的私钥dA(1012)和基点G来计算。
8.一种签名者设备(100,1000),包括:
处理器(1002);
通信接口(1006),耦合至所述处理器(1002);以及
存储器(1004),耦合至所述处理器(1002),所述存储器(1004)存储代码(1008),在由所述处理器(1002)执行时,所述代码(1008)被配置为执行根据权利要求1至5所述的任一方法。
9.一种验证者设备(102,1040),包括:
处理器(1042);
通信接口(1046),耦合至所述处理器(1042);以及
存储器(1044),耦合至所述处理器(1042),所述存储器(1044)存储代码(1048),在由所述处理器(1042)执行时,所述代码(1048)被配置为执行根据权利要求6或7所述的方法。
CN201180049393XA 2010-10-15 2011-10-11 具有消息恢复的数字签名的认证加密 Pending CN103155481A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US39374410P 2010-10-15 2010-10-15
US61/393,744 2010-10-15
PCT/IB2011/054489 WO2012049629A1 (en) 2010-10-15 2011-10-11 Authenticated encryption for digital signatures with message recovery

Publications (1)

Publication Number Publication Date
CN103155481A true CN103155481A (zh) 2013-06-12

Family

ID=44772903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180049393XA Pending CN103155481A (zh) 2010-10-15 2011-10-11 具有消息恢复的数字签名的认证加密

Country Status (6)

Country Link
US (1) US20120096273A1 (zh)
EP (1) EP2442483A3 (zh)
JP (1) JP2013539295A (zh)
CN (1) CN103155481A (zh)
CA (1) CA2808701C (zh)
WO (1) WO2012049629A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107454106A (zh) * 2017-09-15 2017-12-08 北京海泰方圆科技股份有限公司 一种信息验证的方法及装置
CN110210236A (zh) * 2019-05-27 2019-09-06 北京品友互动信息技术股份公司 数据关联方法及装置
CN110505193A (zh) * 2018-05-18 2019-11-26 英飞凌科技股份有限公司 车辆抗随机数滥用认证加密
CN110603783A (zh) * 2017-05-05 2019-12-20 区块链控股有限公司 采用可信硬件的安全动态阈值签名方案

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012126085A1 (en) * 2011-03-18 2012-09-27 Certicom Corp. Keyed pv signatures
US8995656B2 (en) 2012-04-27 2015-03-31 Certicom Corp. Multiple hashing in a cryptographic scheme
US9049022B2 (en) 2012-04-27 2015-06-02 Certicom Corp. Hashing prefix-free values in a certificate scheme
US8850199B2 (en) 2012-04-27 2014-09-30 Certicom Corp. Hashing prefix-free values in a signature scheme
CN104954130B (zh) * 2014-03-31 2019-08-20 西安西电捷通无线网络通信股份有限公司 一种实体鉴别方法及装置
MX366491B (es) * 2014-12-03 2019-07-10 Nagravision Sa Método criptográfico en bloques para encriptar/desencriptar mensajes y dispositivos criptográficos para implementar este método.
US9800418B2 (en) * 2015-05-26 2017-10-24 Infosec Global Inc. Signature protocol
WO2016187689A1 (en) * 2015-05-26 2016-12-01 Infosec Global Inc. Signature protocol
US10700875B1 (en) 2017-05-01 2020-06-30 Wells Fargo Bank, N.A. Systems and methods for value transfers using signcryption
US11438137B2 (en) * 2017-09-01 2022-09-06 Mitsubishi Electric Corporation Encryption device, decryption device, encryption method, decryption method, and computer readable medium
US11108567B2 (en) * 2019-02-15 2021-08-31 International Business Machines Corporation Compute digital signature authentication verify instruction
US11075763B2 (en) * 2019-02-15 2021-07-27 International Business Machines Corporation Compute digital signature authentication sign with encrypted key instruction
CN111953675B (zh) * 2020-08-10 2022-10-25 四川阵风科技有限公司 一种基于硬件设备的密钥管理方法
CN113179249B (zh) * 2021-03-25 2022-09-13 重庆扬成大数据科技有限公司 大数据网络中政务数据快速安全挖掘方法
US11689375B2 (en) * 2021-05-21 2023-06-27 International Business Machines Corporation Data in transit protection with exclusive control of keys and certificates across heterogeneous distributed computing environments

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009030021A1 (en) * 2007-09-04 2009-03-12 Certicom Corp. Signatures with confidential message recovery
CN101527911A (zh) * 2008-03-03 2009-09-09 索尼株式会社 通信装置和通信方法
US20090292926A1 (en) * 2007-12-13 2009-11-26 Michael Daskalopoulos System and method for controlling features on a device
CN101645773A (zh) * 2008-08-05 2010-02-10 耶德托存取公司 基于椭圆曲线加密法的签密方案
US20100158250A1 (en) * 2008-12-23 2010-06-24 Stmicroelectronics S.R.L. Message transmission method, preferably for an energy distribution network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249259B1 (en) 1999-09-07 2007-07-24 Certicom Corp. Hybrid signature scheme
US20060053285A1 (en) * 2004-07-29 2006-03-09 Kimmel Gerald D Object access level
US7865730B2 (en) * 2006-01-30 2011-01-04 Kronos Technology Systems Limited Partnership Bcencryption (BCE)—a public-key based method to encrypt a data stream
US20120096274A1 (en) * 2010-10-15 2012-04-19 Certicom Corp. Authenticated encryption for digital signatures with message recovery

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009030021A1 (en) * 2007-09-04 2009-03-12 Certicom Corp. Signatures with confidential message recovery
US20090292926A1 (en) * 2007-12-13 2009-11-26 Michael Daskalopoulos System and method for controlling features on a device
CN101527911A (zh) * 2008-03-03 2009-09-09 索尼株式会社 通信装置和通信方法
CN101645773A (zh) * 2008-08-05 2010-02-10 耶德托存取公司 基于椭圆曲线加密法的签密方案
US20100158250A1 (en) * 2008-12-23 2010-06-24 Stmicroelectronics S.R.L. Message transmission method, preferably for an energy distribution network

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JEE HEA AN等: "Does encryption with redundancy provide authenticity?", 《ADVANCES IN CRYPTOLOGY-EUROCRYPT2001》 *
MIHIR BELLARE等: "Authenticated Encryption: Relations among Notions and Analysis of the Generic Composition Paradigm", 《JOURNAL OF CRYPTOLOGY》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110603783A (zh) * 2017-05-05 2019-12-20 区块链控股有限公司 采用可信硬件的安全动态阈值签名方案
CN110603783B (zh) * 2017-05-05 2023-02-28 区块链控股有限公司 采用可信硬件的安全动态阈值签名方案
CN107454106A (zh) * 2017-09-15 2017-12-08 北京海泰方圆科技股份有限公司 一种信息验证的方法及装置
CN107454106B (zh) * 2017-09-15 2018-07-06 北京海泰方圆科技股份有限公司 一种信息验证的方法及装置
CN110505193A (zh) * 2018-05-18 2019-11-26 英飞凌科技股份有限公司 车辆抗随机数滥用认证加密
CN110505193B (zh) * 2018-05-18 2023-09-12 英飞凌科技股份有限公司 车辆抗随机数滥用认证加密
CN110210236A (zh) * 2019-05-27 2019-09-06 北京品友互动信息技术股份公司 数据关联方法及装置
CN110210236B (zh) * 2019-05-27 2020-07-14 北京深演智能科技股份有限公司 数据关联方法及装置

Also Published As

Publication number Publication date
CA2808701C (en) 2015-03-24
EP2442483A3 (en) 2012-08-15
EP2442483A2 (en) 2012-04-18
JP2013539295A (ja) 2013-10-17
US20120096273A1 (en) 2012-04-19
CA2808701A1 (en) 2012-04-19
WO2012049629A1 (en) 2012-04-19

Similar Documents

Publication Publication Date Title
CN103155481A (zh) 具有消息恢复的数字签名的认证加密
CA2806357C (en) Authenticated encryption for digital signatures with message recovery
CN108667626A (zh) 安全的两方协作sm2签名方法
US8661240B2 (en) Joint encryption of data
CN110113150B (zh) 基于无证书环境的可否认认证的加密方法和***
CN106936584B (zh) 一种无证书公钥密码***的构造方法
CN101931536B (zh) 一种无需认证中心的高效数据加密及认证方法
US9088419B2 (en) Keyed PV signatures
CN106713349B (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
CA2819211C (en) Data encryption
CN113300856A (zh) 一种可证安全的异构混合签密方法
US20150006900A1 (en) Signature protocol
Galla et al. Implementation of RSA
CN113162773A (zh) 一种可证安全的异构盲签密方法
CN101931535A (zh) 一种无需认证中心的自适应数据加密及认证方法
CN117879833A (zh) 一种基于改进椭圆曲线的数字签名生成方法
JP2004246350A (ja) 暗号化装置および復号化装置、並びにこれらを備えた暗号システム、暗号化方法および復号化方法
JP3862397B2 (ja) 情報通信システム
Ki et al. Privacy-enhanced deniable authentication e-mail service
Das et al. Cryptanalysis of Signcryption Protocols Based On Elliptic Curve
Durán Díaz et al. A review of multisignatures based on RSA
Baytalskyy Triple-Protocol–A New Direction of Elliptic-Curve Cryptography
Kou et al. Security fundamentals
CN109327458A (zh) 基于非对称加密算法的远程信息安全解锁控制方法及***
Lioy Basics of ICT security

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130612