Privacy intersection method based on SM9 and zero knowledge proof

Through the combination of SM9 and zero-knowledge proof technology, efficient calculation and low-cost communication of privacy request method are realized, solving the problems of high complexity and fraud in the existing technology, and improving data transmission efficiency.

CN119109599AActive Publication Date: 2024-12-10GUANGDONG CERTIFICATE AUTHORITY

Patent Information

Application Number
CN202411444731.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-16
Publication Date
2024-12-10
Estimated Expiration
2044-10-16

AI Technical Summary

Technical Problem

The existing privacy submission method has high computational complexity, high communication costs and cannot confirm whether the participants have fraud problems.

Method used

Using the privacy interception method based on SM9 and zero-knowledge proof, the encrypted privacy interception information is decrypted through the client's private key and the encryption and decryption key of the interception object, and the hash table interception algorithm is used to verify the information intersection to ensure the information authenticity and integrity.

Benefits of technology

It effectively reduces the computational complexity and communication costs of privacy requests, identifies whether participants submit false information, and improves data transmission efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119109599A_ABST
    Figure CN119109599A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of data transmission, and discloses a privacy intersection method based on SM9 and zero knowledge proof, which comprises the following steps: based on a privacy intersection request, sending a first identity identification number of a client, and after a private key and SM9 key management parameters corresponding to the first identity identification number are received, sending the first identity identification number to the client; after generating and encrypting a first encryption and decryption key and a first public key, sending the first encryption and decryption key and the first public key to an intersection object, after receiving encrypted second privacy intersection information and an encrypted second encryption and decryption key of the intersection object, decrypting the encrypted second privacy intersection information by using a private key and the encrypted second encryption and decryption key, and sending the decrypted second privacy intersection information to the intersection object. Second privacy intersection information of the intersection object is obtained, and after the second privacy intersection information is verified through a zero-knowledge proof technology, an intersection of the first privacy intersection information and the second privacy intersection information is obtained by using a hash table intersection algorithm; through the privacy intersection method, the security of privacy intersection is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of data transmission, and in particular, to a privacy intersection method based on SM9 and zero-knowledge proof. Background Art

[0002] As an advanced cryptographic technology, the core value of Proprietary Privacy Intersection (PPSI) lies in protecting the privacy and security of data sharing. It enables different participants to discover and use the common parts of each other's data without revealing the details of their own data.

[0003] The current privacy intersection processing methods, including oblivious transfer (OT), homomorphic encryption, and multi-party secure computing, generally face the challenges of high computational complexity and expensive communication costs. Hash-based methods, such as the exponentially differentiated privacy hashing (EDCH) technology, are simple in principle, but their time complexity and resource consumption increase more significantly when multiple parties are involved; at the same time, the existing privacy intersection methods fail to verify the integrity of the sets provided by the participants, and cannot confirm whether the participants have cheated.

[0004] Therefore, in order to solve the shortcomings of existing privacy intersection methods, such as high computational complexity and expensive communication costs, as well as the technical problem of being unable to confirm whether the participants are cheating, a privacy intersection method based on SM9 and zero-knowledge proof is urgently needed. Summary of the invention

[0005] The purpose of the present application is to provide a privacy intersection method based on SM9 and zero-knowledge proof, which decrypts the encrypted second privacy intersection information through the private key corresponding to the first identity identification number of the client and the encrypted second encryption and decryption key of the intersection object to obtain the second privacy intersection information, and verifies the second privacy intersection information through zero-knowledge proof technology. After obtaining the correct second privacy intersection information, a hash table intersection algorithm is used to calculate the intersection of the first privacy intersection information of the client and the correct second privacy intersection information, so as to solve the shortcomings of the existing privacy intersection method with high computational complexity and expensive communication cost and the problem that it cannot confirm whether the participants have deception problems, effectively reduce the computational complexity and communication cost during privacy intersection, and at the same time be able to identify whether the participants (intersection objects) submit false privacy intersection information, thereby improving the data transmission efficiency of privacy intersection.

[0006] In a first aspect, the present application provides a privacy intersection method based on SM9 and zero-knowledge proof, which is applied to a client and includes: Based on the privacy exchange request between the client and the exchange object, sending the first identity identification number of the client to the key management system; After receiving the private key corresponding to the first identity identification number and the preset SM9 key management parameters sent by the key management system, generate a first encryption and decryption key and a first public key based on the preset SM9 key management parameters and the second identity identification number of the intersection object, and use the first encryption and decryption key to encrypt the preset first private intersection information, and use the first public key to encrypt the first encryption and decryption key to obtain the encrypted first private intersection information and the encrypted first encryption and decryption key; Sending the encrypted first private intersection information and the encrypted first encryption / decryption key to the intersection object; After receiving the encrypted second private intersection information and the encrypted second encryption / decryption key of the object to be intersected sent by the object to be intersected, decrypt the encrypted second private intersection information of the object to be intersected using the private key and the encrypted second encryption / decryption key of the object to be intersected to obtain the second private intersection information of the object to be intersected; Verifying the second private intersection information of the intersection object by using zero-knowledge proof technology to obtain the correct second private intersection information; The preset first private intersection information and the correct second private intersection information are compared by using a hash table intersection algorithm to obtain an intersection of the preset first private intersection information and the correct second private intersection information.

