CN102055760B - 消息发送/接收方法和系统 - Google Patents

消息发送/接收方法和系统 Download PDF

Info

Publication number
CN102055760B
CN102055760B CN2010105339150A CN201010533915A CN102055760B CN 102055760 B CN102055760 B CN 102055760B CN 2010105339150 A CN2010105339150 A CN 2010105339150A CN 201010533915 A CN201010533915 A CN 201010533915A CN 102055760 B CN102055760 B CN 102055760B
Authority
CN
China
Prior art keywords
signature
key
random number
recipient
server
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
Application number
CN2010105339150A
Other languages
English (en)
Other versions
CN102055760A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102055760A publication Critical patent/CN102055760A/zh
Application granted granted Critical
Publication of CN102055760B publication Critical patent/CN102055760B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • 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
    • H04L9/3249Cryptographic 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 using RSA or related signature schemes, e.g. Rabin scheme
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及消息发送/接收方法和系统以用于完全防止私钥的泄露。具体地,提供一种发送消息的消息发送方法。该方法包括步骤:(1)利用随机数r对签名生成密钥sk_s随机化,以计算随机化签名生成密钥sk′_s=SigningKeyRandomize(sk_s,r);(2)利用公共加密密钥pk_e来加密随机数r,以计算加密的随机数R=Enc(pk_e,r);(3)利用随机化签名生成密钥sk′_s对消息m进行签名,以计算签名的消息s′=Sign(sk′_s,m);以及(4)向接收方发送签名的消息s′和加密的随机数R,其中sk_s代表消息m的发送方的私密签名生成密钥,pk_e代表接收方的公共加密密钥,r代表随机数,s代表签名,Sign代表签名生成函数,s=Sign(sk_s,m)代表针对消息m的签名,SigningKeyRandomize代表用于对私密签名生成密钥sk_s随机化的函数,并且Enc代表加密函数。

Description

