Multi-party data privacy intersection solving method and system

Through the combination of SM2 encryption technology and Bloom filter, the problems of complex key management, large computing overhead and insufficient privacy protection in multi-party data interaction are solved, and safe and efficient data intersection calculation is achieved.

CN120454993APending Publication Date: 2025-08-08GUIZHOU DATABAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510723500.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-31
Publication Date
2025-08-08

AI Technical Summary

Technical Problem

The existing encryption technology has problems such as complex key management, large computing overhead and insufficient privacy protection in multi-party data interactions, and it is difficult to accurately calculate the intersection results while ensuring data privacy.

Method used

The SM2 elliptic curve-based encryption technology and Shamir secret sharing scheme are used to generate a shared key, and the data hashing is used to process and encrypt it using a Bloom filter. The cipher text is aggregated through a homomorphic encryption algorithm, and the intersection is finally calculated by the designated participants to ensure that data privacy is not leaked.

Benefits of technology

It realizes safe and efficient calculation of intersections during multi-party data interaction, protects data privacy, improves computing efficiency and meets the requirements of security, autonomous and controllable cyberspace.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120454993A_ABST
    Figure CN120454993A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-party data privacy intersection solving method and system, and belongs to the field of data security. In the first part, an SM2 encryption technology based on an elliptic curve is adopted, and a shared key is generated and distributed through a Shamir secret sharing scheme; and the second part is based on the Bloom filter, each participant performs hash processing on the own data set by using the Bloom filter, and encrypts the generated Bloom filter by using the joint public key. And the third part is based on addition homomorphism of a designed homomorphic encryption algorithm, and the data are aggregated to form a combined ciphertext. And the fourth part is joint decryption and intersection calculation. According to the method, the elliptic curve SM2 encryption and the Bloom filter technology are combined, it is ensured that in the multi-party data interaction process, data of different participants can be subjected to intersection calculation in a safe mode, it is ensured that data privacy is not leaked, and therefore the technical problem of data privacy and safety protection in the multi-party data interaction process is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method and system for finding intersection of multi-party data privacy, belonging to the technical field of data security. Background Art

[0002] In today's data-intensive society, data security and privacy protection have become critical issues in the information technology field, particularly in multi-party data interactions. Traditional encryption technologies, such as SSL (Secure Sockets Layer), AES (Advanced Encryption Standard), and RSA (Rivest-Shamir-Adleman), are commonly used to protect data security during transmission and storage. However, these technologies have significant limitations in multi-party data interactions. First, these encryption methods face the complexity of key management. Especially in multi-party scenarios, each participant needs to properly manage and protect their keys, and even the slightest negligence can lead to data leaks. Second, traditional encryption methods have high computational overhead, especially when processing large amounts of data. This overhead significantly increases the burden on the system. More importantly, traditional encryption technologies struggle to effectively address privacy protection issues in multi-party data interactions. When calculating the intersection of multi-party data, accurately calculating the intersection while ensuring the privacy of each participant remains a technical challenge.

[0003] As a probabilistic data structure, Bloom filters enable efficient set operations and are widely used in scenarios such as deduplication and set operations. However, the false positive problem of Bloom filters and their insufficient privacy protection capabilities in multi-party data interaction scenarios have limited their application in data privacy protection. To address these shortcomings, schemes based on homomorphic encryption have gained increasing attention in recent years. Homomorphic encryption allows operations to be performed on encrypted data without decryption, providing a new technical approach for multi-party privacy protection. However, existing homomorphic encryption schemes often have high computational overhead, making them difficult to scale in practical applications. Furthermore, key sharing and management are critical issues in multi-party data interaction. Improper key management can compromise data security. Therefore, striking a balance between data privacy protection and computational efficiency, and designing efficient and secure multi-party data interaction schemes, remains a hot topic and a challenge in current research. Summary of the Invention

[0004] The technical problem to be solved by the present invention is to provide a method and system for finding the intersection of multi-party data privacy to overcome the deficiencies of the above-mentioned prior art.

[0005] In order to solve the above technical problems, the technical solutions adopted by the present invention are as follows: A method for finding the intersection of multiple data privacy, comprising the following steps: System initialization and parameter negotiation: Using elliptic curve-based SM2 encryption technology and related parameters, the Shamir secret sharing scheme is used to generate and distribute joint private keys, ensuring that each participant holds only a partial share of the private key to prevent private key leakage. Data preprocessing and encryption: Each participant uses a Bloom filter to hash their own dataset and encrypt the Bloom filter using a joint public key. The encrypted Bloom filter is sent to the designated participant for subsequent intersection calculations. Ciphertext aggregation: A designated participant receives the encrypted Bloom filters of other participants and aggregates these data into a combined ciphertext using homomorphic encryption. (4) Joint decryption of aggregated ciphertext and data intersection: Each participant uses its private key share to jointly decrypt the combined ciphertext. The designated participant finally calculates the intersection of each participant's data set, while ensuring that data privacy is effectively protected throughout the entire calculation process.

[0006] From S1 to S4 are the first stage system initialization and parameter negotiation steps of the present invention: S1: The middleware is pre-deployed on the host of the designated participant, and the clients of other participants are deployed on the client's host; the middleware includes a key generation module, a key share distribution module, a data ciphertext reading module, a network communication module, a ciphertext aggregation module, a share private key calculation module and a share decryption module; the clients of other participants include a data encryption module, a share private key calculation module and a network communication module, wherein the interaction between the middleware of the designated participant and the clients of other participants is carried out through the network communication modules of both parties.

[0007] S2: The middleware of the designated participant agrees with other participant clients on the false positive error rate e of the Bloom filter and the maximum amount of data for t participants is N=V max , calculate the expected m and k (m is the number of bits in the binary vector, k is the number of hash functions), and construct E based on the relevant parameters of the national secret SM2 as a finite field F p The elliptic curve defined above, It is the qth order base point of the elliptic curve, has a public parameter λ, and p is a large prime number.

[0008] S3: The agreed relevant parameters need to be used for the key generation module, key share distribution module, data ciphertext reading module, network communication module, ciphertext aggregation module, share private key calculation module and share decryption module in the middleware of the specified participant; and the data encryption module, share private key calculation module and network communication module in the client of other participants.

[0009] S4: The key generation module of the designated participant must first be Randomly select a number β as the private key and calculate the public key , the joint public key Use the network communication module to send it to other participants. Then follow Shamir's secret sharing scheme to send the joint private key To share shares: First, select a random polynomial ,in , and then for each other party Generate a shared private key , destroy the private key after the distribution is completed (Safety can be guaranteed if it is destroyed immediately after distribution is completed).

[0010] S5: Each participant receives the public key through the network communication module and shared private key .

[0011] From S6 to S9 is the second stage of data preprocessing and encryption steps of the present invention. The purpose of this stage is to preprocess the data of each other participant and encrypt the data using the SM2 threshold homomorphic encryption algorithm: S6: Other participants’ clients import the data that need to be privately intersected, that is, other participants Pi import the dataset Si = [ , ,... ,... ], the data encryption modules of other participants initialize the Bloom filter according to the Bloom filter size m and generate an empty Bloom filter , and then use the k hash functions of the Bloom filter to Elements in Hash to get the index value ,in Representing a collection size; S7: If the data encryption module of other participants Then The jth position is 1, that is, , if the position is already 1, no operation is performed, including ; S8: The data encryption module of the other participant’s client randomly selects a random number , using joint public key PK encryption , there is encrypted ciphertext ,in in ; S9: Other participating clients will Sent to the designated participant middleware through the network communication module.

[0012] The third stage of the present invention, from S10 to S13, is ciphertext aggregation. The purpose of this stage is to use the data ciphertext sent by each participant to perform ciphertext aggregation operation using the homomorphism of the designed SM2 threshold homomorphic encryption algorithm: S10: The designated participant P1 receives the , and specify that the participant P1 middleware has its own data set ; S11: The designated participant P1 middleware utilizes the ciphertext aggregation module to utilize the k hash functions of the Bloom filter calculate Elements in Hash to get the index value set , using these hash values to obtain the ciphertext from other participants Extract the relative position of the ciphertext, such as: element Obtained through hash function ,Will No. Position ciphertext value Extract it and get .

[0013] S12: The ciphertext aggregation module of the designated participant P1 middleware uses the homomorphism of the encryption algorithm to convert the elements The corresponding k(n-1) ciphertexts Add together to get the combined ciphertext ,have ,in , like , it indicates that other participants Contains elements .

[0014] S13: The designated participant then uses the ciphertext aggregation module to obtain the ciphertext set , and then use the network communication module to get the aggregated ciphertext Send to other parties.

