CN115242514A - Privacy set intersection method, system and related equipment based on national password - Google Patents
Privacy set intersection method, system and related equipment based on national password Download PDFInfo
- Publication number
- CN115242514A CN115242514A CN202210876365.5A CN202210876365A CN115242514A CN 115242514 A CN115242514 A CN 115242514A CN 202210876365 A CN202210876365 A CN 202210876365A CN 115242514 A CN115242514 A CN 115242514A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- party
- random number
- public key
- cryptographic algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 110
- 238000012545 processing Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/045—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
The embodiment of the application discloses a privacy set submission method, a system and related equipment based on national password, wherein the method comprises the following steps: generating a first public key, a first private key, a first random number, a second public key, a second private key and a second random number of a first national cryptographic algorithm; encrypting the first local data by using a second cryptographic algorithm, the first public key and the first random number to obtain a first ciphertext; encrypting the second local data by using a second cryptographic algorithm, a second public key and a second random number to obtain a second ciphertext; extracting a first part of ciphertext and a second part of ciphertext in the first ciphertext; extracting a third part of ciphertext and a fourth part of ciphertext from the second ciphertext, encrypting the first part of ciphertext through a second public key and a second random number, and extracting a part of ciphertext to obtain a target first part of ciphertext; and intersecting the third part of ciphertext, the target first part of ciphertext and the second part of ciphertext to obtain an intersection result. By adopting the method and the device, the application scene of the cryptographic algorithm can be expanded.
Description
Technical Field
The application relates to the technical field of privacy computation and the technical field of computers, in particular to a privacy set intersection method and system based on a national password and related equipment.
Background
With the development of artificial intelligence, the value of data is more and more emphasized. The Privacy Set Intersection (PSI) means that the participants obtain the intersection of the data held by the participants on the premise of not revealing additional information, is an important technology in the field of privacy calculation, and has good application prospects in the fields of real-name authentication, joint wind control, data exploration and the like of privacy protection.
The current privacy aggregation transaction technology is rarely a scheme of national password, so that the PSI technology cannot be applied to some scenes with higher requirements on security and autonomous controllability, such as cooperation scenes relating to large banks, state organs and the like.
Disclosure of Invention
The embodiment of the application provides a privacy set intersection method, a privacy set intersection system and related equipment based on a national secret, and the application scene of a national secret algorithm can be expanded.
In a first aspect, an embodiment of the present application provides a privacy set intersection method based on a national secret, which is applied to a two-party computing system, where the two-party computing system includes a first party and a second party, the first party corresponds to first local data, and the second party corresponds to second local data; the method comprises the following steps:
generating encryption and decryption processing parameters of a first cryptographic algorithm by the first party to obtain a first public key, a first private key and a first random number;
generating encryption and decryption processing parameters of the first cryptographic algorithm by the second party to obtain a second public key, a second private key and a second random number;
encrypting the first local data by the first party by using a second cryptographic algorithm, the first public key and the first random number to obtain a first ciphertext;
encrypting the second local data by the second party by using the second cryptographic algorithm, the second public key and the second random number to obtain a second ciphertext;
extracting a first part of ciphertext and a second part of ciphertext in the first ciphertext by the first party, and sending the first part of ciphertext to the second party;
extracting a third part of ciphertext and a fourth part of ciphertext in the second ciphertext through the second party, encrypting the first part of ciphertext through the second public key and the second random number to obtain a reference first part of ciphertext, and extracting the part of ciphertext of the reference first part of ciphertext to obtain a target first part of ciphertext; sending the third portion of ciphertext and the target first portion of ciphertext to the first party;
and performing intersection operation by the first party according to the third part of ciphertext, the target first part of ciphertext and the second part of ciphertext to obtain an intersection result.
In a second aspect, an embodiment of the present application provides a two-party computing system, which is applied to a two-party computing system, where the two-party computing system includes a first party and a second party, the first party corresponds to first local data, and the second party corresponds to second local data; wherein,
the first party is used for generating encryption and decryption processing parameters of a first cryptographic algorithm to obtain a first public key, a first private key and a first random number;
the second party is used for generating encryption and decryption processing parameters of the first cryptographic algorithm to obtain a second public key, a second private key and a second random number;
the first party is used for encrypting the first local data by using a second cryptographic algorithm, the first public key and the first random number to obtain a first cipher text;
the second party is configured to encrypt the second local data by using the second cryptographic algorithm, the second public key, and the second random number to obtain a second ciphertext;
the first party is used for extracting a first part of ciphertext and a second part of ciphertext in the first ciphertext and sending the first part of ciphertext to the second party;
the second party is used for extracting a third part of ciphertext and a fourth part of ciphertext in the second ciphertext, encrypting the first part of ciphertext through the second public key and the second random number to obtain a reference first part of ciphertext, and extracting part of ciphertext of the reference first part of ciphertext to obtain a target first part of ciphertext; sending the third portion of ciphertext and the target first portion of ciphertext to the first party;
the first party is configured to perform an intersection operation according to the third portion of the ciphertext, the target first portion of the ciphertext, and the second portion of the ciphertext to obtain an intersection result, and send the intersection result to the second party.
In a third aspect, an embodiment of the present application provides an electronic device, including a processor, a memory, a communication interface, and one or more programs, where the one or more programs are stored in the memory and configured to be executed by the processor, and the program includes instructions for executing the steps in the first aspect of the embodiment of the present application.
In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, where the computer-readable storage medium stores a computer program for electronic data exchange, where the computer program enables a computer to perform some or all of the steps described in the first aspect of the embodiment of the present application.
In a fifth aspect, embodiments of the present application provide a computer program product, where the computer program product comprises a non-transitory computer-readable storage medium storing a computer program, where the computer program is operable to cause a computer to perform some or all of the steps as described in the first aspect of embodiments of the present application. The computer program product may be a software installation package.
The embodiment of the application has the following beneficial effects:
it can be seen that the privacy set submission method, system and related device based on the national secret described in the embodiments of the present application are applied to a two-party computing system, where the two-party computing system includes a first party and a second party, the first party corresponds to first local data, and the second party corresponds to second local data; generating encryption and decryption processing parameters of a first cryptographic algorithm by a first party to obtain a first public key, a first private key and a first random number; generating encryption and decryption processing parameters of the first cryptographic algorithm by a second party to obtain a second public key, a second private key and a second random number; encrypting the first local data by the first party by using a second cryptographic algorithm, the first public key and the first random number to obtain a first ciphertext; encrypting the second local data by the second party by using a second cryptographic algorithm, a second public key and a second random number to obtain a second ciphertext; extracting a first part of ciphertext and a second part of ciphertext in the first ciphertext by the first party, and sending the first part of ciphertext to the second party; extracting a third part of ciphertext and a fourth part of ciphertext in the second ciphertext through the second party, encrypting the first part of ciphertext through the second public key and the second random number to obtain a reference first part of ciphertext, and extracting the part of ciphertext referring to the first part of ciphertext to obtain a target first part of ciphertext; sending the third part of ciphertext and the target first part of ciphertext to the first party; and performing intersection operation by the first party according to the third part of ciphertext, the target first part of ciphertext and the second part of ciphertext to obtain an intersection result.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a schematic structural diagram of a two-party computing system for implementing a privacy set submission method based on a national secret according to an embodiment of the present application;
fig. 2 is a schematic flowchart of a privacy set transaction method based on a national secret according to an embodiment of the present application;
fig. 3 is a schematic flowchart of another privacy set transaction method based on cryptographic keys according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order to make the technical solutions of the present application better understood, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The terms "first," "second," and the like in the description and claims of the present application and in the above-described drawings are used for distinguishing between different objects and not for describing a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements but may alternatively include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. It is explicitly and implicitly understood by one skilled in the art that the embodiments described herein can be combined with other embodiments.
The computing node described in this embodiment of the application may be an electronic device, and the electronic device may include a smart Phone (e.g., an Android Phone, an iOS Phone, a Windows Phone, etc.), a tablet computer, a palm computer, a vehicle data recorder, a server, a notebook computer, a Mobile Internet device (MID, mobile Internet Devices), or a wearable device (e.g., a smart watch, a bluetooth headset), which are merely examples, but are not exhaustive, and include but are not limited to the foregoing electronic device, and the electronic device may also be a cloud server, or the electronic device may also be a computer cluster. In the embodiment of the application, both the result side and the sender side can be the electronic device.
In the embodiment of the application, the national cryptographic algorithm is a national commercial cryptographic algorithm. The code algorithm is a code algorithm standard and an application specification thereof which are recognized and published by the national code management bureau, wherein part of code algorithms become international standards. Such as SM family password, SM stands for secret of business, i.e. commercial password, refers to a cryptographic technique for business that does not involve national secrets.
The following describes embodiments of the present application in detail.
The PSI techniques in the related art can be mostly classified into 4 categories: a public key based scheme, an Oblivious Transfer (OT) based scheme, a Homomorphic Encryption (HE) based scheme, and a Garbled Circuit (GC) based scheme. Correspondingly, the public key encryption algorithm (sm 2) in the current cryptographic algorithms can be applied to the PSI scheme based on the public key. The privacy aggregation transaction technology in the related technology does not adopt a national secret scheme, so that the PSI technology cannot be applied to some scenes with higher requirements on security and autonomous controllability, such as cooperation scenes relating to large banks, national organs and the like.
Referring to fig. 1, fig. 1 is a schematic diagram of an architecture of a two-party computing system for implementing a privacy aggregation request method based on a cryptographic key according to an embodiment of the present application, where as shown in the figure, the two-party computing system may include a first party and a second party; the first party corresponds to first local data, and the second party corresponds to second local data; based on the two-party computing system, the following functions can be realized:
generating encryption and decryption processing parameters of a first cryptographic algorithm by the first party to obtain a first public key, a first private key and a first random number;
generating encryption and decryption processing parameters of the first cryptographic algorithm by the second party to obtain a second public key, a second private key and a second random number;
encrypting the first local data by the first party by using a second cryptographic algorithm, the first public key and the first random number to obtain a first ciphertext;
encrypting the second local data by the second party by using the second cryptographic algorithm, the second public key and the second random number to obtain a second ciphertext;
extracting a first part of ciphertext and a second part of ciphertext in the first ciphertext by the first party, and sending the first part of ciphertext to the second party;
extracting a third part of ciphertext and a fourth part of ciphertext in the second ciphertext by the second party, encrypting the first part of ciphertext by the second public key and the second random number to obtain a reference first part of ciphertext, and extracting the part of ciphertext referring to the first part of ciphertext to obtain a target first part of ciphertext; sending the third portion of ciphertext and the target first portion of ciphertext to the first party;
and performing intersection operation by the first party according to the third part of ciphertext, the target first part of ciphertext and the second part of ciphertext to obtain an intersection result, and sending the intersection result to the second party.
Optionally, the encrypting the first local data by the first party using a second cryptographic algorithm, the first public key, and the first random number to obtain a first ciphertext includes:
performing hash operation on the first local data by the first party by using the second cryptographic algorithm to obtain a first hash operation result;
and encrypting the first hash operation result by using the first public key and the first random number to obtain the first ciphertext.
Optionally, the encrypting the second local data by the second party using the second cryptographic algorithm, the second public key, and the second random number to obtain a second ciphertext includes:
performing hash operation on the second local data by the second party by using the second cryptographic algorithm to obtain a second hash operation result;
and encrypting the second hash operation result by using the second public key and the second random number to obtain the second ciphertext.
Optionally, when the first encryption algorithm is the sm2 algorithm, the extracting, by the first party, a first part of ciphertext and a second part of ciphertext in the first ciphertext includes:
extracting the first ciphertext by the first party by using a first elliptic curve parameter to obtain a first C1 ciphertext, a first C2 ciphertext and a first C3 ciphertext;
determining the first C2 ciphertext as the first partial ciphertext;
and splicing the first C1 ciphertext and the first C3 ciphertext to obtain the second part ciphertext.
Optionally, the extracting, by the second party, a third part ciphertext and a fourth part ciphertext of the second ciphertext includes:
extracting the second ciphertext by the second party by using a second elliptic curve parameter to obtain a second C1 ciphertext, a second C2 ciphertext and a second C3 ciphertext;
determining the second C2 ciphertext as the third partial ciphertext;
and splicing the second C1 ciphertext and the second C3 ciphertext to obtain the second part ciphertext.
Optionally, the obtaining, by the first party, an intersection result by performing an intersection operation according to the third part ciphertext, the target first part ciphertext, and the second part ciphertext includes:
splicing the second part of ciphertext with the target first part of ciphertext by the first party to obtain a spliced ciphertext;
decrypting the spliced ciphertext by using the first private key to obtain a decryption result;
and performing intersection operation on the decryption result and the third part of ciphertext to obtain an intersection result.
Referring to fig. 2, fig. 2 is a schematic flowchart of a privacy aggregation request method based on a national secret according to an embodiment of the present application, applied to the two-party computing system shown in fig. 1, where the two-party computing system includes a first party and a second party, the first party corresponds to first local data, and the second party corresponds to second local data; as shown in the figure, the privacy set submission method based on the country password comprises the following steps:
201. and generating encryption and decryption processing parameters of a first cryptographic algorithm by the first party to obtain a first public key, a first private key and a first random number.
The first cryptographic algorithm may include any cryptographic algorithm, for example, an SM-series cryptographic algorithm, and specifically may be at least one of the following: sm2 cryptographic algorithm, sm9 cryptographic algorithm, etc., and are not limited herein.
In specific implementation, the first party may generate the encryption and decryption processing parameter of the first cryptographic algorithm, so that the first public key, the first private key, and the first random number required for encryption may be obtained.
The first local data and the second local data may each be a data set, the data set may include multiple data groups, each data group may include multiple data, each data may correspond to tag information, each data may be understood as an information field, and the information field is used to express the content of the tag information, and the tag information may include at least one of the following: an identity CARD Number (ID-CARD), a Phone Number (Phone Number), a Bank CARD Number (Bank CARD), a social security account Number, a social contact account Number, a school Number, a job Number, and the like, which are not limited herein.
In this embodiment of the present application, each line of data in the local data may correspond to an ID, where the ID is a unique identifier of each line of data, and each line is different, for example: identity card number, mobile phone number or self-increment serial number.
For example, in a specific implementation, the bank C wants to perform joint modeling by using data of the operator B to evaluate the risk level of the user. Both parties need to provide portrait tags for the same user before modeling begins, but both parties do not want to expose their respective local non-intersecting users. They can adopt privacy set intersection technology to obtain the intersection users of both parties.
202. And generating encryption and decryption processing parameters of the first cryptographic algorithm by the second party to obtain a second public key, a second private key and a second random number.
In a specific implementation, the second party may generate the encryption and decryption processing parameters of the first cryptographic algorithm, so that the second public key, the second private key, and the second random number required for encryption may be obtained.
203. And encrypting the first local data by the first party by using a second cryptographic algorithm, the first public key and the first random number to obtain a first ciphertext.
The first party may perform hash operation on the first local data by using a second cryptographic algorithm, and then encrypt the hash operation result based on the first public key and the first random number to obtain a first ciphertext, for example, the hash result may be encrypted by sm2 to obtain the ciphertext M.
Optionally, in step 203, the encrypting the first local data by the first party using the second cryptographic algorithm, the first public key, and the first random number to obtain the first ciphertext may include the following steps:
31. performing hash operation on the first local data by the first party by using the second cryptographic algorithm to obtain a first hash operation result;
32. and encrypting the first hash operation result by using the first public key and the first random number to obtain the first ciphertext.
In the specific implementation, the first party performs the hash operation on the first local data by using the second cryptographic algorithm to obtain a first hash operation result, and then performs the encryption processing on the first hash operation result by using the first public key and the first random number to obtain a first ciphertext, so that the one-time encryption processing can be realized, and the data security can be improved.
204. And encrypting the second local data by the second party by using the second cryptographic algorithm, the second public key and the second random number to obtain a second cipher text.
In a specific implementation, the second party may perform a hash operation on the second local data by using a second cryptographic algorithm, and then encrypt a hash operation result based on the second public key and the second random number to obtain a second ciphertext.
Optionally, in step 204, the encrypting the second local data by the second party using the second cryptographic algorithm, the second public key, and the second random number to obtain a second ciphertext may include the following steps:
41. performing hash operation on the second local data by the second party by using the second cryptographic algorithm to obtain a second hash operation result;
42. and encrypting the second hash operation result by using the second public key and the second random number to obtain the second ciphertext.
In specific implementation, the second party performs hash operation on the second local data by using a second national cryptographic algorithm to obtain a second hash operation result, and performs encryption processing on the second hash operation result by using the second public key and the second random number to obtain a second ciphertext.
205. And extracting a first part of ciphertext and a second part of ciphertext in the first ciphertext by the first party, and sending the first part of ciphertext to the second party.
In the specific implementation, the first party extracts the first part of ciphertext and the second part of ciphertext in the first ciphertext, and sends the first part of ciphertext to the second party. For example, C1, C2, and C3 ciphertexts in the first cipher text may be extracted by sm2 algorithm, C2 may be used as the first partial cipher text, and C1 and C3 may be spliced to be used as the second partial cipher text.
Optionally, when the first encryption algorithm is the sm2 algorithm, in step 205, extracting, by the first party, the first part of ciphertext and the second part of ciphertext in the first ciphertext may include the following steps:
51. extracting the first ciphertext by the first party by using a first elliptic curve parameter to obtain a first C1 ciphertext, a first C2 ciphertext and a first C3 ciphertext;
52. determining the first C2 ciphertext as the first partial ciphertext;
53. and splicing the first C1 ciphertext and the first C3 ciphertext to obtain the second part ciphertext.
In the embodiment of the present application, the first elliptic curve parameter may be an elliptic curve parameter of the sm2 algorithm.
Specifically, the first party may extract the ciphertext from the first ciphertext by using the first elliptic curve parameter to obtain a first C1 ciphertext, a first C2 ciphertext, and a first C3 ciphertext, determine the first C2 ciphertext as a first part ciphertext, and concatenate the first C1 ciphertext and the first C3 ciphertext to obtain a second part ciphertext.
For example, the length of a point on the elliptic curve in the ciphertext (the bit length denoted by len = n, which is usually 64) may be obtained by using the elliptic curve parameter of the sm2 algorithm (the order n of the base point of the elliptic curve), and accordingly, the first C1 ciphertext, the first C2 ciphertext, and the first C3 ciphertext are located, the starting position of the first C2 ciphertext is calculated by the formula 2 × len +64, that is, C2 = M [2 × len +64: ], and the ciphertext of the first half of M is the concatenation of the first C1 ciphertext and the first C3 ciphertext, which is denoted as C1| C3= M [:2 × len +64].
In the embodiment of the application, the operation of the points on the elliptic curve based on the SM2 algorithm can be performed, because the encryption result of the SM2 algorithm not only contains the point (C1) on the elliptic curve, but also includes a hash value (C3) of the point and the concatenation of the original text, and the encryption result (C2) of the original text, that is, the SM2 ciphertext is formed by the concatenation of C1, C3 and C2 and is marked as (C1 | | C3| | C2), and therefore, the corresponding component needs to be extracted for encryption and decryption.
206. Extracting a third part of ciphertext and a fourth part of ciphertext in the second ciphertext through the second party, encrypting the first part of ciphertext through the second public key and the second random number to obtain a reference first part of ciphertext, and extracting the part of ciphertext of the reference first part of ciphertext to obtain a target first part of ciphertext; and sending the third part of ciphertext and the target first part of ciphertext to the first party.
In a specific implementation, a method similar to the above-mentioned step 205 may also be adopted to extract a third part of ciphertext and a fourth part of ciphertext from the second ciphertext, where the third part of ciphertext corresponds to the first part of ciphertext and the fourth part of ciphertext corresponds to the second part of ciphertext, encrypt the first part of ciphertext by using the second public key and the second random number to obtain a reference first part of ciphertext, that is, a secondary ciphertext, extract a part of ciphertext that refers to the first part of ciphertext to obtain a target first part of ciphertext, and send the third part of ciphertext and the target first part of ciphertext to the first party. For example, the third elliptic curve parameter may be used to perform ciphertext extraction on the reference first portion ciphertext to obtain a C1 ciphertext, a C2 ciphertext, and a C3 ciphertext, and then the C2 ciphertext may be used as the target first portion ciphertext.
In this embodiment, the third elliptic curve parameter may be an elliptic curve parameter of the sm2 algorithm. The first elliptic curve parameter, the second elliptic curve parameter and the third elliptic curve parameter can be the same or different.
Optionally, in the step 206, extracting the third part ciphertext and the fourth part ciphertext in the second ciphertext by the second party may include the following steps:
61. extracting the second ciphertext by the second party by using a second elliptic curve parameter to obtain a second C1 ciphertext, a second C2 ciphertext and a second C3 ciphertext;
62. determining the second C2 ciphertext as the third partial ciphertext;
63. and splicing the second C1 ciphertext and the second C3 ciphertext to obtain the second part ciphertext.
In the embodiment of the present application, the second elliptic curve parameter may be an elliptic curve parameter of the sm2 algorithm. The first elliptic curve parameter and the second elliptic curve parameter may be the same or different.
Specifically, the second party can extract the second ciphertext by using the second elliptic curve parameter to obtain a second C1 ciphertext, a second C2 ciphertext, and a second C3 ciphertext, determine the second C2 ciphertext as a third portion ciphertext, and concatenate the second C1 ciphertext and the second C3 ciphertext to obtain a fourth portion ciphertext.
For example, the length of a point on the elliptic curve in the ciphertext (bit length denoted as len = n, which is usually 64) can be obtained by using the sm2 algorithm elliptic curve parameter (step n of the base point of the elliptic curve), and accordingly, a second C1 ciphertext, a second C2 ciphertext, and a second C3 ciphertext are located, the starting position of the second C2 ciphertext is calculated by formula 2 len +64, that is, C2 = M [2 len +64: ], and the ciphertext of the first half of M is the concatenation of the second C1 ciphertext and the second C3 ciphertext, which is denoted as C1| C3= M [:2 len n +64].
207. And performing intersection operation by the first party according to the third part of ciphertext, the target first part of ciphertext and the second part of ciphertext to obtain an intersection result.
In specific implementation, the second part of ciphertext and the target first part of ciphertext can be spliced to obtain a spliced ciphertext, the first private key is used for decrypting the spliced ciphertext to obtain a decryption result, and the decryption result and the third part of ciphertext are subjected to intersection operation to obtain an intersection result. Of course, the intersection result may also be sent to the second party.
According to the embodiment of the application, the application scene of the national cryptographic algorithm can be expanded, the safety, the reliability and the controllability of the privacy set asking for contact process can be ensured, and the communication traffic of the privacy set asking for contact process is reduced.
Specifically, on one hand, the national cryptographic algorithm is a domestic commercial cryptographic algorithm identified by the national crypto-authority, and is autonomously controllable by the country. The cryptographic security is an important mark of national comprehensive national force and competitiveness, the cryptographic technology is used as a national autonomous and controllable core technology, plays more and more important roles in maintaining national security and promoting economic development, and on the other hand, the national cryptographic algorithm is superior to the international general algorithms of the same type in encryption strength or operation performance.
Optionally, in step 207, performing, by the first party, an intersection operation according to the third part ciphertext, the target first part ciphertext, and the second part ciphertext to obtain an intersection result, which may include the following steps:
71. splicing the second part of ciphertext and the target first part of ciphertext by the first party to obtain a spliced ciphertext;
72. decrypting the spliced ciphertext by using the first private key to obtain a decryption result;
73. and performing intersection operation on the decryption result and the third part of ciphertext to obtain an intersection result.
In the specific implementation, the first party can splice the second part of ciphertext with the target first part of ciphertext to obtain a spliced ciphertext, then decrypt the spliced ciphertext by using the first private key to obtain a decryption result, and finally perform intersection operation on the decryption result and the third part of ciphertext to obtain an intersection result.
In the embodiment of the application, the algorithm sm3 and the algorithm sm2 can be utilized, the existing PSI scheme based on Diffie-Hellmann key agreement is improved, the PSI scheme based on the national password is provided, the application scene of the national password algorithm is expanded, and the safety, reliability and controllability of the privacy set settlement process are ensured. In addition, because an elliptic curve encryption scheme is adopted, the traffic volume of the PSI process is reduced.
In the embodiment of the application, when the first national cryptographic algorithm is the sm2 national cryptographic algorithm and the second national cryptographic algorithm is the sm3 national cryptographic algorithm, a privacy set intersection scheme based on the national cryptographic (sm 2 and sm 3) is provided, so that the application scene of the national cryptographic algorithm is expanded, and the safety, reliability and controllability of the privacy set intersection process are ensured.
In a specific implementation process, when the first party is party C and the second party is party B, as shown in fig. 3, the privacy set submission process based on the country password of party B and party C may include the following steps:
the two parties of S1, B and C respectively generate a public key and a private key in the sm2 algorithm and a random number k required by sm2 encryption and cache the public key and the private key in the sm2 algorithm;
and (3) the two parties S2, B and C use the sm3 algorithm to hash the data ID used for the privacy set intersection, for example, the sm3 algorithm can be used to hash the local data ID.
And (3) the two parties of S3, B and C encrypt the respective hash results by sm2 to obtain a ciphertext M, namely: and respectively encrypting the ID after the hash by using the public key and the random number to obtain the ciphertext M.
And (4) extracting C1, C3 and C2 in sm2 ciphertext by the two parties of S4, B and C according to the elliptic curve parameters, specifically: and obtaining the length (marked as len) of a point on the elliptic curve in the ciphertext by using the sm2 elliptic curve parameter, positioning the ciphertext encrypted by the hash value according to the above, and calculating the starting position of the ciphertext by using a formula 2 × len +64, namely C2 = M [2 × len +64: ], wherein the ciphertext of the first half part in M is the concatenation of C1 and C3, and is marked as C1| | C3= M [:2 × len +64].
And S5, the party C sends the party C2 to the party B.
And S6, the party B receives the information C2 of the party C, encrypts the information C2 by using the public key and the random number cached by the party B, and specifically, encrypts the information C2 by sm2 by using the public key and the random number cached by the party B to obtain a ciphertext encrypted by the party C2 for the second time.
S7, extracting C2 of the secondary encrypted ciphertext by using the same method in the step S4, namely extracting C2 in the new ciphertext according to the elliptic curve parameters; and the encrypted data and the C2 are sent to the C party together with the B party C2, namely the B party encrypts the local C2 and the C party and then sends the extracted C2 to the C party together.
And S8, the party C receives the information of the party B, splices C, C3 and C2 of the secondarily encrypted party data ID, and decrypts the spliced ciphertext by using the cached private key to obtain a result, namely the result of encrypting the party data ID by using the public key of the party B.
And S9, locally solving intersection between the decrypted result in the step S8 and the B party C2 received by the C party.
S10, the party C sends the intersection result to the party B, and the party B can receive the intersection result.
It can be seen that the privacy set intersection method based on the country key described in the embodiment of the present application is applied to a two-party computing system, where the two-party computing system includes a first party and a second party, the first party corresponds to first local data, and the second party corresponds to second local data; generating encryption and decryption processing parameters of a first cryptographic algorithm by a first party to obtain a first public key, a first private key and a first random number; generating encryption and decryption processing parameters of the first cryptographic algorithm by the second party to obtain a second public key, a second private key and a second random number; encrypting the first local data by the first party by using a second cryptographic algorithm, the first public key and the first random number to obtain a first ciphertext; encrypting the second local data by the second party by using a second cryptographic algorithm, a second public key and a second random number to obtain a second ciphertext; extracting a first part of ciphertext and a second part of ciphertext in the first ciphertext by the first party, and sending the first part of ciphertext to the second party; extracting a third part of ciphertext and a fourth part of ciphertext in the second ciphertext through the second party, encrypting the first part of ciphertext through the second public key and the second random number to obtain a reference first part of ciphertext, and extracting the part of ciphertext referring to the first part of ciphertext to obtain a target first part of ciphertext; sending the third part of ciphertext and the target first part of ciphertext to the first party; and performing intersection operation by the first party according to the third part of ciphertext, the target first part of ciphertext and the second part of ciphertext to obtain an intersection result.
Referring to fig. 4, fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present disclosure, and as shown in the figure, the electronic device includes a processor, a memory, a communication interface, and one or more programs, where the one or more programs are stored in the memory and configured to be executed by the processor, and are applied to a two-party computing system, where the two-party computing system includes a first party and a second party, the first party corresponds to first local data, and the second party corresponds to second local data; in an embodiment of the present application, the program includes instructions for performing the following steps:
generating encryption and decryption processing parameters of a first cryptographic algorithm by the first party to obtain a first public key, a first private key and a first random number;
generating encryption and decryption processing parameters of the first cryptographic algorithm by the second party to obtain a second public key, a second private key and a second random number;
encrypting the first local data by the first party by using a second cryptographic algorithm, the first public key and the first random number to obtain a first ciphertext;
encrypting the second local data by the second party by using the second cryptographic algorithm, the second public key and the second random number to obtain a second ciphertext;
extracting a first part of ciphertext and a second part of ciphertext in the first ciphertext by the first party, and sending the first part of ciphertext to the second party;
extracting a third part of ciphertext and a fourth part of ciphertext in the second ciphertext through the second party, encrypting the first part of ciphertext through the second public key and the second random number to obtain a reference first part of ciphertext, and extracting the part of ciphertext of the reference first part of ciphertext to obtain a target first part of ciphertext; sending the third portion of ciphertext and the target first portion of ciphertext to the first party;
and performing intersection operation by the first party according to the third part of ciphertext, the target first part of ciphertext and the second part of ciphertext to obtain an intersection result.
Optionally, in the aspect that the first local data is encrypted by the first party using a second cryptographic algorithm, the first public key, and the first random number to obtain a first ciphertext, the above program includes an instruction for executing the following steps:
performing hash operation on the first local data by the first party by using the second cryptographic algorithm to obtain a first hash operation result;
and encrypting the first hash operation result by using the first public key and the first random number to obtain the first ciphertext.
Optionally, in the aspect that the second party encrypts the second local data by using the second cryptographic algorithm, the second public key, and the second random number to obtain a second ciphertext, the foregoing program includes an instruction for executing the following steps:
performing hash operation on the second local data by the second party by using the second cryptographic algorithm to obtain a second hash operation result;
and encrypting the second hash operation result by using the second public key and the second random number to obtain the second ciphertext.
Optionally, when the first encryption algorithm is the sm2 algorithm, in the aspect of extracting, by the first party, the first partial ciphertext and the second partial ciphertext in the first ciphertext, the program includes instructions for performing the following steps:
extracting the first ciphertext by the first party by using a first elliptic curve parameter to obtain a first C1 ciphertext, a first C2 ciphertext and a first C3 ciphertext;
determining the first C2 ciphertext as the first partial ciphertext;
and splicing the first C1 ciphertext and the first C3 ciphertext to obtain the second part ciphertext.
Optionally, in the aspect of extracting, by the second party, a third partial ciphertext and a fourth partial ciphertext in the second ciphertext, the program includes instructions for:
extracting the second ciphertext by the second party by using a second elliptic curve parameter to obtain a second C1 ciphertext, a second C2 ciphertext and a second C3 ciphertext;
determining the second C2 ciphertext as the third partial ciphertext;
and splicing the second C1 ciphertext and the second C3 ciphertext to obtain the second part ciphertext.
Optionally, in the aspect that the intersection result is obtained by the first party by performing an intersection operation according to the third part ciphertext, the target first part ciphertext, and the second part ciphertext, the foregoing program includes instructions for performing the following steps:
splicing the second part of ciphertext and the target first part of ciphertext by the first party to obtain a spliced ciphertext;
decrypting the spliced ciphertext by using the first private key to obtain a decryption result;
and performing intersection operation on the decryption result and the third part of ciphertext to obtain an intersection result.
Embodiments of the present application further provide a computer storage medium, where the computer storage medium stores a computer program for electronic data exchange, the computer program enables a computer to execute part or all of the steps of any one of the methods as described in the above method embodiments, and the computer includes an electronic device.
Embodiments of the present application also provide a computer program product comprising a non-transitory computer readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the methods as described in the above method embodiments. The computer program product may be a software installation package, the computer comprising an electronic device.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present application is not limited by the order of acts described, as some steps may occur in other orders or concurrently depending on the application. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required in this application.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to the related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the above-described units is only one type of logical functional division, and other divisions may be realized in practice, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of some interfaces, devices or units, and may be an electric or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit may be stored in a computer readable memory if it is implemented in the form of a software functional unit and sold or used as a stand-alone product. Based on such understanding, the technical solution of the present application may be substantially implemented or a part of or all or part of the technical solution contributing to the prior art may be embodied in the form of a software product stored in a memory, and including several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the above-mentioned method of the embodiments of the present application. And the aforementioned memory comprises: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
Those skilled in the art will appreciate that all or part of the steps of the methods of the above embodiments may be implemented by a program, which is stored in a computer-readable memory, the memory including: flash Memory disks, read-Only memories (ROMs), random Access Memories (RAMs), magnetic or optical disks, and the like.
The foregoing embodiments have been described in detail, and specific examples are used herein to explain the principles and implementations of the present application, where the above description of the embodiments is only intended to help understand the method and its core ideas of the present application; meanwhile, for a person skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.
Claims (10)
1. A privacy set intersection method based on a state secret is applied to a two-party computing system, wherein the two-party computing system comprises a first party and a second party, the first party corresponds to first local data, and the second party corresponds to second local data; the method comprises the following steps:
generating encryption and decryption processing parameters of a first cryptographic algorithm by the first party to obtain a first public key, a first private key and a first random number;
generating encryption and decryption processing parameters of the first cryptographic algorithm by the second party to obtain a second public key, a second private key and a second random number;
encrypting the first local data by the first party by using a second cryptographic algorithm, the first public key and the first random number to obtain a first ciphertext;
encrypting the second local data by the second party by using the second cryptographic algorithm, the second public key and the second random number to obtain a second ciphertext;
extracting a first part of ciphertext and a second part of ciphertext in the first ciphertext by the first party, and sending the first part of ciphertext to the second party;
extracting a third part of ciphertext and a fourth part of ciphertext in the second ciphertext by the second party, encrypting the first part of ciphertext by the second public key and the second random number to obtain a reference first part of ciphertext, and extracting the part of ciphertext referring to the first part of ciphertext to obtain a target first part of ciphertext; sending the third portion of ciphertext and the target first portion of ciphertext to the first party;
and performing intersection operation by the first party according to the third part of ciphertext, the target first part of ciphertext and the second part of ciphertext to obtain an intersection result.
2. The method according to claim 1, wherein the obtaining a first ciphertext by the first party by encrypting the first local data with a second cryptographic algorithm, the first public key, and the first random number comprises:
performing hash operation on the first local data by the first party by using the second cryptographic algorithm to obtain a first hash operation result;
and encrypting the first hash operation result by using the first public key and the first random number to obtain the first ciphertext.
3. The method of claim 1, wherein the encrypting the second local data by the second party using the second cryptographic algorithm, the second public key, and the second random number to obtain a second ciphertext comprises:
performing hash operation on the second local data by the second party by using the second cryptographic algorithm to obtain a second hash operation result;
and encrypting the second hash operation result by using the second public key and the second random number to obtain the second ciphertext.
4. The method according to any of claims 1-3, wherein when the first encryption algorithm is the sm2 algorithm, said extracting, by the first party, a first portion of ciphertext and a second portion of ciphertext of the first ciphertext comprises:
extracting the first ciphertext by the first party by using a first elliptic curve parameter to obtain a first C1 ciphertext, a first C2 ciphertext and a first C3 ciphertext;
determining the first C2 ciphertext as the first partial ciphertext;
and splicing the first C1 ciphertext and the first C3 ciphertext to obtain the second part ciphertext.
5. The method of claim 4, wherein the extracting, by the second party, a third portion of ciphertext and a fourth portion of ciphertext from the second ciphertext comprises:
performing ciphertext extraction on the second ciphertext by using a second elliptic curve parameter through the second party to obtain a second C1 ciphertext, a second C2 ciphertext and a second C3 ciphertext;
determining the second C2 ciphertext as the third partial ciphertext;
and splicing the second C1 ciphertext and the second C3 ciphertext to obtain the second part ciphertext.
6. The method according to any one of claims 1-3, wherein said obtaining, by the first party, an intersection result by performing an intersection operation on the third portion ciphertext, the target first portion ciphertext, and the second portion ciphertext comprises:
splicing the second part of ciphertext and the target first part of ciphertext by the first party to obtain a spliced ciphertext;
decrypting the spliced ciphertext by using the first private key to obtain a decryption result;
and performing intersection operation on the decryption result and the third part of ciphertext to obtain an intersection result.
7. A two-party computing system, for use in a two-party computing system, the two-party computing system comprising a first party and a second party, the first party corresponding to first local data and the second party corresponding to second local data; wherein,
the first party is used for generating encryption and decryption processing parameters of a first national cryptographic algorithm to obtain a first public key, a first private key and a first random number;
the second party is used for generating encryption and decryption processing parameters of the first cryptographic algorithm to obtain a second public key, a second private key and a second random number;
the first party is used for encrypting the first local data by using a second cryptographic algorithm, the first public key and the first random number to obtain a first cipher text;
the second party is configured to encrypt the second local data by using the second cryptographic algorithm, the second public key, and the second random number to obtain a second ciphertext;
the first party is used for extracting a first part of ciphertext and a second part of ciphertext in the first ciphertext and sending the first part of ciphertext to the second party;
the second party is used for extracting a third part of ciphertext and a fourth part of ciphertext from the second ciphertext, encrypting the first part of ciphertext through the second public key and the second random number to obtain a reference first part of ciphertext, and extracting a part of ciphertext of the reference first part of ciphertext to obtain a target first part of ciphertext; sending the third portion of ciphertext and the target first portion of ciphertext to the first party;
the first party is configured to perform an intersection operation according to the third portion of the ciphertext, the target first portion of the ciphertext, and the second portion of the ciphertext to obtain an intersection result, and send the intersection result to the second party.
8. The system according to claim 7, wherein, in the aspect that the first local data is encrypted by the first party using a second cryptographic algorithm, the first public key, and the first random number to obtain a first ciphertext, the first party is specifically configured to:
performing hash operation on the first local data by using the second cryptographic algorithm to obtain a first hash operation result;
and encrypting the first hash operation result by using the first public key and the first random number to obtain the first ciphertext.
9. An electronic device comprising a processor, a memory for storing one or more programs and configured for execution by the processor, the programs comprising instructions for performing the steps in the method of any of claims 1-6.
10. A computer-readable storage medium, characterized in that a computer program for electronic data exchange is stored, wherein the computer program causes a computer to perform the method according to any one of claims 1-6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210876365.5A CN115242514B (en) | 2022-07-25 | 2022-07-25 | Privacy set intersection method and system based on state secret, electronic equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210876365.5A CN115242514B (en) | 2022-07-25 | 2022-07-25 | Privacy set intersection method and system based on state secret, electronic equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115242514A true CN115242514A (en) | 2022-10-25 |
CN115242514B CN115242514B (en) | 2023-03-07 |
Family
ID=83675055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210876365.5A Active CN115242514B (en) | 2022-07-25 | 2022-07-25 | Privacy set intersection method and system based on state secret, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115242514B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801261A (en) * | 2023-01-15 | 2023-03-14 | 三未信安科技股份有限公司 | Cipher text intersection method based on national cipher algorithm |
CN117155539A (en) * | 2023-10-31 | 2023-12-01 | 浙江大学 | Confusion of analog radio frequency circuit netlist, restoration method, device, terminal and medium thereof |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040076A (en) * | 2018-08-09 | 2018-12-18 | 腾讯科技(深圳)有限公司 | A kind of data processing method, system, device, equipment and medium |
CN112003695A (en) * | 2020-08-11 | 2020-11-27 | 天翼电子商务有限公司 | Privacy set intersection method, system, medium, and apparatus |
US20210194671A1 (en) * | 2019-12-24 | 2021-06-24 | Samsung Sds Co., Ltd. | Apparatus and method for set intersection operation |
CN113225186A (en) * | 2021-05-31 | 2021-08-06 | 平安科技(深圳)有限公司 | Private data intersection solving method and device, computer equipment and storage medium |
CN114640444A (en) * | 2022-03-18 | 2022-06-17 | 哈尔滨理工大学 | Privacy protection set intersection acquisition method and device based on domestic cryptographic algorithm |
-
2022
- 2022-07-25 CN CN202210876365.5A patent/CN115242514B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040076A (en) * | 2018-08-09 | 2018-12-18 | 腾讯科技(深圳)有限公司 | A kind of data processing method, system, device, equipment and medium |
US20210194671A1 (en) * | 2019-12-24 | 2021-06-24 | Samsung Sds Co., Ltd. | Apparatus and method for set intersection operation |
CN112003695A (en) * | 2020-08-11 | 2020-11-27 | 天翼电子商务有限公司 | Privacy set intersection method, system, medium, and apparatus |
CN113225186A (en) * | 2021-05-31 | 2021-08-06 | 平安科技(深圳)有限公司 | Private data intersection solving method and device, computer equipment and storage medium |
CN114640444A (en) * | 2022-03-18 | 2022-06-17 | 哈尔滨理工大学 | Privacy protection set intersection acquisition method and device based on domestic cryptographic algorithm |
Non-Patent Citations (1)
Title |
---|
魏立斐,刘纪海,张蕾,王勤,贺崇德: "面向隐私保护的集合交集计算综述", 《计算机研究与发展》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801261A (en) * | 2023-01-15 | 2023-03-14 | 三未信安科技股份有限公司 | Cipher text intersection method based on national cipher algorithm |
CN115801261B (en) * | 2023-01-15 | 2023-04-25 | 三未信安科技股份有限公司 | Ciphertext intersection method based on cryptographic algorithm |
CN117155539A (en) * | 2023-10-31 | 2023-12-01 | 浙江大学 | Confusion of analog radio frequency circuit netlist, restoration method, device, terminal and medium thereof |
CN117155539B (en) * | 2023-10-31 | 2024-01-30 | 浙江大学 | Confusion of analog radio frequency circuit netlist, restoration method, device, terminal and medium thereof |
Also Published As
Publication number | Publication date |
---|---|
CN115242514B (en) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113364760A (en) | Data encryption processing method and device, computer equipment and storage medium | |
US11880831B2 (en) | Encryption system, encryption key wallet and method | |
CN115242514B (en) | Privacy set intersection method and system based on state secret, electronic equipment and storage medium | |
CN111835511A (en) | Data security transmission method and device, computer equipment and storage medium | |
CN106452770B (en) | Data encryption method, data decryption method, device and system | |
CN112511514A (en) | HTTP encrypted transmission method and device, computer equipment and storage medium | |
CN106067874B (en) | It is a kind of by the method for data record to server end, terminal and server | |
CN107359998A (en) | A kind of foundation of portable intelligent password management system and operating method | |
CN108924147A (en) | Method, server and the communication terminal that communication terminal digital certificate is signed and issued | |
CN113572743B (en) | Data encryption and decryption methods and devices, computer equipment and storage medium | |
CN109525388B (en) | Combined encryption method and system with separated keys | |
CN113032357A (en) | File storage method and device and server | |
CN115269938B (en) | Homomorphic encryption-based keyword track hiding query method, system and related device | |
CN116032667B (en) | Online trace query method, system and related equipment supporting efficient update | |
CN111475690B (en) | Character string matching method and device, data detection method and server | |
CN114900304A (en) | Digital signature method and apparatus, electronic device, and computer-readable storage medium | |
CN115913537A (en) | Data intersection method and system based on privacy protection and related equipment | |
CN114726597B (en) | Data transmission method, device, system and storage medium | |
Yang et al. | Publicly verifiable outsourced data migration scheme supporting efficient integrity checking | |
CN110401531B (en) | Cooperative signature and decryption system based on SM9 algorithm | |
US20210158444A1 (en) | Method and Apparatus for a Blockchain-Agnostic Safe Multi-Signature Digital Asset Management | |
CN113726515A (en) | UKEY-based key processing method, storage medium and electronic device | |
CN112199730A (en) | Method and device for processing application data on terminal and electronic equipment | |
JPWO2018043466A1 (en) | Data extraction system, data extraction method, registration device and program | |
CN113254989B (en) | Fusion method and device of target data and server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |