Privacy data intersection method and system based on blockchain and oblivious transfer extension
By combining inadvertent transmission expansion technology on the blockchain, the security, traceability and high-performance computing of private data submission are realized, and the problems of data privacy protection and computing power limitations in the blockchain are solved, and the secure and verifiable private information submission is realized.
Patent Information
- Application Number
- CN202211550063.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-05
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2042-12-05
AI Technical Summary
In existing blockchain technology, the public sharing of on-chain data leads to privacy protection issues, and the limitation of computing power hinders application expansion. The privacy and security of traditional anonymous query technology are difficult to evaluate, and the computing cost is high and the communication volume is large.
A method and system for interchangeing of private data based on blockchain and inadvertent transmission expansion is proposed. Data intersection calculation is realized through alliance blockchain to ensure that data is not leaked, the calculation process is safe, traceable and supervised, and the inadvertent transmission expansion technology is used to reduce the computational complexity and traffic volume.
It realizes the calculation of data intersection without leaking data, eliminates the possibility of data cache, leakage, and trafficking, improves the security and performance of private data interception, and reduces the computing complexity and traffic of off-chain computing nodes.
Smart Images

Figure CN115883106B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of data intersection and data processing, and in particular to a privacy data intersection method and system based on blockchain and oblivious transfer extension. Background Art
[0002] The on-chain data of existing blockchains are all publicly shared in the ledger. Although the transparency of data has been improved, it has also brought about the problem of data privacy protection. The limitation of blockchain computing power has also restricted the further expansion of blockchain application scenarios. The privacy and security capabilities of a single anonymous query technology are difficult to quantify and evaluate. The relevant services are mostly presented in a black box form, which is difficult to prove their security. The traditional anonymous query based on inadvertent transmission of OT has high computational costs and large communication volume. Therefore, a corresponding solution is very necessary to realize a secure, verifiable and easy-to-use method for intersecting private information data. Summary of the invention
[0003] In order to address the shortcomings of the prior art, the present invention proposes a privacy data intersection method and system based on blockchain and oblivious transmission extension. The privacy data intersection system based on the alliance blockchain can calculate the intersection of first data sets held by different institutions without leaking the data of any party; the data does not go out and can be calculated, eliminating the possibility of data caching, data leakage, and data trafficking; the on-chain transmission method makes the calculation process of privacy data intersection safe, traceable, and controllable, achieving the effect of self-certification of security; compared with the traditional OT-based privacy data intersection performance is higher.
[0004] To achieve the above objectives, the technical solutions adopted by the present invention include:
[0005] A privacy data intersection method based on blockchain and oblivious transfer extension, characterized in that the following steps are performed between a first node and a second node that are connected through blockchain and transmit data to each other:
[0006] S1, read the first data set from the first node;
[0007] S2, generating a first symmetric encryption key according to the first data set, and transmitting the first symmetric encryption key in the form of a first matrix to the second node through oblivious transfer extension;
[0008] S3, reading the second data set from the second node;
[0009] S4, performing a first hash operation on the second data set to generate a local hash table, and using the second data set to generate data to be encrypted, where the data to be encrypted includes information about the second data set and information about the local hash table;
[0010] S5, using the first matrix to encrypt the data to be encrypted to generate data to be transmitted, and transmitting the data to be transmitted to the first node in the form of a second matrix through oblivious transmission extension;
[0011] S6. Perform a second hash operation on the first data set using the second matrix to generate a hash result, calculate and generate a first hash function based on the hash result, and send the result to the second node;
[0012] S7, using the local hash table to calculate and generate a second hash function;
[0013] S8. The second node compares the values of the first hash function and the second hash function to obtain an intersection result;
[0014] S9. Transmit the intersection result synchronously to the first node.
[0015] Furthermore, the blockchain connection includes:
[0016] Use a blockchain gateway to connect the blockchain node with the first node or the second node;
[0017] Use message subscription push mechanism to communicate between blockchain gateways;
[0018] Adopt smart contracts to trigger blockchain node operations.
[0019] Furthermore, the second hash function includes a sha256 function.
[0020] Furthermore, the step S6 comprises:
[0021] The first hash function is transmitted to the second node using the blockchain via an oblivious transfer extension.
[0022] Furthermore, the step S2 comprises:
[0023] Initialize a random bit matrix and randomly select a first bit vector;
[0024] The first symmetric encryption key is converted into a first matrix using the random bit matrix and the selected first bit vector.
[0025] Furthermore, the step S5 comprises:
[0026] randomly selecting a second bit vector different from the first bit vector;
[0027] The data to be transmitted is converted into a second matrix using the random bit matrix and the selected second bit vector.
[0028] The present invention also relates to a privacy data intersection system based on blockchain and oblivious transfer extension, which is characterized by comprising:
[0029] A first node is used to read a first data set;
[0030] The second node is used to read in the second data set;
[0031] A blockchain gateway, used to connect the blockchain node with the first node or the second node;
[0032] Blockchain nodes are used to execute operations based on smart contracts.
[0033] The present invention also relates to a computer-readable storage medium, characterized in that a computer program is stored on the storage medium, and the computer program implements the above method when executed by a processor.
[0034] The present invention also relates to an electronic device, characterized in that it comprises a processor and a memory;
[0035] The memory is used to store the first data set and the second data set;
[0036] The processor is used to execute the above method by calling the first data set and the second data set.
[0037] The present invention also relates to a computer program product, comprising a computer program and / or instructions, characterized in that the computer program and / or instructions implement the steps of the above method when executed by a processor.
[0038] The beneficial effects of the present invention are:
[0039] By adopting the privacy data intersection method and system based on blockchain and oblivious transmission extension described in the present invention, the privacy data intersection system based on alliance blockchain can calculate the intersection of first data sets held by different institutions without leaking the data of any party; the data does not leave the door and can be calculated, eliminating the possibility of data caching, data leakage, and data trafficking; the on-chain transmission method makes the calculation process of privacy data intersection safe, traceable, and controllable, achieving the effect of self-certification of security; compared with the traditional OT-based privacy data intersection performance is higher. Combining private set intersection (PSI) and blockchain, integrating the advantages of both, the self-certified secure PSI technology eliminates obstacles to multi-party data circulation, effectively protecting sensitive information from leakage during the query process, and realizing the full process of PSI verifiable, traceable, and auditable security self-certification; off-chain computing and on-chain transmission, outsourcing various computing tasks that were originally placed on the chain to off-chain nodes for processing, using blockchain as the data transmission channel for PSI between participants, thereby improving the data processing and privacy protection capabilities of blockchain; PSI performance optimization, based on the results of academic research such as oblivious transmission extension technology and oblivious pseudo-random functions, improves the performance of traditional private set intersection. Compared with traditional OT-based privacy intersection technology, the system reduces the computational complexity of off-chain computing nodes to O(n). At the same time, the communication volume of PSI is compressed within a limited number of times and is not constrained by the size of the first data set and the length of each data. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 The figure is a flow chart of the privacy data intersection method based on blockchain and oblivious transfer extension of the present invention.
[0041] Figure 2 This is a schematic diagram of the structure of the privacy data intersection system based on blockchain and oblivious transfer extension of the present invention.
[0042] Figure 3 Schematic diagram of the privacy set intersection (PSI) processing flow of the present invention.
[0043] Figure 4 FIG. 1 is a schematic diagram of the Oblivious Transfer Extension (OTE) processing flow of the present invention.
[0044] Figure 5 FIG. 1 is a schematic diagram of the oblivious pseudo-random function (OPRF) processing flow of the present invention.
[0045] Figure 6 Schematic diagram of the blockchain connection relationship of the present invention. DETAILED DESCRIPTION
[0046] In order to more clearly understand the content of the present invention, it will be described in detail with reference to the drawings and embodiments.
[0047] The first aspect of the present invention relates to a process of steps as follows Figure 1 The privacy data intersection method based on blockchain and oblivious transfer extension shown includes:
[0048] S1, read the first data set from the first node;
[0049] S2, generating a first symmetric encryption key according to the first data set, and transmitting the first symmetric encryption key in the form of a first matrix to the second node through oblivious transfer extension;
[0050] S3, reading the second data set from the second node;
[0051] S4, performing a first hash operation on the second data set to generate a local hash table, and using the second data set to generate data to be encrypted, where the data to be encrypted includes information about the second data set and information about the local hash table;
[0052] S5, using the first matrix to encrypt the data to be encrypted to generate data to be transmitted, and transmitting the data to be transmitted to the first node in the form of a second matrix through oblivious transmission extension;
[0053] S6. Perform a second hash operation on the first data set using the second matrix to generate a hash result, calculate and generate a first hash function based on the hash result, and send the result to the second node;
[0054] S7, using the local hash table to calculate and generate a second hash function;
[0055] S8. The second node compares the values of the first hash function and the second hash function to obtain an intersection result;
[0056] S9. Transmit the intersection result synchronously to the first node.
[0057] Specifically, Figure 3 The figure shows a typical schematic diagram of the privacy set intersection (PSI) processing flow of the present invention, in which the operator "&" represents XOR operation, and "&" represents AND operation. The main technologies involved in PSI calculation are oblivious transmission extension (OTE), oblivious pseudo-random function (OPRF), hash algorithm and encryption algorithm. The overall process is divided into three steps:
[0058] a1. The client and server read the data set A and data set B to be intersected from the data source module (from the database / from the file system). The client hashes the data and generates a hash table for subsequent comparison queries;
[0059] a2. Exchange secret keys through oblivious transfer extension. Used for the client to transmit data to the server by column (the client transmits matrices Tb and Ub to the server, and after OTE transmission, the server obtains the matrix Q); specifically, it is divided into two sub-steps. The server first transmits the symmetric encryption key to the client, and then the client transmits data to the server (the data has been symmetrically encrypted with the key);
[0060] a3. Privacy comparison based on random pseudo-random function. If the privacy comparison matches the same result, the intersection is hit, otherwise the intersection is not hit. Specifically, to compare whether the original data enc_A and enc_B are the same, we only need to compare the server's Is it the same as H(Tb[i]) of the client? Where H() is a hash function.
[0061] For oblivious transfer extensions, such as Figure 4 A typical processing flow is shown below, including:
[0062] The first step is to transmit a secret key based on asymmetric encryption (OT transmission process involves asymmetric encryption, which is costly). In this stage, the queried party sends a pair of matrix data: matrix T and matrix U ( T is a random bit matrix, R is a random bit vector), after OTE, the querying party obtains the symmetric key: matrix Secret;
[0063] The second step is to use the secret key to transmit large amounts of data based on symmetric encryption (the OT transmission process is symmetric encryption, which is low-cost).
[0064] In this stage, the querying party sends a pair of matrix data containing the information to be compared: matrix Tb, matrix Ub. After OTE, the queried party obtains matrix Q, which is used for calculation in the next stage.
[0065] The purpose of this is to use a small amount of "slow" (asymmetric encryption) transmission, combined with symmetric encryption, to achieve a large amount of "fast" inadvertent transmission. Another advantage of this extended transmission is that the number of transmissions is fixed. The number of OT executions will not increase significantly due to the length of the data content or the size of the first data set. Because each piece of data to be transmitted is hashed into a fixed-length data, each row of the matrix is such a piece of data. Each transmission is transmitted by column, ensuring that the number of OTE executions is controllable.
[0066] Specifically, in the first step, the queried party initializes a random bit matrix T and a random selection vector R. The size of T is m rows and k columns (m is the number of entries in the first data set of the queried party, and k is a fixed value, such as 128). R is a one-dimensional array of length m. The contents of T and R are both random 0s and 1s. Then, the matrix is calculated Then, T and U are sent to the querying party through OTE column by column. The querying party initializes a randomly selected bit vector S (a one-dimensional array of length k). The selected bits are input to OTE one by one to obtain the matrix Secret. For the i-th transmission:
[0067] When S[i]==0, Secret[i]=Ti;
[0068] When S[i]==1,
[0069] The above form can be written as a mathematical expression:
[0070]
[0071] From this mathematical expression, we can see
[0072]
[0073] Established.
[0074] The above matrix performs multiple OTEs by column, and there are as many transmissions as there are columns. This system merges these transmissions and optimizes them into one to reduce the communication time on the blockchain.
[0075] In the second step, the querying party transmits local data to the queried party column by column via OTE. The transmission content is matrix Tb and matrix Ub. Among them, Tb is a random matrix initialized locally, and the size of T is n rows and k1 columns (n is the number of the first local data set of the querying party, and k1 is a fixed number).
[0076] (r[i] is a piece of plaintext data to be compared)
[0077] The content input by the queried party to OTE is the selection vector R. After OTE, the queried party finally obtains the matrix Q. Taking the i-th OT as an example,
[0078] When Ri==0, Qi=Tb[i]
[0079] When Ri==1,
[0080] The above form can be written as a mathematical expression:
[0081]
[0082] From this mathematical expression, we can know
[0083]
[0084] For the encryption process, both Tb and Ub are symmetrically encrypted. The secret key is the matrix Secret. Specifically, in equation (1), the values on both sides of the equation are equal. The querying party uses the right side of the equation As the secret key, the local data is symmetrically encrypted, and the queried party decrypts the data using Ti on the left side of the equation. This achieves the effect of symmetric encryption.
[0085] Right now:
[0086] (Secret[i]) encrypts Tb
[0087] Encrypted Ub
[0088] The above matrix performs multiple OTEs by column. There are as many transmissions as there are columns. This paper combines these transmissions and optimizes them into one to reduce the communication time on the blockchain.
[0089] Oblivious pseudo-random function is a function that can map the original enc_A and enc_B to be compared to H(enc_A) and H(enc_B). To compare whether the original data enc_A and enc_B are the same, just compare H(enc_A) and H(enc_B). The data transmission involved in the comparison process uses oblivious transmission. In this description, the data to be compared is the encrypted enc_A and enc_B. If you want to compare whether they are equal, just compare the queried party's Is the query party's H(Tbi) the same as the query party's H(Tbi)? Where H() is a second hash function, such as sha256. From equation (2), we can see that Tbi and When the data from the queried party and the data from the querying party are equal in a comparison, the queried party calculates is equal to Ti calculated by the query party, and the intersection is hit. Figure 5 The figure shows a typical processing flow diagram of an oblivious pseudo-random function, where 1.1 and 1.2 are the second step of the oblivious transmission extension (the client uses the symmetric key Secret to encrypt the matrix Tb, Ub, and the server obtains the matrix Q after OTE transmission). After the server obtains Q, it calculates the value of each local data enc_A[i]: Then H(Qi The client traverses the local pre-calculated hash table and compares whether the corresponding H(Ti) appears in the list sent by the server. If so, it means At this time, the intersection is hit. Finally, all the data that hits the intersection is synchronized to the server.
[0090] In the process of comparing the results of the above client, it was originally necessary to compare the server-side data set of size n with the client-side data set of size m. The computational complexity is O(n^2). However, due to the use of the hash algorithm, the hash value of each value of the data set is calculated in advance. In the comparison, you only need to traverse the hash table on one side, and then calculate the location of the hash value of the new data, and directly compare whether the old hash value at the corresponding position is equal to the new hash value. In this way, the complexity of the comparison calculation can be reduced to O(n). In addition, in this system, the socket interactions of 3.1 and 3.2 are both 1 time, that is, after the overall calculation is completed, it is sent to the other end through the TCP-based socket connection and the blockchain network.
[0091] The implementation process of the above method is further described below through a specific example.
[0092] Taking the example of the customer interaction between inactive bank customers and third-party merchants, the execution steps include: 1) The bank client and the data partner server respectively deploy computing nodes locally, extract the user's data ID (such as ID number) from their own databases, and upload the data to the local computing node through the web page / database direct connection;
[0093] 2) Data ID of the user of the bank client: {110114201905061111,
[0094] 232321199012032222,230222200203223333}:
[0095] a. The computing node of the bank client uses the public hash function h to calculate the extracted user data and obtains the U hash table:
[0096] H(110114201905061111) H(232321199012032222) H(230222200203223333)
[0097] b. The data partner server generates a transmission key and pushes it to the blockchain account book through the computing node gateway. After the account book is synchronized, since the blockchain gateway of the computing node on the bank client side subscribes to the message of the data partner server, the gateway will transmit the key to the computing node of the bank client (all data is transmitted in this process). The bank client uses the key to transmit data to partner B via OTE, thus completing the OTE transmission part.
[0098] 3) After receiving the data matrix Q, the data partner server calculates the local data and transmits the data to Bank A;
[0099] a. Data ID of the user on the data partner's server: {110114201905061111,
[0100] 232321199012035588};
[0101] b. The computing node of data partner B uses the public hash function h to calculate each extracted user data to obtain enc_A[i], and calculates
[0102] Finally, the V set is obtained and sent to the bank client;
[0103] c. The bank client traverses the U table and checks whether the traversed value appears in the V set. If so, the intersection is hit and the intersection U': H(110114201905061111) is obtained. The corresponding original value 110114201905061111 is taken and saved as the intersection result;
[0104] d. Synchronize the intersection results to data partner B.
[0105] Another aspect of the present invention also relates to a privacy data intersection system based on blockchain and oblivious transmission extension, the structure of which is as follows: Figure 2 As shown, including:
[0106] A first node is used to read a first data set;
[0107] The second node is used to read in the second data set;
[0108] A blockchain gateway, used to connect the blockchain node with the first node or the second node;
[0109] Blockchain nodes are used to execute operations based on smart contracts.
[0110] By using this system, the above-mentioned operation processing method can be executed and the corresponding technical effects can be achieved.
[0111] On the whole, the system described in the present invention is divided into two parts: the computing nodes of the participating institutions and the blockchain system. The computing nodes are outside the blockchain. They are responsible for executing the loading of data sets, local complex calculations of privacy set intersection, and result feedback; the blockchain system includes a blockchain front-end gateway (for docking off-chain data) and a blockchain underlying platform (consensus module, smart contract, accounting module, node management, etc.). The computing nodes are docked with the blockchain system through the blockchain gateway. The entire process of privacy set intersection requires repeated data communication between the computing nodes involved in the intersection, and these communications are completed through the blockchain transmission via the blockchain gateway. In this way, a privacy set intersection system is formed that performs complex calculations off-chain and completes data communication and data traceability on-chain. By combining privacy computing and blockchain in this way, the advantages of both are integrated to achieve the effect of "1+1>2".
[0112] In terms of privacy computing. First, privacy computing mainly solves the problem of data privacy protection in the joint computing link, but from the perspective of the entire chain of data circulation, whether the participants have the risk of subjective evil, whether the data content is complete and reliable, etc. will bring risks to data privacy and availability. Blockchain can solve the problem of the correctness of data on the chain, such as data cannot be tampered with and can be traced after being uploaded to the chain. At the same time, it can monitor the situation of data interaction and promptly discover and prevent abnormal collision attack behaviors. Secondly, since the privacy and security capabilities of data circulation technology are difficult to quantify and evaluate, data circulation services are mostly presented in the form of black boxes, which is difficult to prove security. It is difficult for demanders to distinguish the survival of the fittest, which hinders the development and application of this technology. However, the integration of blockchain makes the original black box privacy computing process transparent and visible, achieves the effect of self-certification of security, and realizes the verifiability, traceability and auditability of the entire data sharing process. It effectively alleviates the concerns of this technology in business applications and has regulatory interpretability.
[0113] In terms of blockchain, nodes in the chain share ledgers, making the on-chain ledger data visible to the alliance. Although the transparency of data has been improved, it has also brought about the problem of data privacy protection. Some data providers in the blockchain may not want all their data to be public, such as sensitive data such as participant identity, transaction amount, business contract, etc., which includes not only personal information but also various business data in application scenarios. The strong encryption characteristics of privacy computing ensure the security of ledger data, and the intermediate data is only available between the two computing nodes of the interaction. Although on-chain data can be protected by public key encryption, the characteristics of OTE bring a higher level of protection to the data. The same data contains randomness each time it is encrypted, so the encrypted value is different and difficult for the two parties to crack. In addition, outsourcing privacy computing processing to off-chain nodes can circumvent the problem of insufficient computing processing capabilities of blockchain.
[0114] like Figure 6The diagram shows the connection relationship of the blockchain of the system of the present invention. Multiple interactions are required between computing nodes, and these interactions are completed through the blockchain. And the final intersection result (only visible to the participants seeking intersection) is also on the chain. The combination of computing nodes and blockchain is completed through the blockchain gateway, and the configuration relationship between them is 1:1. Flexible configuration is supported, that is, computing nodes can be configured for participants on the chain who need to seek intersection of privacy sets. For blockchain nodes that have no computing needs temporarily, computing nodes are optional. As a result, the communication between computing nodes is converted to communication between blockchain gateways. For two gateways, a message subscription push mechanism can be adopted, and communication only needs to publish two-way subscriptions, that is, the content of gateway 1 publishing subscriptions is the message of gateway 2, and the content of gateway 2 publishing subscriptions is the message of gateway 1. When computing node 1 wants to transmit data to computing node 2, computing node 1 calls the set method of the smart contract through gateway 1 to store the data in the blockchain account book, and the account book data is synchronized to node 2. Then the relevant subscription message is pushed to computing node 2 through gateway 2. Among them, the interaction mode between computing nodes and gateways is Socket communication based on TCP protocol. And the blockchain gateway data is stored in the blockchain account book through a specific smart contract trigger.
[0115] The blockchain system structure is divided into two layers: upper and lower layers
[0116] The upper layer is the application layer, which includes identity management, ledger processing, transaction management and smart contracts.
[0117] The next layer is the core blockchain implementation, including member management, consensus services, distributed ledgers, sorting services, P2P networks, chain code services, security and encryption services, etc.
[0118] 1) Application layer perspective
[0119] Identity management: Provides identity management, privacy, confidentiality and auditing functions for blockchain networks, ensuring the security of platform access;
[0120] Ledger management: reading and writing data. Authorized users can query ledger data using a variety of methods.
[0121] Transaction management: Submit transaction proposals. After the application collects endorsed transactions, it sends them to the sorting service node through broadcasting. After sorting, a block is generated.
[0122] Smart contract: processes the business logic agreed upon by network members, separate from the underlying ledger, and achieves separation of logic and data.
[0123] 2) Bottom Angle
[0124] Member management: Provides services for identity management at the application layer to ensure the security of platform access;
[0125] Consensus service: responsible for consensus management between nodes, distributed computing of ledgers, storage of ledgers, and implementation of P2P protocol functions between nodes. It is the core component of blockchain and provides underlying support for the main functions of blockchain.
[0126] Chaincode service: The execution of smart contracts at the application layer depends on the implementation of the underlying chaincode service. Chaincode service provides a secure execution environment for smart contracts. It ensures the security of the execution process and the isolation of user data, and protects the privacy of user data.
[0127] Security and cryptographic services: Use BCCSP (blockchain cryptographic service provider) to implement key generation, hash operations, signatures and signature verification, encryption and decryption, etc.
[0128] Event flow: runs through other components and provides technical implementation for asynchronous communication between components.
[0129] An embodiment of the present invention also provides a computer-readable storage medium capable of implementing all the steps in the method in the above embodiment, wherein a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, all the steps in the method in the above embodiment are implemented.
[0130] An embodiment of the present invention also provides an electronic device for executing the above method. As an implementation device of the method, the electronic device at least has a processor and a memory, and in particular, the memory stores data required for executing the method and related computer programs, such as a first data set and a second data set, etc., and the processor calls the data and program in the memory to execute all steps of the implementation method and obtains the corresponding technical effect.
[0131] Preferably, the electronic device may include a bus architecture, the bus may include any number of interconnected buses and bridges, and the bus will include various circuits linked together by one or more processors and memories. The bus may also link together various other circuits such as peripherals, voltage regulators, and power management circuits, which are all well known in the art and are therefore not further described herein. The bus interface provides an interface between the bus and the receiver and transmitter. The receiver and transmitter may be the same component, i.e., a transceiver, providing a unit for communicating with various other systems over a transmission medium. The processor is responsible for managing the bus and general processing, while the memory may be used to store data used by the processor when performing operations.
[0132] In addition, the electronic device may further include components such as a communication module, an input unit, an audio processor, a display, and a power supply. The processor (or controller, operation control) used may include a microprocessor or other processor device and / or a logic device, which receives input and controls the operation of various components of the electronic device; the memory may be one or more of a cache, a flash memory, a hard drive, a removable medium, a volatile memory, a non-volatile memory, or other suitable devices, which may store the above-mentioned related data information, and may also store a program for executing related information, and the processor may execute the program stored in the memory to realize information storage or processing, etc.; the input unit is used to provide input to the processor, for example, it may be a key or a touch input device; the power supply is used to provide power to the electronic device; the display is used to display display objects such as images and text, for example, it may be an LCD display. The communication module is a transmitter / receiver that sends and receives signals via an antenna. The communication module (transmitter / receiver) is coupled to the processor to provide input signals and receive output signals, which may be the same as the case of a conventional mobile communication terminal. Based on different communication technologies, multiple communication modules may be provided in the same electronic device, such as a cellular network module, a Bluetooth module and / or a wireless local area network module, etc. The communication module (transmitter / receiver) is also coupled to a speaker and a microphone via an audio processor to provide an audio output via the speaker and receive an audio input from the microphone, thereby realizing a common telecommunication function. The audio processor may include any suitable buffer, decoder, amplifier, etc. In addition, the audio processor is also coupled to a central processor, so that recording can be performed on the machine through the microphone, and the sound stored on the machine can be played through the speaker.
[0133] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0134] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A system that specifies the functions of a box or multiple boxes.
[0135] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction system, which is implemented in the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0136] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps of the functions specified in a box or multiple boxes. Although the preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they know the basic creative concept. Therefore, the attached claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present invention.
[0137] The above is only a preferred specific embodiment of the present invention, but the protection scope of the present invention is not limited thereto. Any changes or substitutions that can be easily thought of by a person skilled in the art within the technical scope disclosed by the present invention should be included in the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. A privacy data intersection method based on blockchain and oblivious transfer extension, characterized in that: The following steps are performed between the first node and the second node connected through the blockchain and transmitting data to each other: S1, read the first data set from the first node; S2, generating a first symmetric encryption key according to the first data set, and transmitting the first symmetric encryption key in the form of a first matrix to the second node through oblivious transfer extension; S3, reading the second data set from the second node; S4, performing a first hash operation on the second data set to generate a local hash table, and using the second data set to generate data to be encrypted, where the data to be encrypted includes information about the second data set and information about the local hash table; S5, using the first matrix to encrypt the data to be encrypted to generate data to be transmitted, and transmitting the data to be transmitted to the first node in the form of a second matrix through oblivious transmission extension; S6. Perform a second hash operation on the first data set using the second matrix to generate a hash result, calculate and generate a first hash function based on the hash result, and send the result to the second node; S7, using the local hash table to calculate and generate a second hash function; S8. The second node compares the values of the first hash function and the second hash function to obtain an intersection result; S9, transmitting the intersection result to the first node synchronously; The step S2 comprises: Initialize a random bit matrix and randomly select a first bit vector; converting the first symmetric encryption key into a first matrix using the random bit matrix and the selected first bit vector; The step S5 comprises: randomly selecting a second bit vector different from the first bit vector; The data to be transmitted is converted into a second matrix using the random bit matrix and the selected second bit vector.
2. The method according to claim 1, characterized in that The blockchain connection includes: Use a blockchain gateway to connect the blockchain node with the first node or the second node; Use message subscription push mechanism to communicate between blockchain gateways; Adopt smart contracts to trigger blockchain node operations.
3. The method according to claim 1, characterized in that The second hash function includes a sha256 function.
4. The method according to claim 1, characterized in that The step S6 includes: using the blockchain to transmit the first hash function to the second node through an oblivious transfer extension.
5. A privacy data intersection system based on blockchain and oblivious transfer extension, characterized in that: include: A first node is configured to read a first data set, generate a first symmetric encryption key according to the first data set, and transmit the first symmetric encryption key to a second node in the form of a first matrix through oblivious transfer extension, wherein a random bit matrix is initialized and a first bit vector is randomly selected, and the first symmetric encryption key is converted into the first matrix using the random bit matrix and the selected first bit vector; The second node is used to read in a second data set, perform a first hash operation on the second data set to generate a local hash table, and use the second data set to generate data to be encrypted, where the data to be encrypted includes information about the second data set and information about the local hash table; A blockchain gateway, used to connect the blockchain node with the first node or the second node; A blockchain node is used to perform operations according to a smart contract. Specifically, the first matrix is used to encrypt the data to be encrypted to generate the data to be transmitted, and the data to be transmitted is transmitted to the first node in the form of a second matrix through the oblivious transmission extension; the second matrix is used to perform a second hash operation on the first data set to generate a hash result, and a first hash function is calculated and generated according to the hash result and sent to the second node; The system also includes: using a local hash table to calculate and generate a second hash function, the second node compares the values of the first hash function and the second hash function to obtain an intersection result, and transmits the intersection result to the first node synchronously.
6. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.
7. An electronic device, characterized in that: including a processor and a memory; The memory is used to store the first data set and the second data set; The processor is configured to execute the method according to any one of claims 1 to 4 by calling the first data set and the second data set.
8. A computer program product comprising a computer program and / or instructions, characterized in that: When the computer program and / or the instructions are executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.
Citation Information
Patent Citations
Privacy set intersection method and system
CN114401080A
Privacy protection list query method and system, medium, equipment and terminal
CN115396148A