[0015] From S14 to S17 is the fourth stage of the present invention, which is the joint decryption and data intersection of the aggregated ciphertext. The purpose of this stage is to use the private key shares of each participant to perform joint decryption: S14: Other participating clients obtain the aggregated ciphertext through the network communication module ,in ; S15: Other participants use their shared secret shares In the share calculation module, ,in , Represents the number of joint decryption threshold participants, where we can get , the calculated Sent to designated participant P1; S16: The middleware of the designated participant receives the Then use its secret sharing share calculate, . Reuse the received calculate ; S17: The middleware of the designated participant uses the BSGS algorithm to calculate and recover a single plaintext in the ciphertext set. , designated participants Initialize an empty collection in the share decryption module ,judge Is it , if , then the corresponding element Put into collection Otherwise, for the set Do nothing and output the collection , which is the intersection of all participants’ private input sets ,in Indicates the number of participants.

[0016] S18: The designated participant middleware server uses the network communication module to obtain the final privacy intersection set result. Sent to every other party.

[0017] Beneficial effects: Compared with the existing technology, the present invention combines elliptic curve SM2 encryption and Bloom filter technology to ensure that in the process of multi-party data interaction, the data of different participants can be calculated in a secure manner and the data privacy is not leaked, thereby solving the technical problems of data privacy and security protection in the process of multi-party data interaction.

[0018] The present invention mainly includes four parts: the first part adopts SM2 encryption technology based on elliptic curves, and generates and distributes shared keys through Shamir's secret sharing scheme to ensure that each participant only holds part of the private key, avoiding the risk of single-point leakage. The second part is based on the Bloom filter. Each participant uses the Bloom filter to hash its own data set and encrypts the generated Bloom filter using a joint public key. The encrypted Bloom filter is then sent to the designated participant. The third part is based on the additive homomorphism of the designed homomorphic encryption algorithm. The designated participant receives the encrypted Bloom filters of other participants and aggregates these data into a combined ciphertext through the homomorphic encryption characteristics. The fourth part is joint decryption and intersection calculation, that is, all participants use the shared secret share to jointly decrypt the combined ciphertext, and the designated participant finally calculates the intersection of each party's data set to ensure data privacy and security throughout the process.

[0019] Compared with the current mainstream two-party privacy set intersection based on RSA and Diffie-Hellman algorithms, the present invention uses secure multi-party computing to improve the situation to multiple participants. Compared with the currently designed threshold Exp-ElGamal and threshold Paillier schemes, the SM2 threshold encryption used in the present invention can achieve higher efficiency and meet the requirements of my country's independent and controllable cyberspace security. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 It is a schematic diagram of the overall system architecture of the present invention; Figure 2 It is a data flow diagram of the present invention. DETAILED DESCRIPTION

[0021] In order to further illustrate the technical means and effects adopted by the present invention to achieve the predetermined purpose of the invention, the specific implementation methods of the present invention are described in detail below with reference to the accompanying drawings and preferred embodiments.

[0022] The present invention is achieved by adopting the following technical solution: A method for finding the intersection of multiple data privacy, comprising the following steps: From S1 to S4 are the first stage system initialization and parameter negotiation steps of the present invention: S1: The middleware is pre-deployed on the host of the designated participant, and the clients of other participants are deployed on the client's host. The middleware includes a key generation module, a key share distribution module, a data ciphertext reading module, a network communication module, a ciphertext aggregation module, a share private key calculation module, and a share decryption module. The clients of other participants include a data encryption module, a share private key calculation module, and a network communication module. The interaction between the middleware of the designated participant and the clients of other participants is carried out through their respective network communication modules. The overall architecture of the relevant modules of the system is shown in the attached manual. Figure 1 As shown; S2: The middleware of the designated participant agrees with other participant clients on the false positive error rate e of the Bloom filter and the maximum amount of data for t participants is N=V max , calculate the expected m and k (m is the number of bits in the binary vector, k is the number of hash functions), and construct E based on the relevant parameters of the national secret SM2 as a finite field F p The elliptic curve defined above, It is the qth order base point of the elliptic curve, has a public parameter λ, and p is a large prime number.

[0023] S3: The agreed relevant parameters need to be used for the key generation module, key share distribution module, data ciphertext reading module, network communication module, ciphertext aggregation module, share private key calculation module and share decryption module in the middleware of the specified participant; and the data encryption module, share private key calculation module and network communication module in the client of other participants.

[0024] S4: The key generation module of the designated participant must first be Randomly select a number β as the private key and calculate the public key , the joint public key Use the network communication module to send it to other participants. Then follow Shamir's secret sharing scheme to send the joint private key To share shares: First, select a random polynomial ,in , and then for each other party Generate a shared private key , destroy the private key after the distribution is completed (Safety can be guaranteed if it is destroyed immediately after distribution is completed) S5: Each participant receives the public key through the network communication module and shared private key .