消息发送/接收方法和系统
技术领域
本发明涉及用于发送/接收消息(邮件)的方法,并且具体地,涉及用于安全地生成、发送和接收经签字消息的方法、系统和程序。
背景技术
用户通过诸如Gmail(http://mail.google.com)的在线电子邮件服务器中的web浏览器来发送和接收邮件。现在假设:邮件经过签字并且继而在这种环境中被加密,诸如通过PGP或者S/MIME来执行。换言之,假设:对邮件执行所谓的“签名而后加密”(StE)处理。浏览器通常不管理签名生成密钥以及加密密钥,由此StE处理无法在用户的计算机上本地执行。因此,服务器保持关于签名生成密钥和加密密钥的信息,并且还执行StE处理。例如,考虑如下情况,即发送方在邮件经历StE处理之后向接收方发送邮件。在此情况下,发送方的私密签名生成密钥和接收方的公共加密密钥保持在服务器上。服务器使用这些密钥对发送方在浏览器上创建的邮件执行StE处理,而后发送该邮件。
在上述环境中,如果恶意攻击方(内部或外部)侵入服务器,则发送方的私密签名生成密钥可能被盗。为应对该问题,需要某种类型的保护手段。专利文献1描述了一种方法,其通过不允许密钥公共中心保持任何私密签名生成密钥,来防止密钥公共中心中的欺诈。然而,专利文献1无法提供用于执行StE处理的方法,因为密钥公共中心从开始就没有保持签名生成密钥。非专利文献1描述了用于以Java(商标)或C编写的程序进行模糊化的各种技术。存在很多这样的模糊化工具(包括可以商业上购得的),并且可被用于使StE处理的程序模糊化。然而,这些工具旨在使程序难以阅读,并且无法完全阻止私钥的泄露。非专利文献2描述了用于对重新加密(解密而后加密:解密密文继而利用另一密钥来加密已解密密文的操作)进行模糊化。非专利文献2提供了一种使解密而后加密函数模糊化的技术,并且无法用于使StE函数模糊化。
非专利文献3描述了公知的加密策略。非专利文献4到7每一个都描述了公知的签名方案。
专利文献包括日本未审查专利申请公开号Hei 7-87081。
非专利文献包括:
C.Collberg,C.Thomborson and D.Low,″A Taxonomy ofObfuscating Transformations,″Technical Report 148,Department ofComputer Science,University of Auckland,1997.
S.Hohenberger,G.N.Rothblum,a.shelat,and V.Vaikuntanathan,″Securely Obfuscating Re-Encryption,″Proceedings of TCC′07,2007.
T.El Gamal,″A public key cryptosystem and signature schemebased on discrete logarithms,″IEEE Trans.Inform.Theory,Vol.31,pp.469-472,1985.
D.Boneh,B.Lynn,and H.Shacham,″Short Signatures from theWeil Pairing,″Proceedings of ASIACRYPT 2001,pp.514-532,2001.
C.Schnorr,″Efficient Signature Generation by Smart Cards,″J.Cryptology 4(3),pp.161-174,1991.
A.Lysyanskaya,″Unique Signatures and Verifiable RandomFunctions from the DH-DDH Separation,″Proceedings of CRYPTO′02,2002.
B.Waters,″Efficient Identity-Based Encryption Without RandomOracles,″Proceedings of Eurocrypt 2005.
发明内容
本发明的目的是完全防止从服务器上保持的信息泄露私钥。具体地,目的是允许使用保持的信息来执行StE处理,以及防止从保持的信息泄露私密签名生成密钥。为了实现上述目的,本发明具有用于在服务器上保持发送方的私密签名生成密钥的独特配置。此目的不限专用于在线电子邮件服务,而是还适用于提供需要StE处理的工作流应用等的所有web服务和SaaS服务。根据模糊化技术,本发明的目的可以理解为对程序进行模糊化,以完全防止私密签名生成密钥的泄露,该程序保持私钥并且将被执行以用于StE处理。
为了解决上述问题,本发明提供了一种消息发送方法,用于通过包括处理器和存储器的计算机的处理来发送消息。该方法包括步骤:(1)利用随机数r对签名生成密钥sk_s随机化,以计算随机化的签名生成密钥sk′_s=SigningKeyRandomize(sk_s,r);(2)利用公共加密密钥pk_e来加密随机数r,以计算加密的随机数R=Enc(pk_e,r);(3)利用随机化的签名生成密钥sk′_s对消息m进行签名,以计算签名的消息s′=Sign(sk′_s,m);以及(4)向接收方发送签名的消息s′和加密的随机数R。在上面的步骤中,sk_s代表消息m的发送方的私密签名生成密钥,pk_e代表接收方的公共加密密钥,r代表随机数,s代表签名,Sign代表签名生成函数,s=Sign(sk_s,m)代表针对消息m的签名,SigningKeyRandomize代表用于对私密签名生成密钥sk_s随机化的函数,并且Enc代表加密函数。
这里,步骤(3)和(4)分别可以是以下步骤:利用与随机数r不同的随机数r′来计算s k″_s=SigningKeyRandomize(sk′_s,r′),以便对随机化签名生成密钥sk′_s再次进行随机化,继而利用再次随机化的签名生成密钥sk″_s来对消息m进行签名,以计算签名的消息s″=Sign(sk″_s,m);以及根据加密的随机数R和随机数r′来计算r×r′的密文R″,继而向接收方发送值(s″,R″)。
这里,签名生成函数可以使用以下任何一个:BLS签名方案,Schnorr签名方案,Lysyanskaya签名方案,以及Waters签名方案。此外,该消息发送方法还可以包括步骤:接收签名的消息s′和加密的随机数R;利用解密函数Dec来解密由此接收的加密的随机数R,以计算随机数r=Dec(sk_e,R);根据由此接收的签名的消息s′、消息m以及作为解密结果的随机数r来计算签名s;以及通过使用验证函数Verify(pk_s,s,m)来验证签名s。在上面的步骤中,pk_s代表消息m的发送方的公共签名验证密钥,sk_e代表接收方的私密解密密钥,Dec(sk_e,R)代表解密函数,并且Verify(pk_s,s,m)代表验证函数。
在另一方面,本发明提供一种邮件发送方法,包括步骤:使服务器A响应于发送方的邮件m的发送,向密钥管理中心发送关于该发送方和接收方的信息;使密钥管理中心向PKI服务器发送关于发送方和接收方的信息,由此从PKI服务器获取发送方的私密签名生成密钥sk_s以及接收方的公共加密密钥pk_e;使服务器A从密钥管理中心接收通过利用随机数r对私密签名生成密钥sk_s进行随机化而获得的随机化签名生成密钥sk′_s=SigningKeyRandomize(sk_s,r),以及通过利用接收方的公共加密密钥pk_e对随机数r进行加密而获得的加密的随机数R=Enc(pk_e,r);使服务器A通过使用接收方的公共加密密钥pk_e,来生成邮件m的密文M=Enc(pk_e,m);使服务器A通过使用随机化签名生成密钥sk′_s和加密的随机数R来计算s′=Sign(sk′_s,m);以及使服务器A向服务器B发送邮件m的密文M和值(s′,R)。
此邮件发送方法还可以包括步骤:使服务器B接收邮件m的密文M和值(s′,R);使服务器B向PKI服务器发送关于发送方和接收方的信息,由此从PKI服务器获取发送方的公共验证密钥pk_s和接收方的私密解密密钥sk_e;使服务器B通过使用接收方的私密解密密钥sk_e,来解密密文M以获得邮件m=Dec(sk_e,M),以及解密随机数R以获得随机数r=Dec(sk_e,R),并且根据值(s′,m,r)来计算签名s;以及使服务器B通过使用验证函数Verify(pk_s,s,m)来验证签名s。
即使用于从发送方向接收方的发送的模糊化StE程序应当被泄露并被攻击方和获得,本发明也可以预期以下效果等。
1.攻击方无法篡改发送方的签名。
2.攻击方无法执行用于从发送方向除接收方之外的第三方的发送的StE处理。
3.通过在程序泄露后尽可能快地更新接收方的公钥,可以使泄露的程序变得毫无价值。这种情况下,不需要更新发送方的私密签名生成密钥。
附图说明
图1示出了传统的签名而后加密方法。
图2示出了传统的邮件发送方法的示例。
图3示出了向在线邮件服务器应用StE处理的示例。
图4是示出本发明的概况的视图。
图5示出了采用本发明的在线电子邮件服务器中的StE处理的概况。
图6是示出步骤2的详细操作的视图。
图7是示出步骤4的详细操作的视图。
图8是示出步骤5的详细操作的视图。
图9是用于管理每个用户的各种密钥的表。
图10示出了每个服务器中包括的计算机硬件的框图的示例。
图11是步骤1到5的整体的处理转换图表。
具体实施方式
<传统的签名而后加密方法>
在描述本发明的概况之前,首先将利用图1示出的图示来描述传统的签名而后加密(StE)方法。邮件发送方110利用私密签名生成密钥对输入的消息m进行签名,以生成签名σ。继而,邮件发送方110利用接收方120的公共加密密钥来加密(m,σ),以生成密文c。接收方120解密已发送的密文c,以获得消息m及其验证结果。当StE处理由程序执行时,包括在StE程序中的信息包括发送方110的私密签名生成密钥以及接收方120的公共加密密钥。邮件接收方120利用接收方120的私密解密密钥来解密发送的密文c,并且利用发送方110的公共验证密钥来验证解密的文本。图2示出了向传统的邮件发送方法应用上述StE处理的示例。在图2中,StE处理由发送方210的PC上的电子邮件应用来执行。继而,由此加密的邮件经由服务器A(230)并继而经由服务器B(240)到达接收方220的PC,并且由接收方220的电子邮件应用解密和验证。然而,在邮件主要通过因特网发送和接收的当前环境中,多数情况下使用在线电子邮件服务。该在线服务器由服务器提供,并且用户通过web浏览器来发送和接收邮件。图3示出了向在线电子邮件服务应用StE处理的情况。当在发送方310的PC上生成邮件之后,服务器A(330)对该邮件执行StE处理,并且向服务器B(340)发送由此加密的邮件。继而,服务器B(340)解密加密的邮件,并最终向接收方320的PC发送由此解密和验证的邮件。
<本发明的概述>
如果图3所示的用于StE处理的程序通过通常的(初级的)方式实现并被保持在服务器A(330)上,则发送方的私密签名生成密钥可能易于从StE程序泄露。为了解决此问题,本发明提出一种用于对该程序进行模糊化的方法,并且经过模糊化的程序保持在服务器上。此前存在针对以Java或C编写的程序的多种通用模糊化工具。然而,这些工具的目的仅仅是为了使得程序难以阅读,并且这些工具不被认为能够完全防止私钥泄露。本发明与针对特定编程语言的通用模糊化技术无关,但是与针对特定StE程序的密码学模糊化有关。本发明的基本思想是设计签名方案和加密方案的配对,该配对具有特殊的属性,其中以下两个处理彼此等效。
1.在给出特定消息时,利用发送方的私密签名生成密钥对该消息进行签名。继而,利用接收方的公共加密密钥来加密签名的数据。
2.在给出特定消息时,利用接收方的公共加密密钥来加密发送方的私密签名生成密钥。继而,利用加密的签名生成密钥对消息进行签名。
前一处理是旨在模糊化的StE处理。后一处理中的“利用接收方的公共加密密钥来加密发送方的私密签名生成密钥”对应于本发明的模糊化。特别地,发送方的加密的签名生成密钥保持在经模糊化的程序中,并且用来对给定的消息进行签名。这使得后一处理等效于前一StE处理。由于发送方的加密的签名生成密钥是加密信息,因此可以确保不从信息中泄露发送方的签名生成密钥。
图4示出了本发明的概述。在传统方式中,StE处理器410利用发送方的私密签名生成密钥对消息m进行签名(412),从而生成签名σ。继而,StE处理器410利用接收方的公共加密密钥来加密(414)签名σ,继而输出密文c。另一方面,在本发明中,发送方的签名生成密钥首先利用接收方的公共加密密钥来加密(420)。继而,加密的签名生成密钥被保持,继而被用来对消息m进行签名并输出密文c(432)。执行上述处理的处理器430对应于通过对StE处理器410进行模糊化获得的程序。执行上述处理以加密针对消息m的签名σ,而不是加密消息m本身。对消息本身的加密可以通过使用接收方公共加密密钥pk_e的典型混合型加密来实现,并且不需要发送方的私密签名生成密钥。由此,消息不是必须被模糊化,由此不是根据本发明的模糊化的目标。
<详细实施方式>
下面将给出对本发明实施方式的详细描述。
现在,下文将考虑概要的签名方案
<签名方案>
签名:s=Sign(sk_s,m)(其中sk_s代表私密签名生成密钥,m代表消息,并且s代表签名结果);
验证:Verify(pk_s,s,m)(其中pk_s代表公共签名验证密钥);
签名生成函数Sign可以内部使用随机数。在这种情况下,s随机地生成。
假设,签名方案满足以下三个条件。
签名方案条件1(关于签名生成密钥的随机化):
存在函数sk′_s=SigningKeyRandomize(sk_s,r),用于利用随机数r对私密签名生成密钥sk_s进行随机化,并且绝不会从sk′_s泄露出关于sk_s的信息。此外,在对sk′_s进行重新随机化时,也即,利用另一随机数r′计算sk″_s=SigningKeyRandomize(sk′_s,r′)时,满足sk″_s=SigningKeyRandomize(sk_s,r×r′)。换言之,利用r和r′对sk_s进行两次随机化等效于利用r×r′对sk_s进行一次随机化。这里,×代表随机数字之间的空间算术操作,诸如相加或相乘。
签名方案条件2(关于签名的随机化)
存在函数s′=SignatureRandomize(s,m,r),用于利用消息m和随机数r对签名s进行随机化,并且无法从s′恢复s。此外,对于任意的(m,r,sk_s),SignatureRandomize(Sign(sk_s,m),m,r)=Sign(SignatureKeyRandomize(sk_s,r),m)成立。换言之,利用r对针对m的签名进行随机化来计算针对m的签名,这等效于利用通过r而随机化的签名生成密钥。
签名方案条件3(关于根据随机化的签名对原始签名的计算):
s=Sign(sk_s,m)可以根据随机化的签名s′=SignatureRandomize(s,m,r)、消息m以及用于随机化的随机数r来计算。
例如,在BLS签名方案(非专利文献4)的情况下,签名生成函数Sign(sk_s,m)通过使用散列函数H被计算为Exp(H(m),sk_s)。换言之,签名生成函数Sign(sk_s,m)被计算为H(m)的sk_s次幂,H(m)是m的散列值。在此情况下,如下所述地满足所有上述条件。
签名方案条件1:
sk′_s可以计算为sk′_s=SigningKeyRandomize(sk_s,r)=sk_s×r。此外,sk″_s=SigningKeyRandomize(sk′_s,r′)=sk_s×r×r′成立,并且由此满足sk″_s=SigningKeyRandomize(sk_s,r×r′)。
签名方案条件2:
s′可以计算为SignatureRandomize(s,m,r)=Exp(s,r)。m未用于此计算。
签名方案条件3:
随机化的签名表达为s′=Exp(H(m),sk_s×r)。由此,s=Sign(sk_s,m)可以根据s′和r计算为Exp(s′,1/r)。m未用于此计算。
在Schnorr的签名策略中(非专利文献5),也满足所有上述条件。在Schnorr的签名方案中,执行以下计算作为签名生成函数Sign(sk_s,m)。
1.生成随机数k,继而计算x=Exp(g,k)。这里,g代表公共参数。
2.通过使用散列函数H来计算e=H(m,x)。
3.计算y=k+e×sk_s。
4.输出(x,y)作为签名s。
在这种情况下,如下描述地满足所有上文条件。
签名方案条件1:
sk′_s可以计算为sk′_s=SigningKeyRandomize(sk_s,r)=sk_s+r。此外,sk″_s=SigningKeyRandomize(sk′_s,r′)=sk_s+r+r′成立,并且由此满足sk″_s=SigningKeyRandomize(sk_s,r+r′)。
签名方案条件2:
s′可以计算为SignatureRandomize(s=(x,y),m,r)=(x,y+H(m,x)×r)。
签名方案条件3:
随机化的签名表达为s′=(x,y′=k+H(m,x)×(sk_s+r))。由此,s=Sign(sk_s,m)可以根据s′、m和r计算为(x,y′-H(m,x)×r)。
在Waters的签名方案中(非专利文献7),也满足上述所有条件。在Waters的签名方案中,执行以下计算作为签名生成函数Sign(sk_s,m)。具体地,生成随机数k,继而计算(sk_s×Exp(f(m),k),Exp(g,k))作为签名s。这里,g代表公共参数,并且f代表公共函数。在此情况下,如下描述满足所有上述条件。
签名方案条件1:
sk′_s可以计算为sk ′_s=SigningKeyRandomize(sk_s,r)=sk_s×r。此外,sk″_s=SigningKeyRandomize(sk′_s,r′)=sk_s×r×r′成立,并且由此满足sk″_s=SigningKeyRandomize(sk_s,r×r′)。
签名方案条件2:
s′可以计算为SignatureRandomize(s=(sk_s×Exp(f(m),k),Exp(g,k)),m,r)=(r×sk_s×Exp(f(m),k),Exp(g,k))。m未用于此计算。
签名方案条件3:
随机化的签名表达为s′=(s1′,s2′)=(r×sk_s×Exp(f(m),k),Exp(g,k))。由此,s=Sign(sk_s,m)可以根据s′、m和r计算为(s1′/r,s2′)。M未用于此计算。
除了BLS签名方案、Schnorr签名方案和Waters签名方案之外,Lysyanskaya的签名方案(非专利文献6)等也满足上述所有条件。
接下来,下面将考虑概要的加密方案。
<加密方案>
加密:c=Enc(pk_e,m)(其中pk_e代表公共加密密钥,m代表消息,并且c代表密文);
解密:m=Dec(sk_e,c)(其中sk_e代表私密解密密钥)。
加密函数Enc可以内部使用随机数。在这种情况下,c随机地生成。
就加密方案而言,本发明将以下两种属性纳入考虑。例如,ElGamal加密方案(非专利文献3)具有这两种属性。
具有同态属性的加密方案:
对于任何消息配对(m1,m2),如果在给出ml的密文c1=Enc(pk_e,m1)和m2时能够计算Enc(pk_e,m1×m2),则这种加密方案称为具有同态属性。这里,×代表算术操作,诸如相加或相乘,如签名方案条件1中所述。例如,El Gamal加密方案(非专利文献3)对于乘而言具有这一属性。
可重新随机化的加密方案:
此属性与随机生成密文c的加密方案有关。如果当针对特定的消息m给出密文c=Enc(pk_e,m)和加密密钥pk_e时,存在随机算法c′=Rerandomize(c,pk_e)用于对密文c进行重新随机化,并且c=Enc(pk_e,m)的随机分布等于c′=Rerandomize(c,pk_e)的随机分布,则这种加密方案称为是可重新随机化的。
通过结合使用上述加密方案和签名方案的配对,下面的签名而后加密程序是可以想到的。此程序旨在根据本发明的模糊化。
<旨在模糊化的签名而后加密程序>
输入:消息m
程序中要保持的信息:发送方的私密签名生成密钥sk_s和接收方的公共加密密钥pk_e
输出:针对m的签名的密文
处理内容:
1.计算s=Sign(sk_s,m);
2.生成随机数r;
3.计算s′=SignatureRandomize(s,m,r)(参见签名方案条件2);
4.计算R=Enc(pk_e,r)(随机数r的加密);
5.输出(s′,R)。
换言之,步骤1对应于签名处理,而步骤2到5对应于加密处理。具有接收的(s′,R)的接收方首先解密R以计算r,也即,计算r=Dec(sk_e,R)。继而,接收方按照签名方案条件3,根据(s′,m,r)来计算签名S。最后接收方通过使用函数Verify(pk_s,s,m)来验证签名。
如问题描述中所描述的,上面的程序按照原样保持发送方的私密签名生成密钥sk_s,由此密钥容易被泄露。为此,需要对程序进行模糊化,从而不应泄露sk_s。
<模糊化的签名而后加密程序>
下面将描述两类模糊化的程序。每个经模糊化的程序不是按照原样保持发送方的私密签名生成密钥sk_s,而是保持通过根据签名方案条件1对sk_s进行随机化而获得的值sk′_s,即sk′_s=SigningKeyRandomize(sk_s,r)。此外,程序保持通过加密r而获得的密文R,即R=Enc(pk_e,r)。由于签名方案条件1和加密,不会从这些信息片段中泄露出sk_s。
<模糊化的签名而后加密程序1>
输入:消息m。
将要保持在程序中的信息:
1.sk′_s=SigningKeyRandomize(sk_s,r);
2.R=Enc(pk_e,r);
3.接收方的公共加密密钥pk_e。
输出:针对m的签名的密文。
处理内容:
1.计算s′=Sign(sk′_s,m)(其中s′=SignatureRandomize(Sign(sk_s,m),m,r)通过签名方案2而得以满足);
2.输出(s′,R)。
接收方在接收到(s′,R)之后执行的处理与上文描述相同。具体地,接收方解密R以计算r,也即,计算r=Dec(sk_e,R)。继而,接收方按照签名方案条件3,根据(s′,m,r)来计算签名。最后,接收方通过使用函数Verify(pk_s,s,m)来验证签名。
在某些情况下,上述模糊化的程序对于相同的消息m总是产生相同的输出,这在安全性的方面有时不是优选的。如下所述,可以通过改善程序对输出进行随机化。由于没有对将保持在程序中的信息进行任何改变,因此从不会从程序泄露sk_s。
<模糊化的签名而后加密程序2>
输入:消息m。
将要保持在程序中的信息:与程序1相同。
输出:针对m的签名的密文。
处理内容:
1.生成随机数r′;
2.计算sk″_s=SigningKeyRandomize(sk′_s,r′)(其中sk″_s=SigningKeyRandomize(sk_s,r×r′)通过签名方案条件1得以满足);
3.计算s″=Sign(sk″_s,m)(其中s″=SignatureRandomize(Sign(sk_s,m),m,r×r′)通过签名方案条件1和2得以满足);
4.如果加密方案具有同态属性,则根据R和r′来计算r×r′的密文R″。
这里,如果加密方案是可重新随机化的,则R″可以根据需要重新随机化。在这种情况下,计算R″=Rerandomize(R″,pk_e),继而输出(s″,R″)。如果加密方案不具有同态属性,则无法计算R″。在这种情况下,计算R′=Enc(pk_e,r′),继而输出(s″,(R,R′))而不是(s″,R″)。此时,可以通过计算R=Rerandomize(R,pk_e)根据需要对R进行重新随机化。
如果加密方案具有同态属性,则接收方在接收到(s″,R″)之后执行以下处理(解密验证)。首先,接收方解密R″以计算r×r′,也即,计算r×r′=Dec(sk_e,R″)。继而接收方按照签名方案条件3根据(s′,m,r×r′)来计算签名s。最后,接收方通过使用函数Verify(pk_s,s,m)来验证签名s。
如果加密方案不具有同态属性,则接收方在接收到(s″,(R,R′))之后执行以下处理(解密验证方法)。首先,接收方解密R和R′以计算r和r′,也即,计算r=Dec(sk_e,R)和r′=Dec(sk_e,R′)。继而,接收方按照签名方案条件3根据(s′,m,r×r′)来计算签名s。最后,接收方通过使用函数Verify(pk_s,s,m)来验证签名s。
<在线电子邮件服务器>
可以利用通过使用本发明而模糊化的程序来安全地执行在线电子邮件服务中的StE处理。此后,将描述发送方向接收方发送电子邮件的示例。注意,假设,发送方的私密签名生成密钥和公共签名验证密钥以及接收方的公共加密密钥和私密解密密钥由基于PKI(公钥基础架构)的密钥管理中心来管理。此外,PKI服务器610提供了用于实现PKI系统的证书授权(CA)和注册授权(RA)的功能。换言之,PKI服务器610通过使用PKI来执行数字证书的发布以及管理对数字证书的操作。如图9所示,对于每个用户,PKI服务器610管理用于加密的公共加密密钥和私密解密密钥,以及用于签名的公共验证密钥和私密签名密钥。
图5示出了使用本发明的在线电子邮件服务器中的StE处理的概述。
步骤1:发送方310访问服务器A(330)的服务,在发送方310的浏览器上生成邮件m,并且按压发送按钮。向服务器A发送邮件m。
步骤2:服务器A(330)从密钥管理中心510获取接收方320的公共加密密钥,以及用于从发送方310向接收方320的发送的模糊化StE程序。
步骤3:服务器A(330)利用接收方320的公共加密密钥来生成邮件m的密文,还利用模糊化StE程序来生成针对邮件m的签名的密文。继而,服务器A向服务器B(340)发送这些密文。
步骤4:服务器B(340)从密钥管理中心510获取接收方320的私密解密密钥以及发送方310的公共签名验证密钥。继而,服务器B解密加密的邮件m,并且解密和验证签名。
步骤5:接收方320访问服务器B(340)的服务,由此在浏览器上读取来自发送方310的邮件m。在这种情况下,在浏览器上显示签名验证结果。将更为详细地描述上述步骤2到5。
图6示出了步骤2的详细操作。服务器A(330)首先向密钥管理中心510的模糊化单元420发送关于发送方310和接收方320的信息。这里,该信息指示诸如发送方和接收方的姓名和用户ID的信息,可以利用该信息来指定用户。模糊化单元420向PKI服务器发送关于发送方和接收方的信息,并且从PKI服务器获取发送方的私密签名生成密钥sk_s和接收方的公共加密密钥pk_e。
继而,模糊化单元420向服务器A(330)发送:通过利用随机数r对发送方310的私密签名生成密钥sk_s进行随机化而获得的签名生成密钥sk′_s=SigningKeyRandomize(sk_s,r);以及通过利用接收方320的公共加密密钥pk_e对随机数r进行加密而获得的R=Enc(pk_e,r)。这里,由服务器A(330)获取随机化的签名生成密钥sk′_s和密文R被称为由服务器A(330)获取模糊化StE程序。
在步骤3中,服务器A(330)首先通过使用接收方320的公共加密密钥pk_e来生成邮件m的密文M。继而,服务器A通过使用模糊化StE程序(sk′_s和R)来计算s′=Sign(sk′_s,m)。此后,服务器A向服务器B(340)发送M和(s′,R)。这里,(s′,R)代表模糊化的签名而后加密程序1的处理结果。备选地,服务器A(330)可以执行模糊化的签名而后加密程序2的处理。
图7示出了步骤4的详细操作。服务器B(340)首先接收密文M以及模糊化StE程序的处理结果(s′,R)。服务器B(340)继而向PKI服务器610发送关于发送方310和接收方320的信息,并且从PKI服务器610获取发送方的公共验证密钥pk_s和接收方的私密解密密钥sk_e。服务器B(340)继而从密文M解密邮件m。
服务器B(340)随后利用接收方320的私密解密密钥sk_e来解密R以获得原始随机数r,并且按照签名方案条件3根据(s′,m,r)来计算签名s。继而,服务器B通过使用发送方310的公共验证密钥pk_s来计算结果=Verify(pk_s,s,m)作为签名验证结果。
图8示出了步骤5的详细操作。接收方320访问服务器B(340)的服务,由此在浏览器上读取来自发送方310的邮件。在这种情况下,在浏览器上显示服务器B(340)中计算的签名验证结果。图8示出了签名验证失败的情况。在此示例中,通过弹出窗口向接收方320通知验证失败的警示消息。
图11示出了上述步骤1到5的整体处理转换图。
在步骤1110,发送方310访问服务器A(330)的服务,在发送方310的浏览器上生成邮件m,并且按压发送按钮。此时,向服务器A发送邮件m。
在步骤1120,服务器A(330)访问密钥管理中心510以获取模糊化StE程序。更具体地,服务器A(330)向密钥管理中心510的模糊化单元420发送关于发送方310和接收方320的信息。这里,该信息指示诸如发送方和接收方的姓名和用户ID的信息,可以利用该信息来指定用户。
在步骤1130,模糊化单元420向PKI服务器610发送关于发送方310和接收方320的信息。
在步骤1140,PKI服务器610向模糊化单元420发送发送方310的私密签名生成密钥sk_s和接收方320的公共加密密钥pk_e。
在步骤1150,模糊化单元420向服务器A(330)发送:通过利用随机数r对发送方310的私密签名生成密钥sk_s进行随机化,而获得的签名生成密钥sk′_s=SigningKeyRandomize(sk_s,r);以及通过利用接收方320的公共加密密钥pk_e对随机数r进行加密而获得的R=Enc(pk_e,r)。
在步骤1160,服务器A(330)首先通过使用接收方320的公共加密密钥pk_e来生成邮件m的密文M。继而,服务器A通过使用模糊化StE程序(sk′_s和R)来计算s′=Sign(sk′_s,m)。此后,服务器A向服务器B(340)发送M和(s′,R)。这里,(s′,R)代表模糊化的签名而后加密程序1的处理结果。备选地,服务器A可以执行模糊化的签名而后加密程序2的处理。
在步骤1170,在接收邮件时,服务器B(340)接收密文M以及模糊化StE程序的处理结果(s′,R)。服务器B继而向PKI服务器610发送关于发送方310和接收方320的信息。
在步骤1180,PKI服务器610向服务器B(340)发送发送方的公共验证密钥pk_s和接收方的私密解密密钥sk_e。
在步骤1190,服务器B(340)从PKI服务器610获取发送方的公共验证密钥pk_s和接收方的私密解密密钥sk_e。服务器B由此从密文M解密邮件m。服务器B随后利用接收方320的私密解密密钥sk_e来解密随机数R以获得原始随机数r,并且按照签名方案条件3根据(s′,m,r)来计算签名s。继而,服务器B通过使用发送方310的公共验证密钥pk_s来计算结果=Verify(pk_s,s,m)作为签名验证结果。此过程对应于解密验证方法和解密验证程序。最后,服务器B向接收方320发送(m,结果)。
<计算机硬件的框图>
图10示出了本发明实施方式的每个服务器(邮件发送服务器和邮件接收服务器)中包括的计算机硬件的框图的示例。根据本发明实施方式的计算机系统(1001)包括CPU(1002)和主存储器(1003),其连接至总线(1004)。CPU(1002)优选地基于32位或者64位架构。例如,Intel公司的Xeon(商标)系列、Core(商标)系列、Atom(商标)系列、Pentium(商标)系列和Celeron(商标)系列,以及Advanced Micro Devices公司的Phenom(商标)系列、Athlon(商标)系列、Turion(商标)系列以及Sempron(商标)系列可以用作CPU(1002)。
诸如LCD监视器的显示器(1006)通过显示器控制器(1005)连接至总线(1004)。显示器(1006)用来在适当的图形界面上显示经由通信线路(1015)连接至网络的计算机系统(1001)的有关信息以及在计算机系统(1001)上运行的软件的有关信息。而且,硬盘或硅盘(1008)以及CD-ROM驱动、DVD驱动或者蓝光驱动(1009)通过IDE或者SATA控制器(1007)连接至总线(1004)。
操作系统、包括本发明代码的程序(邮件发送程序和邮件接收程序)以及数据存储在硬盘(1008)中,其可加载至主存储器(1003)。将要在本发明的StE处理中使用的消息、邮件和各种密钥的有关数据存储在硬盘(1008)或者主存储器(1003)中,并且经历CPU(1002)的加密或解密处理。用于执行在线电子邮件服务的程序优选地存储在硬盘(1008)中,并且根据需要加载到主存储器(1003)中并被执行,以便向用户提供服务。
CD-ROM驱动、DVD驱动或蓝光驱动(1009)根据需要附加地用于从CD-ROM、DVD-ROM或蓝光驱动向硬盘(1008)加载程序。键盘(1011)和鼠标(1012)也通过键盘/鼠标控制器(1010)连接至总线(1004)。本发明的图示数据可以存储在上述外部存储中并从其读取。
通信接口(1014)例如与以太网(商标)协议兼容。通信接口(1014)通过通信控制器(1013)连接至总线(1004),并且操作用于物理上连接计算机系统(1001)与通信线路(1015)。通信接口(1014)还提供与TCP/IP通信协议的网络接口层,TCP/IP通信协议是计算机系统(1001)的操作系统的通信功能。这里,通信线路(1015)可以是有线的LAN环境,或者是基于诸如IEEE 802.11 a/b/g/n等无线LAN连接标准的无线LAN环境。计算机系统(1001)通过通信接口(1014)向用户提供在线邮件服务。
[参考标号列表]
110、210、310…邮件发送方
120、220、320…邮件接收方
330…服务器A
340…服务器B
410…StE处理器
420…模糊化单元
430…模糊化StE程序
510…密钥管理中心
610…PKI服务器
1001…计算机系统
1002…CPU
1003…主存储器
1004…总线
1005…显示器控制器
1006…显示器
1007…IDE或SATA控制器
1008…硬盘或硅盘
1009…CD-ROM驱动、DVD驱动或蓝光驱动
1010…键盘/鼠标控制器
1011…键盘
1012…鼠标
1013…通信控制器
1014…通信接口
1015…通信线路

Claims (8)

1.一种用于通过包括处理器和存储器的计算机的处理来发送消息的消息发送方法,所述方法包括步骤: 
(1)利用随机数r对签名生成密钥sk_s随机化,以计算随机化签名生成密钥sk′_s=SigningKeyRandomize(sk_s,r); 
(2)利用公共加密密钥pk_e来加密所述随机数r,以计算加密的随机数R=Enc(pk_e,r); 
(3)利用所述随机化签名生成密钥sk′_s对消息m进行签名,以计算签名的消息s′=Sign(sk′_s,m);以及 
(4)向接收方发送所述签名的消息s′和所述加密的随机数R, 
其中sk_s代表所述消息m的发送方的私密签名生成密钥,pk_e代表所述接收方的公共加密密钥,r代表随机数,s代表签名,Sign代表签名生成函数,s=Sign(sk_s,m)代表针对所述消息m的签名,SigningKeyRandomize代表用于对私密签名生成密钥sk_s随机化的函数,并且Enc代表加密函数。 
2.根据权利要求1所述的方法,其中: 
步骤(3)是这样的步骤:利用与所述随机数r不同的随机数r′来计算sk″_s=SigningKeyRandomize(sk′_s,r′),以便对随机化签名生成密钥sk′_s再次进行随机化,继而利用由此再次随机化的签名生成密钥sk″_s来对所述消息m进行签名,以计算签名的消息s″=Sign(sk″_s,m);以及 
步骤(4)是这样的步骤:根据所述加密的随机数R和所述随机数r′来计算r×r′的密文R″,继而向所述接收方发送值(s″,R″)。 
3.根据权利要求1和2任一项所述的方法,其中所述签名生成函数使用以下任意一个:BLS签名方案、Schnorr签名方案、Lysyanskaya签名方案以及Waters签名方案。 
4.一种解密验证方法,包括步骤: 
接收利用根据权利要求1所述的方法发送的值(s′,R); 
利用解密函数Dec来解密由此接收的加密的随机数R,以计算随机数r=Dec(sk_e,R); 
根据由此接收的签名的消息s′、消息m以及作为所述解密的结果的随机数r来计算签名s;以及 
通过使用验证函数Verify(pk_s,s,m)来验证所述签名s, 
其中pk_s代表所述消息m的发送方的公共签名验证密钥,sk_e代表所述接收方的私密解密密钥,Dec(sk_e,R)代表解密函数,并且Verify(pk_s,s,m)代表验证函数。 
5.一种邮件发送方法,包括步骤: 
使服务器A响应于发送方对邮件m的发送,向密钥管理中心发送关于所述发送方和接收方的信息; 
使所述密钥管理中心向PKI服务器发送关于所述发送方和所述接收方的所述信息,由此从所述PKI服务器获取所述发送方的私密签名生成密钥sk_s以及所述接收方的公共加密密钥pk_e; 
使所述服务器A从所述密钥管理中心接收通过利用随机数r对所述私密签名生成密钥sk_s进行随机化而获得的随机化签名生成密钥sk′_s=SigningKeyRandomize(sk_s,r),以及通过利用所述接收方的所述公共加密密钥pk_e对所述随机数r进行加密而获得的加密的随机数R=Enc(pk_e,r); 
使所述服务器A通过使用所述接收方的所述公共加密密钥pk_e来生成邮件m的密文M=Enc(pk_e,m); 
使所述服务器A通过使用所述随机化签名生成密钥sk′_s和所述加密的随机数R,来计算s′=Sign(sk′_s,m);以及 
使所述服务器A向服务器B发送所述邮件m的所述密文M和值(s′,R)。 
6.一种邮件接收方法,包括步骤: 
使服务器B接收根据权利要求5的邮件m的密文M和值(s′,R); 
使所述服务器B向PKI服务器发送关于发送方和接收方的信息,由此从所述PKI服务器获取所述发送方的公共验证密钥pk_s和所述 接收方的私密解密密钥sk_e; 
使所述服务器B通过使用所述接收方的所述私密解密密钥sk_e来解密所述密文M以获得邮件m=Dec(sk_e,M),以及解密所述随机数R以获得随机数r=Dec(sk_e,R),并且根据值(s′,m,r)来计算签名s;以及 
使所述服务器B通过使用验证函数Verify(pk_s,s,m)来验证所述签名s。 
7.一种邮件发送服务器,包括: 
用于响应于发送方对邮件m的发送,向密钥管理中心发送关于所述发送方和接收方的信息的装置; 
用于从所述密钥管理中心接收通过利用随机数r对所述发送方的私密签名生成密钥sk_s进行随机化而获得的随机化签名生成密钥sk′_s=SigningKeyRandomize(sk_s,r)、以及通过利用所述接收方的公共加密密钥pk_e对所述随机数r进行加密而获得的随机数R=Enc(pk_e,r)的装置;所述发送方的所述私密签名生成密钥sk_s和所述接收方的所述公共加密密钥pk_e由所述密钥管理中心通过向PKI服务器发送关于所述发送方和所述接收方的所述信息而从所述PKI服务器获取; 
用于通过使用所述接收方的所述公共加密密钥pk_e来生成邮件m的密文M=Enc(pk_e,m)的装置; 
用于使用所述随机化从而模糊化的签名生成密钥sk′_s和所述加密的随机数R来计算s′=Sign(sk′_s,m)的装置;以及 
用于向服务器B发送所述邮件m的所述密文M和值(s′,R)的装置。 
8.一种邮件接收服务器,包括: 
用于接收根据权利要求7的邮件m的密文M和值(s′,R)的装置; 
用于向PKI服务器发送关于发送方和接收方的信息、由此从所述PKI服务器获取所述发送方的公共验证密钥pk_s和所述接收方的私密解密密钥sk_e的装置; 
用于通过使用所述接收方的所述私密解密密钥sk_e来解密所述密文M以获得邮件m=Dec(sk_e,M)、以及解密所述随机数R以获得随机数r=Dec(sk_e,R),并且根据值(s′,m,r)来计算签名s的装置;以及 
用于通过使用验证函数Verify(pk_s,s,m)来验证所述签名s的装置。 
CN2010105339150A 2009-10-30 2010-10-29 消息发送/接收方法和系统 Expired - Fee Related CN102055760B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009250934A JP4802274B2 (ja) 2009-10-30 2009-10-30 メッセージ送信および受信方法
JP2009-250934 2009-10-30

Publications (2)

Publication Number Publication Date
CN102055760A CN102055760A (zh) 2011-05-11
CN102055760B true CN102055760B (zh) 2013-12-04

Family

ID=43926646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105339150A Expired - Fee Related CN102055760B (zh) 2009-10-30 2010-10-29 消息发送/接收方法和系统

Country Status (3)

Country Link
US (2) US8516261B2 (zh)
JP (1) JP4802274B2 (zh)
CN (1) CN102055760B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2365887B1 (es) * 2009-05-05 2012-09-03 Scytl Secure Electronic Voting S.A. Metodo de verificacion de procesos de descifrado
IL213497A0 (en) 2011-06-12 2011-08-31 Eliphaz Hibshoosh Light public key cryptography
CN102271333B (zh) * 2011-08-08 2014-04-16 东南大学 一种基于可信链传递的3g消息安全收发方法
EP2566098A1 (en) * 2011-08-29 2013-03-06 Thomson Licensing Signcryption method and device and corresponding signcryption verification method and device
CN103262491A (zh) * 2011-11-09 2013-08-21 华为技术有限公司 一种保护云中数据安全的方法、装置及系统
JP5679344B2 (ja) * 2012-02-17 2015-03-04 日本電信電話株式会社 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法とプログラム
US9397984B1 (en) * 2015-06-25 2016-07-19 Xuesong Hu Apparatus and method for secure file transfer
WO2017022643A1 (ja) * 2015-08-05 2017-02-09 日本電気株式会社 通信システム、通信装置、通信方法及びプログラム
WO2018016330A1 (ja) * 2016-07-19 2018-01-25 日本電信電話株式会社 通信端末、サーバ装置、プログラム
JP6649288B2 (ja) * 2017-01-10 2020-02-19 日本電信電話株式会社 暗号システム、セットアップ装置、鍵生成装置、暗号化装置、復号装置、およびプログラム
US11507683B2 (en) 2017-01-20 2022-11-22 Enveil, Inc. Query processing with adaptive risk decisioning
US11196541B2 (en) 2017-01-20 2021-12-07 Enveil, Inc. Secure machine learning analytics using homomorphic encryption
US10771237B2 (en) 2017-01-20 2020-09-08 Enveil, Inc. Secure analytics using an encrypted analytics matrix
US11290252B2 (en) 2017-01-20 2022-03-29 Enveil, Inc. Compression and homomorphic encryption in secure query and analytics
US10873568B2 (en) 2017-01-20 2020-12-22 Enveil, Inc. Secure analytics using homomorphic and injective format-preserving encryption and an encrypted analytics matrix
US11777729B2 (en) 2017-01-20 2023-10-03 Enveil, Inc. Secure analytics using term generation and homomorphic encryption
US10616186B2 (en) * 2017-04-14 2020-04-07 International Business Machines Corporation Data tokenization
US10902133B2 (en) 2018-10-25 2021-01-26 Enveil, Inc. Computational operations in enclave computing environments
US10817262B2 (en) 2018-11-08 2020-10-27 Enveil, Inc. Reduced and pipelined hardware architecture for Montgomery Modular Multiplication
CN110601822A (zh) * 2019-08-20 2019-12-20 国家电网有限公司 一种基于量子保密通信技术的加密盲签名方法
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
US11121864B1 (en) 2020-03-13 2021-09-14 International Business Machines Corporation Secure private key distribution between endpoint instances
CN111490876B (zh) * 2020-04-03 2021-12-28 北京达龙上东文化艺术传播有限责任公司 一种基于usb key的通信方法和usb key
US11601258B2 (en) 2020-10-08 2023-03-07 Enveil, Inc. Selector derived encryption systems and methods
SG10202105796SA (en) * 2021-06-01 2021-07-29 Flexxon Pte Ltd Module and method for authenticating data transfer between a storage device and a host device
CN114257589B (zh) * 2021-11-30 2023-02-17 深圳技术大学 基于IoT云的轻量级数据通信方法、装置及可读介质
WO2024154273A1 (ja) * 2023-01-18 2024-07-25 日本電気株式会社 デジタル署名システムと方法
CN116318688B (zh) * 2023-05-24 2023-08-15 北京信安世纪科技股份有限公司 协同签名方法、设备和存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0787081A (ja) 1993-09-16 1995-03-31 Nippon Telegr & Teleph Corp <Ntt> 鍵公開センタへのエンティティ登録方法
US20020007453A1 (en) * 2000-05-23 2002-01-17 Nemovicher C. Kerry Secured electronic mail system and method
US7305545B2 (en) * 2001-02-14 2007-12-04 Globalcerts, Lc Automated electronic messaging encryption system
EP1421464A4 (en) * 2001-08-06 2009-12-23 Certco Inc Loew S Corp SYSTEM AND METHOD FOR CONFIDENCE CLIMATE FOR COMPUTER ENVIRONMENTS
US7113594B2 (en) * 2001-08-13 2006-09-26 The Board Of Trustees Of The Leland Stanford University Systems and methods for identity-based encryption and related cryptographic techniques
JP4788212B2 (ja) * 2005-07-13 2011-10-05 富士ゼロックス株式会社 デジタル署名プログラム及びデジタル署名システム
US20070130069A1 (en) * 2005-12-06 2007-06-07 Microsoft Corporation Encapsulating Address Components
CN101351988B (zh) * 2005-12-28 2011-06-29 松下电器产业株式会社 签名生成装置、签名生成方法
US7860244B2 (en) * 2006-12-18 2010-12-28 Sap Ag Secure computation of private values
JP4727627B2 (ja) * 2007-07-06 2011-07-20 富士通株式会社 電子メールの検証情報生成プログラム、及びその装置、ならびにその方法、電子メールの検証プログラム、及びその装置
US20090327735A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Unidirectional multi-use proxy re-signature process

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Forward-Secure Signatures with Untrusted Update";Xavier Boyen et al;《Proceedings of ACM CCS 2006》;20061231;1-24页 *
Xavier Boyen et al."Forward-Secure Signatures with Untrusted Update".《Proceedings of ACM CCS 2006》.2006,

Also Published As

Publication number Publication date
US9160728B2 (en) 2015-10-13
US8516261B2 (en) 2013-08-20
CN102055760A (zh) 2011-05-11
JP2011097453A (ja) 2011-05-12
JP4802274B2 (ja) 2011-10-26
US20130339743A1 (en) 2013-12-19
US20110107105A1 (en) 2011-05-05

Similar Documents

Publication Publication Date Title
CN102055760B (zh) 消息发送/接收方法和系统
Barker Guideline for using cryptographic standards in the federal government: Cryptographic mechanisms
CN113259329B (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
Moody et al. Report on pairing-based cryptography
US20140098960A1 (en) Ciphertext Processing Method, Apparatus, and System
US20170310479A1 (en) Key Replacement Direction Control System and Key Replacement Direction Control Method
JP6194886B2 (ja) 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム
KR20150122513A (ko) 암호화 장치, 암호화 방법 및 컴퓨터 판독가능 기록매체
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
WO2018043049A1 (ja) 暗号システム、暗号方法及び暗号プログラム
CN109547413A (zh) 具有数据源认证的可转换的数据云存储的访问控制方法
KR20130024143A (ko) 래티스 환경을 기반으로 한 대리 재암호화 방법 및 장치
KR101533422B1 (ko) 브로드캐스트 암호화 방법 및 시스템
KR101929355B1 (ko) 고유 일련번호 및 대칭키를 이용한 암복호화 시스템
WO2022239129A1 (ja) 鍵交換システム、機器、鍵交換方法、及びプログラム
CN1992587A (zh) 基于身份的加密系统
JP2007295366A (ja) 暗号化メッセージ送受信方法、送信者装置、受信者装置、鍵サーバ、および暗号化メッセージ送受信システム
JP6189788B2 (ja) 鍵生成装置、再暗号化装置、およびプログラム
KR20170087120A (ko) 무인증서 공개키 암호 시스템 및 수신 단말기
JP6267657B2 (ja) 安全性強化方法、安全性強化システム、安全性強化装置、検証装置、およびプログラム
Usha et al. Multiple attribute authority based access control and anonymous authentication in decentralized cloud
JP2013211748A (ja) 秘密情報通知システム、秘密情報通知方法、プログラム
KR20110047975A (ko) 서명후 암호화 프로그램을 난독화하는 방법
JP2021196428A (ja) 暗号システム、ユーザ端末、方法及びプログラム
JP6000207B2 (ja) 暗号化システム、システムパラメータ生成装置、暗号化装置、復号装置、及びその方法、プログラム

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131204

CF01 Termination of patent right due to non-payment of annual fee