[0007] The privacy intersection method provided by the present application can realize privacy intersection between participants. The encrypted second privacy intersection information is decrypted by the private key corresponding to the first identity identification number of the client and the encrypted second encryption and decryption key of the intersection object to obtain the second privacy intersection information. The second privacy intersection information is verified by the zero-knowledge proof technology. After the correct second privacy intersection information is obtained, a hash table intersection algorithm is used to calculate the intersection of the first privacy intersection information of the client and the correct second privacy intersection information. The shortcomings of the existing privacy intersection method, such as high computational complexity and expensive communication cost, and the problem of being unable to confirm whether the participants have cheated, are solved. The computational complexity and communication cost of privacy intersection are effectively reduced. At the same time, it can identify whether the participants (intersection objects) submit false privacy intersection information, thereby improving the data transmission efficiency of privacy intersection.

[0008] Optionally, the preset SM9 key management parameters include a master public key, elliptic curve parameters, a pairing function, a hash function and system security parameters.

[0009] Optionally, generating a first encryption / decryption key and a first public key based on the preset SM9 key management parameter and the second identity identification number of the intersection object, encrypting the preset first private intersection information using the first encryption / decryption key, and encrypting the first encryption / decryption key using the first public key to obtain the encrypted first private intersection information and the encrypted first encryption / decryption key, includes: Based on the preset SM9 key management parameters and in combination with the SM4 algorithm, generate a first encryption and decryption key; Generate a first public key according to the preset SM9 key management parameter and the second identity identification number of the object to be intersected; Encrypt the preset first private intersection information using the first encryption / decryption key to obtain the encrypted first private intersection information; The first encryption / decryption key is encrypted using the first public key to obtain an encrypted first encryption / decryption key.

[0010] The privacy exchange method provided in this application can realize privacy exchange between participants. The preset first privacy exchange information is encrypted by the first encryption and decryption key generated by the preset SM9 key management parameters and the SM4 algorithm. The first encryption and decryption key is encrypted by the first public key generated by the preset SM9 key management parameters and the second identity identification number of the exchange object. The double encryption makes the privacy exchange information more secure.

[0011] Optionally, using the first encryption / decryption key to encrypt the preset first private intersection information to obtain the encrypted first private intersection information includes: Calculate the summary value of each data in the preset first privacy intersection information by using a preset summary algorithm to obtain summary data corresponding to the preset first privacy intersection information; The summary data is encrypted using the first encryption / decryption key to obtain encrypted first privacy request information.

[0012] Optionally, using the private key and the encrypted second encryption / decryption key of the object to be intersected, decrypting the encrypted second private intersection information of the object to be intersected to obtain the second private intersection information of the object to be intersected, comprises: decrypting the encrypted second encryption / decryption key of the intersection object according to the private key to obtain the second encryption / decryption key of the intersection object; The encrypted second private intersection information of the intersection object is decrypted based on the second encryption / decryption key of the intersection object to obtain the second private intersection information of the intersection object.

[0013] The privacy intersection method provided in the present application can realize the privacy intersection between the participants. The encrypted second encryption and decryption key of the intersection object is decrypted by the private key to obtain the second encryption and decryption key of the intersection object, and then the encrypted second privacy intersection information of the intersection object is decrypted by the second encryption and decryption key of the intersection object to obtain the second privacy intersection information of the intersection object. The second encryption and decryption key of the intersection object is decrypted by the private key corresponding to the identity identification number of this client, making the privacy intersection information more secure.

[0014] Optionally, verifying the second private intersection information of the intersection object by using a zero-knowledge proof technology to obtain correct second private intersection information includes: Generate a second random number challenge value, and send the second random number challenge value to the intersection object; Receiving a second public parameter, a second characteristic polynomial, and a second random polynomial generated based on the second random number challenge value and the second private intersection information and sent by the intersection object; According to the second public parameter, the second random number challenge value, the second characteristic polynomial and the second random polynomial, the second private intersection information of the intersection object is verified by the zero-knowledge proof technology to obtain the correct second private intersection information.

[0015] Optionally, the second public parameter includes a second prime number, a second multiplication group constructed with the second prime number as the order, and two generators arbitrarily extracted from the second multiplication group; according to the second public parameter, the second random number challenge value, the second characteristic polynomial and the second random polynomial, the second private intersection information of the intersection object is verified by the zero-knowledge proof technology to obtain the correct second private intersection information, including: Inputting the second random number challenge value into the second characteristic polynomial and the second random polynomial respectively to obtain a first calculated value and a second calculated value; Substituting the first calculated value and the second calculated value into two generators in the second multiplication group respectively to obtain a first generator value and a second generator value; Based on the magnitude relationship between the remainder of the first generator value and the second generator value and the second prime number, the second private intersection information of the intersection object is verified to obtain the correct second private intersection information.

[0016] Optionally, based on the relationship between the remainder of the first generator value and the second generator value and the second prime number, verifying the second private intersection information of the intersection object to obtain the correct second private intersection information includes: Calculate the remainder of the first generator value and the second generator value; Determine whether the remainder is equal to the second prime number; if so, determine that the second private intersection information of the intersection object is real data, and obtain the correct second private intersection information; if not, determine that the second private intersection information of the intersection object is false data, and perform the private intersection again.

[0017] In the second aspect, a privacy intersection method based on SM9 and zero-knowledge proof is applied to a key management system, including: In response to privacy exchange requests initiated by multiple clients, obtaining identity identification numbers of users corresponding to the multiple clients; Generate a private key corresponding to the identity identification number, and send the private key and preset SM9 key management parameters to the corresponding client; After the plurality of clients obtain the intersection of the preset first privacy intersection information and the correct second privacy intersection information, it is determined that the privacy intersection is completed.

[0018] The privacy intersection method, by sending the private key corresponding to the client's identity identification number and the preset SM9 key management parameters to the corresponding client, enables the corresponding client to complete the privacy intersection, thereby solving the shortcomings of the existing privacy intersection method, such as high computational complexity and expensive communication cost, and the problem of being unable to confirm whether the participating party has cheated, effectively reduces the computational complexity and communication cost during privacy intersection, and can identify whether the participating party (the object of intersection) submits false privacy intersection information, thereby improving the data transmission efficiency of privacy intersection.

[0019] Beneficial effects: The privacy intersection method provided by the present application decrypts the encrypted second privacy intersection information through the private key corresponding to the first identity identification number of the client and the encrypted second encryption and decryption key of the intersection object to obtain the second privacy intersection information, and verifies the second privacy intersection information through the zero-knowledge proof technology. After obtaining the correct second privacy intersection information, a hash table intersection algorithm is used to calculate the intersection of the first privacy intersection information of the client and the correct second privacy intersection information, thereby solving the shortcomings of the existing privacy intersection method of high computational complexity and expensive communication cost and the problem of being unable to confirm whether there is deception problem among the participants, effectively reducing the computational complexity and communication cost during privacy intersection, and at the same time being able to identify whether the participants (intersection objects) submit false privacy intersection information, thereby improving the data transmission efficiency of privacy intersection. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 A flowchart of a privacy intersection method based on SM9 and zero-knowledge proof is provided in an embodiment of the present application.

[0021] Figure 2A flowchart of another privacy intersection method based on SM9 and zero-knowledge proof provided in an embodiment of the present application. DETAILED DESCRIPTION

[0022] The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. The components of the embodiments of the present application described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without making creative work belong to the scope of protection of the present application.

[0023] It should be noted that similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings. At the same time, in the description of this application, the terms "first", "second", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.

[0024] Please refer to Figure 1 , Figure 1 A privacy intersection method based on SM9 and zero-knowledge proof provided in an embodiment of the present application is applied to a client, including: Step S101, based on a privacy exchange request between the client and the exchange object, sending a first identity identification number of the client to a key management system; Step S102, after receiving the private key corresponding to the first identity identification number and the preset SM9 key management parameters sent by the key management system, generate a first encryption and decryption key and a first public key based on the preset SM9 key management parameters and the second identity identification number of the object to be exchanged, and use the first encryption and decryption key to encrypt the preset first private exchange information, and use the first public key to encrypt the first encryption and decryption key to obtain the encrypted first private exchange information and the encrypted first encryption and decryption key; Step S103, sending the encrypted first private intersection information and the encrypted first encryption / decryption key to the intersection object; Step S104, after receiving the encrypted second private intersection information and the encrypted second encryption / decryption key of the object to be intersected sent by the object to be intersected, decrypt the encrypted second private intersection information of the object to be intersected using the private key and the encrypted second encryption / decryption key of the object to be intersected to obtain the second private intersection information of the object to be intersected; Step S105, verifying the second private intersection information of the intersection object through zero-knowledge proof technology to obtain the correct second private intersection information; Step S106: using a hash table intersection algorithm, compare the preset first privacy intersection information and the correct second privacy intersection information to obtain the intersection of the preset first privacy intersection information and the correct second privacy intersection information.

[0025] The privacy intersection method provided by the present application decrypts the encrypted second privacy intersection information by using the private key corresponding to the first identity identification number of the client and the encrypted second encryption and decryption key of the intersection object to obtain the second privacy intersection information, and verifies the second privacy intersection information by using the zero-knowledge proof technology. After obtaining the correct second privacy intersection information, a hash table intersection algorithm is used to calculate the intersection of the first privacy intersection information of the client and the correct second privacy intersection information, thereby solving the shortcomings of the existing privacy intersection method, such as high computational complexity and expensive communication cost, and the problem of being unable to confirm whether the participating parties have cheated, effectively reducing the computational complexity and communication cost during privacy intersection, and at the same time being able to identify whether the participating parties (intersection objects) have submitted false privacy intersection information, thereby improving the data transmission efficiency of privacy intersection.

[0026] Specifically, in step S101, other clients are pre-selected as the objects for intersection. After the objects for intersection are confirmed, based on the privacy intersection request between the client and the object for intersection (including the privacy intersection request initiated by the client with the object for intersection and the privacy intersection request initiated by the object for intersection with the client, that is, the privacy intersection request here can be initiated by the client or the object for intersection), the first identity document (ID) of the client is sent to the key management system (SM9 key management system). The key management system will generate a corresponding private key according to the first identity identification number (the process of generating the private key is the prior art and will not be described in detail here), and send the private key and the preset SM9 key management parameters (specifically the SM9 key management parameters) back to the corresponding client. Among them, the preset SM9 key management parameters include the master public key, elliptic curve parameters, pairing function, hash function and system security parameters, and the master public key, elliptic curve parameters, pairing function, hash function and system security parameters are all the prior art and will not be described in detail here.

[0027] At the same time as the client sends its first identity identification number, the client of the object being intersected also sends the second identity identification number of the client of the object being intersected to the key management system based on the privacy intersecting request (in order to distinguish the identity identification number of the user of the client and the identity identification number of the object being intersected, the identity identification number of the client is recorded as the first identity identification number, and the identity identification number of the object being intersected is recorded as the second identity identification number).

[0028] Specifically, in step S102, a first encryption / decryption key and a first public key are generated based on a preset SM9 key management parameter and a second identity identification number of the object to be interacted with, and the preset first private interaction information is encrypted using the first encryption / decryption key, and the first encryption / decryption key is encrypted using the first public key to obtain the encrypted first private interaction information and the encrypted first encryption / decryption key, including: Based on the preset SM9 key management parameters and in combination with the SM4 algorithm, a first encryption and decryption key is generated; Generate a first public key according to the preset SM9 key management parameters and the second identity identification number of the object to be exchanged; Encrypting the preset first private intersection information using the first encryption and decryption key to obtain the encrypted first private intersection information; The first encryption / decryption key is encrypted using the first public key to obtain an encrypted first encryption / decryption key.

[0029] In step S102, after receiving the private key corresponding to the first identity identification number and the preset SM9 key management parameters sent by the key management system, a first encryption and decryption key is generated according to the preset SM9 key management parameters and the SM4 algorithm, the second identity identification number of the intersection object is obtained (after the intersection object is determined, each client will send its own identity identification number to the corresponding intersection object), and based on the second identity identification number and the preset SM9 key management parameters, in combination with GM / T0080-2020 "SM9 Cryptographic Algorithm Usage Specification", a first public key is generated, and the preset first privacy intersection information (that is, the privacy intersection information provided by the client) is encrypted using the first encryption and decryption key to obtain the encrypted first privacy intersection information, and then the first encryption and decryption key is encrypted using the first public key to obtain the encrypted first encryption and decryption key (after the encrypted first encryption and decryption key and the encrypted first privacy intersection information are sent to the intersection object, the intersection object can use the private key generated based on the second identity identification number of the intersection object to decrypt the encrypted first encryption and decryption key, and then use the first encryption and decryption key to decrypt the encrypted first privacy intersection information). Among them, the process of generating the first encryption and decryption key and encrypting the first encryption and decryption key are both existing technologies and will not be described in detail here.

[0030] At the same time, after receiving the private key corresponding to the second identity number and the preset SM9 key management parameters sent by the key management system, the intersection object generates a second encryption and decryption key according to the preset SM9 key management parameters and the SM4 algorithm, and based on the first identity number of the client and the preset SM9 key management parameters, combined with GM / T 0080-2020 "SM9 Cryptographic Algorithm Usage Specifications", generates a second public key, uses the second encryption and decryption key to encrypt the preset second privacy intersection information (i.e., the privacy intersection information provided by the intersection object), obtains the encrypted second privacy intersection information, and then uses the second public key to encrypt the second encryption and decryption key to obtain the encrypted second encryption and decryption key.

[0031] For example, user A generates a first encryption and decryption key k_a according to the preset SM9 key management parameters and SM4 algorithm, and generates a first public key pk_b based on the second identity identification number of the object to be intersected and the preset SM9 key management parameters, combined with GM / T 0080-2020 "SM9 Cryptographic Algorithm Usage Specification", and uses the first encryption and decryption key k_a to encrypt the preset first private information x a Encrypt and obtain the encrypted first private intersection information X a , and then use the first public key pk_b to encrypt the first encryption and decryption key k_a to obtain the encrypted first encryption and decryption key k_a. Similarly, user A's intersection object user B generates the encrypted second encryption and decryption key k_b and the encrypted second private intersection information X b .

[0032] Specifically, in step S102, the preset first privacy intersection information is encrypted using the first encryption and decryption key to obtain the encrypted first privacy intersection information, including: Calculate the summary value of each data in the preset first privacy intersection information by using a preset summary algorithm to obtain the summary data corresponding to the preset first privacy intersection information; The summary data is encrypted using the first encryption / decryption key to obtain encrypted first private intersection information.

[0033] In step S102, a preset digest algorithm (such as MD5 algorithm, SHA-1 algorithm, SHA-2 algorithm, etc.) is used to calculate the digest value of each data in the preset first privacy intersection information, obtain the digest data corresponding to the preset first privacy intersection information, and encrypt the digest data using the first encryption and decryption key to obtain the encrypted first privacy intersection information. The calculation process and encryption process of the digest data are prior art and will not be described in detail here.

[0034] Specifically, in step S103, the encrypted first private intersection information and the encrypted first encryption and decryption key are sent to the intersection object. At the same time, after obtaining the encrypted second private intersection information and the encrypted second encryption and decryption key, the intersection object also sends the encrypted second private intersection information and the encrypted second encryption and decryption key to the client. The purpose of this step is to share the private intersection information provided by the client and the intersection object, so that the client and the intersection object can obtain the intersection between the first private intersection information and the second private intersection information after decrypting the encrypted second private intersection information and the encrypted first private intersection information and verifying their correctness, thereby completing this private intersection.

[0035] After the intersection object receives the encrypted first private intersection information and the encrypted first encryption and decryption key, it can use the private key generated based on the second identity identification number of the intersection object to decrypt the encrypted first encryption and decryption key, and then use the first encryption and decryption key to decrypt the encrypted first private intersection information to obtain the first private intersection information provided by this client.

[0036] Specifically, in step S104, the encrypted second private intersection information of the intersection object is decrypted using the private key and the encrypted second encryption / decryption key of the intersection object to obtain the second private intersection information of the intersection object, including: Decrypting the encrypted second encryption / decryption key of the object to be intersected according to the private key to obtain the second encryption / decryption key of the object to be intersected; Based on the second encryption and decryption key of the object to be intersected, the encrypted second private intersection information of the object to be intersected is decrypted to obtain the second private intersection information of the object to be intersected.

[0037] In step S104, after receiving the encrypted second private intersection information and the encrypted second encryption and decryption key sent by the object to be intersected, the encrypted second encryption and decryption key of the object to be intersected is decrypted using the private key generated based on the first identity identification number of the client to obtain the second encryption and decryption key of the object to be intersected, and the encrypted second private intersection information of the object to be intersected is decrypted using the second encryption and decryption key to obtain the second private intersection information of the object to be intersected. The decryption process of the second encryption and decryption key and the second private intersection information is prior art and will not be described in detail herein.

[0038] For example, when user A receives the encrypted second encryption / decryption key k_b and the encrypted second private intersection information X sent by user B, the ... private intersection information X b After that, the encrypted second encryption and decryption key k_b can be decrypted using the private key sk_a generated based on the first identity identification number of the client to obtain the second encryption and decryption key k_b, and the encrypted second private information X can be decrypted using the second encryption and decryption key k_b.b Decrypt and obtain the second private intersection information X of user B b Similarly, the target user B can also use the private key sk_b generated by the second identity number of the target user B to decrypt the encrypted first encryption and decryption key k_a, and use the first encryption and decryption key k_a to decrypt the encrypted first private exchange information X a Decrypt and obtain the first private information X of user A a .

[0039] Specifically, in step S105, the second private intersection information of the intersection object is verified by zero-knowledge proof technology to obtain the correct second private intersection information, including: Generate a second random number challenge value, and send the second random number challenge value to the intersection object; Receive a second public parameter, a second characteristic polynomial, and a second random polynomial generated based on a second random number challenge value and second private intersection information and sent by the intersection object; According to the second public parameter, the second random number challenge value, the second characteristic polynomial and the second random polynomial, the second private intersection information of the intersection object is verified by zero-knowledge proof technology to obtain the correct second private intersection information.

[0040] In step S105, the client selects a sufficiently large prime number p, selects a multiplication group G constructed with p as the order, and selects two generators g and h from the multiplication group G, both of which (generator g and generator h) have the same order p in the multiplication group G and satisfy the discrete logarithm assumption.

[0041] In order to verify the first private intersection information X a The integrity of the first characteristic polynomial P(x) is designed, and the root of the first characteristic polynomial P(x) and the first private information X are intersected a The elements (i.e. data) in are associated (i.e. the first private intersection information X a The elements in can make the value of the first characteristic polynomial P(x) equal to 0).

[0042] A first random polynomial R(x) is constructed, wherein the highest term of the first random polynomial R(x) corresponds to the number of elements of the preset first private intersection information.

[0043] In order to prevent the client from selecting a favorable evaluation point, the intersection object is required to generate a first random number challenge value a, which is used to input the first characteristic polynomial P(x) and the first random polynomial R(x) respectively, so that the remainder of the power of any generator r (the output value of the first characteristic polynomial input by the first random number challenge value a) and the power of the first random polynomial v (the output value of the first random number challenge value a input by the first random polynomial) of another generator is the first prime number, that is, , v, , the equation ( ) is determined by Pedersen commitment (Pederson commitment is a cryptographic algorithm that allows a verifier to commit a value without exposing or changing it). Similarly, this client generates a second random number challenge value b and sends the second random number challenge value b to the intersection object.

