CN110661610B - Input acquisition method and device of secure multi-party computing protocol - Google Patents
Input acquisition method and device of secure multi-party computing protocol Download PDFInfo
- Publication number
- CN110661610B CN110661610B CN201810715295.9A CN201810715295A CN110661610B CN 110661610 B CN110661610 B CN 110661610B CN 201810715295 A CN201810715295 A CN 201810715295A CN 110661610 B CN110661610 B CN 110661610B
- Authority
- CN
- China
- Prior art keywords
- server
- ciphertext
- data
- secure multi
- party computation
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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
- 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/3247—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 involving digital signatures
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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/16—Obfuscation or hiding, e.g. involving white box
-
- 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/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Power Engineering (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Telephonic Communication Services (AREA)
Abstract
本说明书实施例提供了一种获取安全多方计算协议的输入的方法和装置,安全多方计算协议的参与方包括第一服务器端,第一服务器端为第一对象的服务器端,安全多方计算协议基于第一对象的第一数据进行计算,其中,第一数据被存储在第二服务器端中,第二服务器端是权威机构的服务器端,所述方法在第二服务器端执行,包括:从第一服务器端接收关于第一数据的数据请求;基于数据请求,通过预先从第一服务器端接收的公钥对第一数据进行同态加密,以生成第一密文,其中,公钥为所述第一对象的同态加密公钥;基于第一密文获取验证数据,验证数据用于验证待验证密文是否与第一数据对应;以及将验证数据发送给第一服务器端。
The embodiments of this specification provide a method and device for obtaining the input of a secure multi-party computation protocol. The participants of the secure multi-party computation protocol include a first server, and the first server is the server of the first object. The secure multi-party computation protocol is based on The first data of the first object is calculated, wherein the first data is stored in the second server side, the second server side is the server side of the authoritative organization, and the method is executed on the second server side, including: from the first The server receives a data request for the first data; based on the data request, homomorphically encrypts the first data by using the public key received from the first server in advance to generate a first ciphertext, wherein the public key is the first ciphertext. A homomorphic encryption public key of an object; obtaining verification data based on the first ciphertext, and the verification data is used to verify whether the ciphertext to be verified corresponds to the first data; and sending the verification data to the first server.
Description
技术领域technical field
本说明书实施例涉及密码学技术领域,更具体地,涉及获取安全多方计算协议的输入的方法和装置。The embodiments of the present specification relate to the technical field of cryptography, and more particularly, to a method and apparatus for obtaining the input of a secure multi-party computation protocol.
背景技术Background technique
一个实体(个人或企业、组织)在进行申请贷款、申请签证、报税等业务时,通常需要提供自身的隐私数据(年龄、存款、性别、收入)给另一实体(或多个实体甚至公众),以供另一实体(或多个实体甚至公众)计算/评估。前一实体可称为证明方,后一实体可称为校验方。证明方提供数据时可能撒谎,因此需要一个或多个实体(背书方)提供证明,如银行背书方提供的存款证明、政府背书方提供的身份证/营业执照等。An entity (individual or enterprise, organization) usually needs to provide its own private data (age, deposit, gender, income) to another entity (or multiple entities or even the public) when applying for loans, applying for visas, filing taxes, etc. , for calculation/evaluation by another entity (or entities or even the public). The former entity may be referred to as the prover, and the latter entity may be referred to as the verifier. The proving party may lie when providing data, so one or more entities (endorsing parties) are required to provide proof, such as deposit certificates provided by bank endorsers, ID cards/business licenses provided by government endorsers, etc.
证明方在将其隐私数据交给校验方计算/评估时,证明方会担忧隐私泄露。而如果采用另一方式,把计算/评估方法交给证明方,证明方只向校验方提供计算结果,则存在证明方造假的可能,证明方可能使用虚假的数据来进行计算,可能没有忠实按照提供的计算方法进行计算。When the prover submits its private data to the verifier for calculation/evaluation, the prover will worry about privacy leakage. If another method is adopted, the calculation/evaluation method is handed over to the prover, and the prover only provides the calculation result to the verifier, then there is the possibility of the prover falsifying, and the prover may use false data for calculation, which may not be faithful Calculate according to the calculation method provided.
为解决上述数据隐私与数据可信的矛盾,现有技术结合使用了零知识证明、哈希、数字签名和区块链技术。背书方在存证证明方数据时,在区块链账本中记录数据的哈希值和其对该哈希值的数字签名。为防止数据取值空间太小带来的穷举攻击,哈希时使用了随机数。背书方给证明方发送的存证凭证包含哈希值、哈希时所用的随机数、记录在区块链账本中的位置,可选还包括哈希值的数字签名。证明方给校验方发送的存证凭证包含哈希值、记录在区块链账本中的位置,可选还包括哈希值的数字签名。然后,通过零知识证明技术,校验方可以校验证明方在计算函数f过程中使用的数据与存证凭证中的哈希值匹配,且证明方在计算中没有用其他函数来替代f,忠实执行了f函数。从而校验方最终获得可信的计算结果。该过程需要强功能的零知识证明技术,需要的计算和存储资源较多。In order to solve the above-mentioned contradiction between data privacy and data credibility, the existing technology uses a combination of zero-knowledge proof, hash, digital signature and blockchain technology. When the endorser stores the data of the prover, it records the hash value of the data and its digital signature for the hash value in the blockchain ledger. In order to prevent exhaustive attacks caused by too small data value space, random numbers are used in hashing. The certificate of deposit sent by the endorser to the prover includes the hash value, the random number used for hashing, the location recorded in the blockchain ledger, and optionally the digital signature of the hash value. The certificate of deposit sent by the prover to the verifier contains the hash value, the location recorded in the blockchain ledger, and optionally the digital signature of the hash value. Then, through the zero-knowledge proof technology, the verifier can verify that the data used by the prover in the process of calculating the function f matches the hash value in the certificate of deposit, and the prover does not use other functions to replace f in the calculation, The f function is faithfully executed. Therefore, the verifier finally obtains a credible calculation result. This process requires powerful zero-knowledge proof technology, which requires more computing and storage resources.
因此,需要一种更有效的获取安全多方计算协议的输入的方案。Therefore, there is a need for a more efficient scheme for obtaining the input of a secure multi-party computation protocol.
发明内容SUMMARY OF THE INVENTION
本说明书实施例旨在提供更有效的获取安全多方计算协议的输入的方法和装置,以解决现有技术中的不足。The embodiments of the present specification aim to provide a more effective method and apparatus for obtaining the input of a secure multi-party computation protocol, so as to solve the deficiencies in the prior art.
为实现上述目的,本说明书一个方面提供一种获取安全多方计算协议的输入的方法,所述安全多方计算协议的参与方包括第一服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述方法在所述第二服务器端执行,包括:In order to achieve the above object, one aspect of this specification provides a method for obtaining the input of a secure multi-party computation protocol, wherein the participants of the secure multi-party computation protocol include a first server, and the first server is the server of the first object. , the secure multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in the second server side, the second server side is the server side of the authoritative organization, so The method is executed on the second server, including:
从所述第一服务器端接收关于所述第一数据的数据请求;receiving a data request for the first data from the first server;
基于所述数据请求,通过预先从所述第一服务器端接收的公钥对所述第一数据进行同态加密,以生成第一密文,其中,所述公钥为所述第一对象的同态加密公钥;Based on the data request, perform homomorphic encryption on the first data by using the public key previously received from the first server to generate a first ciphertext, where the public key is the first object's Homomorphic encryption public key;
基于所述第一密文获取验证数据,所述验证数据用于验证待验证密文是否与所述第一数据对应;以及Obtain verification data based on the first ciphertext, where the verification data is used to verify whether the ciphertext to be verified corresponds to the first data; and
将所述验证数据发送给所述第一服务器端。Send the verification data to the first server.
本说明书另一方面提供一种获取安全多方计算协议的输入的方法,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述方法在所述第一服务器端执行,包括:Another aspect of this specification provides a method for obtaining input of a secure multi-party computation protocol, wherein the participants of the secure multi-party computation protocol include a first server end and a third server end, and the first server end is a server of a first object end, the secure multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in a second server end, and the second server end is the server end of an authoritative organization, The method is executed on the first server, including:
向所述第二服务器端发送关于所述第一数据的数据请求;sending a data request for the first data to the second server;
获取与所述第一数据对应的第二密文,其中,所述第二密文是通过预先生成的所述第一对象的公钥获取的同态加密密文;obtaining a second ciphertext corresponding to the first data, wherein the second ciphertext is a homomorphically encrypted ciphertext obtained by using the pre-generated public key of the first object;
从所述第二服务器端接收根据通过根据上述任一项获取安全多方计算协议的输入的方法获取的验证数据;以及receiving from the second server authentication data obtained according to the method of obtaining the input of the secure multi-party computation protocol according to any of the above; and
将所述第二密文和所述验证数据发送给所述第三服务器端。Send the second ciphertext and the verification data to the third server.
本说明书另一方面提供一种获取安全多方计算协议的输入的方法,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述方法在所述第一服务器端执行,包括:Another aspect of this specification provides a method for obtaining input of a secure multi-party computation protocol, wherein the participants of the secure multi-party computation protocol include a first server end and a third server end, and the first server end is a server of a first object end, the secure multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in a second server end, and the second server end is the server end of an authoritative organization, The method is executed on the first server, including:
向所述第二服务器端发送关于所述第一数据的数据请求;sending a data request for the first data to the second server;
从所述第二服务器端接收存储所述第一密文和所述权威机构对所述第一密文的数字签名的所述账本位置;以及receiving, from the second server, the ledger location storing the first ciphertext and the authority's digital signature on the first ciphertext; and
将所述账本位置发送给所述第三服务器端。Sending the ledger location to the third server.
本说明书另一方面提供一种获取安全多方计算协议的输入的方法,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在所述第一服务器端中,所述方法在所述第一服务器端执行,包括:Another aspect of this specification provides a method for obtaining input of a secure multi-party computation protocol, wherein the participants of the secure multi-party computation protocol include a first server end and a third server end, and the first server end is a server of a first object end, the secure multi-party computation protocol performs computation based on first data of the first object, wherein the first data is stored in the first server end, and the method is executed at the first server end ,include:
通过使用预先生成的所述第一对象的公钥对所述第一数据进行同态加密,获取与所述第一数据对应的密文;Obtain the ciphertext corresponding to the first data by performing homomorphic encryption on the first data by using the pre-generated public key of the first object;
通过在区块链中对所述密文进行存证,获取区块链中存证所述密文的账本位置;以及By depositing the ciphertext in the blockchain, obtaining the location of the ledger where the ciphertext is stored in the blockchain; and
将所述密文和所述账本位置发送给所述第三服务器端。Send the ciphertext and the location of the ledger to the third server.
本说明书另一方面提供一种获取安全多方计算协议的输入的方法,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在所述第一服务器端中,所述方法在所述第一服务器端执行,包括:Another aspect of this specification provides a method for obtaining input of a secure multi-party computation protocol, wherein the participants of the secure multi-party computation protocol include a first server end and a third server end, and the first server end is a server of a first object end, the secure multi-party computation protocol performs computation based on first data of the first object, wherein the first data is stored in the first server end, and the method is executed at the first server end ,include:
通过使用预先生成的所述第一对象的公钥对所述第一数据进行同态加密,获取与所述第一数据对应的密文;Obtain the ciphertext corresponding to the first data by performing homomorphic encryption on the first data by using the pre-generated public key of the first object;
通过在区块链中存入所述密文、和所述第一对象对所述密文的数字签名,获取区块链中存储所述密文和所述数字签名的账本位置,其中所述数字签名由所述第一服务器端生成;以及By storing the ciphertext and the digital signature of the first object on the ciphertext in the blockchain, the location of the ledger where the ciphertext and the digital signature are stored in the blockchain is obtained, wherein the a digital signature is generated by the first server; and
将所述账本位置发送给所述第三服务器端。Sending the ledger location to the third server.
本说明书另一方面提供一种获取安全多方计算协议的输入的方法,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述方法在所述第三服务器端执行,包括:Another aspect of this specification provides a method for obtaining input of a secure multi-party computation protocol, wherein the participants of the secure multi-party computation protocol include a first server end and a third server end, and the first server end is a server of a first object end, the secure multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in a second server end, and the second server end is the server end of an authoritative organization, The method is executed on the third server, including:
从所述第一服务器端接收通过根据上述在第一服务器端执行的方法获取的所述第二密文和所述验证数据;Receive from the first server the second ciphertext and the verification data obtained by the method performed on the first server as described above;
使用所述验证数据验证所述第二密文,以确定所述第二密文是否与所述第一数据对应;以及verifying the second ciphertext using the verification data to determine whether the second ciphertext corresponds to the first data; and
在确定所述第二密文与所述第一数据对应的情况中,确定以所述第二密文作为所述安全多方计算协议的输入。In the case where it is determined that the second ciphertext corresponds to the first data, it is determined that the second ciphertext is used as the input of the secure multi-party computation protocol.
本说明书另一方面提供一种获取安全多方计算协议的输入的方法,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述方法在所述第三服务器端执行,包括:Another aspect of this specification provides a method for obtaining input of a secure multi-party computation protocol, wherein the participants of the secure multi-party computation protocol include a first server end and a third server end, and the first server end is a server of a first object end, the secure multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in a second server end, and the second server end is the server end of an authoritative organization, The method is executed on the third server, including:
从所述第一服务器端接收存储所述第一密文和所述权威机构对所述第一密文的数字签名的所述账本位置;以及receiving, from the first server, the ledger location storing the first ciphertext and the authoritative authority's digital signature on the first ciphertext; and
从所述账本位置获取所述第一密文,以作为所述安全多方计算协议的输入。The first ciphertext is obtained from the ledger location as an input to the secure multi-party computation protocol.
本说明书另一方面提供一种获取安全多方计算协议的输入的方法,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在所述第一服务器端中,所述方法在所述第三服务器端执行,包括:Another aspect of this specification provides a method for obtaining input of a secure multi-party computation protocol, wherein the participants of the secure multi-party computation protocol include a first server end and a third server end, and the first server end is a server of a first object end, the secure multi-party computation protocol performs computation based on first data of the first object, wherein the first data is stored in the first server end, and the method is executed at the third server end ,include:
从所述第一服务器端接收通过根据上述在第一服务器端执行的方法获取的所述密文和所述账本位置;Receive, from the first server, the ciphertext and the ledger location obtained by the method performed on the first server as described above;
使用所述账本位置验证所述密文,以确定所述密文是否与所述第一数据对应;以及verifying the ciphertext using the ledger location to determine whether the ciphertext corresponds to the first data; and
在确定所述密文与所述第一数据对应的情况中,确定以所述密文作为所述安全多方计算协议的输入。In the case where it is determined that the ciphertext corresponds to the first data, it is determined that the ciphertext is used as the input of the secure multi-party computation protocol.
本说明书另一方面提供一种获取安全多方计算协议的输入的方法,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第一服务器端中,所述方法在所述第三服务器端执行,包括:Another aspect of this specification provides a method for obtaining input of a secure multi-party computation protocol, wherein the participants of the secure multi-party computation protocol include a first server end and a third server end, and the first server end is a server of a first object end, the secure multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in the first server end, and the method is executed at the third server end, including :
从所述第一服务器端接收通过根据在第一服务器端执行的方法获取的所述账本位置;以及receiving from the first server the location of the ledger obtained by the method performed on the first server; and
从所述账本位置获取所述密文,以作为所述安全多方计算协议的输入。The ciphertext is obtained from the ledger location as an input to the secure multi-party computation protocol.
本说明书另一方面提供一种获取安全多方计算协议的输入的装置,所述安全多方计算协议的参与方包括第一服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述装置在所述第二服务器端实施,包括:Another aspect of the present specification provides a device for obtaining input of a secure multi-party computation protocol, wherein a participant of the secure multi-party computation protocol includes a first server, the first server is a server of a first object, and the secure The multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in the second server side, the second server side is the server side of the authoritative organization, and the device is located in the The second server-side implementation described above includes:
接收单元,配置为,从所述第一服务器端接收关于所述第一数据的数据请求;a receiving unit, configured to receive a data request for the first data from the first server;
生成单元,配置为,基于所述数据请求,通过预先从所述第一服务器端接收的公钥对所述第一数据进行同态加密,以生成第一密文,其中,所述公钥为所述第一对象的同态加密公钥;A generating unit, configured to, based on the data request, perform homomorphic encryption on the first data by using a public key previously received from the first server to generate a first ciphertext, wherein the public key is the homomorphic encryption public key of the first object;
获取单元,配置为,基于所述第一密文获取验证数据,所述验证数据用于验证待验证密文是否与所述第一数据对应;以及an obtaining unit configured to obtain verification data based on the first ciphertext, where the verification data is used to verify whether the ciphertext to be verified corresponds to the first data; and
发送单元,配置为,将所述验证数据发送给所述第一服务器端。A sending unit, configured to send the verification data to the first server.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述数据请求中包括用于对所述第一数据进行同态加密的随机数,其中所述生成单元还配置为,通过预先从所述第一服务器端接收的公钥和所述随机数对所述第一数据进行同态加密,以生成第一密文。In one embodiment, in the apparatus for obtaining the input of the secure multi-party computation protocol, the data request includes a random number for performing homomorphic encryption on the first data, and the generating unit is further configured to , performing homomorphic encryption on the first data by using the public key and the random number received from the first server in advance to generate a first ciphertext.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述发送单元还配置为,将所述验证数据和所述第一密文发送给所述第一服务器端。In one embodiment, in the apparatus for obtaining the input of the secure multi-party computation protocol, the sending unit is further configured to send the verification data and the first ciphertext to the first server.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述获取单元还配置为,通过在区块链中对所述第一密文进行存证,获取区块链中存证所述第一密文的账本位置作为所述验证数据。In one embodiment, in the device for obtaining the input of the secure multi-party computation protocol, the obtaining unit is further configured to obtain the first ciphertext in the blockchain by storing the certificate in the blockchain. The location of the ledger where the first ciphertext is stored is used as the verification data.
本说明书另一方面提供一种获取安全多方计算协议的输入的装置,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述装置在所述第一服务器端实施,包括:Another aspect of the present specification provides a device for obtaining input of a secure multi-party computation protocol, where participants of the secure multi-party computation protocol include a first server and a third server, and the first server is a server of a first object end, the secure multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in a second server end, and the second server end is the server end of an authoritative organization, The apparatus is implemented on the first server side, including:
第一发送单元,配置为,向所述第二服务器端发送关于所述第一数据的数据请求;a first sending unit, configured to send a data request for the first data to the second server;
获取单元,配置为,获取与所述第一数据对应的第二密文,其中,所述第二密文是通过预先生成的所述第一对象的公钥获取的同态加密密文;an obtaining unit, configured to obtain a second ciphertext corresponding to the first data, wherein the second ciphertext is a homomorphically encrypted ciphertext obtained by using a pre-generated public key of the first object;
接收单元,配置为,从所述第二服务器端接收根据通过根据上述在第二服务器端执行的任一项方法获取的验证数据;以及a receiving unit configured to receive, from the second server side, the verification data obtained according to any one of the methods performed on the second server side according to the above; and
第二发送单元,配置为,将所述第二密文和所述验证数据发送给所述第三服务器端。The second sending unit is configured to send the second ciphertext and the verification data to the third server.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述获取单元还配置为,从所述第二服务器端接收通过上述在第二服务器端执行的方法生成的所述第一密文作为所述第二密文。In one embodiment, in the apparatus for acquiring the input of the secure multi-party computation protocol, the acquiring unit is further configured to receive, from the second server side, the said The first ciphertext is used as the second ciphertext.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述第一服务器端存储有所述第一数据,以及,其中,所述获取单元还配置为,在本地通过所述公钥和本地生成的随机数对所述第一数据进行同态加密,以获取所述第二密文,其中,在关于所述第一数据的数据请求中包括所述随机数。In one embodiment, in the device for obtaining the input of the secure multi-party computation protocol, the first server stores the first data, and wherein the obtaining unit is further configured to locally pass the Homomorphically encrypt the first data with the public key and a locally generated random number to obtain the second ciphertext, wherein the random number is included in the data request for the first data.
本说明书另一方面提供一种获取安全多方计算协议的输入的装置,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述装置在所述第一服务器端执行,包括:Another aspect of the present specification provides a device for obtaining input of a secure multi-party computation protocol, where participants of the secure multi-party computation protocol include a first server and a third server, and the first server is a server of a first object end, the secure multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in a second server end, and the second server end is the server end of an authoritative organization, The apparatus is executed on the first server side, including:
第一发送单元,配置为,向所述第二服务器端发送关于所述第一数据的数据请求;a first sending unit, configured to send a data request for the first data to the second server;
接收单元,配置为,从所述第二服务器端接收通过存储所述第一密文和所述权威机构对所述第一密文的数字签名的所述账本位置;以及a receiving unit configured to receive, from the second server, the location of the ledger by storing the first ciphertext and the digital signature of the authoritative authority on the first ciphertext; and
第二发送单元,配置为,将所述账本位置发送给所述第三服务器端。The second sending unit is configured to send the account book location to the third server.
本说明书另一方面提供一种获取安全多方计算协议的输入的装置,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在所述第一服务器端中,所述装置在所述第一服务器端执行,包括:Another aspect of the present specification provides a device for obtaining input of a secure multi-party computation protocol, where participants of the secure multi-party computation protocol include a first server and a third server, and the first server is a server of a first object end, the secure multi-party computation protocol performs computation based on first data of the first object, wherein the first data is stored in the first server end, and the apparatus executes the first server end ,include:
加密单元,配置为,通过使用预先生成的所述第一对象的公钥对所述第一数据进行同态加密,获取与所述第一数据对应的密文;an encryption unit, configured to perform homomorphic encryption on the first data by using the pre-generated public key of the first object to obtain a ciphertext corresponding to the first data;
存证单元,配置为,通过在区块链中对所述密文进行存证,获取区块链中存证所述密文的账本位置;以及a certificate depositing unit, configured to obtain the location of the ledger where the ciphertext is stored in the blockchain by depositing the ciphertext in the blockchain; and
发送单元,配置为,将所述密文和所述账本位置发送给所述第三服务器端。A sending unit, configured to send the ciphertext and the location of the ledger to the third server.
本说明书另一方面提供一种获取安全多方计算协议的输入的装置,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在所述第一服务器端中,所述装置在所述第一服务器端实施,包括:Another aspect of the present specification provides a device for obtaining input of a secure multi-party computation protocol, where participants of the secure multi-party computation protocol include a first server and a third server, and the first server is a server of a first object end, the secure multi-party computation protocol performs computation based on first data of the first object, wherein the first data is stored in the first server end, and the apparatus implements the first server end ,include:
加密单元,配置为,通过使用预先生成的所述第一对象的公钥对所述第一数据进行同态加密,获取与所述第一数据对应的密文;an encryption unit, configured to perform homomorphic encryption on the first data by using the pre-generated public key of the first object to obtain a ciphertext corresponding to the first data;
存入单元,配置为,通过在区块链中存入所述密文、和所述第一对象对所述密文的数字签名,获取区块链中存储所述密文和所述数字签名的账本位置,其中所述数字签名由所述第一服务器端生成;以及a depositing unit, configured to obtain the ciphertext and the digital signature stored in the blockchain by depositing the ciphertext and the digital signature of the first object on the ciphertext in the blockchain , where the digital signature is generated by the first server side; and
发送单元,配置为,将所述账本位置发送给所述第三服务器端。A sending unit, configured to send the account book location to the third server.
本说明书另一方面提供一种获取安全多方计算协议的输入的装置,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述装置在所述第三服务器端实施,包括:Another aspect of the present specification provides a device for obtaining input of a secure multi-party computation protocol, where participants of the secure multi-party computation protocol include a first server and a third server, and the first server is a server of a first object end, the secure multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in a second server end, and the second server end is the server end of an authoritative organization, The apparatus is implemented on the third server, including:
接收单元,配置为,从所述第一服务器端接收通过根据上述在第一服务器端执行的方法获取的所述第二密文和所述验证数据;a receiving unit, configured to receive, from the first server, the second ciphertext and the verification data obtained by the method performed on the first server;
验证单元,配置为,使用所述验证数据验证所述第二密文,以确定所述第二密文是否与所述第一数据对应;以及a verification unit configured to verify the second ciphertext using the verification data to determine whether the second ciphertext corresponds to the first data; and
确定单元,配置为,在确定所述第二密文与所述第一数据对应的情况中,确定以所述第二密文作为所述安全多方计算协议的输入。A determining unit, configured to, in the case of determining that the second ciphertext corresponds to the first data, determine that the second ciphertext is used as the input of the secure multi-party computation protocol.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述验证数据为通过存储所述第一密文和所述权威机构对所述第一密文的数字签名的所述账本位置,其中,在所述账本位置存储有通过在第二服务器端执行的方法获取的所述第一密文,In one embodiment, in the apparatus for obtaining the input of the secure multi-party computation protocol, the verification data is obtained by storing the first ciphertext and the digital signature of the authoritative authority on the first ciphertext. the account book position, wherein the first ciphertext obtained by the method executed on the second server side is stored in the account book position,
其中,所述验证单元还包括:Wherein, the verification unit further includes:
获取子单元,配置为,通过所述账本位置,获取所述第一密文;以及an obtaining subunit, configured to obtain the first ciphertext through the account book location; and
确定子单元,配置为,确定所述第二密文与所述第一密文是否相同。The determining subunit is configured to determine whether the second ciphertext is the same as the first ciphertext.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述验证数据为通过存储所述第一密文的哈希值、和所述权威机构对所述第一密文的哈希值的数字签名的所述账本位置,在所述账本位置存储有通过第二服务器端基于所述密文生成的所述第一密文的哈希值,In one embodiment, in the device for obtaining the input of the secure multi-party computation protocol, the verification data is stored by storing the hash value of the first ciphertext and the authority's verification of the first ciphertext. The ledger position of the digital signature of the hash value of the ledger, where the hash value of the first ciphertext generated by the second server based on the ciphertext is stored in the ledger position,
其中,所述验证单元包括:Wherein, the verification unit includes:
通获取子单元,配置为,过所述账本位置,获取所述第一密文的哈希值;以及by obtaining a subunit, configured to obtain the hash value of the first ciphertext through the account book location; and
确定子单元,配置为,确定所述第二密文与所述哈希值是否匹配。The determining subunit is configured to determine whether the second ciphertext matches the hash value.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述验证数据为所述权威机构对所述第一密文的数字签名,In one embodiment, in the device for obtaining the input of a secure multi-party computation protocol, the verification data is a digital signature of the first ciphertext by the authority,
其中,所述验证单元还包括:Wherein, the verification unit further includes:
确定子单元,配置为,确定所述第二密文与所述数字签名是否匹配。The determining subunit is configured to determine whether the second ciphertext matches the digital signature.
本说明书另一方面提供一种获取安全多方计算协议的输入的装置,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述装置在所述第三服务器端实施,包括:Another aspect of the present specification provides a device for obtaining input of a secure multi-party computation protocol, where participants of the secure multi-party computation protocol include a first server and a third server, and the first server is a server of a first object end, the secure multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in a second server end, and the second server end is the server end of an authoritative organization, The apparatus is implemented on the third server, including:
接收单元,配置为,从所述第一服务器端接收存储所述第一密文和所述权威机构对所述第一密文的数字签名的所述账本位置;以及a receiving unit, configured to receive, from the first server, the location of the ledger that stores the first ciphertext and the digital signature of the authoritative organization on the first ciphertext; and
获取单元,配置为,从所述账本位置获取所述第一密文,以作为所述安全多方计算协议的输入。The obtaining unit is configured to obtain the first ciphertext from the ledger position as an input of the secure multi-party computation protocol.
本说明书另一方面提供一种获取安全多方计算协议的输入的装置,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在所述第一服务器端中,所述装置在所述第三服务器端实施,包括:Another aspect of the present specification provides a device for obtaining input of a secure multi-party computation protocol, where participants of the secure multi-party computation protocol include a first server and a third server, and the first server is a server of a first object end, the secure multi-party computation protocol performs computation based on first data of the first object, wherein the first data is stored in the first server end, and the apparatus implements the third server end ,include:
接收单元,配置为,从所述第一服务器端接收通过在第一服务器端执行的方法获取的所述密文和所述账本位置;a receiving unit, configured to receive, from the first server, the ciphertext and the account book location obtained by the method executed on the first server;
验证单元,配置为,使用所述账本位置验证所述密文,以确定所述密文是否与所述第一数据对应;以及a verification unit configured to verify the ciphertext using the ledger location to determine whether the ciphertext corresponds to the first data; and
确定单元,配置为,在确定所述密文与所述第一数据对应的情况中,确定以所述密文作为所述安全多方计算协议的输入。The determining unit is configured to, in the case of determining that the ciphertext corresponds to the first data, determine that the ciphertext is used as the input of the secure multi-party computation protocol.
本说明书另一方面提供一种获取安全多方计算协议的输入的装置,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第一服务器端中,所述装置在所述第三服务器端实施,包括:Another aspect of the present specification provides a device for obtaining input of a secure multi-party computation protocol, where participants of the secure multi-party computation protocol include a first server and a third server, and the first server is a server of a first object end, the secure multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in the first server end, the apparatus is implemented at the third server end, including :
接收单元,配置为,从所述第一服务器端接收通过在第一服务器端执行的方法获取的所述账本位置;以及a receiving unit configured to receive, from the first server, the account book location obtained by the method executed on the first server; and
获取单元,配置为,从所述账本位置获取所述密文,以作为所述安全多方计算协议的输入。An obtaining unit, configured to obtain the ciphertext from the ledger location as an input of the secure multi-party computation protocol.
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项获取安全多方计算协议的输入的方法。Another aspect of the present specification provides a computing device, including a memory and a processor, characterized in that, executable code is stored in the memory, and when the processor executes the executable code, any one of the above acquisition security is implemented A method of input to a multiparty computation protocol.
本方案中通过对同态加密密文的背书,结合使用多方安全计算协议,解决了数据隐私和数据可信的矛盾,且避免使用了功能强大的零知识证明技术,避免了零知识证明技术带来的昂贵计算和存储消耗。另外,本发明能解决使用多证明方数据进行评估的数据造假问题。In this scheme, through the endorsement of homomorphic encrypted ciphertext, combined with the use of multi-party secure computing protocol, the contradiction between data privacy and data credibility is solved, and the use of powerful zero-knowledge proof technology is avoided. expensive computation and storage consumption. In addition, the present invention can solve the data falsification problem of using multi-prover data for evaluation.
附图说明Description of drawings
通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:By describing the embodiments of the present specification in conjunction with the accompanying drawings, the embodiments of the present specification can be made clearer:
图1示出了根据本说明书实施例的安全多方计算的场景示意图;FIG. 1 shows a schematic diagram of a scenario of secure multi-party computing according to an embodiment of the present specification;
图2示出了根据本说明书实施例一种获取安全多方计算协议的输入的方法的流程图;FIG. 2 shows a flowchart of a method for obtaining input of a secure multi-party computation protocol according to an embodiment of the present specification;
图3示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的方法的流程图;3 shows a flowchart of a method for obtaining input of a secure multi-party computation protocol according to another embodiment of the present specification;
图4示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的方法的流程图;FIG. 4 shows a flowchart of a method for obtaining input of a secure multi-party computation protocol according to another embodiment of the present specification;
图5示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的方法的流程图;FIG. 5 shows a flowchart of a method for obtaining the input of a secure multi-party computation protocol according to another embodiment of the present specification;
图6示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的方法的流程图;FIG. 6 shows a flowchart of a method for obtaining input of a secure multi-party computation protocol according to another embodiment of the present specification;
图7示出了根据说明书另一实施例的获取安全多方计算协议的输入的方法;7 illustrates a method for obtaining input of a secure multi-party computation protocol according to another embodiment of the specification;
图8示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的方法;FIG. 8 shows a method for obtaining the input of a secure multi-party computation protocol according to another embodiment of the present specification;
图9示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的方法;FIG. 9 shows a method for obtaining the input of a secure multi-party computation protocol according to another embodiment of the present specification;
图10示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的方法;FIG. 10 shows a method for obtaining input of a secure multi-party computation protocol according to another embodiment of the present specification;
图11示出了根据本说明书实施例的方法时序图;FIG. 11 shows a sequence diagram of a method according to an embodiment of the present specification;
图12示出了根据本说明书实施例的一种获取安全多方计算协议的输入的装置1200;FIG. 12 shows an
图13示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的装置1300;FIG. 13 shows an
图14示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的装置1400;FIG. 14 shows an
图15示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的装置1500;FIG. 15 shows an
图16示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的装置1600;FIG. 16 shows an
图17示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的装置1700;FIG. 17 shows an
图18示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的装置1800;FIG. 18 shows an
图19示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的装置1900;以及FIG. 19 shows an
图20示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的装置2000。FIG. 20 shows an
具体实施方式Detailed ways
下面将结合附图描述本说明书实施例。The embodiments of the present specification will be described below with reference to the accompanying drawings.
图1示出了根据本说明书实施例的安全多方计算的场景示意图。如图1所示,安全多方计算的参与方包括第一服务器端11和第三服务器端13,第一服务器端11为证明方服务器端,证明方例如为个人、企业、组织等,第三服务器端13为校验方服务器端,校验方可以为对证明方提供服务的个人、企业、组织等。该场景中还包括第二服务器端12,其例如为银行、税务局等权威机构的服务器端,其中存储有所述证明方的数据。在第一服务器端11与第三服务器端13执行安全多方计算协议(MPC协议)之前,首先,第一服务器端11向第二服务器端12发送数据请求,该数据请求包括对证明方特定数据的密文的请求、对证明方特定数据的背书证明的请求等。第二服务器端在接收到上述数据请求之后,使用证明方预先提供的证明方同态加密公钥对所述特定数据加密,以生成同态加密密文,并基于该同态加密密文生成验证数据,所述验证数据用于证明待验证的密文与所述特定数据是否对应。然后,第二服务器端将所述密文和验证数据发送给第一服务器端。FIG. 1 shows a schematic diagram of a scenario of secure multi-party computation according to an embodiment of the present specification. As shown in FIG. 1 , the participants in the secure multi-party computation include a
第一服务器端11将接收的密文和验证数据发送给第三服务器端13。第三服务器端13用所述验证数据验证所述密文,当确定所述密文与所述特定数据对应时,确定该密文为安全多方计算协议的输入,当确定密文与所述特定数据不对应时,则终止所述MPC协议。The
图1所示的安全多方计算的场景只是示意性的,本说明书实施例的场景不限于图1所示。例如,第一服务器端11可自己生成第一数据的密文,而不需要从第二服务器端接收密文。又例如,第三服务器端可自己从区块链下载可信密文,而不用从第一服务器端接收密文。另外,安全多方计算不限于两方,而可以包括任意数目的参与方。证明方也可以从多个背书方获取背书证明。另外,证明方可以自身为背书方,即,自己为自己背书,证明方也同时可以是校验方。The scenario of secure multi-party computation shown in FIG. 1 is only schematic, and the scenario of the embodiment of this specification is not limited to that shown in FIG. 1 . For example, the
图2示出了根据本说明书实施例一种获取安全多方计算协议的输入的方法。所述安全多方计算协议的参与方包括第一服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端。所述方法在所述第二服务器端执行,包括:FIG. 2 shows a method for obtaining input of a secure multi-party computation protocol according to an embodiment of the present specification. The participants of the secure multi-party computation protocol include a first server end, the first server end is the server end of the first object, and the secure multi-party computation protocol performs computation based on the first data of the first object, wherein, The first data is stored in a second server side, which is a server side of an authority. The method is executed on the second server, including:
在步骤S202,从所述第一服务器端接收关于所述第一数据的数据请求;In step S202, a data request about the first data is received from the first server;
在步骤S204,基于所述数据请求,通过预先从所述第一服务器端接收的公钥对所述第一数据进行同态加密,以生成第一密文,其中,所述公钥为所述第一对象的同态加密公钥;In step S204, based on the data request, perform homomorphic encryption on the first data by using the public key previously received from the first server to generate a first ciphertext, wherein the public key is the the homomorphic encryption public key of the first object;
在步骤S206,基于所述第一密文获取验证数据,所述验证数据用于验证待验证密文是否与所述第一数据对应;以及In step S206, verification data is obtained based on the first ciphertext, and the verification data is used to verify whether the ciphertext to be verified corresponds to the first data; and
在步骤S208,将所述验证数据发送给所述第一服务器端。In step S208, the verification data is sent to the first server.
首先,在步骤S202,从所述第一服务器端接收关于所述第一数据的数据请求。例如,第一服务器端为个人或企业的服务器端,其例如如图1所示与第三服务器端执行PMC协议,其中,第三服务器端例如为评估机构、贷款机构、保险公司等。第一服务器端与第三服务器端通过执行MPC协议,使得第三服务器端获得对第一对象(所述个人或企业)的评估结果,同时相对于第三服务器端保护所述第一对象的隐私数据。第二服务器端例如为银行的服务器端,其中存储有所述第一对象的数据,如年龄、性别、存款、收入等等。所述数据请求指定了将要处理的数据(即所述第一数据)。例如,所述第一数据为第一对象的存款,第一服务器端在数据请求中对该存款数据进行指定。所述数据请求还可以包括对数据的加密处理方式的指定,即,指定通过第一对象的公钥对该数据进行同态加密。另外,所述数据请求还可以包括对第二服务器端应发回的内容的指定,例如,指定发回所述数据的密文和所述密文的验证数据,或者所述密文的验证数据等等。First, in step S202, a data request for the first data is received from the first server. For example, the first server end is a server end of an individual or an enterprise, which executes the PMC protocol with a third server end as shown in FIG. The first server and the third server execute the MPC protocol, so that the third server obtains the evaluation result of the first object (the individual or enterprise), while protecting the privacy of the first object relative to the third server data. The second server side is, for example, a server side of a bank, which stores the data of the first object, such as age, gender, deposit, income and so on. The data request specifies the data to be processed (ie, the first data). For example, the first data is the deposit of the first object, and the first server side specifies the deposit data in the data request. The data request may further include designation of an encryption processing method for the data, that is, designation to perform homomorphic encryption on the data through the public key of the first object. In addition, the data request may further include specification of the content to be sent back by the second server, for example, specifying the ciphertext of the data and the verification data of the ciphertext, or the verification data of the ciphertext and many more.
在步骤S204,基于所述数据请求,通过预先从所述第一服务器端接收的公钥对所述第一数据进行同态加密,以生成第一密文,其中,所述公钥为所述第一对象的同态加密公钥。在根据数据请求确定对第一数据的进行特定加密之后,第二服务器端从自身存储单元中获取第一数据和第一对象的公钥,使用第一对象的公钥对第一数据进行同态加密,从而获取第一密文。这里,通过第一服务器端预先生成了第一对象的同态加密公钥、私钥对,并且第一服务器端在生成所述公私钥对之后,将其中的公钥发送给第二服务器端,以用于实施根据本说明书实施例的方法。In step S204, based on the data request, perform homomorphic encryption on the first data by using the public key previously received from the first server to generate a first ciphertext, wherein the public key is the The homomorphic encryption public key of the first object. After the specific encryption of the first data is determined according to the data request, the second server obtains the first data and the public key of the first object from its own storage unit, and uses the public key of the first object to homomorphize the first data encryption to obtain the first ciphertext. Here, the homomorphic encryption public key and private key pair of the first object is pre-generated by the first server, and after generating the public-private key pair, the first server sends the public key to the second server, for implementing the method according to the embodiment of the present specification.
在一个实施例中,所述第一服务器端也存储有所述第一数据。第一服务器通过自身的同态加密公钥、所述第一数据、以及本地生成的随机数对第一数据进行同态加密,以获得第二密文。从而,第一服务器端在向第二服务器端发送所述数据请求时,在所述数据请求中包括所述随机数。从而第二服务器端可通过预先从所述第一服务器端接收的公钥和所述随机数对所述第一数据进行同态加密,以生成第一密文。即,通过发送所述随机数,以保证在第二服务器端生成的第一密文与在第一服务器端生成的第二密文是一致的,以用于执行后续的方法。In one embodiment, the first server side also stores the first data. The first server performs homomorphic encryption on the first data by using its own homomorphic encryption public key, the first data, and a locally generated random number to obtain the second ciphertext. Therefore, when the first server side sends the data request to the second server side, the random number is included in the data request. Therefore, the second server can perform homomorphic encryption on the first data by using the public key and the random number received from the first server in advance, so as to generate the first ciphertext. That is, by sending the random number, it is ensured that the first ciphertext generated on the second server side is consistent with the second ciphertext generated on the first server side, so as to be used for executing the subsequent method.
在步骤S206,基于所述第一密文获取验证数据,所述验证数据用于验证待验证密文是否与所述第一数据对应。In step S206, verification data is obtained based on the first ciphertext, and the verification data is used to verify whether the ciphertext to be verified corresponds to the first data.
在一个实施例中,所述验证数据为区块链中由所述权威机构存证所述第一密文的账本位置。例如,第二服务器端在生成所述第一密文之后,生成权威机构对第一密文的数字签名,并将所述第一密文和所述数字签名存入到区块链中。具体是,第二服务器端使用权威机构的私钥对所述第一密文进行计算,以生成加密数据,作为权威机构对该第一密文的数字签名。通过权威机构的数字签名,即示出了权威机构对如下内容的背书证明:第一密文是通过第一服务器端的公钥对第一数据进行同态加密所获取的密文。另外,通过区块链中其它节点以所述权威机构的公钥对权威机构的数字签名进行验证达成共识,并将该第一密文与数字签名存入到区块链中,保证了第一密文的不被篡改和完整性,同时,保证了数字签名的真实性。因此,通过获取所述账本位置,可从该位置获取所述第一密文,通过将该第一密文与待验证的密文进行比对,从而可判断待验证的密文是否与所述第一数据对应。即,该账本位置可以作为验证数据,用于验证待验证的密文是否与第一数据对应。In one embodiment, the verification data is a ledger location in the blockchain where the first ciphertext is certified by the authority. For example, after generating the first ciphertext, the second server generates a digital signature for the first ciphertext by an authority, and stores the first ciphertext and the digital signature in the blockchain. Specifically, the second server performs computation on the first ciphertext by using the private key of the authority, so as to generate encrypted data, which is used as the digital signature of the authority on the first ciphertext. Through the digital signature of the authoritative organization, it shows the endorsement certificate of the authoritative organization for the following content: the first ciphertext is the ciphertext obtained by performing homomorphic encryption on the first data with the public key of the first server. In addition, a consensus is reached by verifying the digital signature of the authority by other nodes in the blockchain with the public key of the authority, and storing the first ciphertext and digital signature in the blockchain, ensuring the first The ciphertext is not tampered with and the integrity, at the same time, the authenticity of the digital signature is guaranteed. Therefore, by obtaining the location of the ledger, the first ciphertext can be obtained from this location, and by comparing the first ciphertext with the ciphertext to be verified, it can be determined whether the ciphertext to be verified is the same as the ciphertext to be verified. The first data corresponds. That is, the location of the ledger can be used as verification data to verify whether the ciphertext to be verified corresponds to the first data.
其中,所述第二服务器端还可以将第一密文的哈希值、和所述权威机构对所述哈希值的数字签名存入区块链中,从而获取区块链中存储所述哈希值的账本位置。同样地,权威机构通过其数字签名对该哈希值进行了背书证明,也即,对其对应的第一密文进行了背书证明。从而,通过获取所述账本位置,可从该位置获取第一密文的哈希值,通过将待验证密文的哈希值与该第一密文的哈希值进行比对,从而可判断待验证密文是否与第一数据对应。Wherein, the second server can also store the hash value of the first ciphertext and the digital signature of the authoritative organization on the hash value in the blockchain, so as to obtain the storage in the blockchain. Ledger location of the hash value. Similarly, the authority has endorsed the hash value through its digital signature, that is, endorsed its corresponding first ciphertext. Therefore, by obtaining the position of the account book, the hash value of the first ciphertext can be obtained from the position, and by comparing the hash value of the ciphertext to be verified with the hash value of the first ciphertext, it can be determined Whether the ciphertext to be verified corresponds to the first data.
在一个实施例中,所述验证数据为通过所述第二服务器端生成的所述权威机构对所述第一密文的数字签名。具体地,第二服务器端在如上所述生成所述第一密文之后,使用权威机构的私钥对所述第一密文进行计算,从而生成加密数据作为该权威机构对该第一密文的数字签名。该数字签名可通过所述权威机构的公钥进行验证,并且可保证第一密文的不可篡改和完整性,体现了权威机构对第一密文的背书证明。从而,通过获取该数字签名,使用权威机构的公钥,验证待验证密文与该数字签名是否匹配,从而可确定待验证密文是否与第一数据对应。In one embodiment, the verification data is a digital signature of the first ciphertext by the authority generated by the second server. Specifically, after generating the first ciphertext as described above, the second server uses the private key of the authority to calculate the first ciphertext, so as to generate encrypted data as the first ciphertext of the authority. digital signature. The digital signature can be verified by the public key of the authoritative organization, and can ensure the immutability and integrity of the first ciphertext, which reflects the endorsement certificate of the authoritative organization on the first ciphertext. Therefore, by obtaining the digital signature and using the public key of the authority, it is verified whether the ciphertext to be verified matches the digital signature, so that it can be determined whether the ciphertext to be verified corresponds to the first data.
在步骤S208,将所述验证数据发送给所述第一服务器端。In step S208, the verification data is sent to the first server.
在一个实施例中,例如如上述对步骤S204中的描述,第一服务器端在本地自己生成了第二密文,从而第二服务器端只需要将所述验证数据发送给所述第一服务器端,以用于后续的方法。在另一个实施例中,在第二服务器端生成第一密文之后,将第二服务器端生成的随机数发送给第一服务器端,从而第一服务器端可利用该随机数和本地存储的第一数据,在本地生成与第一数据对应的第一密文,即,第二服务器端需要将所述验证数据和用于生成所述第一密文的随机数发送给所述第一服务器端。在另一个实施例中,第二服务器端将所述第一密文和所述验证数据发送给所述第一服务器端,以用于后续的方法。In one embodiment, for example, as described in step S204 above, the first server generates the second ciphertext locally, so the second server only needs to send the verification data to the first server , for use in subsequent methods. In another embodiment, after the second server generates the first ciphertext, the random number generated by the second server is sent to the first server, so that the first server can use the random number and the locally stored first ciphertext. One data, the first ciphertext corresponding to the first data is generated locally, that is, the second server needs to send the verification data and the random number used to generate the first ciphertext to the first server . In another embodiment, the second server sends the first ciphertext and the verification data to the first server for use in a subsequent method.
图3示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的方法的流程图。所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端。所述方法在所述第一服务器端执行,包括以下步骤S302-S306。FIG. 3 shows a flowchart of a method for obtaining input of a secure multi-party computation protocol according to another embodiment of the present specification. The participants of the secure multi-party computation protocol include a first server end and a third server end, the first server end is the server end of the first object, and the secure multi-party computation protocol is based on the first data of the first object A calculation is performed, wherein the first data is stored in a second server side, the second server side being a server side of an authority. The method is executed on the first server, and includes the following steps S302-S306.
在步骤S302,向所述第二服务器端发送关于所述第一数据的数据请求。该步骤中的数据请求的具体描述可参考上述对图2中步骤S202的描述,在此不再赘述。In step S302, a data request for the first data is sent to the second server. For a specific description of the data request in this step, reference may be made to the above description of step S202 in FIG. 2 , which will not be repeated here.
在步骤S304,获取与所述第一数据对应的第二密文,其中,所述第二密文是通过预先生成的所述第一对象的公钥获取的同态加密密文。In step S304, a second ciphertext corresponding to the first data is obtained, wherein the second ciphertext is a homomorphically encrypted ciphertext obtained by using the pre-generated public key of the first object.
在第一服务器端,预先生成第一对象的一对用于对数据进行同态加密的公私钥对。并且,第一服务器端预先将其中的公钥发送给第二服务器端,以用于本实施例方法的实施。On the first server side, a pair of public and private keys of the first object for performing homomorphic encryption on data is pre-generated. In addition, the first server sends the public key therein to the second server in advance, so as to be used for implementing the method of this embodiment.
在一个实施例中,从所述第二服务器端接收上述第一密文作为该第二密文。其中所述第一密文由所述第二服务器端通过预先从所述第一服务器端接收的所述公钥对所述第一数据进行同态加密而生成。In one embodiment, the first ciphertext is received from the second server as the second ciphertext. The first ciphertext is generated by the second server by performing homomorphic encryption on the first data with the public key received from the first server in advance.
在一个实施例中,所述第一服务器端本地存储有所述第一数据。所述第一服务器端在本地通过所述公钥和随机数对所述第一数据进行同态加密,以获取所述第二密文。在该情况中,在上述关于所述第一数据的数据请求中包括所述随机数,以使得第二服务器端可根据所述公钥和该随机数生成所述第一密文。从而使得第一密文与第二密文是相同的密文。In one embodiment, the first server locally stores the first data. The first server locally performs homomorphic encryption on the first data by using the public key and the random number to obtain the second ciphertext. In this case, the random number is included in the data request for the first data, so that the second server can generate the first ciphertext according to the public key and the random number. Therefore, the first ciphertext and the second ciphertext are the same ciphertext.
在另一个实施例中,所述第一服务器端本地存储有所述第一数据。第二服务器端在通过第一对象的公钥和第二服务器端本地生成的第二随机数生成所述第一密文之后,将该第二随机数发送给第一服务器端。从而第一服务器使用所述公钥和所述第二随机数在本地生成所述第二密文。In another embodiment, the first server locally stores the first data. After generating the first ciphertext by using the public key of the first object and the second random number locally generated by the second server, the second server sends the second random number to the first server. Thus, the first server locally generates the second ciphertext using the public key and the second random number.
在步骤S306,从所述第二服务器端接收通过图2所示的方法获取的验证数据。如上文所述,通过上述在第二服务器端执行的方法获取的验证数据包括:区块链中对所述第一密文进行存证的账本位置、以及所述权威机构对所述第一密文的数字签名。In step S306, the verification data obtained by the method shown in FIG. 2 is received from the second server. As described above, the verification data obtained by the method executed on the second server side includes: the location of the ledger in the blockchain where the first ciphertext is certified, and the authoritative organization's verification of the first ciphertext. digital signature of the text.
在步骤S308,将所述第二密文和所述验证数据发送给所述第三服务器端。通过将第二密文和验证数据发送给第三服务器端,第三服务器端可使用验证数据如上所述对第二密文进行验证,以确定所述第二密文是否与第一数据对应。从而,在所述第二密文与第一数据对应的情况中,可确定以该第二密文作为所述MPC协议的输入。即该第二密文是可信的输入,对应于第一对象的真实数据。In step S308, the second ciphertext and the verification data are sent to the third server. By sending the second ciphertext and the verification data to the third server, the third server can use the verification data to verify the second ciphertext as described above to determine whether the second ciphertext corresponds to the first data. Therefore, in the case that the second ciphertext corresponds to the first data, it can be determined that the second ciphertext is used as the input of the MPC protocol. That is, the second ciphertext is a trusted input, corresponding to the real data of the first object.
图4示出了根据本说明书另一个实施例的一种获取安全多方计算协议的输入的方法的流程图。所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端。所述方法在所述第一服务器端执行,包括以下步骤S402-S406。FIG. 4 shows a flowchart of a method for obtaining input of a secure multi-party computation protocol according to another embodiment of the present specification. The participants of the secure multi-party computation protocol include a first server end and a third server end, the first server end is the server end of the first object, and the secure multi-party computation protocol is based on the first data of the first object A calculation is performed, wherein the first data is stored in a second server side, the second server side being a server side of an authority. The method is executed on the first server side, and includes the following steps S402-S406.
在步骤S402,向所述第二服务器端发送关于所述第一数据的数据请求。该步骤中的数据请求的具体描述可参考上述对图2中步骤S202的描述,在此不再赘述。In step S402, a data request for the first data is sent to the second server. For a specific description of the data request in this step, reference may be made to the above description of step S202 in FIG. 2 , which will not be repeated here.
在步骤S404,从所述第二服务器端获取通过图2所示的方法获取的区块链中的账本位置,其中,在所述账本位置存储有与所述第一数据对应的第一密文、和所述权威机构对所述第一密文的数字签名。参考上文对图2步骤S206的描述,通过由第二服务器端对本地的第一数据进行加密以获取第一密文,对该第一密文生成数字签名,并将第一密文和数字签名存入区块链中,即第二服务器端对该第一密文进行了背书证明,所述账本位置存储的第一密文是与第一数据对应的可信密文。In step S404, the account book position in the blockchain obtained by the method shown in FIG. 2 is obtained from the second server, wherein the first ciphertext corresponding to the first data is stored in the account book position , and the digital signature of the authority on the first ciphertext. Referring to the above description of step S206 in FIG. 2 , the first ciphertext is obtained by encrypting the local first data by the second server, a digital signature is generated for the first ciphertext, and the first ciphertext and digital The signature is stored in the blockchain, that is, the second server end endorses the first ciphertext, and the first ciphertext stored in the ledger location is the trusted ciphertext corresponding to the first data.
在步骤S406,将所述账本位置发送给所述第三服务器端。通过将所述账本位置发送给所述第三服务器端,第三服务器端从该账本位置可直接下载与第一数据对应的可信密文,从而可将其作为MPC协议的输入。In step S406, the account book location is sent to the third server. By sending the location of the ledger to the third server, the third server can directly download the trusted ciphertext corresponding to the first data from the location of the ledger, so that it can be used as the input of the MPC protocol.
图5示出了根据本说明书另一个实施例的一种获取安全多方计算协议的输入的方法的流程图。所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算。其中,所述第一数据被存储在所述第一服务器端中。该实施例与前述实施例不同在于,所述第一对象既是待评估对象,也是权威机构,其为自己背书。例如,第一服务器端是银行的服务器端,即第一服务器端同时也是第二服务器端。所述方法在所述第一服务器端执行,包括以下步骤S502-S506。FIG. 5 shows a flowchart of a method for obtaining input of a secure multi-party computation protocol according to another embodiment of the present specification. The participants of the secure multi-party computation protocol include a first server end and a third server end, the first server end is the server end of the first object, and the secure multi-party computation protocol is based on the first data of the first object Calculation. Wherein, the first data is stored in the first server. This embodiment is different from the previous embodiment in that the first object is not only the object to be evaluated, but also an authoritative institution, which endorses itself. For example, the first server side is the server side of the bank, that is, the first server side is also the second server side at the same time. The method is executed on the first server side, and includes the following steps S502-S506.
在步骤S502,通过使用预先生成的所述第一对象的公钥对所述第一数据进行同态加密,获取与所述第一数据对应的密文。即,第一服务器端使用第一对象的同态加密公钥对本地的第一数据进行同态加密,从而在本地生成与所述第一数据对应的密文。In step S502, a ciphertext corresponding to the first data is obtained by performing homomorphic encryption on the first data by using the pre-generated public key of the first object. That is, the first server uses the homomorphic encryption public key of the first object to perform homomorphic encryption on the local first data, thereby locally generating the ciphertext corresponding to the first data.
在步骤S504,通过在区块链中对所述密文进行存证,获取区块链中存证所述密文的账本位置。这里,与上文对图2中的步骤S206的相应描述类似,这里的账本位置即为上述步骤S206中验证数据的一种情况。所不同的是,在In step S504, by depositing the ciphertext in the blockchain, the location of the ledger where the ciphertext is stored in the blockchain is obtained. Here, similar to the corresponding description of step S206 in FIG. 2 above, the location of the ledger here is a case of verifying data in step S206 above. The difference is that in
图2所示实施例中,由第二服务器端进行在区块链中对所述密文进行存证。在该实施例中,由于第一对象既是待评估对象,又是权威机构,即,第一服务器端同时充当第二服务器端。因此,在该实施例中,由第一服务器端进行对所述密文的存证。对存证的具体过程的描述可参考上文对步骤S206的描述,在此不再赘述。In the embodiment shown in FIG. 2 , the ciphertext is stored in the blockchain by the second server. In this embodiment, since the first object is both the object to be evaluated and the authority, that is, the first server side simultaneously acts as the second server side. Therefore, in this embodiment, the ciphertext is authenticated by the first server. For the description of the specific process of depositing the certificate, reference may be made to the description of step S206 above, which will not be repeated here.
在步骤S506,将所述密文和所述账本位置发送给所述第三服务器端。该步骤的具体实施可参考上文对图3中步骤S308的描述,在此不再赘述。In step S506, the ciphertext and the location of the ledger are sent to the third server. For the specific implementation of this step, reference may be made to the above description of step S308 in FIG. 3 , which will not be repeated here.
在该实施例中,通过由第一服务器端将密文存证到区块链中,从而进行第一对象对自身的背书。其中,可通过区块链中的共识对第一对象的数据密文进行共识验证,并保证该密文的不可篡改性,从而增加了所述密文的可信度。In this embodiment, by storing the ciphertext in the blockchain by the first server, the first object endorses itself. Among them, the consensus verification of the data ciphertext of the first object can be performed through consensus in the blockchain, and the tamper-proof modification of the ciphertext can be ensured, thereby increasing the credibility of the ciphertext.
图6示出了根据本说明书另一个实施例的一种获取安全多方计算协议的输入的方法。所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在所述第一服务器端中。该实施例与图5所示实施例类似,即,所述第一对象既是待评估对象,也是权威机构,即第一服务器端同时也是第二服务器端。不同的是,在该实施例中,与图3所示实施例类似地,第三服务器端通过从所述账本位置获取密文。所述方法在所述第一服务器端执行,包括以下步骤S602-S606。FIG. 6 illustrates a method for obtaining input of a secure multi-party computation protocol according to another embodiment of the present specification. The participants of the secure multi-party computation protocol include a first server end and a third server end, the first server end is the server end of the first object, and the secure multi-party computation protocol is based on the first data of the first object A calculation is performed, wherein the first data is stored in the first server side. This embodiment is similar to the embodiment shown in FIG. 5 , that is, the first object is both an object to be evaluated and an authority, that is, the first server side is also the second server side. The difference is that in this embodiment, similar to the embodiment shown in FIG. 3 , the third server obtains the ciphertext from the location of the ledger. The method is executed on the first server side, and includes the following steps S602-S606.
在步骤S602,通过使用预先生成的所述第一对象的公钥对所述第一数据进行同态加密,获取与所述第一数据对应的密文。该步骤的具体实施可参考上文对图5步骤S502的描述,在此不再赘述。In step S602, a ciphertext corresponding to the first data is obtained by performing homomorphic encryption on the first data by using the pre-generated public key of the first object. For the specific implementation of this step, reference may be made to the above description of step S502 in FIG. 5 , which will not be repeated here.
在步骤S604,通过在区块链中存储所述密文、和所述第一对象对所述密文的数字签名,获取区块链中存储所述密文和所述数字签名的账本位置,其中所述数字签名由所述第一服务器端生成。这里,第一服务器端通过将所述密文及第一对象对该密文的数字签名存入到区块链中,使得在区块链中对该密文及其数字签名进行了共识验证,并保证了该密文的不可篡改性。In step S604, by storing the ciphertext and the digital signature of the first object on the ciphertext in the blockchain, the location of the ledger where the ciphertext and the digital signature are stored in the blockchain is obtained, The digital signature is generated by the first server. Here, the first server stores the ciphertext and the digital signature of the first object into the blockchain, so that the ciphertext and its digital signature are verified by consensus in the blockchain, And guarantee the tamper-proof of the ciphertext.
在步骤S606,将所述账本位置发送给所述第三服务器端。通过将所述账本位置发送给第三服务器端,第三服务器端可从区块链中下载所述经过共识的密文,从而,确保了密文的可信性。In step S606, the account book location is sent to the third server. By sending the location of the ledger to the third server, the third server can download the consensus ciphertext from the blockchain, thereby ensuring the credibility of the ciphertext.
图7示出了根据说明书另一个实施例的获取安全多方计算协议的输入的方法。所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端。所述方法在所述第三服务器端执行,包括以下步骤S702-S706。Figure 7 illustrates a method of obtaining input to a secure multi-party computation protocol according to another embodiment of the specification. The participants of the secure multi-party computation protocol include a first server end and a third server end, the first server end is the server end of the first object, and the secure multi-party computation protocol is based on the first data of the first object A calculation is performed, wherein the first data is stored in a second server side, the second server side being a server side of an authority. The method is executed on the third server, and includes the following steps S702-S706.
首先,在步骤S702,从所述第一服务器端接收通过图3所示的方法获取的第二密文和验证数据。这里,对第二密文和验证数据的具体描述可参考上述对图3中步骤S304和S306的描述,在此不再赘述。First, in step S702, the second ciphertext and verification data obtained by the method shown in FIG. 3 are received from the first server. Here, for the specific description of the second ciphertext and the verification data, reference may be made to the above description of steps S304 and S306 in FIG. 3 , which will not be repeated here.
在步骤S704,使用所述验证数据验证所述第二密文,以确定所述第二密文是否与所述第一数据对应。In step S704, the second ciphertext is verified using the verification data to determine whether the second ciphertext corresponds to the first data.
在一个实施例中,所述验证数据为存储上述第一密文的账本位置。在该情况中,使用所述验证数据验证所述第二密文包括:通过所述账本位置,获取所述第一密文;以及确定所述第二密文与所述第一密文是否相同。在第二密文与第一密文相同的情况中,可确定第二密文与所述第一数据对应。In one embodiment, the verification data is a ledger location where the first ciphertext is stored. In this case, verifying the second ciphertext using the verification data includes: obtaining the first ciphertext through the ledger location; and determining whether the second ciphertext is the same as the first ciphertext . In the case where the second ciphertext is the same as the first ciphertext, it may be determined that the second ciphertext corresponds to the first data.
在一个实施例中,所述验证数据为存储上述第一密文的哈希值的账本位置。在该情况中,使用所述验证数据验证所述第二密文包括:通过所述账本位置,获取所述第一密文的哈希值;以及确定所述第二密文与所述哈希值是否匹配,即确定第二密文的哈希值是否与所述第一密文的哈希值相同。在第二密文与所述哈希值匹配的情况中,可确定第二密文与所述第一数据对应。In one embodiment, the verification data is a ledger location where the hash value of the first ciphertext is stored. In this case, verifying the second ciphertext using the verification data includes: obtaining a hash value of the first ciphertext through the ledger position; and determining the second ciphertext and the hash Whether the values match, that is, it is determined whether the hash value of the second ciphertext is the same as the hash value of the first ciphertext. In the case where the second ciphertext matches the hash value, it may be determined that the second ciphertext corresponds to the first data.
在一个实施例中,所述验证数据为上述权威机构对所述第一密文的数字签名,在该情况中,使用所述验证数据验证所述第二密文包括:确定所述第二密文与所述数字签名是否匹配。具体是,第三服务器端使用预先从第二服务器端获取的权威机构的公钥对所述数字签名进行解密获得第一报文摘要,使用预先从第二服务器端获取的哈希函数从所述第二密文计算出第二报文摘要。如果第二报文摘要与所述第一报文摘要相同,可确定第二密文与所述数字签名匹配,即,可确定第二密文与所述第一数据对应。In one embodiment, the verification data is a digital signature of the first ciphertext by the above-mentioned authority, in this case, using the verification data to verify the second ciphertext comprises: determining the second ciphertext Whether the text matches the digital signature. Specifically, the third server decrypts the digital signature using the public key of the authority pre-obtained from the second server to obtain the first message digest, and uses the hash function pre-obtained from the second server to extract the first message digest from the digital signature. The second ciphertext calculates the second message digest. If the second message digest is the same as the first message digest, it can be determined that the second ciphertext matches the digital signature, that is, it can be determined that the second ciphertext corresponds to the first data.
在步骤S706,在确定所述第二密文与所述第一数据对应的情况中,确定以所述第二密文作为所述安全多方计算协议的输入。在确定第二密文与第一数据对应的情况中,也就是确定了第二密文是通过第一对象的公钥对第一数据进行同态加密所获取的密文,因此可用于MPC协议,并确保通过MPC协议获取真实可信的结果。In step S706, in the case where it is determined that the second ciphertext corresponds to the first data, it is determined that the second ciphertext is used as the input of the secure multi-party computation protocol. In the case where it is determined that the second ciphertext corresponds to the first data, that is, it is determined that the second ciphertext is the ciphertext obtained by performing homomorphic encryption on the first data with the public key of the first object, so it can be used in the MPC protocol , and make sure to get real and credible results through the MPC protocol.
图8示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的方法,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端。所述方法在所述第三服务器端执行,包括以下步骤S802-S804。Fig. 8 shows a method for obtaining input of a secure multi-party computation protocol according to another embodiment of the present specification, the participants of the secure multi-party computation protocol include a first server end and a third server end, the first server The end is the server end of the first object, and the secure multi-party computation protocol performs computation based on the first data of the first object, wherein the first data is stored in the second server end, and the second server end is the server side of the authority. The method is executed on the third server and includes the following steps S802-S804.
首先,在步骤S802,从所述第一服务器端接收上述区块链中存储所述第一密文的所述账本位置。First, in step S802, the location of the ledger where the first ciphertext is stored in the blockchain is received from the first server.
在步骤S804,从所述账本位置获取所述第一密文,以作为所述安全多方计算协议的输入。In step S804, the first ciphertext is obtained from the ledger location as the input of the secure multi-party computation protocol.
该实施例与图7所示实施例不同在于,在该实施例中,直接从区块链账本位置下载获取所述第一密文作为图7所示实施例中第二密文,从而不需要从第一服务器端接收所述第二密文。由于第一密文为经权威机构背书证明的与所述第一数据对应的密文,并且是通过第一对象的公钥进行同态加密所获取的密文,因此可用于第一服务器端与第三服务器端之间的MPC协议,并且可确保获取真实可信的计算结果。This embodiment is different from the embodiment shown in FIG. 7 in that, in this embodiment, the first ciphertext is directly downloaded and obtained from the blockchain ledger as the second ciphertext in the embodiment shown in FIG. The second ciphertext is received from the first server. Since the first ciphertext is the ciphertext corresponding to the first data that has been endorsed and certified by an authority, and is obtained by performing homomorphic encryption with the public key of the first object, it can be used by the first server to communicate with MPC protocol between the third server, and can ensure the acquisition of real and credible calculation results.
图9示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的方法。所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在所述第一服务器端中。所述方法在所述第三服务器端执行,包括以下步骤S902-S906。FIG. 9 illustrates a method for obtaining input of a secure multi-party computation protocol according to another embodiment of the present specification. The participants of the secure multi-party computation protocol include a first server end and a third server end, the first server end is the server end of the first object, and the secure multi-party computation protocol is based on the first data of the first object A calculation is performed, wherein the first data is stored in the first server side. The method is executed on the third server, and includes the following steps S902-S906.
首先,在步骤S902,从所述第一服务器端接收通过图5所示方法获取的所述密文、和区块链中存证所述密文的账本位置。对所述密文和所述账本位置的具体描述可参考上述对图5中步骤S502和S504的描述,在此不再赘述。First, in step S902, the ciphertext obtained by the method shown in FIG. 5 and the ledger position in the blockchain where the ciphertext is stored are received from the first server. For the specific description of the ciphertext and the location of the ledger, reference may be made to the above description of steps S502 and S504 in FIG. 5 , which will not be repeated here.
在步骤S904,使用所述账本位置验证所述密文,以确定所述密文是否与所述第一数据对应。该步骤的具体实施可参考上文对图7中步骤S704的描述中的相应描述,在此不再赘述。In step S904, the ciphertext is verified using the ledger location to determine whether the ciphertext corresponds to the first data. For the specific implementation of this step, reference may be made to the corresponding description in the description of step S704 in FIG. 7 above, which will not be repeated here.
在步骤S906,确定所述密文与所述第一数据对应的情况中,确定以所述密文作为所述安全多方计算协议的输入。该步骤的具体实施可参考上文对图7中步骤S706的描述,在此不再赘述。In step S906, when it is determined that the ciphertext corresponds to the first data, it is determined that the ciphertext is used as the input of the secure multi-party computation protocol. For the specific implementation of this step, reference may be made to the above description of step S706 in FIG. 7 , which will not be repeated here.
该实施例所示方法与图7所示方法不同在于,在该实施例中,通过由第一服务器端将密文存证到区块链中,从而进行第一对象对自身的背书。其中,可通过区块链中的共识对第一对象的数据密文进行共识验证,并保证该密文的不可篡改性,从而增加了所述密文的可信度。The method shown in this embodiment is different from the method shown in FIG. 7 in that, in this embodiment, the first server end stores the ciphertext in the blockchain, so that the first object endorses itself. Among them, the consensus verification of the data ciphertext of the first object can be performed through consensus in the blockchain, and the tamper-proof modification of the ciphertext can be ensured, thereby increasing the credibility of the ciphertext.
图10示出了根据本说明书另一实施例的一种获取安全多方计算协议的输入的方法。所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第一服务器端中。所述方法在所述第三服务器端执行,包括以下步骤S1002-S1004。FIG. 10 shows a method for obtaining input of a secure multi-party computation protocol according to another embodiment of the present specification. The participants of the secure multi-party computation protocol include a first server end and a third server end, the first server end is the server end of the first object, and the secure multi-party computation protocol is based on the first data of the first object A calculation is performed, wherein the first data is stored in the first server side. The method is executed on the third server, and includes the following steps S1002-S1004.
首先,在步骤S1002,从所述第一服务器端接收通过图6所示的方法获取的区块链中存储所述密文的账本位置。First, in step S1002, the location of the ledger where the ciphertext is stored in the blockchain obtained by the method shown in FIG. 6 is received from the first server.
在步骤S1004,从所述账本位置获取所述密文,以作为所述安全多方计算协议的输入。In step S1004, the ciphertext is obtained from the location of the ledger as the input of the secure multi-party computation protocol.
该实施例与图9所示实施例不同在于,在该实施例中,直接从区块链账本位置下载获取所述密文,从而不需要从第一服务器端接收所述密文。由于所述密文为经权威机构背书证明的与所述第一数据对应的密文,并且是通过第一对象的公钥进行同态加密所获取的密文,因此可用于第一服务器端与第三服务器端之间的MPC协议,并且可确保获取真实可信的计算结果。This embodiment is different from the embodiment shown in FIG. 9 in that, in this embodiment, the ciphertext is directly downloaded and obtained from the blockchain ledger, so that it is not necessary to receive the ciphertext from the first server. Since the ciphertext is the ciphertext corresponding to the first data that has been endorsed and certified by an authority, and is obtained by performing homomorphic encryption with the public key of the first object, it can be used by the first server to communicate with MPC protocol between the third server, and can ensure the acquisition of real and credible calculation results.
图11示出了根据本说明书实施例的方法时序图。图11包括第I部分和第II部分,其中第I部分对应于第一服务器端从权威机构的第二服务器端获取验证数据的情况,第II部分对应于第一服务器端自己准备验证数据(即不需要权威机构的第二服务器端)的情况。在第I部分,首先,第一服务器端向第二服务器端发送数据请求,第二服务器端根据数据请求准备第一密文及验证数据,并将验证数据发送给第一服务器端,可选地,将第一密文也发送给第一服务器端。然后,第一服务器端将第二密文(可选)和验证数据发送给第三服务器端。从而第三服务器端通过以所述验证数据验证所述第二密文,以确定是否以第二密文作为所述MPC协议的输入。这里第二密文可以是从第二服务器端获取的第一密文,也可以是通过本地的公钥和第一数据在本地生成的密文。可选地,第一服务器端仅将验证数据发送给第三服务器端,该验证数据为权威机构在区块链中存证所述第一密文的账本位置,从而,第三服务器端可直接从所述账本位置下载所述第一密文,以用于MPC协议。FIG. 11 shows a sequence diagram of a method according to an embodiment of the present specification. Figure 11 includes part I and part II, where part I corresponds to the situation where the first server side obtains the verification data from the second server side of the authority, and part II corresponds to the first server side preparing the verification data by itself (ie without the need for a second server side of the authority). In Part I, first, the first server sends a data request to the second server, the second server prepares the first ciphertext and verification data according to the data request, and sends the verification data to the first server, optionally , and also send the first ciphertext to the first server. Then, the first server sends the second ciphertext (optional) and verification data to the third server. Therefore, the third server verifies the second ciphertext with the verification data to determine whether the second ciphertext is used as the input of the MPC protocol. Here, the second ciphertext may be the first ciphertext obtained from the second server, or may be the ciphertext generated locally by using the local public key and the first data. Optionally, the first server only sends the verification data to the third server, and the verification data is the ledger position where the authoritative organization stores the first ciphertext in the blockchain, so that the third server can directly The first ciphertext is downloaded from the ledger location for use in the MPC protocol.
在第II部分,第一服务器端在本地生成第一数据的同态加密密文,并将该密文存入区块链中,以获取区块链中存储所述密文的账本位置作为所述验证数据。然后,第一服务器端将密文(可选)和所述账本位置发送给第三服务器端。从而,第三服务器端通过所述账本位置验证所述密文,以确定是否以所述密文作为MPC协议的输入。可选地,第一服务器端仅将所述账本位置发送给第三服务器端,从而所述第三服务器端可直接从所述账本位置下载所述密文作为所述MPC协议的输入。In part II, the first server locally generates the homomorphically encrypted ciphertext of the first data, and stores the ciphertext in the blockchain to obtain the location of the ledger where the ciphertext is stored in the blockchain as the Describe the verification data. Then, the first server sends the ciphertext (optional) and the location of the ledger to the third server. Therefore, the third server verifies the ciphertext through the location of the ledger to determine whether the ciphertext is used as the input of the MPC protocol. Optionally, the first server end only sends the account book location to the third server end, so that the third server end can directly download the ciphertext from the account book location as the input of the MPC protocol.
在上述多个实施例中,示出了在第一服务器端、第二服务器端和第三服务器端之间、或者在第一服务器端与第三服务器端之间进行的获取MPC协议的输入的方法,其中MPC协议的参与方包括第一服务器端和第三服务器端。然而,上述实施例并不限定本发明的范围。In the above-mentioned embodiments, it is shown that the input of the MPC protocol is obtained between the first server, the second server and the third server, or between the first server and the third server. The method, wherein the participants of the MPC protocol include a first server end and a third server end. However, the above-described embodiments do not limit the scope of the present invention.
在一个实施例中,第一服务器端可从两个以上的权威机构(例如银行和税务局)的服务器端获取验证数据和密文(可选),在该情况中,第一服务器端可与每个权威机构的服务器端执行例如图3所示的方法,以分别获取MPC协议的输入。In one embodiment, the first server side may obtain authentication data and ciphertext (optional) from the servers of two or more authoritative institutions (such as banks and tax bureaus), in this case, the first server side may communicate with The server side of each authority implements the method shown in FIG. 3 to obtain the input of the MPC protocol respectively.
在一个实施例中,第一服务器端与第三服务器端执行的方法可互换,即第一服务器端的证明方也可以是校验方,第三服务器端的校验方也可以是证明方,例如合作的两方互相对对方进行评估,因此,在其之间将执行两次根据上述实施例的方法,一次由一方作为证明方,另一方作为校验方,另一次双方互换角色。两次方法的执行可同时进行,也可顺序进行。两次执行的方法可以相同,也可以不同(例如一次执行图3所示的方法,一次执行图4所示的方法)。In one embodiment, the methods executed by the first server side and the third server side are interchangeable, that is, the prover of the first server can also be the verifier, and the verifier of the third server can also be the prover, for example The two cooperating parties evaluate each other, therefore, the method according to the above embodiment will be executed twice between them, once with one party as the prover and the other as the verifier, and the other time the two parties switch roles. The execution of the two methods can be performed simultaneously or sequentially. The method performed twice may be the same or different (for example, the method shown in FIG. 3 is performed once, and the method shown in FIG. 4 is performed once).
在一个实施例中,第三服务器端(校验方)对两个以上的证明方服务器端进行密文的验证,以分别获取来自各个证明方的对MPC协议的输入。在该情况中,第三服务器端与每个所述证明方服务器端分别执行例如图3所示的方法,以分别获取MPC协议的输入。In one embodiment, the third server (verifier) performs ciphertext verification on two or more prover servers, so as to obtain the input of the MPC protocol from each prover respectively. In this case, the third server and each of the prover servers respectively execute the method shown in FIG. 3 to obtain the input of the MPC protocol respectively.
在一个实施例中,第一服务器端(证明方)向多个校验方服务器端提供第一数据的密文及其验证数据。在该情况中,第一服务器端可将通过上述实施例所示的方法获取的密文及其验证数据发送给各个校验方服务器端,以分别获取各个校验方服务器端对应的MPC协议的输入。In one embodiment, the first server end (the prover) provides the ciphertext of the first data and the verification data thereof to the plurality of verifier server ends. In this case, the first server can send the ciphertext and the verification data obtained by the method shown in the above embodiment to each verifier server, so as to obtain the MPC protocol corresponding to each verifier server respectively. enter.
图12示出了根据本说明书实施例的一种获取安全多方计算协议的输入的装置1200,所述安全多方计算协议的参与方包括第一服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述装置在所述第二服务器端实施,包括:FIG. 12 shows an
接收单元121,配置为,从所述第一服务器端接收关于所述第一数据的数据请求;a receiving unit 121, configured to receive a data request for the first data from the first server;
生成单元122,配置为,基于所述数据请求,通过预先从所述第一服务器端接收的公钥对所述第一数据进行同态加密,以生成第一密文,其中,所述公钥为所述第一对象的同态加密公钥;The generating unit 122 is configured to, based on the data request, perform homomorphic encryption on the first data by using the public key previously received from the first server to generate a first ciphertext, wherein the public key is a homomorphic encryption public key for the first object;
获取单元123,配置为,基于所述第一密文获取验证数据,所述验证数据用于验证待验证密文是否与所述第一数据对应;以及The obtaining unit 123 is configured to obtain verification data based on the first ciphertext, where the verification data is used to verify whether the ciphertext to be verified corresponds to the first data; and
发送单元124,配置为,将所述验证数据发送给所述第一服务器端。The sending unit 124 is configured to send the verification data to the first server.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述数据请求中包括用于对所述第一数据进行同态加密的随机数,其中所述生成单元还配置为,通过预先从所述第一服务器端接收的公钥和所述随机数对所述第一数据进行同态加密,以生成第一密文。In one embodiment, in the apparatus for obtaining the input of the secure multi-party computation protocol, the data request includes a random number for performing homomorphic encryption on the first data, and the generating unit is further configured to , performing homomorphic encryption on the first data by using the public key and the random number received from the first server in advance to generate a first ciphertext.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述发送单元还配置为,将所述验证数据和所述第一密文发送给所述第一服务器端。In one embodiment, in the apparatus for obtaining the input of the secure multi-party computation protocol, the sending unit is further configured to send the verification data and the first ciphertext to the first server.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述获取单元还配置为,通过在区块链中对所述第一密文进行存证,获取区块链中存证所述第一密文的账本位置作为所述验证数据。In one embodiment, in the device for obtaining the input of the secure multi-party computation protocol, the obtaining unit is further configured to obtain the first ciphertext in the blockchain by storing the certificate in the blockchain. The location of the ledger where the first ciphertext is stored is used as the verification data.
图13示出了根据本说明书实施例的一种获取安全多方计算协议的输入的装置1300,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述装置在所述第一服务器端实施,包括:FIG. 13 shows an
第一发送单元131,配置为,向所述第二服务器端发送关于所述第一数据的数据请求;a first sending unit 131, configured to send a data request for the first data to the second server;
获取单元132,配置为,获取与所述第一数据对应的第二密文,其中,所述第二密文是通过预先生成的所述第一对象的公钥获取的同态加密密文;The obtaining unit 132 is configured to obtain a second ciphertext corresponding to the first data, wherein the second ciphertext is a homomorphically encrypted ciphertext obtained by using the pre-generated public key of the first object;
接收单元133,配置为,从所述第二服务器端接收根据通过图2所示方法获取的验证数据;以及The receiving unit 133 is configured to receive, from the second server, the verification data obtained according to the method shown in FIG. 2; and
第二发送单元134,配置为,将所述第二密文和所述验证数据发送给所述第三服务器端。The second sending unit 134 is configured to send the second ciphertext and the verification data to the third server.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述获取单元还配置为,从所述第二服务器端接收通过图2所示方法生成的所述第一密文作为所述第二密文。In one embodiment, in the apparatus for acquiring the input of the secure multi-party computation protocol, the acquiring unit is further configured to receive the first ciphertext generated by the method shown in FIG. 2 from the second server side as the second ciphertext.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述第一服务器端存储有所述第一数据,以及,其中,所述获取单元还配置为,在本地通过所述公钥和本地生成的随机数对所述第一数据进行同态加密,以获取所述第二密文,其中,在关于所述第一数据的数据请求中包括所述随机数。In one embodiment, in the device for obtaining the input of the secure multi-party computation protocol, the first server stores the first data, and wherein the obtaining unit is further configured to locally pass the Homomorphically encrypt the first data with the public key and a locally generated random number to obtain the second ciphertext, wherein the random number is included in the data request for the first data.
图14示出了根据本说明书实施例的一种获取安全多方计算协议的输入的装置1400,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述装置在所述第一服务器端执行,包括:FIG. 14 shows an
第一发送单元141,配置为,向所述第二服务器端发送关于所述第一数据的数据请求;a first sending unit 141, configured to send a data request for the first data to the second server;
接收单元142,配置为,从所述第二服务器端接收存储所述第一密文和所述权威机构对所述第一密文的数字签名的所述账本位置;以及a receiving unit 142, configured to receive, from the second server, the location of the ledger that stores the first ciphertext and the digital signature of the authoritative organization on the first ciphertext; and
第二发送单元143,配置为,将所述账本位置发送给所述第三服务器端。The second sending unit 143 is configured to send the account book location to the third server.
图15示出了根据本说明书实施例的一种获取安全多方计算协议的输入的装置1500,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在所述第一服务器端中,所述装置在所述第一服务器端执行,包括:FIG. 15 shows an
加密单元151,配置为,通过使用预先生成的所述第一对象的公钥对所述第一数据进行同态加密,获取与所述第一数据对应的密文;The encryption unit 151 is configured to perform homomorphic encryption on the first data by using the pre-generated public key of the first object to obtain a ciphertext corresponding to the first data;
存证单元152,配置为,通过在区块链中对所述密文进行存证,获取区块链中存证所述密文的账本位置;以及The certificate depositing unit 152 is configured to, by depositing the ciphertext in the blockchain, obtain the location of the ledger where the ciphertext is stored in the blockchain; and
发送单元153,配置为,将所述密文和所述账本位置发送给所述第三服务器端。The sending unit 153 is configured to send the ciphertext and the location of the ledger to the third server.
图16示出了根据本说明书实施例的一种获取安全多方计算协议的输入的装置1600,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在所述第一服务器端中,所述装置在所述第一服务器端实施,包括:FIG. 16 shows an
加密单元161,配置为,通过使用预先生成的所述第一对象的公钥对所述第一数据进行同态加密,获取与所述第一数据对应的密文;The encryption unit 161 is configured to perform homomorphic encryption on the first data by using the pre-generated public key of the first object to obtain a ciphertext corresponding to the first data;
存入单元162,配置为,通过在区块链中存入所述密文、和所述第一对象对所述密文的数字签名,获取区块链中存储所述密文和所述数字签名的账本位置,其中所述数字签名由所述第一服务器端生成;以及The depositing unit 162 is configured to, by depositing the ciphertext and the digital signature of the first object on the ciphertext in the blockchain, obtain the ciphertext and the digital number stored in the blockchain a signed ledger location, wherein the digital signature is generated by the first server side; and
发送单元163,配置为,将所述账本位置发送给所述第三服务器端。The sending unit 163 is configured to send the location of the account book to the third server.
图17示出了根据本说明书实施例的一种获取安全多方计算协议的输入的装置1700,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述装置在所述第三服务器端实施,包括:FIG. 17 shows an
接收单元171,配置为,从所述第一服务器端接收通过图3所示方法获取的所述第二密文和所述验证数据;The receiving unit 171 is configured to receive the second ciphertext and the verification data obtained by the method shown in FIG. 3 from the first server;
验证单元172,配置为,使用所述验证数据验证所述第二密文,以确定所述第二密文是否与所述第一数据对应;以及a verification unit 172, configured to verify the second ciphertext using the verification data to determine whether the second ciphertext corresponds to the first data; and
确定单元173,配置为,在确定所述第二密文与所述第一数据对应的情况中,确定以所述第二密文作为所述安全多方计算协议的输入。The determining unit 173 is configured to, in the case of determining that the second ciphertext corresponds to the first data, determine that the second ciphertext is used as the input of the secure multi-party computation protocol.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述验证数据为存储所述第一密文和所述权威机构对所述第一密文的数字签名的所述账本位置,其中,在所述账本位置存储有通过图2所示方法获取的所述第一密文,In one embodiment, in the device for obtaining the input of a secure multi-party computation protocol, the verification data is the first ciphertext and the digital signature of the authoritative authority on the first ciphertext. Ledger position, wherein the first ciphertext obtained by the method shown in FIG. 2 is stored in the account book position,
其中,所述验证单元包括:Wherein, the verification unit includes:
第一获取子单元1721,配置为,通过所述账本位置,获取所述第一密文;以及a first obtaining subunit 1721, configured to obtain the first ciphertext through the account book location; and
第一确定子单元1722,配置为,确定所述第二密文与所述第一密文是否相同。The first determination subunit 1722 is configured to determine whether the second ciphertext is the same as the first ciphertext.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述验证数据为存储所述第一密文的哈希值、和所述权威机构对所述第一密文的哈希值的数字签名的所述账本位置,In one embodiment, in the device for obtaining the input of the secure multi-party computation protocol, the verification data is a hash value of the first ciphertext and a hash value of the first ciphertext stored by the authority. the ledger location of the digital signature of the hash value,
其中,所述验证单元还包括:Wherein, the verification unit further includes:
第二获取子单元1723,配置为,过所述账本位置,获取所述第一密文的哈希值;以及The second obtaining subunit 1723 is configured to obtain the hash value of the first ciphertext through the location of the ledger; and
第二确定子单元1724,配置为,确定所述第二密文与所述哈希值是否匹配。The second determination subunit 1724 is configured to determine whether the second ciphertext matches the hash value.
在一个实施例中,在所述获取安全多方计算协议的输入的装置中,所述验证数据为所述权威机构对所述第一密文的数字签名,In one embodiment, in the device for obtaining the input of a secure multi-party computation protocol, the verification data is a digital signature of the first ciphertext by the authority,
其中,所述验证单元还包括:Wherein, the verification unit further includes:
第三确定子单元1725,配置为,确定所述第二密文与所述数字签名是否匹配。The third determination subunit 1725 is configured to determine whether the second ciphertext matches the digital signature.
图18示出了根据本说明书实施例的一种获取安全多方计算协议的输入的装置1800,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第二服务器端中,所述第二服务器端是权威机构的服务器端,所述装置在所述第三服务器端实施,包括:FIG. 18 shows an
接收单元181,配置为,从所述第一服务器端接收存储所述第一密文和所述权威机构对所述第一密文的数字签名的所述账本位置;以及a receiving unit 181, configured to receive, from the first server, the location of the ledger where the first ciphertext and the digital signature of the authoritative organization on the first ciphertext are stored; and
获取单元182,配置为,从所述账本位置获取所述第一密文,以作为所述安全多方计算协议的输入。The obtaining unit 182 is configured to obtain the first ciphertext from the location of the ledger as an input of the secure multi-party computation protocol.
图19示出了根据本说明书实施例的一种获取安全多方计算协议的输入的装置1900,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在所述第一服务器端中,所述装置在所述第三服务器端实施,包括:FIG. 19 shows an
接收单元191,配置为,从所述第一服务器端接收通过图5所示方法获取的所述密文和所述账本位置;The receiving unit 191 is configured to receive the ciphertext and the account book location obtained by the method shown in FIG. 5 from the first server;
验证单元192,配置为,使用所述账本位置验证所述密文,以确定所述密文是否与所述第一数据对应;以及a verification unit 192 configured to verify the ciphertext using the ledger location to determine whether the ciphertext corresponds to the first data; and
确定单元193,配置为,在确定所述密文与所述第一数据对应的情况中,确定以所述密文作为所述安全多方计算协议的输入。The determining unit 193 is configured to, in the case of determining that the ciphertext corresponds to the first data, determine that the ciphertext is used as the input of the secure multi-party computation protocol.
图20示出了根据本说明书实施例的一种获取安全多方计算协议的输入的装置2000,所述安全多方计算协议的参与方包括第一服务器端和第三服务器端,所述第一服务器端为第一对象的服务器端,所述安全多方计算协议基于所述第一对象的第一数据进行计算,其中,所述第一数据被存储在第一服务器端中,所述装置在所述第三服务器端实施,包括:FIG. 20 shows an
接收单元201,配置为,从所述第一服务器端接收通过图6所示方法获取的所述账本位置;以及a receiving unit 201, configured to receive the account book location obtained by the method shown in FIG. 6 from the first server; and
获取单元202,配置为,从所述账本位置获取所述密文,以作为所述安全多方计算协议的输入。The obtaining
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项获取安全多方计算协议的输入的方法。Another aspect of the present specification provides a computing device, including a memory and a processor, characterized in that, executable code is stored in the memory, and when the processor executes the executable code, any one of the above acquisition security is implemented A method of input to a multiparty computation protocol.
本方案中通过对同态加密密文的背书,结合使用多方安全计算协议,解决了数据隐私和数据可信的矛盾,且避免使用了功能强大的零知识证明技术,避免了零知识证明技术带来的昂贵计算和存储消耗。另外,本发明能解决使用多证明方数据进行评估的数据造假问题。In this scheme, through the endorsement of homomorphic encrypted ciphertext, combined with the use of multi-party secure computing protocol, the contradiction between data privacy and data credibility is solved, and the use of powerful zero-knowledge proof technology is avoided. expensive computation and storage consumption. In addition, the present invention can solve the data falsification problem of using multi-prover data for evaluation.
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。Each embodiment in this specification is described in a progressive manner, and the same and similar parts between the various embodiments may be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, as for the system embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and for related parts, please refer to the partial descriptions of the method embodiments.
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。The foregoing describes specific embodiments of the present specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that in the embodiments and still achieve desirable results. Additionally, the processes depicted in the figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art should further realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, computer software or a combination of the two, in order to clearly illustrate the hardware and software interchangeability, the components and steps of each example have been generally described in terms of functions in the above description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Persons of ordinary skill in the art may use different methods of implementing the described functionality for each particular application, but such implementations should not be considered beyond the scope of this application.
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。The steps of a method or algorithm described in connection with the embodiments disclosed herein may be implemented in hardware, a software module executed by a processor, or a combination of the two. A software module can be placed in random access memory (RAM), internal memory, read only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other in the technical field. in any other known form of storage medium.
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The specific embodiments described above further describe the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above descriptions are only specific embodiments of the present invention, and are not intended to limit the scope of the present invention. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.
Claims (35)
Priority Applications (8)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810715295.9A CN110661610B (en) | 2018-06-29 | 2018-06-29 | Input acquisition method and device of secure multi-party computing protocol |
| TW108110468A TWI719435B (en) | 2018-06-29 | 2019-03-26 | Input obtaining method and device for safe multi-party calculation agreement |
| ES19740262T ES2851148T3 (en) | 2018-06-29 | 2019-06-27 | Method and apparatus for obtaining input from a multipart secure computing protocol |
| US16/455,685 US11625490B2 (en) | 2018-06-29 | 2019-06-27 | Method and apparatus for obtaining input of secure multiparty computation protocol |
| PCT/US2019/039629 WO2020006319A1 (en) | 2018-06-29 | 2019-06-27 | Method and apparatus for obtaining input of secure multiparty computation protocol |
| EP19740262.1A EP3673609B8 (en) | 2018-06-29 | 2019-06-27 | Method and apparatus for obtaining input of secure multiparty computation protocol |
| PL19740262T PL3673609T3 (en) | 2018-06-29 | 2019-06-27 | Method and apparatus for obtaining input of secure multiparty computation protocol |
| US16/784,421 US10831903B2 (en) | 2018-06-29 | 2020-02-07 | Method and apparatus for obtaining input of secure multiparty computation protocol |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810715295.9A CN110661610B (en) | 2018-06-29 | 2018-06-29 | Input acquisition method and device of secure multi-party computing protocol |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN110661610A CN110661610A (en) | 2020-01-07 |
| CN110661610B true CN110661610B (en) | 2020-11-03 |
Family
ID=67297409
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201810715295.9A Active CN110661610B (en) | 2018-06-29 | 2018-06-29 | Input acquisition method and device of secure multi-party computing protocol |
Country Status (7)
| Country | Link |
|---|---|
| US (2) | US11625490B2 (en) |
| EP (1) | EP3673609B8 (en) |
| CN (1) | CN110661610B (en) |
| ES (1) | ES2851148T3 (en) |
| PL (1) | PL3673609T3 (en) |
| TW (1) | TWI719435B (en) |
| WO (1) | WO2020006319A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250022021A1 (en) * | 2022-04-12 | 2025-01-16 | Truist Bank | Graphical user interface generation systems |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11146407B2 (en) * | 2018-04-17 | 2021-10-12 | Digicert, Inc. | Digital certificate validation using untrusted data |
| US11764940B2 (en) | 2019-01-10 | 2023-09-19 | Duality Technologies, Inc. | Secure search of secret data in a semi-trusted environment using homomorphic encryption |
| US11245536B2 (en) * | 2019-04-16 | 2022-02-08 | Meta Platforms, Inc. | Secure multi-party computation attribution |
| WO2021087073A1 (en) | 2019-10-30 | 2021-05-06 | Via Science, Inc. | Secure outsourcing of a multiplication |
| CN111222165B (en) * | 2020-01-10 | 2022-09-23 | 北京百度网讯科技有限公司 | Multi-party computing method, device, equipment and medium based on block chain |
| US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
| CN111611609B (en) * | 2020-04-07 | 2023-05-23 | 布比(北京)网络技术有限公司 | Risk data sharing method and system based on secure multiparty calculation and blockchain |
| US11816212B2 (en) * | 2020-04-15 | 2023-11-14 | Inferati Inc. | Large scale zero trust malware detection |
| CN111563261A (en) * | 2020-05-15 | 2020-08-21 | 支付宝(杭州)信息技术有限公司 | Privacy protection multi-party computing method and system based on trusted execution environment |
| CN111711645A (en) * | 2020-08-19 | 2020-09-25 | 华控清交信息科技(北京)有限公司 | Data processing method and device and data processing device |
| CN112132578B (en) * | 2020-09-16 | 2022-05-06 | 建信金融科技有限责任公司 | Efficient transaction processing method, tracking method and device based on block chain |
| US20220107738A1 (en) * | 2020-10-06 | 2022-04-07 | Kioxia Corporation | Read controller and input/output controller |
| US11799643B2 (en) * | 2021-01-19 | 2023-10-24 | Bank Of America Corporation | Collaborative architecture for secure data sharing |
| US11271716B1 (en) | 2021-01-28 | 2022-03-08 | Emtruth, Inc. | Blockchain-based data management of distributed binary objects |
| CN112925853B (en) * | 2021-03-08 | 2022-08-02 | 山东审核通信息科技有限公司 | Trusted data exchange method and device based on block chain, terminal equipment and medium |
| JP7612552B2 (en) * | 2021-10-06 | 2025-01-14 | Kddi株式会社 | Verification device, verification method, and verification program |
| CN114528569B (en) * | 2022-01-30 | 2025-03-18 | 深圳市纽创信安科技开发有限公司 | A homomorphic computing method and system, homomorphic request, computing and service device |
| US12470383B2 (en) * | 2022-09-01 | 2025-11-11 | International Business Machines Corporation | Collaborative computation across blockchain networks |
| CN115543392B (en) * | 2022-11-30 | 2023-03-17 | 北京百度网讯科技有限公司 | Trusted program upgrading method, device, equipment and storage medium |
| US12126708B1 (en) * | 2023-04-06 | 2024-10-22 | Vitaly Zuevsky | Proving interaction locality with time-based cyphertext by secure element |
| CN116611094B (en) * | 2023-06-13 | 2024-07-05 | 上海零数众合信息科技有限公司 | Charging network data acquisition method and system based on secure multiparty calculation |
| WO2025160714A1 (en) * | 2024-01-29 | 2025-08-07 | Beijing Zitiao Network Technology Co., Ltd. | Random noise generation for multiparty computation |
| US20250278495A1 (en) * | 2024-03-04 | 2025-09-04 | Robert Bosch Gmbh | Systems and methods for setting up and maintaining multi-party computation environments |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106372868A (en) * | 2016-09-06 | 2017-02-01 | 联动优势科技有限公司 | Verification method and apparatus for transaction data written into block chain |
| CN107196918A (en) * | 2017-04-27 | 2017-09-22 | 北京小米移动软件有限公司 | A kind of method and apparatus of matched data |
| CN108023894A (en) * | 2017-12-18 | 2018-05-11 | 苏州优千网络科技有限公司 | Visa information system and its processing method based on block chain |
Family Cites Families (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6851053B1 (en) | 1999-03-02 | 2005-02-01 | Microsoft Corporation | Multiparty conference authentication |
| US7370199B2 (en) | 2004-01-28 | 2008-05-06 | Microsoft Corporation | System and method for n-way authentication in a network |
| EP2120393A1 (en) | 2008-05-14 | 2009-11-18 | Nederlandse Centrale Organisatie Voor Toegepast Natuurwetenschappelijk Onderzoek TNO | Shared secret verification method |
| US8515058B1 (en) * | 2009-11-10 | 2013-08-20 | The Board Of Trustees Of The Leland Stanford Junior University | Bootstrappable homomorphic encryption method, computer program and apparatus |
| US8539220B2 (en) * | 2010-02-26 | 2013-09-17 | Microsoft Corporation | Secure computation using a server module |
| US8648694B2 (en) | 2010-12-29 | 2014-02-11 | Sasken Communication Technologies Ltd. | Multiparty controlled remote security lock system |
| US9509506B2 (en) | 2011-09-30 | 2016-11-29 | Los Alamos National Security, Llc | Quantum key management |
| SG11201405282RA (en) | 2012-04-01 | 2014-09-26 | Authentify Inc | Secure authentication in a multi-party system |
| WO2015025232A1 (en) | 2013-08-19 | 2015-02-26 | Lynxguard Ltd. | Multiparty secret protection system |
| EP2860905A1 (en) | 2013-10-09 | 2015-04-15 | Thomson Licensing | Method for ciphering a message via a keyed homomorphic encryption function, corresponding electronic device and computer program product |
| US9602508B1 (en) | 2013-12-26 | 2017-03-21 | Lookout, Inc. | System and method for performing an action based upon two-party authorization |
| EP3089091B1 (en) | 2014-05-02 | 2020-03-11 | Barclays Execution Services Limited | Transaction authentication |
| CN105337736B (en) | 2014-06-30 | 2018-10-30 | 华为技术有限公司 | Full homomorphism message authentication method, apparatus and system |
| FR3027177B1 (en) | 2014-10-13 | 2016-11-04 | Morpho | METHOD OF AUTHENTICATING A CLIENT DEVICE FROM A SERVER USING A SECRET ELEMENT |
| US10333696B2 (en) * | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
| US9608810B1 (en) | 2015-02-05 | 2017-03-28 | Ionic Security Inc. | Systems and methods for encryption and provision of information security using platform services |
| FR3035986B1 (en) | 2015-05-06 | 2018-07-27 | Morpho | METHOD FOR GENERATING A MESSAGE SIGNATURE FROM A DIGITAL SIGNATURE TOKEN USING A HOMOMORPHIC ENCRYPTION FUNCTION |
| US10791123B2 (en) | 2015-11-25 | 2020-09-29 | Yaron Gvili | Selectivity in privacy and verification with applications |
| CN114282928B (en) | 2016-02-23 | 2026-02-17 | 恩链控股有限公司 | Encryption key storage and transfer based on blockchain system combined with wallet management system |
| JP6973385B2 (en) * | 2016-05-13 | 2021-11-24 | 日本電気株式会社 | Authentication system, authentication method and program |
| US9967096B2 (en) * | 2016-05-23 | 2018-05-08 | Accenture Global Solutions Limited | Rewritable blockchain |
| WO2018027059A1 (en) | 2016-08-03 | 2018-02-08 | KryptCo, Inc. | Systems and methods for delegated cryptography |
| CN106503994B (en) * | 2016-11-02 | 2020-07-28 | 西安电子科技大学 | Blockchain privacy data access control method based on attribute encryption |
| US11070378B1 (en) * | 2016-11-07 | 2021-07-20 | Wells Fargo Bank, N.A. | Signcrypted biometric electronic signature tokens |
| US10333715B2 (en) * | 2016-11-14 | 2019-06-25 | International Business Machines Corporation | Providing computation services with privacy |
| CN106549749B (en) * | 2016-12-06 | 2019-12-24 | 杭州趣链科技有限公司 | A Blockchain Privacy Protection Method Based on Additive Homomorphic Encryption |
| US10885158B2 (en) | 2017-06-05 | 2021-01-05 | Duality Technologies, Inc. | Device, system and method for token based outsourcing of computer programs |
| US10944546B2 (en) * | 2017-07-07 | 2021-03-09 | Microsoft Technology Licensing, Llc | Blockchain object interface |
| CN107528688B (en) * | 2017-09-30 | 2020-04-21 | 矩阵元技术(深圳)有限公司 | A blockchain key storage and recovery method and device based on encryption entrustment technology |
| US11063744B2 (en) | 2017-10-20 | 2021-07-13 | Sap Se | Document flow tracking using blockchain |
| WO2019158209A1 (en) * | 2018-02-16 | 2019-08-22 | Ecole polytechnique fédérale de Lausanne (EPFL) | Methods and systems for secure data exchange |
| US12124542B2 (en) | 2018-05-22 | 2024-10-22 | Sony Group Corporation | User-protected license |
| US20190361917A1 (en) * | 2018-05-25 | 2019-11-28 | Bao Tran | Smart device |
| US10289816B1 (en) * | 2018-06-08 | 2019-05-14 | Gsfm Llc | Methods, systems, and devices for an encrypted and obfuscated algorithm in a computing environment |
-
2018
- 2018-06-29 CN CN201810715295.9A patent/CN110661610B/en active Active
-
2019
- 2019-03-26 TW TW108110468A patent/TWI719435B/en active
- 2019-06-27 PL PL19740262T patent/PL3673609T3/en unknown
- 2019-06-27 US US16/455,685 patent/US11625490B2/en active Active
- 2019-06-27 WO PCT/US2019/039629 patent/WO2020006319A1/en not_active Ceased
- 2019-06-27 ES ES19740262T patent/ES2851148T3/en active Active
- 2019-06-27 EP EP19740262.1A patent/EP3673609B8/en active Active
-
2020
- 2020-02-07 US US16/784,421 patent/US10831903B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106372868A (en) * | 2016-09-06 | 2017-02-01 | 联动优势科技有限公司 | Verification method and apparatus for transaction data written into block chain |
| CN107196918A (en) * | 2017-04-27 | 2017-09-22 | 北京小米移动软件有限公司 | A kind of method and apparatus of matched data |
| CN108023894A (en) * | 2017-12-18 | 2018-05-11 | 苏州优千网络科技有限公司 | Visa information system and its processing method based on block chain |
Non-Patent Citations (1)
| Title |
|---|
| CoinParty: Secure Multi-Party Mixing of Bitcoins;Jan Henrik Ziegeldorf 等;《http://diyhpl.us/~bryan/papers2/bitcoin/Coinparty:%20Secure%20multi-party%20mixing%20of%20bitcoins.pdf》;20151231;第1-9页 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250022021A1 (en) * | 2022-04-12 | 2025-01-16 | Truist Bank | Graphical user interface generation systems |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202001658A (en) | 2020-01-01 |
| EP3673609B8 (en) | 2021-03-10 |
| US11625490B2 (en) | 2023-04-11 |
| US10831903B2 (en) | 2020-11-10 |
| WO2020006319A1 (en) | 2020-01-02 |
| ES2851148T3 (en) | 2021-09-03 |
| TWI719435B (en) | 2021-02-21 |
| PL3673609T3 (en) | 2021-07-26 |
| US20200004973A1 (en) | 2020-01-02 |
| EP3673609A1 (en) | 2020-07-01 |
| EP3673609B1 (en) | 2020-11-18 |
| CN110661610A (en) | 2020-01-07 |
| US20200175180A1 (en) | 2020-06-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110661610B (en) | Input acquisition method and device of secure multi-party computing protocol | |
| RU2719451C1 (en) | Protection of data of block chains based on common model based on accounts and homomorphic encryption | |
| JP6908700B2 (en) | Systems and methods for information protection | |
| Li et al. | Fuzzy identity-based data integrity auditing for reliable cloud storage systems | |
| CN107483212B (en) | Method for generating digital signature by cooperation of two parties | |
| CN108292402B (en) | Determination of a common secret and hierarchical deterministic keys for the secure exchange of information | |
| CN108352015B (en) | Secure multi-party loss-resistant storage and encryption key transfer for blockchain based systems in conjunction with wallet management systems | |
| CN106850200B (en) | A security method, system and terminal using blockchain-based digital currency | |
| JP2022069474A (en) | Methods and systems for secure data record distribution using blockchain | |
| WO2020119258A1 (en) | Data processing method and device | |
| KR102284396B1 (en) | Method for generating pki keys based on bioinformation on blockchain network and device for using them | |
| JP2020507222A (en) | System and method for information protection | |
| CN110458560A (en) | Method and device for transaction verification | |
| CN111815321A (en) | Transaction proposal processing method, device, system, storage medium and electronic device | |
| WO2023160090A1 (en) | Proof generation method and apparatus, electronic device, and storage medium | |
| CN114389810B (en) | Method and device for generating certification, electronic equipment and storage medium | |
| Marcedone et al. | Minimizing trust in hardware wallets with two factor signatures | |
| CN113792282B (en) | Identity data verification method and device, computer equipment and storage medium | |
| CN118160275A (en) | Threshold Signature Scheme | |
| WO2022189865A1 (en) | Methods and devices for verifying data integrity | |
| Mishra et al. | BB-tree based secure and dynamic public auditing convergence for cloud storage: R. Mishra et al. | |
| US20250193013A1 (en) | Methods, systems, and computer readable-media for privacy preserving identity verification | |
| KR102139008B1 (en) | Transaction Methods for Protecting Personal Information in a Public Block Chain Environment | |
| Skudnov | Bitcoin clients | |
| Adouth et al. | QSKCG: Quantum‐based secure key communication and key generation scheme for outsourced data in cloud |
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 | ||
| TA01 | Transfer of patent application right |
Effective date of registration: 20200930 Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands Applicant after: Innovative advanced technology Co.,Ltd. Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands Applicant before: Advanced innovation technology Co.,Ltd. Effective date of registration: 20200930 Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands Applicant after: Advanced innovation technology Co.,Ltd. Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Applicant before: Alibaba Group Holding Ltd. |
|
| TA01 | Transfer of patent application right | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20240929 Address after: Guohao Times City # 20-01, 128 Meizhi Road, Singapore Patentee after: Ant Chain Technology Co.,Ltd. Country or region after: Singapore Address before: 27 Hospital Road, George Town, Grand Cayman ky1-9008 Patentee before: Innovative advanced technology Co.,Ltd. Country or region before: Britain |
|
| TR01 | Transfer of patent right |