[0025] From S6 to S9 is the second stage of data preprocessing and encryption steps of the present invention. The purpose of this stage is to preprocess the data of each other participant and encrypt the data using the SM2 threshold homomorphic encryption algorithm: S6: Other participants’ clients import the data that need to be privately intersected, that is, other participants Pi import the dataset Si=[ , ,... ,... ], the data encryption modules of other participants initialize the Bloom filter according to the Bloom filter size m and generate an empty Bloom filter , and then use the k hash functions of the Bloom filter to Elements in Hash to get the index value ,in Representing a collection size; S7: If the data encryption module of other participants Then The jth position is 1, that is, , if the position is already 1, no operation is performed, including ; S8: The data encryption module of the other participant’s client randomly selects a random number , using joint public key PK encryption , there is encrypted ciphertext ,in ,in ; S9: Other participating clients will Sent to the designated participant middleware through the network communication module.

[0026] The third stage of the present invention, from S10 to S13, is ciphertext aggregation. The purpose of this stage is to use the data ciphertext sent by each participant to perform ciphertext aggregation operation using the homomorphism of the designed SM2 threshold homomorphic encryption algorithm: S10: The designated participant P1 receives the , and specify that the participant P1 middleware has its own data set ; S11: The designated participant P1 middleware utilizes the ciphertext aggregation module to utilize the k hash functions of the Bloom filter calculate Elements in Hash to get the index value set , using these hash values to obtain the ciphertext from other participants Extract the relative position of the ciphertext, such as: element Obtained through hash function ,Will No. Position ciphertext value Extract it and get .

[0027] S12: The ciphertext aggregation module of the designated participant P1 middleware uses the homomorphism of the encryption algorithm to convert the elements The corresponding k(n-1) ciphertexts Add together to get the combined ciphertext ,have in, like , it indicates that other participants Contains elements ; S13: The designated participant then uses the ciphertext aggregation module to obtain the ciphertext set , and then use the network communication module to get the aggregated ciphertext Send to other parties.

[0028] From S14 to S17 is the fourth stage of the present invention, which is the joint decryption and data intersection of the aggregated ciphertext. The purpose of this stage is to use the private key shares of each participant to perform joint decryption: S14: Other participating clients obtain the aggregated ciphertext through the network communication module ,in ; S15: Other participants use their shared secret shares In the share calculation module, ,in , Represents the number of joint decryption threshold participants, where we can get , the calculated Sent to designated participant P1; S16: The middleware of the designated participant receives the Then use its secret sharing share calculate, . Reuse the received calculate ; S17: The middleware of the designated participant uses the BSGS algorithm to calculate and recover a single plaintext in the ciphertext set. , designated participants Initialize an empty collection in the share decryption module ,judge Is it , if , then the corresponding element Put into collection Otherwise, for the set Do nothing and output the collection , which is the intersection of all participants’ private input sets ,in Indicates the number of participants.

[0029] S18: The designated participant middleware server uses the network communication module to obtain the final privacy intersection set result. Send to each other participant, the overall flow chart is as follows Figure 2 shown.

[0030] The above description is merely a preferred embodiment of the present invention and does not constitute any form of limitation to the present invention. Although the present invention has been disclosed as above in terms of a preferred embodiment, it is not intended to limit the present invention. Any person skilled in the art can, without departing from the scope of the technical solution of the present invention, make some changes or modifications to equivalent embodiments using the technical contents disclosed above. However, any brief modifications, equivalent changes and modifications made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solution of the present invention are still within the scope of the technical solution of the present invention.

Claims

1. A method for finding intersection of multi-party data privacy, characterized in that: The following steps are involved: (1) System initialization and parameter negotiation: Using elliptic curve-based SM2 encryption technology and related parameters, the joint private key is generated and distributed through the Shamir secret sharing scheme to ensure that each participant only holds a partial share of the private key to prevent private key leakage; (2) Data preprocessing and encryption: Each participant uses a Bloom filter to hash its own data set and encrypts the Bloom filter using a joint public key. The encrypted Bloom filter is sent to the designated participant for subsequent intersection calculation. (3) Ciphertext aggregation: The designated participant receives the encrypted Bloom filters of other participants and aggregates these data to form a combined ciphertext through homomorphic encryption. (4) Joint decryption of aggregated ciphertext and data intersection: Each participant uses its private key share to jointly decrypt the combined ciphertext. The designated participant finally calculates the intersection of each participant's data set, while ensuring that data privacy is effectively protected throughout the entire calculation process.

2. A method for finding intersection of multi-party data privacy according to claim 1, characterized in that: The step (1) includes the following specific steps: S1: The middleware is pre-deployed on the designated participant's host, and the other participant's clients are deployed on the client's host. The middleware includes a key generation module, a key share distribution module, a data ciphertext reading module, a network communication module, a ciphertext aggregation module, a share private key calculation module, and a share decryption module. The other participant's clients include a data encryption module, a share private key calculation module, and a network communication module. The interaction between the designated participant's middleware and the other participant's clients is carried out through their respective network communication modules. S2: The middleware of the designated participant agrees with the other participant clients on the false positive error rate e of the Bloom filter and the maximum amount of data for t participants is N=V max , calculate the expected m and k, m is the number of bits in the binary vector, k is the number of hash functions, and construct E based on the relevant parameters of the national secret SM2 as the finite field F p The elliptic curve defined above, It is the qth order base point of the elliptic curve, has a public parameter λ, and p is a large prime number; S3: The agreed parameters are used for the key generation module, key share distribution module, data ciphertext reading module, network communication module, ciphertext aggregation module, share private key calculation module, and share decryption module in the middleware of the specified participant; and for the data encryption module, share private key calculation module, and network communication module in the client of the other participant. S4: The key generation module of the designated participant must first be Randomly select a number β as the private key and calculate the public key , the joint public key Use the network communication module to send it to other participants, and then use Shamir's secret sharing scheme to send the joint private key To share the shares: First, a random polynomial is chosen ,in , and then for each other party Generate a shared private key , destroy the private key after the distribution is completed ; S5: Each participant receives the public key through the network communication module and shared private key .

3. The method for finding intersection of multiple data privacy according to claim 1, characterized in that: The step (2) includes the following specific steps: S6: Other participants’ clients import the data that need to be privately intersected, that is, other participants Pi import the dataset Si = [ , ,... ,... ], the data encryption modules of other participants initialize the Bloom filter according to the Bloom filter size m and generate an empty Bloom filter , and then use the k hash functions of the Bloom filter to Elements in Hash to get the index value ,in Representing a collection size; S7: If the data encryption module of other participants Then The jth position is 1, that is, , if the position is already 1, no operation is performed, including ; S8: The data encryption module of the other participant’s client randomly selects a random number , using joint public key PK encryption , there is encrypted ciphertext ,in ,in ; S9: Other participating clients will Sent to the designated participant middleware through the network communication module.

4. The method for finding intersection of multiple data privacy according to claim 1, characterized in that: The step (3) includes the following specific steps: S10: The designated participant P1 receives the , and specify that the participant P1 middleware has its own data set ; S11: The designated participant P1 middleware utilizes the ciphertext aggregation module to utilize the k hash functions of the Bloom filter calculate Elements in Hash to get the index value set , using these hash values to obtain the ciphertext from other participants Extract the relative position of the ciphertext; S12: The ciphertext aggregation module of the designated participant P1 middleware uses the homomorphism of the encryption algorithm to convert the elements The corresponding k(n-1) ciphertexts Add together to get the combined ciphertext ,have in , like , it indicates that other participants Contains elements ; S13: The designated participant uses the ciphertext aggregation module to obtain the ciphertext set , and then use the network communication module to get the aggregated ciphertext Send to other parties.

5. The method for finding intersection of multiple data privacy according to claim 1, characterized in that: The step (4) includes the following specific steps: S14: Other participating clients obtain the aggregated ciphertext through the network communication module ,in ; S15: Other participants use their shared secret shares In the share calculation module, ,in , Represents the number of joint decryption threshold participants, and we get , the calculated Sent to designated participant P1; S16: The middleware of the designated participant receives the Then use its secret sharing share calculate, , reuse the received calculate ; S17: The middleware of the designated participant uses the BSGS algorithm to calculate and recover a single plaintext in the ciphertext set. , designated participants Initialize an empty collection in the share decryption module ,judge Is it , if , then the corresponding element Put into collection Otherwise, for the set Do nothing and output the collection , which is the intersection of the private input sets of all participants ,in Indicates the number of participants; S18: The designated participant middleware server uses the network communication module to obtain the final privacy intersection set result. Sent to every other party.

6. A multi-party data privacy intersection system, characterized by: It includes middleware and database deployed on the designated participant's host, and clients and database deployed on other participant's hosts; the middleware deployed on the designated participant's host includes a key generation module, a key share distribution module, a data ciphertext reading module, a network communication module, a ciphertext aggregation module, a share private key calculation module and a share decryption module; the client deployed on other participant's host includes a data encryption module, a share private key calculation module and a network communication module, and the middleware of the designated participant and the clients of other participants interact through their respective network communication modules.