Multi-node casual transmission method and system, server and medium
By executing QOT and IKNP protocols on secure multi-party computing nodes, the problems of unidirectionality and low efficiency of existing QOT protocols are solved, and the bidirectional communication of MPC nodes and the use of data cache pools are realized, which improves the flexibility and efficiency of data transmission.
Patent Information
- Application Number
- CN202510197689.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-21
- Publication Date
- 2025-06-17
AI Technical Summary
The existing QOT protocol can only be executed in one direction, resulting in the interfaces of MPC-1 and MPC-2 that can only be called in one direction, and the use is not flexible enough, and the execution efficiency of the QOT protocol is low, which does not meet the actual usage scenarios.
By executing the QOT protocol and IKNP protocol on secure multi-party computing nodes, each MPC node has the ability to send and receive, and improves the efficiency of generating and using communication data through a data cache pool.
It realizes the bidirectional communication capabilities of MPC nodes, enhances the flexibility and efficiency of data transmission, and is especially suitable for a secure multi-party computing environment, meeting the data privacy, transmission reliability and storage optimization requirements in complex application scenarios.
Smart Images

Figure CN120165845A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of quantum communication technology, and in particular, to a multi-node oblivious transfer method, system, server, and medium. Background Art
[0002] The implementation of the existing QOT protocol requires QOTD hardware devices. Since QOTD-A can only prepare and send single-photon states, and QOTD-B can only detect and receive, the QOT protocol can only be unidirectional. If MPC-1 is connected to QOTD-A and MPC-2 is connected to QOTD-B, then MPC-1 can only provide the OT-ALICE call interface, and MPC-2 can only provide the OT-BOB call interface. Therefore, the inventors found the following problems:
[0003] The QOT protocol can only be executed unidirectionally, and it is not feasible to execute the QOT protocol in the reverse direction, resulting in the interfaces of MPC-1 and MPC-2 can only be called unidirectionally, which is not flexible enough to use and has certain limitations. The execution of the QOT protocol requires quantum bits and measurement bases generated by both parties, so the execution efficiency of the QOT protocol is low and does not meet the actual usage scenarios. Summary of the Invention
[0004] The purpose of the embodiments of the present invention is to provide a multi-node oblivious transfer method, system, server, and medium, so that the MPC application can provide an OT interface externally, enable the MPC application to have both sending and receiving functions, and at the same time make up for the deficiency of the rate of generating oblivious transfer instances by the QOT protocol.
[0005] To solve the above technical problems, an embodiment of the present invention provides a multi-node oblivious transfer method, which is applied to a first node, and the first node is one of several application nodes deployed in secure multi-party computing; the method includes: connecting to a second node through a classical channel to implement oblivious transfer with the second node based on the QOT protocol, obtaining first communication data and storing it in a data cache pool, and implementing oblivious transfer with the second node based on the IKNP protocol, obtaining second communication data and third communication data and storing them in the data cache pool; providing an interface to an external application node for the external application node to call the communication data in the data cache pool based on the interface to implement oblivious transfer; wherein, the interface includes a sending interface and a receiving interface.
[0006] Embodiments of the present invention also provide a multi - node oblivious transfer method, which is applied to a second node. The second node is one of several application nodes deployed in secure multi - party computation. The method includes: connecting to a first node through a classical channel; the second node, as a receiver, implementing oblivious transfer with the first node based on the QOT protocol, obtaining fourth communication data and storing it in a data cache pool; the second node, as a sender, implementing oblivious transfer with the first node based on the IKNP protocol, obtaining fifth communication data and storing it in the data cache pool; making the second node, as a receiver, implementing oblivious transfer with the first node based on the IKNP protocol, obtaining sixth communication data and storing it in the data cache pool; providing an interface to an external application node for the external application node to call a communication data instance in the data cache pool based on the interface to implement oblivious transfer; wherein, the interface includes a sending interface and a receiving interface.
[0007] Embodiments of the present invention also provide an oblivious transfer system. The system includes: a hardware device for performing quantum oblivious transfer, and secure multi - party computation application nodes. Among them, the hardware device for performing quantum oblivious transfer includes a first device and a second device, and the secure multi - party computation application nodes include a first node and a second node. The first device is connected to the first node through a classical channel, and the second device is connected to the second node through a classical channel, and is used to send quantum bits and measurement bases to the first device and the second device. The first node and the second node are connected through a classical channel and are used to execute the above - mentioned multi - node oblivious transfer method. The secure multi - party computation application nodes are connected to external application nodes through a classical communication channel for the external application nodes to implement oblivious transfer based on the interfaces of the secure multi - party computation application nodes; wherein, the interfaces include a sending interface and a receiving interface.
[0008] Embodiments of the present invention also provide a server, including: at least one processor; and a memory communicatively connected to the at least one processor. Among them, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above - mentioned multi - node oblivious transfer method.
[0009] Embodiments of the present invention also provide a computer - readable storage medium storing a computer program, and when the computer program is executed by a processor, the above - mentioned multi - node oblivious transfer method is implemented.
[0010] In the embodiments of the present invention, compared with the prior art, as an application node deployed in a secure multi-party computing environment, the first node communicates with the second node using a classical channel and realizes oblivious transfer through the QOT protocol to obtain the first communication data and store it in the data cache pool. At the same time, the first node also performs oblivious transfer with the second node through the IKNP protocol to obtain the second and third communication data and further stores them in the data cache pool. This method enables the secure multi-party computing nodes to act as the sender and the receiver respectively, and sequentially execute the QOT protocol and the IKNP protocol, so that each MPC node can have the ability to send and receive; at this time, the external application node can directly utilize the interface of the MPC node to simultaneously implement the sending and receiving functions, enhancing the flexibility and efficiency of data transmission, and is particularly suitable for achieving high efficiency in a secure multi-party computing environment. At the same time, because the QOT protocol and the IKNP protocol are executed in advance and a large number of communication data instances are cached, the external device can directly use the cached instances for communication, avoiding the waste of time caused by regeneration.
[0011] In addition, the implementation of oblivious transfer with the second node based on the QOT protocol to obtain the first communication data and store it in the data cache pool includes: requesting qubits and measurement bases from the hardware device that performs quantum oblivious transfer; the first node acts as the sender, and based on the QOT protocol with the second node using the qubits and the measurement bases to realize oblivious transfer to obtain the first communication data, and storing the first communication data in the first sub-cache pool of the data cache pool; wherein, the first communication data includes a message data group, and the message data group includes two pieces of message data and a data identifier.
[0012] In addition, the implementation of oblivious transfer with the second node based on the IKNP protocol to obtain the second and third communication data and store them in the data cache pool includes: obtaining the first communication data in the first sub-cache pool; the first node acts as the receiver, and based on the IKNP protocol with the second node using the first communication data to realize oblivious transfer to obtain the second communication data, and storing the second communication data in the second sub-cache pool of the data cache pool; wherein, the second communication data includes several message data groups, and any one of the message data groups includes at least one selection bit, the message data corresponding to the selection bit, and a data identifier.
[0013] In addition, after storing the second communication data in the second sub-cache pool of the data cache pool, the following steps are further included: obtaining the second communication data of the second sub-cache pool; using the first node as the sender, implementing oblivious transfer with the second node based on the IKNP protocol using the second communication data to obtain third communication data, and storing the third communication data in the third sub-cache pool of the data cache pool; wherein, the third communication data includes a number of message data groups, any one of the message data groups includes at least two message data, and a data identifier.
[0014] In addition, the data identifier is a preset string. Before storing the communication data in the cache pool, the method further includes: grouping the communication data according to the data identifier and storing them in different cache units of the sub-cache pool of the preset cache pool; and obtaining the communication data from the cache pool according to the data identifier.
[0015] In addition, the system further includes a data cache pool, which includes a first sub-cache pool, a second sub-cache pool, and a third sub-cache pool; wherein, if the external application node connects to the sending interface of the first node and the receiving interface of the second node, then the external application node is connected to the third sub-cache pool to obtain the communication data of the third sub-cache pool and implement oblivious transfer based on the communication data of the third sub-cache pool; if the external application node connects to the receiving interface of the first node and the sending interface of the second node, then the external application node is connected to the second sub-cache pool to obtain the communication data of the second sub-cache pool and implement oblivious transfer based on the communication data of the second sub-cache pool. Description of the Drawings
[0016] One or more embodiments are exemplarily illustrated by the pictures in the corresponding drawings. These exemplary illustrations do not limit the embodiments. Elements with the same reference numerals in the drawings are represented as similar elements. Unless otherwise stated, the drawings in the figures do not constitute a scale limitation.
[0017] Figure 1 It is a schematic structural diagram of a data transmission system related to the oblivious transfer method of multiple nodes provided in an embodiment of the present application;
[0018] Figure 2 It is a flowchart of the oblivious transfer method of multiple nodes provided in an embodiment of the present application;
[0019] Figure 3 It is an interactive schematic diagram between nodes and devices related to the oblivious transfer method of multiple nodes provided in an embodiment of the present application;
[0020] Figure 4It is a schematic structural diagram of a data cache pool involved in a multi-node oblivious transfer method provided in an embodiment of the present application;
[0021] Figure 5 It is another flowchart of a multi-node oblivious transfer method provided in an embodiment of the present application;
[0022] Figure 6 It is another flowchart of a multi-node oblivious transfer method provided in an embodiment of the present application;
[0023] Figure 7 It is a schematic structural diagram of a server provided in another embodiment of the present application. Detailed implementation manners
[0024] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the following will elaborate on each implementation manner of the present invention with reference to the accompanying drawings. However, those of ordinary skill in the art can understand that in each implementation manner of the present invention, many technical details are presented for the convenience of readers to better understand the present application. However, even without these technical details and various changes and modifications based on the following implementation manners, the technical solutions claimed in the present application can still be implemented. The following division of each embodiment is for convenient description and should not constitute any limitation to the specific implementation manner of the present invention. Each embodiment can be combined and cross-referenced with each other on the premise of no conflict.
[0025] It should be understood that the terms "first", "second", etc. involved in the embodiments of the present application are used to distinguish different objects rather than to describe a specific order. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, software, product, or device that includes a series of steps or units is not limited to the listed steps or units, but also includes unlisted steps or units, or other steps or units inherent to these processes, methods, products, or devices.
[0026] The "embodiment" involved in the embodiments of the present application means that the specific features, structures, or characteristics described in combination with the embodiment can be included in at least one embodiment of the present application. The appearance of this phrase at various positions in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art explicitly and implicitly understand that the embodiments described herein can be combined with other embodiments.
[0027] The "and / or" in the embodiments of the present application describes the association relationship of associated objects and indicates that three relationships can exist. For example, A and / or B can represent the following three situations: A exists alone; both A and B exist simultaneously; B exists alone. Among them, A and B can be singular or plural.
[0028] In the embodiments of the present application, the symbol " / " may indicate that the associated objects before and after are in an "or" relationship. Additionally, the symbol " / " may also represent a division sign, that is, for performing a division operation. For example, A / B may represent A divided by B.
[0029] The "at least one (piece)" or its similar expressions in the embodiments of the present application refer to any combination of these items, including any combination of single item (piece) or plural items (pieces), referring to one or more, and multiple referring to two or more. For example, at least one (piece) of a, b, or c may represent the following seven cases: a, b, c, a and b, a and c, b and c, a, b, and c. Among them, each of a, b, and c can be an element or a set containing one or more elements.
[0030] The technical solutions, beneficial effects, related concepts, etc. involved in the embodiments of the present application are specifically described below.
[0031] I. Data Transmission System
[0032] It should be noted that the embodiments of the present application provide an oblivious transfer system for data transmission. The oblivious transfer system includes a hardware device for performing quantum oblivious transfer and secure multiparty computation application nodes.
[0033] Exemplarily, as Figure 1 shown, among them, the hardware device is a transmission device based on quantum transmission mode, including a quantum oblivious transfer sender hardware device (hereinafter referred to as QOTD-A) for performing the function of the quantum information transmission sender end in the QOT (Quantum Oblivious Transfer) protocol; a quantum oblivious transfer receiver hardware device (hereinafter referred to as QOTD-B) for performing the function of the quantum information transmission receiver end in the QOT protocol; secure multiparty computation application nodes (Secure Multiparty Computation, MPC). The deployment devices of a single MPC node include: QOTD-A or QOTD-B, and MPC applications. The MPC applications communicate with each other using classical channels. The QOTD-A and QOTD-B devices communicate with each other using quantum channels and classical channels. The MPC application communicates with QOTD-A or QOTD-B using classical channels. At the same time, the MPC node also provides interfaces externally, and the interfaces include a sending interface and a receiving interface, and the interfaces implement a one-of-two function.
[0034] II. Data Transmission Protocol
[0035] (1) OT, Oblivious Transfer, oblivious transfer
[0036] In the standard oblivious transfer, there are two parties: the sender Alice and the receiver Bob. Alice holds two messages m0 and m1, and Bob holds a choice bit θ ∈ {0, 1}. After performing the basic OT, Alice cannot obtain any information, and Bob can only obtain m θ , and knows nothing about the other message m 1-θ .
[0037] Suppose Alice holds n pairs of messages Bob holds n choice bits r = (r1, r2, r3,..., r n ). If Bob wants to obtain the messages corresponding to the choice bit string, according to the above process, n times of basic OT need to be performed.
[0038] (2) QOT, Quantum Oblivious Transfer, the protocol process of quantum oblivious transfer is as follows:
[0039] 1. Alice randomly selects two random sequences of length n: x ← {0, 1} n , θ ← {0, 1} n . x determines the quantum state of the qubits to be sent, and θ determines the measurement basis to be selected.
[0040] 2. Alice prepares and sends the qubit |x> θ to Bob according to the selection in step 1.
[0041] 3. Bob randomly selects and measures |x> using this basis θ , obtaining
[0042] 4. Bob makes a commitment to all that he has not stored the qubits, and selects a random number r i .
[0043] 5. Bob sends
[0044] 6. Alice randomly selects a set |T| = αn, Bob opens c i , i ∈ T, Alice confirms that when in the randomly selected set
[0045] 7. Both parties discard the tested set and continue to execute the protocol.
[0046] 8. Alice sends θ to Bob.
[0047] 9. Bob selects a \(b\in\{0,1\}\) and divides all the sets into two groups:
[0048] 10. Bob sends \(I_0, I_1\) to Alice
[0049] 11. Alice divides \(x\) into \(x_0, x_1\) according to \(I\).
[0050] 12. Alice sends to Bob where \(f\) is an intercepting function.
[0051] 13. Bob solves
[0052] (3) IKNP, an oblivious transfer extension protocol
[0053] The IKNP protocol uses a small number of basic oblivious transfers as seeds and generates a large number of available oblivious transfer instances through matrix transformation and symmetric encryption techniques. That is, the IKNP protocol reduces \(n\) OTs to \(k\) times (\(k\ll n\)), and the value of \(k\) is independent of \(n\).
[0054] Taking the background description as an example:
[0055] Alice holds \(n\) information pairs
[0056] Bob holds \(n\) selection bits \(r=(r_1,r_2,r_3,\cdots,r\) n )
[0057] 1. Bob generates an initial selection matrix, uses the selection vector \(r\) as a column, and copies and extends it to the initial matrix \(T_0\);
[0058] 2. Bob randomly generates a matrix \(T\) and generates a secret sharing matrix \(T\) through the initial matrix \(T_0\) ’ , such that
[0059] 3. Alice generates a random bit string \(s=(s_1,s_2,s_3,\cdots,s\) k ), \(s\) i \(\in\{0,1\}\);
[0060] 4. Perform \(k\) basic OTs between Alice and Bob. The selection bit is the random string \(s\) generated by Alice, and the data set for Bob is \(\{T, T\) ’}\). If the current bit \(s\) of the string \(s\) i = 0, then select the column \(t\) of the matrix \(T\) i ; when \(s\) i = 1, select the column \(t\) of the matrix \(T\) ’ of the matrix \(T\)i ′ According to this step, Alice generates matrix Q column by column;
[0061] 5. From the perspective of rows, when r i = 0, according to 's property, t i = t i ′ , so regardless of whether s i is 0 or 1, q i = t i always holds. When r i = 1, t i = ~t i ′ . For each bit in this row, when s i = 0, this bit is obtained from t i ; when s i = 1, this bit is obtained from t i ′ . Therefore, the conclusion can be drawn:
[0062]
[0063] According to the above steps, Bob obtains matrix T, and Alice obtains matrix Q;
[0064] 6. After Alice receives q i row by row to form matrix Q, using s, calculate to obtain the transformation matrix Q ’ ;
[0065] 7. According to the formula obtained in step 5, when using t i to replace q i , the conclusion that can be obtained: from the perspective of rows, each row can be regarded as completing an oblivious transfer instance;
[0066] 8. From the perspective of security, Alice and Bob need to further randomize the relevant data to destroy the correlation that may be caused by the repeated use of s in each row. Use the same Hash function H to randomize the relevant parameters. Alice calculates and sends n pairs of to Bob;
[0067] 9. Bob receives n pairs of and extracts the corresponding according to his own selection vector r and calculates to obtain the corresponding
[0068] In practical applications, the inventor found that the existing QOT protocol can only be unidirectional, and it is not feasible to execute the QOT protocol in the reverse direction. As a result, the interfaces of MPC-1 and MPC-2 can only be called unidirectionally, which is not flexible enough and has certain limitations. In addition, the execution of the QOT protocol requires quantum bits and measurement bases generated by both parties, so the execution efficiency of the QOT protocol is relatively low and does not meet the actual usage scenarios.
[0069] Considering the problems existing in the related technologies, in this application, the secure multi-party computing nodes (MPC nodes) are respectively used as the sender and the receiver, and the QOT protocol (unidirectional communication) and the IKNP protocol (bidirectional communication) are executed in sequence. In this way, each MPC node can have the capabilities of sending and receiving. At this time, the external application node can directly utilize the interfaces of the MPC nodes to implement the sending and receiving functions simultaneously, enhancing the flexibility and efficiency of data transmission, and is particularly suitable for achieving high efficiency in a secure multi-party computing environment. At the same time, because the QOT protocol and the IKNP protocol are executed in advance and a large number of communication data instances are cached, the external device can directly use the cached instances for communication, avoiding the waste of time caused by re-generation.
[0070] The first embodiment of the present invention relates to a method for oblivious transfer of multiple nodes. To facilitate the understanding of the method for oblivious transfer of multiple nodes provided by the embodiments of this application, the following will be described in conjunction with its different implementation processes.
[0071] In some embodiments, the process of the method for oblivious transfer of multiple nodes is as Figure 2 shown, and includes the following steps:
[0072] Step 101: The first node connects to the second node through a classical channel, realizes oblivious transfer with the second node based on the QOT protocol, and obtains the first communication data and stores it in the data cache pool.
[0073] Step 102: The first node connects to the second node through a classical channel, realizes oblivious transfer with the second node based on the IKNP protocol, and obtains the second communication data and the third communication data and stores them in the data cache pool.
[0074] Step 103: Provide an interface to the external application node for the external application node to call the communication data in the data cache pool based on the interface to realize oblivious transfer.
[0075] In this way, the above method ensures that in the communication process between multiple nodes, not only can data transmission be effectively realized, but also data can be processed synchronously under different protocols. By providing an interface to the external application node, the first node can pass the communication data in the cache pool to the external application node. The interface includes a sending interface and a receiving interface, and supports inadvertent transmission based on the ROT protocol. This technical means enhances the flexibility and efficiency of data transmission by introducing parallel transmission and caching mechanisms of multiple protocols. It is particularly suitable for realizing efficient and scalable data exchange and storage management in a secure multi-party computing environment, and meets the needs of data privacy, transmission reliability and storage optimization in complex application scenarios.
[0076] To facilitate better understanding of those skilled in the art Figure 2 The multi-node oblivious transmission method shown, its steps will be further described below.
[0077] In some embodiments, in step 101, the first node implements oblivious transmission with the second node based on the QOT protocol, which can be achieved in the following way: requesting quantum bits and measurement basis from a hardware device that performs quantum oblivious transmission; the first node acts as a sender, and uses quantum bits and measurement basis to implement oblivious transmission with the second node based on the QOT protocol to obtain first communication data, and stores the first communication data in a first sub-cache pool of a data cache pool.
[0078] Specifically, at this time, the first node (Secure Multiparty Computation application node, Secure Multiparty Computation, MPC, hereinafter referred to as MPC-1) sends a connection and a protocol execution request. The second node (Secure Multiparty Computation application node, Secure Multiparty Computation, MPC, hereinafter referred to as MPC-2) receives the connection, and after receiving the protocol execution request, executes the QOT protocol.
[0079] The sent connection may be a TCP connection, the data transmission between MPC-1 and MPC-2 uses the TCP / IP protocol, and the protocol execution request sent by MPC-1 is an execution request of the QOT protocol.
[0080] The interactive process of MPC-1 applying for quantum bits and measurement basis from QOTD-A can be as follows: Figure 3 As shown, the specific steps include:
[0081] ①: MPC-1 initiates a request to QOTD-A for obtaining quantum bits and measurement basis. The request information mainly includes the data number, the device number of the other end QOTD-B, and the requested data length.
[0082] ②: QOTD-A prepares and sends qubits to QOTD-B according to the application information; the QOTD-B device receives and detects the qubits.
[0083] ③: QOTD-B pushes information to MPC-2. The pushed information mainly includes: data number, qubits, and measurement bases.
[0084] ④: MPC-2 replies with the processing result of the pushed information from QOTD-B. Among them, the processing result at least includes informing whether the pushed information is processed successfully or not.
[0085] ⑤: QOTD-B replies with the processing result to QOTD-A. Among them, the processing result includes informing QOTD-A whether the detection of the qubits and the push of the corresponding data to MPC-2 are successful.
[0086] ⑥: QOTD-A replies to the application information of MPC-1. The replied information mainly includes: data number, qubits, and measurement bases. Among them, in an application of qubits and measurement bases, the above data labels are the same and unique, and the qubits and measurement bases obtained by MPC-1 and MPC-2 are different.
[0087] Through the above steps, MPC-1 and MPC-2 respectively obtain the corresponding qubits and measurement bases, and execute the QOT protocol based on the qubits and measurement bases.
[0088] Among them, the first communication data is the data generated by MPC-1 when executing the QOT protocol, and may include the following content; the first communication data includes a message data group, the message data group includes two message data, and a data identifier. In addition, the method of the present application will execute the QOT protocol multiple times during the execution process to continuously generate multiple communication data, and store them in the data cache pool for subsequent communication use. The data cache pool is used to store these pre-generated communication instances to improve communication efficiency and reduce the overhead of repeated calculations. When the stored data in the data cache pool reaches the preset upper limit, the system will trigger the cache update mechanism to replace or clean the old data according to the set strategy to ensure that the cache pool always stores safe and available communication data and ensure data freshness.
[0089] In some embodiments, for the first node to connect to the second node through the classical channel in step 102, and realize oblivious transfer with the second node based on the IKNP protocol, and obtain the second communication data and the third communication data and store them in the data cache pool, it can be realized in the following way: obtain the first communication data of the first sub-cache pool; the first node acts as the receiver, and uses the first communication data to realize oblivious transfer with the second node based on the IKNP protocol to obtain the second communication data, and store the second communication data in the second sub-cache pool of the data cache pool.
[0090] Specifically, MPC-1 and MPC-2 implement oblivious transfer based on the IKNP protocol. Among them, for the basic OT required by the IKNP protocol, the ROT online protocol is used, and the ROT offline data uses the existing QOT data protocol cache pool at this end. Therefore, before executing the IKNP protocol, MPC-1 needs to obtain the first communication data from the first sub-cache pool of the data cache pool for data transmission.
[0091] Specifically, during the execution of the IKNP protocol, MPC-1, as the receiver, generates n selection bits r = (r1, r2, r3,..., r n ), and MPC-2 generates n information pairs After the interaction is completed through the IKNP protocol, the second communication data obtained by MPC-1 includes several message data groups. Any one message data group includes at least one selection bit, the message data corresponding to the selection bit, and a data identifier. Any one message data group includes a message selected by MPC-1 from the above information pairs based on the selection bit, and the selection bit; at the same time, each message group also includes a data identifier to determine the storage location of the communication data.
[0092] Further, after the interaction based on the IKNP protocol is completed, the second communication data is stored in the second sub-cache pool of the data cache pool. At this time, MPC-2 sends a connection and protocol execution request, and MPC-1 receives the connection and receives the protocol execution request. Then MPC-1, as the sender, executes the IKNP protocol with MPC-2 again.
[0093] In some embodiments, for step 102, after storing the second communication data in the second sub-cache pool of the data cache pool, the following steps are further included: obtaining the second communication data in the second sub-cache pool; the first node, as the sender, uses the second communication data to implement oblivious transfer with the second node based on the IKNP protocol to obtain the third communication data, and stores the third communication data in the third sub-cache pool of the data cache pool.
[0094] Specifically, the process of MPC-1, as the sender, executing the IKNP protocol with MPC-2 can be that MPC-1 generates n information pairs and obtains the data in the second sub-cache pool, where the data in the second sub-cache pool is used to execute the ROT protocol; MPC-1 sends at least one information pair to MPC-2 as message data to execute the IKNP protocol, and at the same time MPC-1 obtains the third communication data.
[0095] Among them, the third communication data includes several message data groups. Any one message data group includes at least two message data and a data identifier. The message data group corresponds to the generated message pair. Each message pair has a data identifier, and the message pair and the data identifier form a message data group.
[0096] In some embodiments, for the data identifier in steps 101 to 102, it can be simply understood as a number. Since there is a lot of data and each piece of data has a data identifier, for non-interoperable MPC-1 and MPC-2, data can be found through consistent data identifiers without leaking the data itself.
[0097] Specifically, in this application, the communication data is grouped according to the data identifier and stored in different cache units of the sub-cache pools in the preset cache pool. And, the communication data is obtained from the cache pool according to the data identifier.
[0098] In some embodiments, the cache pool in steps 101 to 102 can be that the data cache pool includes a first sub-cache pool, a second sub-cache pool, and a third sub-cache pool. Further, the form of any one sub-cache pool can be: including at least two cache units, and the cache units are used to store the communication data of the first node or the second node.
[0099] In some embodiments, the process of storing the communication data in the cache pool in steps 101 to 102 can be that the first communication data obtained by MPC-1 is stored in a cache unit in the first sub-cache pool (such as Figure 4 the No. 1 cache pool) (such as Figure 4 the cache pool of MPC-1 on the left side of the No. 1 cache pool), and so on. Each communication data of each node is stored in the corresponding cache unit.
[0100] In this way, after executing the above method, the cache pool can include several communication data. Among them, the data generation rate of the first sub-cache pool is limited by the coding rate of the QOTD device hardware and the quality of the quantum channel, and the generated oblivious transfer instances are less. However, the data rates of the second sub-cache pool and the third sub-cache pool are relatively fast. By adjusting the parameters of the IKNP protocol, a large number of oblivious transfer instances can be quickly generated for use.
[0101] Further, for step 103, specifically, it can be: MPCs both expose call interfaces externally, and the two interfaces internally execute the ROT online protocol, using the data in the second sub-cache pool or the third sub-cache pool as the ROT offline data. When an external application node calls the sending interface of MPC-1 and the receiving interface of MPC-2, the ROT offline data used is the data in the third sub-cache pool ( Figure 4No. 3 cache pool). When an external application node calls the receiving interface of MPC-1 and the sending interface of MPC-2, the ROT offline data uses the data in the second sub-cache pool ( Figure 4 No. 2 cache pool in).
[0102] In this way, by introducing the parallel transmission and caching mechanisms of multiple protocols, the secure multi-party computing nodes (MPC nodes) act as the sender and receiver respectively, and sequentially execute the QOT protocol (one-way communication) and the IKNP protocol (two-way communication). In this way, each MPC node can have the ability to send and receive; at the same time, because the QOT protocol and the IKNP protocol have been pre-executed and a large number of communication data instances have been cached, the external device can directly use the cached instances for communication, avoiding the waste of time in re-generation. It enhances the flexibility and efficiency of data transmission, and is especially suitable for realizing efficient and scalable data exchange and storage management in a secure multi-party computing environment, meeting the requirements for data privacy, transmission reliability and storage optimization in complex application scenarios.
[0103] Another embodiment of the present application provides a multi-node oblivious transfer method, which is applied to the second node and realizes multi-protocol data transmission and caching management in a secure multi-party computing environment. The second node establishes a connection with the first node through a classical channel. As the receiver, it realizes oblivious transfer with the first node based on the QOT protocol, receives the fourth communication data and stores it in the data cache pool. At the same time, the second node also acts as the sender and transmits the fifth communication data to the first node through the IKNP protocol, and further stores it in the data cache pool. To ensure multi-party synchronization and security of the data, the second node also acts as the receiver and transmits and stores the sixth communication data with the first node again based on the IKNP protocol.
[0104] In some embodiments, the process of the multi-node oblivious transfer method can also be as Figure 5 shown, including the following steps:
[0105] Step 301: Connect to the first node through a classical channel; the second node acts as the receiver and realizes oblivious transfer with the first node based on the QOT protocol to obtain the fourth communication data and store it in the data cache pool.
[0106] Step 302: The second node acts as the sender and realizes oblivious transfer with the first node based on the IKNP protocol to obtain the fifth communication data and store it in the data cache pool.
[0107] Step 303: The second node acts as the receiver and realizes oblivious transfer with the first node based on the IKNP protocol to obtain the sixth communication data and store it in the data cache pool.
[0108] Step 304: Provide an interface to the external application node, so that the external application node can call the communication data instance in the data cache pool based on the interface to implement oblivious transfer.
[0109] Specifically, the fourth communication data includes a selection bit, message data corresponding to the selection bit, and a data identifier. The fifth communication data includes several groups of data, and each group of data includes: two data messages and a data identifier. The sixth communication data includes several groups of data, and each group of data includes: a selection bit, message data obtained corresponding to the selection bit, and a data identifier.
[0110] In some embodiments, for the cache pool in steps 301 to 303, the data cache pool may include a first sub-cache pool, a second sub-cache pool, and a third sub-cache pool. Further, the form of any one sub-cache pool may be: including at least two cache units, and the cache units are used to store the communication data of the first node or the second node.
[0111] In some embodiments, for storing the communication data in the cache pool in steps 301 to 303, it may be to store the first communication data obtained by MPC-2 in a cache unit (such as Figure 4 the cache unit under MPC-2 in cache pool No. 1) in the first sub-cache pool (such as Figure 4 cache pool No. 1). And so on, each communication data of each node is stored in the corresponding cache unit.
[0112] Further, for step 304, specifically, it may be: MPCs all expose call interfaces externally, and the ROT online protocol is executed inside the two interfaces, and the data in the second sub-cache pool or the third sub-cache pool is used as the ROT offline data. When the external application node calls the sending interface of MPC-1 and the receiving interface of MPC-2, the ROT offline data uses the data in the third sub-cache pool ( Figure 4 cache pool No. 3). When the external application node calls the receiving interface of MPC-1 and the sending interface of MPC-2, the ROT offline data uses the data in the second sub-cache pool (cache pool No. 2 in Figure 4 the appendix).
[0113] In this way, through the above methods, it is ensured that during the communication process among multiple nodes, not only can data be effectively transmitted, but also data can be synchronously processed under different protocols. By introducing the parallel transmission and caching mechanisms of multiple protocols, the secure multi-party computing nodes (MPC nodes) act as the sender and receiver respectively, and sequentially execute the QOT protocol (one-way communication) and the IKNP protocol (two-way communication). In this way, each MPC node can have the capabilities of sending and receiving. At the same time, because the row QOT protocol and the IKNP protocol have been pre-executed and a large number of communication data instances have been cached, external devices can directly use the cached instances for communication, avoiding the waste of time caused by regenerating them. This enhances the flexibility and efficiency of data transmission, and is particularly suitable for implementing efficient and scalable data exchange and storage management in a secure multi-party computing environment, meeting the requirements for data privacy, transmission reliability, and storage optimization in complex application scenarios.
[0114] This application also provides an application example of a multi-node oblivious transfer method, as Figure 6 shown, which includes the following steps:
[0115] The first step: MPC-1 applies for qubits and measurement bases from QOTD-A. MPC-2 obtains the corresponding qubits and measurement bases pushed by QOTD-B.
[0116] The second step: MPC-1 generates two random data M0 and M1, and MPC-2 generates a random selection bit b. MPC-1 acts as the ALICE party of the QOT protocol, and MPC-2 acts as the BOB party of the QOT protocol, and executes the QOT protocol according to the process of the QOT protocol.
[0117] The third step: MPC-1 stores M0, M1, and the unique data identifier in its own QOT protocol data cache pool. MPC-2 stores b, the selected piece of data, and the unique data identifier in its own QOT protocol data cache pool.
[0118] The fourth step: MPC-1 acts as the BOB party of IKNP, and MPC-2 acts as the ALICE party of IKNP. According to the IKNP protocol parameters agreed upon by both parties, the IKNP protocol is executed. Among them, for the basic OT required by the IKNP protocol, the ROT online protocol is used, and the ROT offline data uses the existing QOT data protocol cache pool at its own end.
[0119] The fifth step: MPC-1 obtains several groups of data, each group including: a selected selection bit, the corresponding selected data, and the unique data identifier, and stores this data in its own IKNP protocol data cache pool. MPC-2 obtains several groups of data, each group of data including: two selected pieces of data and the unique data identifier, and stores this data in the IKNP protocol data cache pool.
[0120] After the above steps are completed, the results of the existing data cache pools of both parties are shown in Figure 4 . The meaning of MPC-1 → MPC-2 is that MPC-1 sends a connection and a protocol execution request. MPC-2 receives the connection and the protocol execution request. Among them, ALICE (sender) and BOB (receiver) in the parentheses mean that when executing the corresponding protocol, the local end acts as ALICE or BOB.
[0121] Please refer to Figure 6 , where the meaning of MPC-2 → MPC-1 is that MPC-2 sends a connection and a protocol execution request. MPC-1 receives the connection and the protocol execution request. Among them, ALICE (sender) and BOB (receiver) in the parentheses mean that when executing the corresponding protocol, the local end acts as ALICE or BOB.
[0122] Step 1: Both parties respectively execute the IKNP protocol using the data in the IKNP protocol data buffer pool of MPC-1 → MPC-2 (that is, Figure 4 the data in Buffer Pool No. 2). MPC-1 acts as IKNP-ALICE, and MPC-2 acts as IKNP-BOB.
[0123] Step 2: MPC-2 obtains several groups of data. Each group of data has a selected selection bit, corresponding selection data, and a unique data identifier, and stores this data in its local IKNP protocol data cache pool. MPC-1 obtains several groups of data. Each group of data has two selected data and a unique data identifier, and stores this data in the IKNP protocol data cache pool.
[0124] Combining the above processes, the results of the existing data cache pools of both parties are shown in Appendix Figure 4 . The data generation rate of Buffer Pool No. 1 is limited by the coding rate of the QOTD device hardware and the quality of the quantum channel, and the generated oblivious transfer instances are relatively few. However, the data rates of Buffer Pool No. 2 and Buffer Pool No. 3 are relatively fast. By adjusting the parameters of the IKNP protocol, a large number of oblivious transfer instances can be quickly generated for use.
[0125] Both MPCs expose call interfaces externally. The two interfaces internally execute the ROT online protocol and use the data in the IKNP cache pool as ROT offline data. When an external application node calls the ALICE interface of MPC-1 and the BOB interface of MPC-2, the ROT offline data uses Figure 4 Buffer Pool No. 3. When an external application node calls the BOB interface of MPC-1 and the ALICE interface of MPC-2, the ROT offline data uses Figure 4 Buffer Pool No. 2.
[0126] The step division of the above various methods is only for clear description. When implemented, they can be combined into one step or some steps can be split into multiple steps. As long as the same logical relationship is included, they are all within the protection scope of this patent. Adding insignificant modifications to the algorithm or process or introducing insignificant designs without changing the core design of the algorithm and process are all within the protection scope of this patent.
[0127] Another embodiment of this application provides an oblivious transfer system, which includes: a hardware device for performing quantum oblivious transfer, and a secure multi-party computing application node; wherein, the hardware device for performing quantum oblivious transfer includes a first device and a second device, and the secure multi-party computing application node includes a first node and a second node; the first device is connected to the first node through a classical channel, and the second device is connected to the second node through a classical channel, which is used to send quantum bits and measurement bases to the first device and the second device; the first node is connected to the second node through a classical channel, which is used to execute the above-mentioned oblivious transfer method for multiple nodes; the secure multi-party computing application node is connected to an external application node through a classical communication channel, so that the external application node can implement oblivious transfer based on the interface of the secure multi-party computing application node; wherein, the interface includes a sending interface and a receiving interface.
[0128] In some embodiments, the system further includes a data cache pool, which includes a first sub-cache pool, a second sub-cache pool, and a third sub-cache pool; wherein, if the external application node connects to the sending interface of the first node and the receiving interface of the second node, then the external application node is connected to the third sub-cache pool to obtain the communication data of the third sub-cache pool and implement oblivious transfer based on the communication data of the third sub-cache pool; if the external application node connects to the receiving interface of the first node and the sending interface of the second node, then the external application node is connected to the second sub-cache pool to obtain the communication data of the second sub-cache pool and implement oblivious transfer based on the communication data of the second sub-cache pool.
[0129] It is not difficult to find that this embodiment is a system embodiment corresponding to the above method embodiment, and this embodiment can be implemented in cooperation with the above method embodiment. The relevant technical details mentioned in the above method embodiment are still valid in this embodiment. To avoid repetition, they will not be elaborated here. Correspondingly, the relevant technical details mentioned in this embodiment can also be applied in the first embodiment.
[0130] It is worth mentioning that each module involved in this embodiment is a logical module. In practical applications, a logical unit can be a physical unit, a part of a physical unit, or can be implemented as a combination of multiple physical units. In addition, to highlight the innovative part of the present invention, units not closely related to solving the technical problems proposed by the present invention are not introduced in this embodiment, but this does not mean that there are no other units in this embodiment.
[0131] Another embodiment of the present invention relates to a server, as Figure 7 shown, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the above-mentioned oblivious transfer method for multiple nodes. Among them, the memory and the processor are connected in a bus manner. The bus can include any number of interconnected buses and bridges, and the bus connects various circuits of one or more processors and the memory together. The bus can also connect various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art, so they will not be further described herein. The bus interface provides an interface between the bus and the transceiver. The transceiver can be an element or multiple elements, such as multiple receivers and transmitters, and provides a unit for communicating with various other devices on the transmission medium. The data processed by the processor is transmitted on the wireless medium through the antenna. Further, the antenna also receives data and transmits the data to the processor. The processor is responsible for managing the bus and general processing, and can also provide various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. And the memory can be used to store the data used by the processor when executing operations.
[0132] Another embodiment of the present invention relates to a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the above method embodiment is implemented. That is, those skilled in the art can understand that all or part of the steps of implementing the above method embodiment can be completed by a program instructing relevant hardware. The program is stored in a storage medium, including several instructions for enabling a device (which can be a single-chip microcomputer, a chip, etc.) or a processor to execute all or part of the steps of the methods described in various embodiments of the present application. And the foregoing storage medium includes: USB flash drives, mobile hard disks, read-only memories (ROM, Read-Only Memory), random access memories (RAM, Random Access Memory), magnetic disks, or optical disks and other various media that can store program codes.
[0133] Those of ordinary skill in the art can understand that the above embodiments are specific examples for implementing the present invention, and in actual applications, various changes can be made to them in form and details without departing from the spirit and scope of the present invention.
Claims
1. A multi-node oblivious transmission method, characterized in that: Applied to a first node, where the first node is one of several application nodes deployed in secure multi-party computing; The method comprises: Connecting with the second node through a classical channel, implementing oblivious transmission with the second node based on the QOT protocol, obtaining first communication data and storing it in a data cache pool, and implementing oblivious transmission with the second node based on the IKNP protocol, obtaining second communication data and third communication data and storing them in the data cache pool; An interface is provided to an external application node, so that the external application node can call the communication data in the data cache pool based on the interface to realize oblivious transmission; wherein the interface includes a sending interface and a receiving interface.
2. The multi-node oblivious transmission method according to claim 1, characterized in that: The method of implementing oblivious transmission with the second node based on the QOT protocol to obtain the first communication data and store it in the data cache pool includes: Request qubits and measurement basis from a hardware device that performs quantum oblivious transfer; The first node acts as a sender, and uses the quantum bit and the measurement basis to implement oblivious transmission with the second node based on the QOT protocol to obtain the first communication data, and stores the first communication data in the first sub-cache pool of the data cache pool; wherein, The first communication data includes a message data group, and the message data group pair includes two message data and a data identifier.
3. The multi-node oblivious transmission method according to claim 2, characterized in that: The method of implementing oblivious transmission with the second node based on the IKNP protocol, obtaining the second communication data and the third communication data and storing them in the data cache pool, comprises: Acquire first communication data of the first sub-cache pool; The first node, as a receiver, uses the first communication data to implement oblivious transmission with the second node based on the IKNP protocol to obtain the second communication data, and stores the second communication data in the second sub-cache pool of the data cache pool; wherein, The second communication data includes a plurality of message data groups, and any one of the message data groups includes at least one selection bit, message data corresponding to the selection bit, and a data identifier.
4. The multi-node oblivious transmission method according to claim 3, characterized in that: After storing the second communication data into the second sub-cache pool of the data cache pool, the method further includes: Acquire second communication data of the second sub-buffer pool; The first node, as a sender, uses the second communication data to implement oblivious transmission with the second node based on the IKNP protocol to obtain the third communication data, and stores the third communication data in the third sub-cache pool of the data cache pool; wherein, The third communication data includes several message data groups, and any one of the message data groups includes at least two message data and a data identifier.
5. The multi-node oblivious transmission method according to any one of claims 2 to 4, characterized in that: The data identifier is a preset character string. Before storing the communication data into the cache pool, the method further includes: The communication data is grouped according to the data identifier and stored in different cache units in a sub-cache pool of a preset cache pool; and the communication data is acquired from the cache pool according to the data identifier.
6. A multi-node oblivious transmission method, characterized in that: applied to a second node, where the second node is one of several application nodes deployed in secure multi-party computing; The method comprises: Connecting with the first node via a classical channel; The second node, as a receiver, implements oblivious transmission with the first node based on the QOT protocol, obtains fourth communication data and stores it in the data cache pool; The second node, as a sender, implements oblivious transmission with the first node based on the IKNP protocol, obtains fifth communication data and stores it in the data cache pool; Using the second node as a receiver, implementing oblivious transmission with the first node based on the IKNP protocol, obtaining sixth communication data and storing it in a data cache pool; An interface is provided to an external application node, so that the external application node can call the communication data instance in the data cache pool based on the interface to realize oblivious transmission; wherein the interface includes a sending interface and a receiving interface.
7. An oblivious transmission system, characterized in that: The system comprises: a hardware device for performing quantum oblivious transmission, and a secure multi-party computing application node; wherein the hardware device for performing quantum oblivious transmission comprises a first device and a second device, and the secure multi-party computing application node comprises a first node and a second node; The first device is connected to the first node via a classical channel, and the second device is connected to the second node via a classical channel, for sending quantum bits and measurement basis to the first device and the second device; The first node is connected to the second node via a classical channel, and is used to perform the multi-node oblivious transmission method as claimed in any one of claims 1 to 6; The secure multi-party computing application node is connected to an external application node through a classic communication channel, so that the external application node can implement oblivious transmission based on the interface of the secure multi-party computing application node; wherein the interface includes a sending interface and a receiving interface.
8. An inadvertent transmission system according to claim 7, characterized in that: The system further includes a data cache pool, which includes a first sub-cache pool, a second sub-cache pool, and a third sub-cache pool; wherein, If the external application node is connected to the sending interface of the first node and the receiving interface of the second node, the external application node is connected to the third sub-cache pool to obtain the communication data of the third sub-cache pool, and implements oblivious transmission based on the communication data of the third sub-cache pool; If the external application node is connected to the receiving interface of the first node and the sending interface of the second node, the external application node is connected to the second sub-cache pool to obtain the communication data of the second sub-cache pool, and implements oblivious transmission based on the communication data of the second sub-cache pool.
9. A server, characterized in that: include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the multi-node oblivious transmission method according to any one of claims 1 to 6.
10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the multi-node oblivious transmission method according to any one of claims 1 to 6 is implemented.