[0044] Similarly, before receiving the second random number challenge value b, the intersection object first generates a preliminary second public parameter, a preliminary second characteristic polynomial and a preliminary second random polynomial according to the above principle. After receiving the second random number challenge value b, the intersection object adjusts the preliminary second public parameter, the preliminary second characteristic polynomial and the preliminary second random polynomial based on the second random number challenge value b and the second privacy intersection information according to the above principle to generate the second public parameter, the second characteristic polynomial and the second random polynomial.

[0045] Receive a first random number challenge value a sent by the intersection object, and set a corresponding first public parameter, a first characteristic polynomial and a first random polynomial based on a; The first public parameter, the first characteristic polynomial and the first random polynomial are sent to the intersection object, and the second public parameter, the second random number challenge value, the second characteristic polynomial and the second random polynomial of the intersection object sent by the intersection object are received.

[0046] Specifically, the second public parameters include a second prime number, a second multiplication group constructed with the second prime number as the order, and two generators arbitrarily extracted from the second multiplication group.

[0047] Specifically, in step S105, the second private intersection information of the intersection object is verified by zero-knowledge proof technology according to the second public parameter, the second random number challenge value, the second characteristic polynomial and the second random polynomial, and the correct second private intersection information is obtained, including: Inputting the second random number challenge value into the second characteristic polynomial and the second random polynomial respectively to obtain a first calculated value and a second calculated value; Substituting the first calculated value and the second calculated value into two generators in the second multiplication group respectively, to obtain a first generator value and a second generator value; Based on the magnitude relationship between the remainder of the first generator value and the second generator value and the second prime number, the second private intersection information of the intersection object is verified to obtain the correct second private intersection information.

[0048] In step S105, the second random number challenge value is respectively input into the second characteristic polynomial and the second random polynomial of the intersection object to obtain the first calculated value and the second calculated value, and the first calculated value and the second calculated value are respectively substituted into the two generators in the second multiplication group of the intersection object to obtain the first generator value and the second generator value, and the remainder of the first generator value and the second generator value is compared with the second prime number to verify whether the second private intersection information of the intersection object is true.

[0049] Similarly, the intersection object also inputs the first random number challenge value into the first characteristic polynomial and the first random polynomial respectively to obtain two outputs, and substitutes the two outputs into the two generators in the first multiplication group to obtain the third generator value and the fourth generator value, and compares the remainder of the third generator value and the fourth generator value with the size relationship of the first prime number to verify whether the first private intersection information provided by this client is true.

[0050] Specifically, in step S105, based on the magnitude relationship between the remainder of the first generator value and the second generator value and the second prime number, the second private intersection information of the intersection object is verified to obtain the correct second private intersection information, including: Calculate the remainder of the first generator value and the second generator value; Determine whether the remainder is equal to the second prime number; if so, determine that the second private intersection information of the intersection object is real data, and obtain the correct second private intersection information; if not, determine that the second private intersection information of the intersection object is false data, and perform the private intersection again.

[0051] In step S105, a preset remainder function is used to calculate the remainder between the first generator value and the second generator value, or the first generator value is directly divided by the second generator value to calculate the remainder, and it is determined whether the remainder is equal to the second prime number. If the remainder is equal to the second prime number, it is determined that the second private intersection information of the intersection object is true data, and the correct second private intersection information is obtained; if the remainder is not equal to the second prime number, it is determined that the second private intersection information of the intersection object is false data, and the current private intersection is performed again (i.e., returning to step S101), or the current private intersection request can be withdrawn.

[0052] Similarly, the intersection object determines whether the first privacy intersection information provided by the client is true or not based on whether the remainder of the third generator value and the fourth generator value is equal to the first prime number. If the remainder of the third generator value and the fourth generator value is equal to the first prime number, then the first privacy intersection information provided by the client is determined to be true data, and the correct first privacy intersection information is obtained. If the remainder of the third generator value and the fourth generator value is not equal to the first prime number, then the first privacy intersection information provided by the client is determined to be false data, and the current privacy intersection is performed again, or the current privacy intersection request can be withdrawn.

[0053] Specifically, in step S106, assuming that the first private intersection information X a The element length is n, and the second private intersection information X b The length of the elements is m. To solve the problem of fast comparison of private intersection information and avoid the time complexity of n*m, this client uses the characteristics of the hash table and adopts the hash table intersection algorithm to store the private intersection information with the most elements into the hash table. The time complexity at this time is n+m, thereby reducing the data comparison time and quickly obtaining the intersection of the first private intersection information and the second private intersection information. Similarly, the intersection object uses the hash table intersection algorithm to quickly obtain the intersection of the first private intersection information and the second private intersection information. Among them, the hash table intersection algorithm is an existing algorithm and will not be described in detail here.

[0054] As can be seen from the above, the privacy intersection method decrypts the encrypted second privacy intersection information through the private key corresponding to the first identity identification number of the client and the encrypted second encryption and decryption key of the intersection object to obtain the second privacy intersection information, and verifies the second privacy intersection information through zero-knowledge proof technology. After obtaining the correct second privacy intersection information, a hash table intersection algorithm is used to calculate the intersection of the first privacy intersection information of the client and the correct second privacy intersection information, which solves the shortcomings of the existing privacy intersection method with high calculation complexity and expensive communication cost and the problem of not being able to confirm whether there is a deception problem among the participants, effectively reduces the calculation complexity and communication cost during privacy intersection, and can identify whether the participants (intersection objects) submit false privacy intersection information, thereby improving the data transmission efficiency of privacy intersection.

[0055] Please refer to Figure 2 , Figure 2 Another privacy intersection method based on SM9 and zero-knowledge proof provided in an embodiment of the present application is applied to a key management system, including: Step A1, in response to privacy exchange requests initiated by multiple clients, obtaining identity identification numbers of users corresponding to the multiple clients; Step A2, generating a private key corresponding to the identity identification number, and sending the private key and preset SM9 key management parameters to the corresponding client; Step A3: after the multiple clients obtain the intersection of the preset first privacy intersection information and the correct second privacy intersection information, determine that the privacy intersection is completed.

[0056] The privacy intersection method sends the private key corresponding to the client's identity identification number and the preset SM9 key management parameters to the corresponding client, so that the corresponding client completes the privacy intersection, effectively reducing the calculation complexity and communication cost during the privacy intersection. At the same time, it can identify whether the participating party (the intersection object) submits false privacy intersection information, thereby improving the data transmission efficiency of the privacy intersection.

[0057] Specifically, in step A1, in response to privacy intersection requests initiated by multiple clients, identity identification numbers of users corresponding to the multiple clients (such as the first identity identification number and the second identity identification number in the above embodiment) are obtained.

[0058] Specifically, in step A2, a private key corresponding to the identity identification number is generated, and the private key is sent to the corresponding client, and the preset SM9 key management parameters are sent to all clients participating in the privacy exchange request (clients involved in the initiated privacy exchange request).

[0059] Specifically, in step A3, after multiple clients obtain the intersection of the preset first privacy intersection information and the correct second privacy intersection information, the user will click the confirm privacy intersection completion button (virtual button) on the corresponding client. Based on this, the key management system determines that this privacy intersection is completed and ends this privacy intersection.

[0060] From the above, it can be seen that the privacy intersection method, by sending the private key corresponding to the client's identity identification number and the preset SM9 key management parameters to the corresponding client, enables the corresponding client to complete the privacy intersection, thereby solving the shortcomings of the existing privacy intersection method, such as high computational complexity and expensive communication cost, and the problem of not being able to confirm whether the participating parties have deception problems. It effectively reduces the computational complexity and communication cost during privacy intersection, and at the same time can identify whether the participating parties (intersection objects) submit false privacy intersection information, thereby improving the data transmission efficiency of privacy intersection.

[0061] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.

[0062] In addition, the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, and may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0063] Furthermore, the functional modules in the various embodiments of the present application may be integrated together to form an independent part, or each module may exist independently, or two or more modules may be integrated to form an independent part.

[0064] In this document, relational terms such as first and second, etc. are used merely to distinguish one entity or operation from another entity or operation, but do not necessarily require or imply any such actual relationship or order between these entities or operations.

[0065] The above description is only an embodiment of the present application and is not intended to limit the protection scope of the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A privacy intersection method based on SM9 and zero-knowledge proof, characterized in that: Applied to the client to perform private intersection on the client of the intersection object, including: Based on the privacy interaction request between the client and the interaction object, sending the first identity identification number of the client to the key management system; After receiving the private key corresponding to the first identity number and the preset SM9 key management parameters sent by the key management system, generating a first encryption and decryption key and a first public key based on the preset SM9 key management parameters and the second identity number of the intersection object, encrypting the preset first private intersection information using the first encryption and decryption key, and encrypting the first encryption and decryption key using the first public key, to obtain the encrypted first private intersection information and the encrypted first encryption and decryption key; Sending the encrypted first private intersection information and the encrypted first encryption / decryption key to the intersection object; After receiving the encrypted second private intersection request information and the encrypted second encryption / decryption key of the object being intersected from the object being intersected, decrypt the encrypted second private intersection request information of the object being intersected using the private key and the encrypted second encryption / decryption key of the object being intersected to obtain the second private intersection request information of the object being intersected; Verifying the second private intersection information of the intersection object by using zero-knowledge proof technology to obtain the correct second private intersection information; The preset first private intersection information and the correct second private intersection information are compared by using a hash table intersection algorithm to obtain an intersection of the preset first private intersection information and the correct second private intersection information.

2. The privacy intersection method based on SM9 and zero-knowledge proof according to claim 1, characterized in that: The preset SM9 key management parameters include a master public key, elliptic curve parameters, a pairing function, a hash function and system security parameters.

3. The privacy intersection method based on SM9 and zero-knowledge proof according to claim 1, characterized in that: The method includes generating a first encryption / decryption key and a first public key based on the preset SM9 key management parameter and the second identity identification number of the intersection object, encrypting the preset first private intersection information using the first encryption / decryption key, and encrypting the first encryption / decryption key using the first public key to obtain the encrypted first private intersection information and the encrypted first encryption / decryption key, including: Generate a first encryption and decryption key based on the preset SM9 key management parameters in combination with the SM4 algorithm; Generate a first public key according to the preset SM9 key management parameters and the second identity identification number of the intersection object; Encrypting the preset first private intersection information using the first encryption and decryption key to obtain the encrypted first private intersection information; The first encryption / decryption key is encrypted using the first public key to obtain an encrypted first encryption / decryption key.

4. The privacy intersection method based on SM9 and zero-knowledge proof according to claim 3, characterized in that: Encrypting the preset first private intersection information using the first encryption / decryption key to obtain the encrypted first private intersection information includes: Calculating the summary value of each data in the preset first private intersection information by using a preset summary algorithm to obtain summary data corresponding to the preset first private intersection information; The summary data is encrypted using the first encryption / decryption key to obtain encrypted first private intersection information.

5. The privacy intersection method based on SM9 and zero-knowledge proof according to claim 1, characterized in that: Decrypting the encrypted second private intersection information of the intersection object using the private key and the encrypted second encryption / decryption key of the intersection object to obtain the second private intersection information of the intersection object, including: decrypting the encrypted second encryption / decryption key of the intersection object according to the private key to obtain the second encryption / decryption key of the intersection object; The encrypted second private intersection information of the intersection object is decrypted based on the second encryption / decryption key of the intersection object to obtain the second private intersection information of the intersection object.

6. The privacy intersection method based on SM9 and zero-knowledge proof according to claim 1, characterized in that: Verifying the second private intersection information of the intersection object by using zero-knowledge proof technology to obtain correct second private intersection information includes: generating a second random number challenge value, and sending the second random number challenge value to the intersection object; receiving a second public parameter, a second characteristic polynomial, and a second random polynomial generated based on the second random number challenge value and the second private intersection information and sent by the intersection object; The second private intersection information of the intersection object is verified using the zero-knowledge proof technology based on the second public parameter, the second random number challenge value, the second characteristic polynomial, and the second random polynomial to obtain the correct second private intersection information.

7. The privacy intersection method based on SM9 and zero-knowledge proof according to claim 6, characterized in that: The second public parameters include a second prime number, a second multiplicative group constructed with the second prime number as an order, and two generators arbitrarily extracted from the second multiplicative group.

8. The privacy intersection method based on SM9 and zero-knowledge proof according to claim 7, characterized in that: The method further comprises: verifying the second private intersection information of the intersection object using the zero-knowledge proof technology based on the second public parameter, the second random number challenge value, the second characteristic polynomial, and the second random polynomial to obtain the correct second private intersection information, including: Inputting the second random number challenge value into the second characteristic polynomial and the second random polynomial respectively to obtain a first calculated value and a second calculated value; Substituting the first calculated value and the second calculated value into two generators in the second multiplicative group respectively to obtain a first generator value and a second generator value; Based on the magnitude relationship between the remainder of the first generator value and the second generator value and the second prime number, the second private intersection information of the intersection object is verified to obtain correct second private intersection information.

9. The privacy intersection method based on SM9 and zero-knowledge proof according to claim 8, characterized in that: Verifying the second private intersection information of the intersection object based on a magnitude relationship between a remainder of the first generator value and the second generator value and the second prime number to obtain correct second private intersection information includes: Calculating the remainder of the first generator value and the second generator value; Determine whether the remainder is equal to the second prime number; if so, determine that the second private intersection information of the intersection object is true data, and obtain correct second private intersection information; if not, determine that the second private intersection information of the intersection object is false data, and perform the private intersection again.

10. A privacy intersection method based on SM9 and zero-knowledge proof, characterized in that: Applied to key management systems to achieve privacy exchanges between clients, including: In response to privacy intersection requests initiated by multiple clients, obtaining identity identification numbers of users corresponding to the multiple clients; Generate a private key corresponding to the identity identification number, and send the private key and preset SM9 key management parameters to the corresponding client; After the plurality of clients obtain the intersection of the preset first privacy intersection information and the correct second privacy intersection information, it is determined that the privacy intersection is completed.

Citation Information

Patent Citations

  • Homomorphic privacy set intersection method based on order-preserving function

    CN113179150A

  • Private data intersection solving method and device, computer equipment and storage medium

    CN113225186A

  • Block chain data privacy protection and sharing method based on zero knowledge proof

    CN114143080A

  • Loan risk assessment method and device based on privacy exchange, and electronic equipment

    CN117036005A

  • Multi-party privacy intersection method and device and electronic equipment

    CN117574412A

Cited By

  • Privacy set intersection verification method and device, equipment and medium

    CN121690540A