CN113424185A - 快速不经意传输 - Google Patents
快速不经意传输 Download PDFInfo
- Publication number
- CN113424185A CN113424185A CN201980091843.8A CN201980091843A CN113424185A CN 113424185 A CN113424185 A CN 113424185A CN 201980091843 A CN201980091843 A CN 201980091843A CN 113424185 A CN113424185 A CN 113424185A
- Authority
- CN
- China
- Prior art keywords
- value
- key
- cryptographic
- function
- hash
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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 non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
- H04L63/0442—Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
- H04L9/3073—Public 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 involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3242—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/50—Oblivious transfer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (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)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
Abstract
用于实施两个计算装置之间的快速不经意传输的系统、方法和计算装置可读介质可以提高数据安全性和计算效率。各个方面可以使用具有或不具有密钥协商的随机预言来提高不经意传输密钥交换的安全性。一些技术可以包括用于不经意传输的公钥/私钥策略,而其它技术可以使用密钥协商来实现同步且有效的密码密钥交换。
Description
相关申请交叉引用
本申请主张2019年6月7日提交的标题为“快速不经意传输”的第16/434,338号美国非临时申请的优先权,所述美国非临时申请主张2019年2月12日提交的并且标题为“快速-不经意传输”的第62/804,435号美国临时专利申请的优先权,所述美国非临时申请和所述美国临时专利申请以全文引用的方式并入本文中。
技术领域
本公开大体上涉及计算装置之间的安全传输。更具体地说,但非限制性地,本公开涉及执行安全、不可跟踪并且可认证的多方计算。
背景技术
一般来说,安全多方计算可以描述为多方之间的联合计算,其中每一方都具有一些敏感数据,并且最终每一方都知道计算的结果,但对其它方的敏感数据一无所知。不经意传输是实现安全多方计算的重要组成部分。
确保计算装置之间的安全联合计算仍然是值得关心的问题。例如,第一方可能希望使用来自第二方的数据,所述第二方愿意提供一些数据,但不愿意泄露关于整个数据池的大小和内容的信息。如果被截获,数据可用于获得关于计算装置的数据池的信息,或用于非法目的。然而,使发送方和接收方能够在不向任何一方提供关于在任何给定时间点共享的特定数据的信息的情况下共享数据可能是有问题的,因为可能需要关于被请求的数据的一些信息以便满足请求。在计算装置之间进行安全、不可跟踪并且可认证的传输可能会带来挑战。
本发明的方面单独地以及共同地解决了这些问题和其它问题。
发明内容
本发明的方面涉及快速不经意传输。实施方案支持多方计算以对例如软件应用和文件之类的数据进行加密,而参与计算的各方不知道加密方案。本文所描述的快速不经意传输可以是安全、不可追踪并且能够被认证的。
本发明的一个方面涉及一种方法,包括:存储将用于执行加密程序的输入值b;使用随机数生成器生成第一值r1-b;使用密码函数生成包括私钥和公钥的密钥对;使用对应于所述密码函数的散列函数生成散列输出;使用所述公钥和所述散列输出生成第二值rb;将所述第一值r1-b和所述第二值rb发送给发送方装置;从所述发送方装置接收密码值c,其中使用所述密码函数生成所述密码值c;使用所述私钥和所述密码函数生成对应于输入值b的密钥值;从所述发送方装置接收所述加密程序;使用所述密钥值执行所述加密程序以获得加密输出值;并且将所述加密输出值发送给所述发送方装置,其中所述发送方装置使用所述密钥值对所述加密输出值进行解密。
另外的方面涉及一种包括处理器和计算装置可读介质的接收方装置。所述计算装置可读介质包括可由所述处理器执行的、被配置或编程成执行上文指出的方法的代码。
本发明的另一方面涉及一种方法,包括:存储第一密钥k0和第二密钥k1;从接收方装置接收第一值r0和第二值r1;通过对所述第二值r1操作散列函数H,使用所述第一值r0和第一散列输出生成第一公钥,其中所述散列函数H对应于由所述接收方装置用于生成所述第一值r0和所述第二值r1的密码函数;通过对所述第一值r0操作所述散列函数H,使用所述第二值r1和第二散列输出生成第二公钥;通过对所述第一公钥和所述第一密钥k0操作所述密码函数生成第一密码值c0;通过对所述第二公钥和所述第二密钥k1操作所述密码函数生成第二密码值c1;将所述第一密码值c0和所述第二密码值c1发送给所述接收方装置;将加密程序发送给所述接收方装置,其中所述接收方装置执行所述加密程序以生成加密输出值;接收所述加密输出值;并且使用对应的密钥对所述加密输出值进行解密。
本发明的另一方面涉及一种方法,包括:使用随机数生成器生成第一私钥d;使用密码函数生成第一公钥c;将所述第一公钥c发送给接收方装置;从所述接收方装置接收第一值r0和第二值r1;通过对所述第二值r1操作散列函数H以获得第一中间结果,使用所述第一值r0和第一散列输出生成第一密钥k0,其中所述密码函数使用所述第一私钥d对所述第一中间结果进行操作以生成所述第一密钥k0,其中所述散列函数H对应于所述密码函数;通过对所述第一值r0操作所述散列函数H以获得第二中间结果,使用所述第二值r1和第二散列输出生成第二密钥k1,其中所述密码函数使用所述第一私钥d对所述第二中间结果进行操作以生成所述第二密钥k1;将加密程序发送给所述接收方装置,其中所述接收方装置执行所述加密程序以生成加密输出值;接收所述加密输出值;并且使用对应的密钥对所述加密输出值进行解密。
额外的方面涉及一种包括处理器和计算装置可读介质的发送方装置。所述计算装置可读介质包括可由所述处理器执行的、被配置或编程成执行上文指出的方法的代码。
关于本发明的方面的其它细节可以参见具体实施方式和附图。
附图说明
图1示出了简化消息流程图,其示出根据一些方面的客户端计算装置与服务器计算装置之间的安全通信。
图2示出了接收方装置使用不经意传输从发送方装置安全地获得密钥的消息流程图。
图3示出了使用不经意传输的示例安全数据交换的消息流程图。
图4示出了根据一些方面的接收方装置使用具有散列函数的不经意传输从发送方装置安全地获得密钥的消息流程图。
图5示出了根据一些方面的接收方装置使用具有椭圆曲线Diffie-Hellman和散列函数的不经意传输从发送方装置安全地获得密钥的消息流程图。
图6示出了根据一些方面的由接收方装置执行隐私保护多方计算的方法的流程图。
图7示出了根据一些方面的由发送方装置执行隐私保护多方计算的方法的流程图。
图8示出了根据一些方面的用于由发送方装置执行隐私保护多方计算的另一方法的流程图。
图9示出了根据一些方面的用于执行安全的快速不经意传输的发送方装置的框图。
图10示出了根据一些方面的用于执行安全的快速不经意传输的接收方装置的框图。
在图式中,虚线可用于指示组织结构,指示元素是任选的,或指示数据或信息基本上不变地通过元素传递。箭头可用于指示两个或多个元素之间的数据或信息流。具有附图标记的圆圈可以指示某些步骤由相邻元素执行。
术语
在论述本发明的方面之前,可以进一步详细地描述一些术语。
术语“服务器计算装置”可以包括计算装置或计算装置的集群。例如,服务器计算装置可以是大型主机、小型计算装置集群或作为单元运行的一组服务器。在一个示例中,服务器计算装置可以是耦合到网络服务器的数据库服务器。服务器计算装置可以耦合到数据库,并且可以包括用于服务于来自一个或多个客户端计算装置的请求的任何硬件、软件、其它逻辑或前述内容的组合。服务器计算装置可以包括一个或多个计算设备并且可以使用各种计算结构、布置和编译中的任一项来服务于来自一个或多个客户端计算装置的请求。
术语“公钥/私钥对”可以包括由实体(例如,计算装置或电子装置)生成的一对关联密码密钥。公钥可用于公用功能,例如加密要发送给实体的消息,或用于对应该由实体作出的数字签名进行验证。另一方面,私钥可用于私用功能,例如解密接收到的消息或应用数字签名。公钥通常会由称为颁证机构(CA)的主体进行授权,颁证机构将公钥存储在数据库中并将其分配给请求它的任何其它实体。私钥通常会被保持在安全存储介质中,且通常只有所述实体知道。然而,本文中描述的密码系统可以以用于恢复丢失的密钥并避免数据丢失的密钥恢复机制为特征。公钥和私钥可以呈任何合适的格式,包括基于椭圆曲线密码(ECC)、基于网格或代码的密码系统,例如McEliUNK或可能是后量子安全的错误学习(LWE)的格式。
“共享秘密”可以包括只对安全通信中的被授权方已知的任何数据值或其它信息。共享秘密可以用任何适当方式由任何适当数据生成。例如,可以使用基于Diffie-Hellman的算法(例如椭圆曲线Diffie-Hellman(ECDH)),以由私钥和公钥生成共享秘密。例如,第一计算装置可以生成包括第一公钥和第一私钥的第一密钥对。第二计算装置可以生成包括第二公钥和第二私钥的第二密钥对。第一计算装置可以使用第二计算装置的第二公钥和第一计算装置的第一私钥生成共享秘密。第二计算装置可以使用第一计算装置的第一公钥和第二计算装置的第二私钥生成相同的共享秘密。第一计算装置和第二计算装置都可以使用共享秘密以生成会话密钥。
“加密密钥”可以包括适合于用密码加密数据的任何数据值或其它信息。“解密密钥”可以包括适于对加密数据进行解密的任何数据值或其它信息。在一些情况下,用于加密数据的同一密钥可以可操作以解密数据。这种密钥可以被称为对称加密密钥。
“前向保密性”是安全通信的特征,它是指消息的发送方和/或接收方的私钥在以后遭到泄漏时,消息不被解密的能力。“完美前向保密性”是安全通信的一种特征,它是指如果消息的发送方和接收方双方的私钥后来都遭到泄漏,消息不被解密的能力。在一种情况下,私钥可以由获得对计算装置的物理访问权的第三方获得。在另一种情况下,第三计算装置可能会耗费足够长的时间来破解私钥,这是不切实际的,但并非不可能。但是,即使发送和接收计算装置的静态私钥均被泄漏,也无法对具有“完美前向保密性”的安全通信进行解密。实现“完美前向保密性”的一种方法是不使用静态私钥来对消息进行加密。因此,如果静态私钥遭到泄漏,则不能将其用于对消息进行解密。在一个示例中,可以随机地生成加密密钥对以用于密钥交换,然后不久之后将其删除(例如,归零)。因此,如果第三方稍后获得对计算装置的物理访问权,则无法获得私钥。因此,过去发送的通信继续保持其保密性。此外,即使一条消息遭到泄漏,其它消息也不会遭到泄漏,因为没有用于跨不同消息进行加密的单个密钥。
“随机预言(random oracle)”使用从其输出域中均匀选择的随机响应来响应每个唯一的查询。如果重复查询,则随机预言在每次提交查询时以相同的方式作出响应。即,随机预言是以随机方式均匀选择的数学函数,即将每个可能的查询映射到来自其输出域的(固定)随机响应的函数。
“密钥协商”使两方或多方能够以两者都会影响结果的方式就密钥达成一致。密钥协商不要求或允许第三方输入,并且因此不会向已商定密钥的任何窃听方揭示共享秘密。双方影响最终衍生密钥的协议可能是实施完美前向保密性的唯一方式。
“密码函数”是可用于对信息进行加密或解密的数学方程式、函数、程序或算法。一些密码函数是单向函数,例如散列函数。如果提供例如密钥之类的指定输入,则其它密码函数可以是可逆的。
“输入值”是用作函数计算的输入或发起程序的字母数字值或字符串。输入值限定要生成并且传输到发送方装置的值的数目。具体地说,输入值可以限定值集合中要作为加密信息请求的一部分传输到发送方装置的元素的数目。因为可以基于接收到的值的数目来确定由发送方装置从中进行选择的加密数据的片段的数目,所以可以将输入值看作发送方装置上潜在密钥空间的大小的指示符。
“密码值”是已加密的字母数字值或字符串。密码值可以通过对公钥和驻留在发送方装置上的数据段进行加密来生成。
“加密程序”指密码协议或应用。可以在一个或参与方处使用快速不经意传输期间提供的加密数据私密评估加密程序。加密程序的示例包括但不限于混淆电路、秘密共享、安全多方计算等。
具体实施方式
根据各方面的系统和方法能够在计算装置之间实现安全的快速不经意传输。计算装置可以使用共享计算有效且安全地执行密钥协商以传输例如密码密钥之类的数据,而无需任何一方对正在传输的特定数据有实际了解。加密数据一旦被传输,就可用于在各方之间执行加密程序。
某些方面通过允许使用随机预言的不经意传输来实现密码值的发送和密码协议的发送,在密钥协商的效率和速度方面呈现显著的优势。特征为随机预言的散列函数可以计算唯一值,从而能够在计算装置之间随机选择要共享的密码密钥或数据。可以快速执行密钥协商,其中在每次执行时获得随机密码密钥。所获得的密码密钥或数据可用于执行或评估额外密码协议。
一般来说,密钥协商协议涉及两方或多方就密码密钥达成一致,而双方都影响选择哪个密钥的结果。密钥协商可以消除第三方影响选择哪个密钥的能力。安全密钥协商保护密钥选择以免窃听方窃听。使用密钥协商协议避免了与密码密钥的常规发送相关联的一些密钥分布安全问题。
某些方面提供快速的隐私保护密钥协商,用于获得加密数据以便随后执行加密程序。快速不经意传输能够传输敏感数据,而无需向任何一方提供对传输数据的了解。例如,接收方装置可以具有访问发送方装置的数据集内的数据的权限,但可能不希望发送方装置知道哪些数据被访问了。类似地,发送方装置可能偏好接收方装置仅访问数据集的预定数目的元素。各个方面使得能够从数据集有效地传输预定数目的元素,而无需通知任何一方哪些元素被传输到接收方。
如本文所述的有效的、隐私保护的数据传输在分布式大数据分析中可能特别有利,因为它们使得在不知道通过分析完成的工作的情况下共享数据以供分析。由于双方计算密码函数的一部分而传输加密数据,不需要第三方,从而以轻量级且高效的方式保护隐私。
快速不经意传输也有利于支持拍卖投标系统。投标系统可以接收加密投标而不知道投标人或投标的详细内容,直到需要它们为止。两方或多方可以参与对加密投标的密码函数的计算,其中输出是胜出投标和投标的美元金额。
本公开的某些方面可以包括用于成对不经意传输的技术。本文描述了关于两个计算装置交换密码函数的计算部分以便交换加密信息的技术。然而,所述技术以成对方式扩展,使得能够将更多方添加到函数计算和数据交换中。
作为另一优点,有效、隐私保护的不经意传输的技术可以提供后量子计算安全益处,因为对于具有任何处理能力的计算装置来说,通过暴力计算来克服跨多个装置的计算任务的分布可能是非常困难的。
本文所公开的各个方面提供了用于实现计算装置之间的安全、不可追踪、可认证的快速不经意传输的解决方案。通过使接收方装置能够计算多个值并且从发送方装置接收一段加密数据,例如对应于值中的一个的密钥,各种技术确保双方都不知道正在将特定加密数据传输回到接收方装置。因为计算发生在两个或多个计算装置中,无需第三方认证或传递信息,因此传输是快速高效的,减少了交换加密信息所需的时间和计算资源。
I.多方计算网络
图1示出了简化消息流程图100,其示出根据一些方面的客户端计算装置140与服务器计算装置180之间的安全通信。消息流程图100可以在任何第一计算装置与任何第二计算装置之间使用。本文使用的客户端/服务器区别仅是示例性的,并且是为了提高可读性。在一些方面,客户端计算装置140可以执行被描述为由服务器计算装置180执行的操作。在一些方面,服务器计算装置180可以执行被描述为由客户端计算装置140执行的操作。
参考图1,客户端计算装置140可能具有生成公钥/私钥对以及我们的实施散列函数和随机值以实施密钥协商的能力。客户端计算装置140和服务器计算装置180可以在不安全的网络160(例如,互联网或无线局域网)上通信。不安全的网络160之所以可能是“不安全的”,因为通信介质本身不是物理上安全的,或者它是“不安全的”,因为通信不直接在两方之间进行,而是通过网络中的其它第三方进行。
客户端计算装置140和服务器计算装置180可以执行密钥交换,以便在不安全的网络160上建立安全通信。例如,客户端计算装置140和服务器计算装置180可以执行如上所述的公钥/私钥交换或椭圆曲线Diffie-Hellman密钥交换,以在客户端计算装置140与服务器计算装置180之间建立共享秘密。客户端计算装置140和服务器计算装置180可以各自从共享秘密中导出会话密钥,以用于对彼此之间的通信进行加密和解密。
在101处,客户端计算装置140可以将请求消息发送给服务器计算装置180,以发起安全通信的建立。在一些方面,请求消息可以包括共享秘密,例如多个随机值。客户端计算装置140可以使用共享秘密对响应消息内的值进行解密以获得密码密钥。
服务器计算装置180可以通过不安全的网络160从客户端计算装置140接收请求消息。服务器计算装置180可以使用请求消息内的值以使用共享秘密对多个密码密钥进行加密。在一些方面,服务器计算装置180可以生成包括多个密码值的响应消息102,每个密码值分别表示其中一个密码密钥的加密。将响应消息102发送给客户端计算装置140,所述客户端计算装置可以尝试使用私钥对密码值中的每一个进行解密。响应消息102还可以包括加密程序,所述加密程序可以使用解密的密码密钥访问。或者,加密程序可以在后续消息中发送。
II.使用不经意传输的安全传输
不经意传输是通常在安全多方计算的上下文中使用的密码原语,并且在联合计算期间是隐私保护的。其中,它解决了安全地分布密码密钥的任务,密码可被视为加密程序。不经意传输和加密程序的组合为安全地计算双方之间的任何功能提供了通用解决方案。
在不经意传输中,发送方和接收方在协议中进行交互,并且在协议结束时,发送方输出两个消息s0、s1,而接收方输出b,sb用于选择位b。安全要求发送方不学习b,并且接收方不学习s1-b。不经意传输意味着密钥交换,并且可以由特定类型的公钥加密或被认证的陷阱排列构成。在本公开中,用密钥交换来实例化不经意传输。此框架在假设方面非常灵活,并且有效地提供了后量子安全性。
A.与发送方装置和接收方装置使用OT
图2示出了接收方装置使用不经意传输从发送方装置安全地获得密码密钥的消息流程图。消息流程图200示出了接收方装置202(例如,客户端计算装置140)从发送方装置204(例如,服务器计算装置180)请求密码密钥210。发送方装置204可以加密并且发送一些或全部密码密钥210。接收方装置可以使用私钥对接收到的密码密钥210中的一个进行解密,而实际上不知道哪个密钥被解密。在一些示例中,发送方装置204可以生成、维护和或存储密码密钥210和例如加密程序之类的加密程序。
在不经意传输214中,一方可能具有若干数据段,并且另一方可能请求并获得这些数据段中的一些或全部数据,并且可能仅对一个数据段进行解密以创建解密数据212,而不向任何一方揭示获得了哪个解密数据212。在消息流程图200中,接收方装置202可以使用输入值b生成多个值,即数据段206。输入值b可以是例如集合{0,1}之类的输入集合的元素。在一些示例中,输入集合的大小可以像可以由发送方装置204生成或存储在所述发送方装置上的密码密钥210的数目一样大,反之亦然。输入值b的实际值将确定哪个密码密钥210被接收方装置202解密。因此,输入值b可以对应于密码密钥210的集合的元素中的一个。
发送方装置204具有包括第一密钥k0和第二密钥k1的密码密钥210的集合。如果输入值b设置为0,则发送方装置204可以加密并发送第一密钥k0和第二密钥k1,但接收方装置202将仅能够对第一密钥k0进行解密,因为私钥是由接收方装置202使用b=0的输入值生成的。接收方装置202可以使用对应于输入值b的解密密钥对从发送方装置204接收的密码密钥210中的一个进行解密,而不向接收方装置202或发送方装置204揭示b的实际值。
响应于接收到大小等于输入值集合的多个值以及使用输入值b生成的多个值中的至少一个,发送方装置204可以将所有密码密钥210发送给接收方装置202。尽管接收方装置202可以使用输入值集合中的所有或一些值以生成发送给发送方装置204的多个值,但是发送方装置204将不知道多个值中的哪一个对应于输入值b。通过发送对应于接收到的多个值的密码密钥集合210内的所有元素,可防止发送方装置204知道由接收方装置202将使用或访问哪些密码密钥。发送方装置204可能仅知道已发出对密码密钥210的请求,并且已向接收方装置202发送了对应于所接收的多个值的数目的多个密码密钥210。
在接收方装置202与发送方装置204之间共享一些或全部密码密钥210可以呈现教导接收方装置202所有密码密钥选项的可能性。为了避免这种过度共享,接收方装置202可仅能够对密码密钥210中的一个进行解密。具体地说,仅可从包含密码密钥210的加密数据208对kb进行解密,并且可能需要使用输入值b。kb的解密在接收方装置202处使用使用输入值b生成的私用解密密钥发生,使得发送方装置204最终不知道哪个密码密钥被解密,同时也防止接收方装置202发现超过一个密码密钥210。
B.示例应用
图3示出了使用不经意传输的示例安全数据交换的消息流程图。在消息流程图300中,不经意传输214可以接收数据306,例如,由接收方装置202产生的多个值。因此,接收方装置202可以将数据306发送给具有若干密码密钥310和加密程序320的发送方装置204,并且可以作为响应而接收密码密钥310和加密程序320。密码密钥310和加密程序320可以在相同或不同的传输中发送。
不经意传输214可以在发送方装置204处接收密码密钥310,以便返回加密数据308的输出以供接收方装置202解密。获得的解密数据312可用于访问、评估或执行加密程序320。不经意传输214可以使用一个或多个共享秘密,所述一个或多个共享密钥包括由接收方装置202生成的多个值和由发送方装置204生成的多个密码值(例如,加密数据308)。
发送方装置204从接收方装置202接收多个值,并且使用这些值选择密码密钥310中的一个或多个,而任何参与方都不知道选择了哪个密钥。尽管密码密钥310的全部或部分作为密码值或加密数据308被发送给接收方装置202,但是接收方装置202可以仅对加密数据308的段中的一个进行解密以揭示密码密钥310中的一个。以此方式,不经意传输214可以实现在双方之间提供单个密码密钥,而双方不知道交换了哪个密码密钥。
发送方装置204存储并维护密码密钥310,并且还可以负责存储并维护加密程序320。此加密程序320可以作为例如加密数据308之类的多个密码值传递到接收方装置202。例如密码密钥310之类的加密数据308可以通过加密程序320,所述加密程序可以是密码协议,例如混淆电路、多方计算或其它密码协议。接收的加密数据308由接收方装置202进行解密,并且用于访问、评估或执行加密程序320。
在某些方面,不经意传输214可以用作密钥协商协议的一部分。接收方装置(例如,图1中的客户端或服务器)可以使用随机预言以基于输入值生成多个唯一值,所述输入值可以是输入值集合中的一个。集合中的输入值的数目可以限定返回给接收方装置的密码密钥310的数目。唯一值中的每一个是对应于密码密钥310中的一个的数据306。因此,随机预言的每个输入产生与潜在密钥空间相等(例如,发送方装置上的密码密钥310的数目)的多个唯一值。密码密钥310被加密并且作为加密数据308发送给请求方,但由所述请求方可对与数据306的多个值中的一个相关联的一个密钥进行解密。例如,只有对应于输入值的密码密钥可以由请求方进行解密。
可以使用通过对加密数据308进行解密获得的密码密钥来访问和或执行加密程序320。加密程序320可以是密码协议,例如多方计算、混淆电路或需要秘密共享或共享密钥的密码协议。因此,从对加密数据308进行解密获得的密码密钥可以用作用于在计算装置之间执行加密程序320的共享秘密或共享密钥。
不经意传输214的应用可用作拍卖系统或分布式大数据分析系统的一部分。不经意传输214可以接收呈拍卖投标或托管投标系统或研究数据存储库的发送方装置204的研究请求的形式的数据206。发送方装置204可以选择如由从接收方装置202接收的数据306限定的多个投标或数据集合。接收方装置202接收加密数据308,所述加密数据包括拍卖投标和拍卖投标管理程序(例如,加密程序320);或多个数据段或数据集合以及处理工具。接收方装置202可以对加密数据308进行解密以接收胜出投标,并且可以使用此输入来执行拍卖投标管理程序以通知胜出投标方并且采取例如自动取款之类的额外动作。类似地,请求方可以对接收的加密数据段或数据集合中的一个进行解密,并且可以将此数据用作处理工具的输入,所述处理工具还可以擦洗(scrub)任何隐私信息(例如,用于HIPPA合规目的)。
在另一方面,可以实施大数据分析系统,其中用于生成数据306的输入值对应于密码密钥310中的一个,所述密码密钥中的每一个能够实现对大数据分析系统内托管研究数据的多个计算装置中的一个的访问。密码密钥310可以作为加密数据308发送给接收方装置202,并且使用私钥进行解密以提供密码密钥310中的一个。获得的密码密钥310可以用作加密程序320的输入,所述加密程序可以将后续研究数据请求引导到大数据分析系统内的对应于获得的密码密钥的计算装置。因此,接收方装置202可以被赋予对研究数据集合的访问权,而不知道它被赋予哪个研究数据集合,或者数据来自何处。系统内的计算装置也不知道谁正在使用其研究数据,并且因此无法跟踪其它组织的研究趋势。
加密程序320的许多方面可以使用区块链技术有利地实施。例如,在先前描述的拍卖示例中,加密程序320可以涉及使用智能合约,其中在确定胜出时,胜出投标的值自动从胜出方的支付账户中扣除。类似地,区块链或其它基于分类账的技术可用于跟踪研究数据的使用或标识大数据分析系统内的研究数据软管,并且可使得具有对应密码密钥的接收方装置202能够立即访问主机计算装置。
为了对各个方面进行清晰和简洁的公开,参考密钥协商的示例,对快速、不经意传输进行了以下描述。然而,如上文所论述,这些技术的应用不限于密钥协商,并且可广泛应用于其中第一计算装置需要使用在第二计算装置上维持的多个数据段中的一个的系统,而计算装置并不知道多个数据段中的哪一个是由第一计算装置实际获得的。
III.加密实施方案
本公开提供了能够在一毫秒内执行的两个不经意传输协议的实施方案。在WAN网络设置中,图5中描述的实施方案可以是最快的,需要110ms。下一个最快的可以是参考图4公开的实施方案,需要210ms。除了速度和效率之外,本文所描述的两个不经意传输协议在不执行额外轮的情况下实现基于完全模拟的安全性。因此,图4的公钥加密实施方案和图5的椭圆曲线Diffie-Hellaman实施方案都提供了快速、安全的不经意协议。
A.公钥加密
图4示出了根据一些方面的接收方装置202使用具有公钥加密的不经意传输从发送方装置安全地获得密码密钥的消息流程图400。消息流程图400示出了接收方装置202(例如,客户端计算装置140)使用不经意传输函数从发送方装置204(例如,服务器计算装置180)请求密码密钥。不经意传输函数可以采用公钥密码技术和散列函数作为随机预言,以确保发送方装置204或接收方装置202都不知道密码密钥中的哪个由接收方装置202进行解密。
接收方装置202可以通过从1至n的输入值集合中对输入值b进行采样开始。在步骤S1中,对于除b之外的每个输入值,接收方装置可以生成具有与公钥相同的长度的随机值r。例如,在消息流程图400中,输入值集合具有2个元素,其中一个将是输入值b,并且输入值集合的另一元素将与值r1-b相关联,所述值是使用随机数生成器生成以产生具有与公钥相同大小的值。在示出的示例中,输入值b将假设为0。
在步骤S2中使用例如keygen()之类的密钥生成函数以生成公钥和私钥。密钥生成函数可以使用多个公钥密码算法中的任一种,例如RSA、椭圆曲线等。密钥生成函数的输出将是公钥和私钥。公钥可以具有与随机值r1-b相同的位长度。
为了获得对应于输入值b的值rb,在步骤S3中将r1-b的散列输出与公钥结合使用以执行群运算。例如,随机值r1-b可以经受散列函数H()以产生要从公钥中减去的散列输出,使得rb=pk-H(r1-b)。例如加法、乘法、除法、异或和椭圆曲线加法之类的其它可逆群运算符可以用作作用于公钥和散列输出的操作。因此,值rb可被视为用于公钥的掩模,而值r1-b是具有与公钥和rb相同的长度的随机值。在步骤S4中,将随机r1-b和rb两者作为对密码密钥的请求发送给发送方装置204。尽管发送了多个值r中的两个,但仅rb可以与散列函数H结合使用以获得公钥pk。
发送方装置204可以接收r1-b和rb两者,其可以分别作为r1和r0发送,但发送方装置204不知道所述多个值中的哪一个有助于获得公钥pk。在步骤S5和S6中,可以将r0和r1分别添加到H(r0)和H(r1)中,以获得pk0和pk1。也就是说,pk0=r0+H(r1)和pk1=r1+H(r0)函数用于获得公钥。然而,仅pk0对应于存储在接收方装置202上的公钥。
在步骤S7和S8中,pk0和pk1的ach可以与来自发送方装置的密码密钥集合的对应密码密钥k0和k1一起被加密。公钥pk0和对应的密码密钥k0的加密可以产生密码值c0。例如c0=加密(pk0,k0)。使用pk1和k1类似地生成密码值c1。在步骤S9中,可以将c0和c1发送给接收方装置202。因此,可以通过密码值c0和c1向接收方装置202提供密钥k0和k1。
在接收c0和c1,接收方装置202可以尝试在步骤S10中使用秘密密钥sk进行解密。只有通过对pk(即,pk0)进行加密生成的密码值c将被成功解密以揭示伴随的密码密钥(即,k0)。以此方式,因为不能使用秘密密钥sk对密码值c1进行解密,所以防止接收方装置202访问密码密钥k1。
在消息流程图400中,接收方装置202的密钥生成和发送方装置204进行的解密/加密可以是相对线性的程序。信息流的顺序用粗体箭头示出。这些技术可以提供后量子安全性优点。
公钥技术的示例可以包括椭圆曲线密码、Diffie-Hellman等。随机数的长度应与公钥的长度相同。可以使用支持与公钥大小相同的输入字符串的任何公钥算法。作为示例,散列函数H()可以由随机预言、SHA3、SHA256、Blake或散列函数可以输出公钥的任何函数实施。散列函数的性质可以取决于选择的公钥加密算法。散列函数输出应反映公钥生成算法的输出。
B.Diffie-Hellman加密
图5示出根据一些方面的接收方装置使用具有Diffie-Hellman和散列函数的不经意传输从发送方装置安全地获得密钥的消息流程图500。消息流程图500示出了接收方装置202(例如,客户端计算装置140)使用不经意传输函数从发送方装置204(例如,服务器计算装置180)请求密码密钥。不经意传输函数可以包括使用椭圆曲线Diffie-Hellman技术提供数据交换的同时性和前向保密性的密钥协商。
在步骤S11中,接收方装置202可以通过应用第一随机数生成器从1-b获得随机r。在步骤S12中,接收方装置202可以使用第二随机数生成器生成值a,而不是生成秘密密钥。在步骤S13中,值a可以用作函数g的指数以产生ga。随机r可经受散列函数H()并且结果从ga减去,使得rb=ga–H(r1-b)。在步骤S19中,将随机r和rb发送给发送方装置204。尽管两个r值都被发送,但是只有rb可以与散列函数H()一起使用以获得ga。与参考图4所论述的方面一样,散列函数可以是随机预言。
在步骤S14中,在接收方装置202生成和发送r0和r1时或大约同一时间,发送方装置204可以使用第二随机数生成器生成随机值d,所述第二随机数生成器可以与第一随机函数(例如,随机数生成器)相同或不同。在步骤S15中,值d可以用作函数g的指数以产生gd。在步骤S20中,此gd值可被指派为密码值c,并且被发送给接收方装置202。因此,由接收方装置202接收的密码值c中的一个可以是大小类似于ga的随机值。
在步骤S16和步骤S17中,发送方装置204还可以使用由接收方装置202发送的值r0和r1来确定两个密钥。可以通过将值d的指数应用于第一r和将H()应用于其余r值的散列输出之和来确定每个密码密钥。例如,发送方装置204使用r0和r1生成k0=(r0+H(r1))d。在此类方面,发送方装置204不存储密码密钥,而是在密钥协商时生成密码密钥。
在步骤S18中,接收方装置202可以通过使用密码值c、值a和值d来确定kb。例如,kb=ca=gad。因此,值可以在发送方装置204与接收方装置202之间同时传递。
生成的密码密钥k0和k1可用于生成加密程序220并将其发送给接收方装置202。因此,加密程序220可以被键入由接收方装置202进行解密的密码密钥。
这些方面可以使用密钥协商来实现高安全水平并且通过同步的密钥交换来提高效率。
IV.快速不经意传输
可以使用各种硬件和软件组件来执行用于实施上述技术的方法,以执行发送方装置204与接收方装置202之间的不经意传输的各种函数。图4中公开的实施方案可以使用参考图6和7更详细地公开的方面方法来执行。图5中公开的实施方案可以使用参考图8更详细地公开的方面方法来执行。
A.由接收方装置进行公钥加密
图6示出根据一些方面的由接收方装置执行隐私保护多方计算的方法的流程图。消息流程图600示出了接收方装置(例如,客户端计算装置140)使用不经意传输函数从发送方装置(例如,服务器计算装置180)请求密码密钥。不经意传输函数使用公钥密码技术来实现数据交换。I
在框602中,接收方装置(例如,客户端计算装置140)的处理器可以存储输入值b,所述输入值将用于执行加密程序。输入值b可选自具有大小n的输入值集合。可以随机选择输入值,或者根据由管理员期望的任何选择算法来选择输入值。
在框604中,接收方装置(例如,客户端计算装置140)的处理器可以使用随机数生成器产生第一值r1-b。对于除b之外的输入值集合的每个元素,可以生成随机数,使得每个随机数具有与将由接收方装置生成的公钥相同的位大小。在其它方面,仅使用除b之外的一个值来生成随机数r,从而仅产生rb和r!b。在框604中执行的操作可以对应于图4中的步骤S1。
在框606中,接收方装置(例如,客户端计算装置140)的处理器可以使用密码函数生成包括私钥和公钥的密钥对。接收方装置可以使用公钥加密算法生成公钥和秘密密钥。公钥将具有与值r1-b相同的位长度。在框606中执行的操作可以对应于图4中的步骤S2。
在框608中,接收方装置(例如,客户端计算装置140)的处理器可以使用对应于密码函数的散列函数生成散列输出。散列函数H()可以是随机预言,使得针对每个值r1-b产生唯一值。合适的散列函数的示例包括但不限于SHA3、SHA256和Blake。在框608中执行的操作可以对应于图4中的步骤S3。
在框610中,接收方装置(例如,客户端计算装置140)的处理器可以使用公钥和散列输出生成第二值rb。例如,接着从框606中生成的公钥减去唯一值散列输出以产生值rb。可以采用其它可逆群运算代替加法/减法。例如,乘法、除法、异或或椭圆曲线加法。因此,值rb基于公钥和唯一的散列输出。在框610中执行的操作可以对应于图4中的步骤S4。
在框612中,接收方装置(例如,客户端计算装置140)的处理器可以将第一值r1-b和第二值rb发送给发送方装置。两个值可以具有相同的位长度。将多个值发送给发送方装置,但没有指示哪个值是rb。在框612中执行的操作可以对应于图4中的步骤S4。
在框614中,接收方装置(例如,客户端计算装置140)的处理器可以从发送方装置接收密码值c,其中使用密码函数生成密码值c。发送方装置可以使用存储在发送方装置上的公钥和密码密钥生成密码值的集合。将这些密码值中的至少一个发送给接收方装置以进行解密。在框614中执行的操作可以对应于图4中的步骤S9。
在框616中,接收方装置(例如,客户端计算装置140)的处理器可以使用私钥和密码函数生成对应于输入值b的密钥值。接收方装置可以使用密码函数和秘密密钥来尝试对从发送方装置接收的任何密码值进行解密。只有由发送方装置使用在框606中生成的公钥生成的密码值才能够被接收方装置解密。在框616中执行的操作可以对应于图4中的步骤S10。
在框618中,接收方装置(例如,客户端计算装置140)的处理器可以从发送方装置接收加密程序(例如,混淆电路)。发送方装置可以与密码值一起或与密码值分开来发送加密程序。加密程序可以或可以不键入到与密码值c相关联的密码密钥。
在框620中,接收方装置(例如,客户端计算装置140)的处理器使用密钥值执行加密程序以获得加密输出值。例如,从对密码值c进行解密获得的密钥值可以用作加密程序的输入。
在框622中,接收方装置(例如,客户端计算装置140)的处理器将加密输出值发送给发送方装置,其中发送方装置使用密钥值对加密输出值进行解密。在一些方面,加密程序的输出可以返回到发送方装置以进行解密。
B.由发送方装置进行的公钥加密
图7示出了根据一些方面的由发送方装置执行隐私保护多方计算的方法的流程图。方法700示出了发送方装置(例如,服务器计算装置180)使用不经意传输函数将密码密钥发送给接收方装置(例如,客户端计算装置140)。不经意传输函数使用椭圆曲线Diffie-Hellman密码技术来实现数据交换。
在框702中,发送方装置(例如,服务器计算装置180)的处理器可以存储第一密钥k0和第二密钥k1。第一密钥和第二密钥可以是在发送方装置上生成、维持和或存储的密码密钥的集合的一部分。密码密钥可以提供对同样在发送方装置上生成、维护和/或存储的加密程序的访问。
在框704中,发送方装置(例如,服务器计算装置180)的处理器可以从接收方装置接收第一值r0和第二值r1。发送方装置可以接收这两个值,而不能够确定这两个值中的哪一个是使用公钥生成的。
在框706中,发送方装置(例如,服务器计算装置180)的处理器可以通过对第二值r1操作散列函数H,使用第一值r0和第一散列输出生成第一公钥,其中散列函数H对应于由接收方装置用于生成第一值r0和第二值r1中的至少一个的密码函数。也就是说,发送方装置可以分别提供这两个值作为散列函数H()的输入。两个值中的一个是由接收方装置使用另一值的散列生成的。因此,散列函数执行中的一个的输出将是另一接收的值的分量。将此散列输出添加到接收的值将生成公钥。在框706中执行的操作可对应于图4中的步骤S5。
在框708中,发送方装置(例如,服务器计算装置180)的处理器可以通过对第一值r0操作散列函数H,使用第二值r1和第二散列输出生成第二公钥。例如,发送方装置可以执行与参考框706论述的操作相同的操作。将另一值的散列输出添加到接收的值将生成不相关的字符串,所述字符串的位大小与公钥的位大小一致。因此,生成的公钥中只有一个将是由接收方装置生成的实际公钥。在框708中执行的操作可以对应于图4中的步骤S6。
在框710中,发送方装置(例如,服务器计算装置180)的处理器可以通过对第一公钥和第一密钥k0操作密码函数来生成第一密码值c0。发送方装置可以使用加密函数对公钥和第一密码密钥进行加密。在框710中执行的操作可以对应于图4中的步骤S7。
在框712中,发送方装置(例如,服务器计算装置180)的处理器可以通过对第二公钥和第二密钥k1操作密码函数来生成第二密码值c1。发送方装置可以使用加密函数对第二公钥和第二密码密钥进行加密。在框712中执行的操作可以对应于图4中的步骤S8。
在框714中,发送方装置(例如,服务器计算装置180)的处理器可以将第一密码值c0和第二密码值c1发送给接收方装置。没有提供关于哪个密码值与由接收方装置生成的公钥相关联的指示符。
在框716中,发送方装置(例如,服务器计算装置180)的处理器可以将加密程序发送给接收方装置,其中所述接收方装置执行加密程序以生成加密输出值。加密程序可以键入到第一密钥或第二密钥,或可以独立于第一密钥或第二密钥。
在框718中,发送方装置(例如,服务器计算装置180)的处理器可以接收加密输出值。输出值可以是使用第一密钥或第二密钥执行加密程序的结果,其中第一密钥或第二密钥是由接收方装置对密码值进行解密而成功获得的。
在框720中,发送方装置(例如,服务器计算装置180)的处理器可以使用对应的密钥对加密输出值进行解密。
C.椭圆曲线Diffie-Hellman加密
图8示出了根据一些方面的用于由发送方装置执行隐私保护多方计算的另一方法的流程图。
在框802中,发送方装置(例如,服务器计算装置180)的处理器可以使用第一随机数生成器生成第一私钥d。任何类型的随机数生成器都可以用于生成私钥。在框802中执行的操作可以对应于图5中的步骤S14。
在框804中,发送方装置(例如,服务器计算装置180)的处理器可以使用密码函数生成第一公钥c。可以通过将第一私钥d用作值g的指数来生成公钥。在框804中执行的操作可以对应于图5中的步骤S15。在框806中,发送方装置(例如,服务器计算装置180)的处理器可以将第一公钥c发送给接收方装置。在框804中执行的操作可以对应于图5中的步骤S20。
在框808中,发送方装置(例如,服务器计算装置180)的处理器可以从接收方装置接收第一值r0和第二值r1。由接收方装置使用第二随机数生成器生成值r0和r1中的一个。所述第二随机数生成器可以与第一随机数生成器不同或相关。使用第一随机数生成器生成另一值以生成值a,并且接着使用a作为值g的指数,从ga减去随机生成的r值的散列输出。因此,两个r值具有公钥的位大小。发送方装置不知道哪个r值是使用散列函数生成的。在框808中执行的操作可以对应于图5中的步骤S19。
在框810中,发送方装置(例如,服务器计算装置180)的处理器可以通过对第二值r1操作散列函数H以获得第一中间结果,使用第一值r0和第一散列输出生成第一密钥k0,其中所述密码函数使用第一私钥d对第一中间结果进行操作以生成第一密钥k0,其中散列函数H对应于密码函数。类似地,在框812中,发送方装置(例如,服务器计算装置180)的处理器可以通过对第一值r0操作散列函数H以获得第二中间结果,使用第二值r1和第二散列输出生成第二密钥k1,其中密码函数使用第一私钥d对第二中间结果进行操作以生成第二密钥k1。接收方装置可以通过计算密码值c的a次幂并且将其与接收到的密钥进行比较来尝试访问两个密钥中的每一个。正确的密钥kb将与计算的ca匹配。在框810中执行的操作可以对应于图5中的步骤S17和S18。
在框814中,发送方装置(例如,服务器计算装置180)的处理器可以将加密程序发送给接收方装置,其中接收方装置执行加密程序以生成加密输出值。在一些方面,加密程序可以适于发送给接收方装置的两个密码密钥中的一个。在框816中,发送方装置(例如,服务器计算装置180)的处理器可以接收加密输出值。在框802中,发送方装置(例如,服务器计算装置180)的处理器可以使用对应的密钥对加密输出值进行解密。
V.计算装置
图9示出用于执行安全的快速不经意传输的发送方装置900。发送方装置900可以包括一个或多个处理器902,其耦合到计算装置可读介质904、通信接口906和程序数据908
计算装置可读介质904可以包括加密/解密模块904A和秘密共享模块904B。加密/解密模块904A可以包括用于指示一个或多个处理器902加密程序和程序数据的指令。秘密共享模块904B可以包括用于指示一个或多个处理器902生成公钥并且共享密钥和加密程序数据的指令。
计算装置可读介质904可以包括可由处理器902执行以用于实施方法600、700或800中的任一种的代码。
图10示出用于执行安全的快速不经意传输的接收方装置1000。接收方装置1000可以包括一个或多个处理器1002,其耦合到计算装置可读介质1004、通信接口1006和程序数据1008。在各个方面,接收方装置1000可以具有与发送方装置900相同的一些或全部组件。
计算装置可读介质1004可以包括值生成模块1004A和加密/解密模块1004B。值生成模块1004A可以包括用于指示一个或多个处理器1002使用密码函数生成第一值和第二值的指令。加密/解密模块1004B可以包括用于指示一个或多个处理器1002使用散列函数生成散列输出、对加密程序进行解密并且对加密程序数据进行解密的指令。
计算装置可读介质1004可以包括可由处理器1002执行以用于实施方法600、700或800中的任一种的代码。
计算机系统可以包括多个相同组件或子系统,所述组件或子系统例如通过外部接口81、通过内部接口或经由可装卸式存储装置连接在一起,所述可装卸式存储装置可以从一个组件连接和移除到另一组件。在一些实施例中,计算机系统、子系统或设备可通过网络通信。在此类情况下,一个计算机可以被视为客户端且另一个计算机被视为服务器,其中每台计算机都可以是同一计算机系统的一部分。客户端和服务器可各自包括多个系统、子系统或组件。
实施例的各个方面可以使用硬件电路(例如,专用集成电路或现场可编程门阵列)和/或以模块化或集成方式借助大体上可编程处理器使用计算机软件以控制逻辑的形式实施。如本文所使用,处理器可以包括单核处理器、在同一集成芯片上的多核处理器,或在单个电路板上或联网的多个处理单元,以及专用硬件。基于本文中提供的公开内容和教示,本领域普通技术人员将知道并了解到使用硬件及硬件和软件的组合实施本发明的实施例的其它方式和/或方法。
本申请中描述的任何软件组件或功能可以实施为使用例如Java、C、C++、C#、Objective-C、Swift之类的任何合适的计算装置语言或例如Perl或Python之类的脚本语言,使用例如常规的或面向对象的技术由处理器执行的软件代码。软件代码可作为一系列指令或命令存储在计算装置可读介质上用于存储和/或传输,合适的介质包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁介质,或例如光盘(CD)或数字通用盘(DVD)的光学介质、快闪存储器等。计算装置可读介质可以是这些存储或传输装置的任何组合。
此类程序还可以使用适应于经由包括互联网的符合多种协议的有线、光学和/或无线网络进行发送的载波信号来编码和传送。因此,根据本发明的方面的计算装置可读介质可以使用以此类程序编码的数据信号产生。以程序代码编码的计算装置可读介质可以与兼容装置一起封装或者与其它装置分开地提供(例如,经由互联网下载)。任何此类计算装置可读介质可以驻存在单个计算装置产品(例如,硬盘驱动器,CD或整个计算装置系统)之上或其内部,并且可以存在于系统或网络内的不同计算装置产品上或其内部。计算装置系统可以包括监视器、打印机,或用于向用户提供本文所提及的任何结果的其它合适的显示器。
本文所描述的任何方法可完全或部分地通过计算机系统执行,所述计算机系统包括可被配置成执行所述步骤的一个或多个处理器。因此,实施例可以涉及配置成执行本文中所描述的任何方法的步骤、可能具有执行相应步骤或相应步骤群组的不同组件的计算机系统。虽然呈现为带编号的步骤,但本文的方法的步骤可以同时或在不同时间或以不同次序执行。另外,这些步骤的部分可与其它方法的其它步骤的部分一起使用。另外,步骤的全部或部分可以是任选的。另外,任何方法的任一个步骤可以利用用于执行这些步骤的模块、单元、电路或系统的其它构件来执行。
以上描述是说明性的而不是限制性的。在所属领域的技术人员阅读了本公开后,本发明的许多变化将变得显而易见。因此,本发明的范围不应参考以上描述来确定,而是应参考未决的权利要求以及其完整范围或等效物来确定。
在不脱离本发明的范围的情况下,来自任何方面的一个或多个特征可以与任何其它方面的一个或多个特征组合。
密钥交换使用如本文所使用,除非明确指示为相反情况,否则“一(a)”、“一(an)”或“所述”的使用意图表示“至少一个”。
本文中所提及的所有专利、专利申请、公开案和描述都出于所有目的以全文引用的方式并入。并非承认它们是现有技术。
Claims (23)
1.一种用于执行隐私保护多方计算的方法,所述方法包括由接收方装置执行以下操作:
存储要用于执行加密程序的输入值b;
使用随机数生成器生成第一值r1-b;
使用密码函数生成包括私钥和公钥的密钥对;
使用对应于所述密码函数的散列函数生成散列输出;
使用所述公钥和所述散列输出生成第二值rb;
将所述第一值r1-b和所述第二值rb发送给发送方装置;
从所述发送方装置接收密码值c,其中所述密码值c是使用所述密码函数生成;
使用所述私钥和所述密码函数生成对应于输入值b的密钥值;
从所述发送方装置接收所述加密程序;
使用所述密钥值执行所述加密程序以获得加密输出值;以及
将所述加密输出值发送给所述发送方装置,其中所述发送方装置使用所述密钥值对所述加密输出值进行解密。
2.根据权利要求1所述的方法,其中所述密码值c是与所述第一值r1-b和所述第二值rb的所述生成并行生成的。
3.根据权利要求1所述的方法,其中所述输入值b是与多个可能密钥相关联的值集合的元素。
4.根据权利要求1所述的方法,其中所述散列函数是随机预言。
5.根据权利要求1所述的方法,其中所述第一值r1-b具有与所述公钥相同的以位为单位的长度。
6.根据权利要求1所述的方法,其中使用对应于所述密码函数的所述散列函数生成所述散列输出包括:对所述第一值r1-b执行所述散列函数。
7.根据权利要求1所述的方法,其中使用所述私钥和所述密码函数生成对应于输入值b的所述密钥值包括:使用所述密码函数和所述私钥对所述密码值c进行解密以产生所述密钥值。
8.一种用于执行隐私保护多方计算的方法,所述方法包括由发送方装置执行以下操作:
存储第一密钥k0和第二密钥k1;
从接收方装置接收第一值r0和第二值r1;
通过对所述第二值r1操作散列函数H,使用所述第一值r0和第一散列输出生成第一公钥,其中所述散列函数H对应于由所述接收方装置用于生成所述第一值r0和所述第二值r1的密码函数;
通过对所述第一值r0操作所述散列函数H,使用所述第二值r1和第二散列输出生成第二公钥;
通过对所述第一公钥和所述第一密钥k0操作所述密码函数生成第一密码值c0;
通过对所述第二公钥和所述第二密钥k1操作所述密码函数生成第二密码值c1;
将所述第一密码值c0和所述第二密码值c1发送给所述接收方装置;
将加密程序发送给所述接收方装置,其中所述接收方装置执行所述加密程序以生成加密输出值;
接收所述加密输出值;以及
使用对应的密钥对所述加密输出值进行解密。
9.根据权利要求8所述的方法,其中所述第一值r0是由所述接收方装置随机生成的,并且所述第二值r1是由所述接收方装置使用公钥和对所述第一值r0执行所述散列函数H的散列输出生成的。
10.根据权利要求8所述的方法,其中所述接收方装置仅能够基于存储在所述接收方装置上的秘密密钥来对所述第一密码值c0或所述第二密码值c1中的一个进行解密。
11.根据权利要求8所述的方法,其中所述加密程序是由所述发送方装置生成的。
12.根据权利要求11所述的方法,其中所述加密程序适于所述第一密钥k0或所述第二密钥k1。
13.根据权利要求8所述的方法,其中所述加密程序是混淆电路。
14.一种用于执行隐私保护多方计算的方法,所述方法包括由发送方装置执行以下操作:
使用随机数生成器生成第一私钥d;
使用密码函数生成第一公钥c;
将所述第一公钥c发送给接收方装置;
从所述接收方装置接收第一值r0和第二值r1;
通过对所述第二值r1操作散列函数H以获得第一中间结果,使用所述第一值r0和第一散列输出生成第一密钥k0,其中所述密码函数使用所述第一私钥d对所述第一中间结果进行操作以生成所述第一密钥k0,其中所述散列函数H对应于所述密码函数;
通过对所述第一值r0操作所述散列函数H以获得第二中间结果,使用所述第二值r1和第二散列输出生成第二密钥k1,其中所述密码函数使用所述第一私钥d对所述第二中间结果进行操作以生成所述第二密钥k1;
将加密程序发送给所述接收方装置,其中所述接收方装置执行所述加密程序以生成加密输出值;
接收所述加密输出值;以及
使用对应的密钥对所述加密输出值进行解密。
15.根据权利要求14所述的方法,其中使用所述密码函数生成所述第一公钥c包括:将值g提高到d的幂以产生所述第一公钥c。
16.根据权利要求14所述的方法,其中所述第一值r0是由所述接收方装置使用随机数生成器随机生成的。
17.根据权利要求16所述的方法,其中所述第二值r1是由所述接收方装置通过从提高到随机生成的数字a的幂的值g减去对所述第一值r0执行所述散列函数H的散列输出生成的。
18.根据权利要求14所述的方法,其中所述加密程序适于所述第一值r0或所述第二值r1。
19.根据权利要求14所述的方法,其中提高到随机生成的数字a的幂的所述公钥c等于所述第一密钥k0或所述第二密钥k1中的一个。
20.根据权利要求14所述的方法,其中所述散列函数H是随机预言。
21.一种接收方装置,包括:
一个或多个处理器;以及
计算机可读介质,其耦合到所述一个或多个处理器并且包含用于使所述一个或多个处理器执行根据权利要求1至7中任一项所述的方法的指令。
22.一种发送方装置,包括:
一个或多个处理器;以及
计算机可读介质,其耦合到所述一个或多个处理器并且包含用于使所述一个或多个处理器执行根据权利要求8至20中任一项所述的方法的指令。
23.一种计算机可读介质,其包含用于使处理器执行根据权利要求1至20中任一项所述的方法的指令。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962804435P | 2019-02-12 | 2019-02-12 | |
US62/804,435 | 2019-02-12 | ||
US16/434,338 US11190496B2 (en) | 2019-02-12 | 2019-06-07 | Fast oblivious transfers |
US16/434,338 | 2019-06-07 | ||
PCT/US2019/037318 WO2020167333A1 (en) | 2019-02-12 | 2019-06-14 | Fast oblivious transfers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113424185A true CN113424185A (zh) | 2021-09-21 |
CN113424185B CN113424185B (zh) | 2023-03-28 |
Family
ID=71945415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980091843.8A Active CN113424185B (zh) | 2019-02-12 | 2019-06-14 | 快速不经意传输 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11190496B2 (zh) |
EP (1) | EP3924852B1 (zh) |
CN (1) | CN113424185B (zh) |
SG (1) | SG11202108409WA (zh) |
WO (1) | WO2020167333A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134682A (zh) * | 2020-09-09 | 2020-12-25 | 支付宝(杭州)信息技术有限公司 | 用于不经意传输ot扩展协议的数据处理方法及装置 |
CN115412246A (zh) * | 2022-11-01 | 2022-11-29 | 北京信安世纪科技股份有限公司 | 不经意传输方法、装置、设备和存储介质 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10637656B2 (en) | 2017-11-28 | 2020-04-28 | Blackberry Limited | Method and system for key agreement utilizing semigroups |
EP3777008B1 (en) * | 2018-03-30 | 2023-06-07 | Centre National De La Recherche Scientifique | Method for spacetime-constrained oblivious transfer |
US11372988B2 (en) | 2019-06-25 | 2022-06-28 | Raytheon Company | Secure data deletion and sanitization in distributed file systems |
US11658815B2 (en) * | 2020-08-03 | 2023-05-23 | Coinbase Il Rd Ltd. | System and method for performing key operations during a multi-party computation process |
EP4014427B1 (en) * | 2020-08-14 | 2023-05-03 | Google LLC | Online privacy preserving techniques |
CN112564887A (zh) * | 2020-11-30 | 2021-03-26 | 北京百度网讯科技有限公司 | 密钥保护处理方法、装置、设备和存储介质 |
US11799643B2 (en) * | 2021-01-19 | 2023-10-24 | Bank Of America Corporation | Collaborative architecture for secure data sharing |
CN113094468A (zh) * | 2021-02-02 | 2021-07-09 | 北京融数联智科技有限公司 | 一种基于ot实现的多数据源关系图构建与数据对齐方法 |
US11569987B2 (en) * | 2021-02-12 | 2023-01-31 | Blackberry Limited | Method and system for key agreement utilizing plactic monoids |
US11308226B1 (en) | 2021-02-22 | 2022-04-19 | CipherMode Labs, Inc. | Secure collaborative processing of private inputs |
US11924348B2 (en) * | 2021-02-27 | 2024-03-05 | International Business Machines Corporation | Honest behavior enforcement via blockchain |
CN112966022B (zh) * | 2021-03-10 | 2024-04-05 | 安徽航天信息科技有限公司 | 一种数据交易平台的信息查询方法、装置及系统 |
CN112800479B (zh) * | 2021-04-07 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 利用可信第三方的多方联合数据处理方法及装置 |
CN113242123B (zh) * | 2021-04-29 | 2023-03-17 | 龚健 | 一种共同用户数据获取方法和装置及服务器 |
CN113381854B (zh) * | 2021-05-21 | 2022-05-31 | 杭州趣链科技有限公司 | 数据传输方法、装置、设备和存储介质 |
US11956370B2 (en) | 2021-06-23 | 2024-04-09 | Blackberry Limited | Method and system for digital signatures utilizing multiplicative semigroups |
US20230155811A1 (en) * | 2021-11-12 | 2023-05-18 | Micron Technology, Inc. | Encrypted information sharing with lightweight devices |
CN114301591B (zh) * | 2021-12-28 | 2024-06-18 | 支付宝(杭州)信息技术有限公司 | 不经意传输协议的执行方法、装置及系统 |
CN114301702B (zh) * | 2021-12-30 | 2024-01-30 | 中国电信股份有限公司 | 代理茫然传输方法及装置、存储介质、电子设备 |
CN114553593B (zh) * | 2022-03-22 | 2024-05-28 | 杭州博盾习言科技有限公司 | 多方安全计算隐私求交方法、装置、设备及存储介质 |
CN115001674A (zh) * | 2022-06-02 | 2022-09-02 | 蚂蚁区块链科技(上海)有限公司 | 分享ot协议的执行方法、安全多方计算方法及装置 |
CN115632770A (zh) * | 2022-10-13 | 2023-01-20 | 浙江工商大学 | 基于不经意传输的医疗物联网隐私保护数据共享方法 |
CN117336100B (zh) * | 2023-11-27 | 2024-02-23 | 湖南湘科智慧科技有限公司 | 基于押运服务多方扁平化沟通的数据处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110154056A1 (en) * | 2009-12-18 | 2011-06-23 | Compugroup Holding Ag | Computer readable storage medium for generating an access key, computer implemented method and computing device |
US20140122888A1 (en) * | 2012-10-31 | 2014-05-01 | Industry-Academia Cooperation Group Of Sejong University | Method for password based authentication and apparatus executing the method |
CN106797311A (zh) * | 2014-08-29 | 2017-05-31 | 维萨国际服务协会 | 用于安全密码生成的方法 |
CN107251476A (zh) * | 2015-02-13 | 2017-10-13 | 维萨国际服务协会 | 保密通信管理 |
CN108292402A (zh) * | 2016-02-23 | 2018-07-17 | 恩链控股有限公司 | 用于信息的安全交换的公共秘密的确定和层级确定性密钥 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7480384B2 (en) | 2003-02-10 | 2009-01-20 | International Business Machines Corporation | Method for distributing and authenticating public keys using random numbers and Diffie-Hellman public keys |
US7620625B2 (en) * | 2004-05-20 | 2009-11-17 | Ntt Docomo, Inc. | Method and apparatus for communication efficient private information retrieval and oblivious transfer |
US20070269041A1 (en) | 2005-12-22 | 2007-11-22 | Rajat Bhatnagar | Method and apparatus for secure messaging |
US8520842B2 (en) | 2010-01-07 | 2013-08-27 | Microsoft Corporation | Maintaining privacy during user profiling |
US8577029B2 (en) * | 2010-09-10 | 2013-11-05 | International Business Machines Corporation | Oblivious transfer with hidden access control lists |
US8990570B2 (en) * | 2012-07-31 | 2015-03-24 | Alcatel Lucent | Secure function evaluation for a covert client and a semi-honest server using string selection oblivious transfer |
EP3311320A4 (en) | 2015-06-22 | 2018-12-05 | Cyphre, LLC | Accelerated encryption and decryption of files with shared secret and method therefor |
US9846785B2 (en) * | 2015-11-25 | 2017-12-19 | International Business Machines Corporation | Efficient two party oblivious transfer using a leveled fully homomorphic encryption |
US20170317823A1 (en) | 2016-04-28 | 2017-11-02 | Amish Gaganvihari Gandhi | Zero Knowledge Encrypted File Transfer |
US10715319B2 (en) * | 2016-12-15 | 2020-07-14 | Universite Paris Diderot | Method and system for spacetime-constrained oblivious transfer |
-
2019
- 2019-06-07 US US16/434,338 patent/US11190496B2/en active Active
- 2019-06-14 WO PCT/US2019/037318 patent/WO2020167333A1/en unknown
- 2019-06-14 SG SG11202108409WA patent/SG11202108409WA/en unknown
- 2019-06-14 CN CN201980091843.8A patent/CN113424185B/zh active Active
- 2019-06-14 EP EP19915423.8A patent/EP3924852B1/en active Active
-
2021
- 2021-10-25 US US17/510,235 patent/US11601407B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110154056A1 (en) * | 2009-12-18 | 2011-06-23 | Compugroup Holding Ag | Computer readable storage medium for generating an access key, computer implemented method and computing device |
US20140122888A1 (en) * | 2012-10-31 | 2014-05-01 | Industry-Academia Cooperation Group Of Sejong University | Method for password based authentication and apparatus executing the method |
CN106797311A (zh) * | 2014-08-29 | 2017-05-31 | 维萨国际服务协会 | 用于安全密码生成的方法 |
CN107251476A (zh) * | 2015-02-13 | 2017-10-13 | 维萨国际服务协会 | 保密通信管理 |
CN108292402A (zh) * | 2016-02-23 | 2018-07-17 | 恩链控股有限公司 | 用于信息的安全交换的公共秘密的确定和层级确定性密钥 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134682A (zh) * | 2020-09-09 | 2020-12-25 | 支付宝(杭州)信息技术有限公司 | 用于不经意传输ot扩展协议的数据处理方法及装置 |
CN112134682B (zh) * | 2020-09-09 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 用于不经意传输ot扩展协议的数据处理方法及装置 |
CN115412246A (zh) * | 2022-11-01 | 2022-11-29 | 北京信安世纪科技股份有限公司 | 不经意传输方法、装置、设备和存储介质 |
CN115412246B (zh) * | 2022-11-01 | 2023-01-31 | 北京信安世纪科技股份有限公司 | 不经意传输方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020167333A1 (en) | 2020-08-20 |
EP3924852A1 (en) | 2021-12-22 |
CN113424185B (zh) | 2023-03-28 |
EP3924852B1 (en) | 2024-05-22 |
US20200259800A1 (en) | 2020-08-13 |
EP3924852A4 (en) | 2022-04-06 |
US11190496B2 (en) | 2021-11-30 |
SG11202108409WA (en) | 2021-08-30 |
US11601407B2 (en) | 2023-03-07 |
US20220045994A1 (en) | 2022-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113424185B (zh) | 快速不经意传输 | |
US10785019B2 (en) | Data transmission method and apparatus | |
CN108292402B (zh) | 用于信息的安全交换的公共秘密的确定和层级确定性密钥 | |
Araki et al. | High-throughput semi-honest secure three-party computation with an honest majority | |
US12022007B2 (en) | Systems and methods for signing of a message | |
US8331568B2 (en) | Efficient distribution of computation in key agreement | |
US20200259651A1 (en) | Multi-party threshold authenticated encryption | |
US20240097894A1 (en) | Threshold key exchange | |
CN111555880A (zh) | 数据碰撞方法、装置、存储介质及电子设备 | |
Olumide et al. | A hybrid encryption model for secure cloud computing | |
WO2020042023A1 (zh) | 一种即时通信的数据加密方法及装置 | |
US11496287B2 (en) | Privacy preserving fully homomorphic encryption with circuit verification | |
CN112003690B (zh) | 密码服务系统、方法及装置 | |
KR20220142254A (ko) | 블룸 필터를 이용한 블록체인에서의 다중 서명 지갑 시스템 | |
US20240056295A1 (en) | Verifiable remote resource management for cryptographic devices | |
WO2023055582A1 (en) | Round optimal oblivious transfers from isogenies | |
CN118266189A (zh) | 生成共享加密密钥 | |
CN116707974A (zh) | 一种安全套接层ssl通信方法及相关设备 | |
TW202310584A (zh) | 分層確定性錢包的金鑰生成系統及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |