CN117371051A - Data matching method, device, computer equipment and storage medium - Google Patents

Data matching method, device, computer equipment and storage medium Download PDF

Info

Publication number
CN117371051A
CN117371051A CN202311234656.5A CN202311234656A CN117371051A CN 117371051 A CN117371051 A CN 117371051A CN 202311234656 A CN202311234656 A CN 202311234656A CN 117371051 A CN117371051 A CN 117371051A
Authority
CN
China
Prior art keywords
data
receiver
matched
sender
bloom filter
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.)
Pending
Application number
CN202311234656.5A
Other languages
Chinese (zh)
Inventor
王聪会
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN202311234656.5A priority Critical patent/CN117371051A/en
Publication of CN117371051A publication Critical patent/CN117371051A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

The present application relates to a data matching method, apparatus, computer device, storage medium and computer program product. The method comprises the following steps: the method comprises the steps that a data sending party obtains a data encryption public key and a data encryption private key which are generated by data to be matched of a receiving party; the data encryption public key is used for encrypting the data to be matched of the receiving party at the data receiving party to obtain encrypted data; the data encryption private key is used for decrypting encrypted data sent by the data receiver at the data sender to obtain decrypted data; determining whether the data to be matched of the receiver is stored in the bloom filter or not according to the decrypted data by the data receiver; and under the condition that the data to be matched of the receiver is stored in the bloom filter, storing the data to be matched of the receiver into a matched data set in the data receiver through the data receiver. By adopting the method, the safety of the data matching process can be improved.

Description

Data matching method, device, computer equipment and storage medium
Technical Field
The present invention relates to the field of big data technology, and in particular, to a data matching method, apparatus, computer device, storage medium, and computer program product.
Background
With the development of big data technology, more and more business institutions realize cross-institution data cooperation through data sharing.
Currently, in conducting cross-facility data collaboration, it is often necessary to verify that user data content is consistent between multiple collaborative business facilities. However, in the process of determining whether user data among a plurality of cooperative service institutions are consistent, a hash function is often adopted to process each piece of original data, and data content matching is performed by comparing whether hash values are the same, but the original data may be collided through the hash value collision, so that the security in the data matching process is lower.
Therefore, the data matching process in the conventional art has a problem of low security.
Disclosure of Invention
In view of the foregoing, it is desirable to provide a data matching method, apparatus, computer device, computer readable storage medium, and computer program product that can improve the security of a data matching process.
A data matching method, comprising:
the method comprises the steps that a data sending party obtains a data encryption public key and a data encryption private key which are generated by data to be matched of a receiving party; the data encryption public key is used for encrypting the data to be matched of the receiving party at the data receiving party to obtain encrypted data; the data encryption private key is used for decrypting encrypted data sent by the data receiver at the data sender to obtain decrypted data;
determining whether the data to be matched of the receiver is stored in the bloom filter or not according to the decrypted data by the data receiver; the bloom filter stores the data to be matched of the sender of the data sender;
under the condition that the data to be matched of the receiver is stored in the bloom filter, the data to be matched of the receiver is stored in a matched data set in the data receiver through the data receiver; the matching data set is used for storing data with overlap between the data receiver and the data sender.
In one embodiment, determining, by the data receiving party, whether the bloom filter stores data to be matched according to the decrypted data includes:
hash mapping is carried out on the decrypted data through a data receiver to obtain a mapping value;
and determining whether the data to be matched of the receiver is stored in the bloom filter or not according to the index position represented by the mapping value by the data receiver.
In one embodiment, the method further comprises:
determining data overlap information between the data receiver and the data sender according to the data in the matched data set by the data receiver;
and determining a data matching result between the data receiver and the data sender according to the data overlapping information.
In one embodiment, the method further comprises:
initializing a bloom filter by a data sender;
carrying out hash mapping on data to be matched of a sender through the data sender, and inserting a result obtained by the hash mapping into a bloom filter;
the bloom filter is sent to the data receiver by the data sender.
In one embodiment, the method further comprises:
and under the condition that the data receiver completes verification of the data in the matched data set, the matched data set is sent to the data sender through the data receiver to share the data.
In one embodiment, the method further comprises:
in the case where the data receiving side and the data transmitting side have been determined in the respective data cooperators, the data to be matched by the receiving side is determined by the data receiving side, and the data to be matched by the transmitting side is determined by the data transmitting side.
A data matching apparatus comprising:
the acquisition module is used for acquiring a data encryption public key and a data encryption private key generated by a data sender aiming at data to be matched of a receiver; the data encryption public key is used for encrypting the data to be matched of the receiving party at the data receiving party to obtain encrypted data; the data encryption private key is used for decrypting encrypted data sent by the data receiver at the data sender to obtain decrypted data;
the determining module is used for determining whether the data to be matched of the receiver is stored in the bloom filter or not according to the decrypted data through the data receiver; the bloom filter stores the data to be matched of the sender of the data sender;
the storage module is used for storing the data to be matched of the receiver into a matched data set in the data receiver through the data receiver under the condition that the data to be matched of the receiver is stored in the bloom filter; the matching data set is used for storing data with overlap between the data receiver and the data sender.
A computer device comprising a memory storing a computer program and a processor implementing the steps of the method described above when the processor executes the computer program.
A computer readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of the method described above.
A computer program product comprising a computer program which, when executed by a processor, implements the steps of the method described above.
The data matching method, the data matching device, the computer equipment, the storage medium and the computer program product are characterized in that a data transmission side obtains a data encryption public key and a data encryption private key which are generated by aiming at data to be matched of a receiving side; the data encryption public key is used for encrypting the data to be matched of the receiving party at the data receiving party to obtain encrypted data; the data encryption private key is used for decrypting encrypted data sent by the data receiver at the data sender to obtain decrypted data; determining whether the data to be matched of the receiver is stored in the bloom filter or not according to the decrypted data by the data receiver; the bloom filter stores the data to be matched of the sender of the data sender; under the condition that the data to be matched of the receiver is stored in the bloom filter, the data to be matched of the receiver is stored in a matched data set in the data receiver through the data receiver; the matching data set is used for storing data with overlapping data between the data receiver and the data sender; therefore, under the condition that the original data of the data sender and the data receiver are protected, the data content consistency matching can be realized, the unsafe problem in the data content matching process is solved, the safety of the data matching process is improved, and the data sharing among the data partners is realized.
Drawings
FIG. 1 is an application environment diagram of a data matching method in one embodiment;
FIG. 2 is a flow chart of a data matching method according to an embodiment;
FIG. 3 is a flow chart of a data matching method according to another embodiment;
FIG. 4 is a block diagram of a data matching device in one embodiment;
fig. 5 is an internal structural diagram of a computer device in one embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application will be further described in detail with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the present application.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the foregoing figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the disclosure described herein may be capable of operation in sequences other than those illustrated or described herein. The implementations described in the following exemplary examples are not representative of all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure.
The data matching method provided by the embodiment of the application can be applied to an application environment shown in fig. 1. Wherein the data sender server 102 communicates with the data receiver server 104 via a network. The data receiving side server 104 acquires a data encryption public key and a data encryption private key which are generated by the data sending side server 102 aiming at the data to be matched of the receiving side; the data encryption public key is used for encrypting the data to be matched of the receiver at the data receiver server 104 to obtain encrypted data; the data encryption private key is used for decrypting the encrypted data sent by the data receiver server 104 at the data sender server 102 to obtain decrypted data; determining, by the data receiver server 104, whether the bloom filter stores data to be matched by the receiver according to the decrypted data; the bloom filter stores sender-to-be-matched data of the data sender server 102; in the case that the bloom filter stores the data to be matched by the receiver, the data to be matched by the receiver is stored in a matched data set in the data receiver server 104 by the data receiver server 104; the matching data set is used to store data where there is overlap between the data receiver server 104 and the data sender server 102.
In one embodiment, as shown in fig. 2, a data matching method is provided, and an application environment of the method in fig. 1 is taken as an example for explanation, the method includes the following steps:
step S202, a data transmitting party acquires a data encryption public key and a data encryption private key which are generated by data to be matched by a receiving party; the data encryption public key is used for encrypting the data to be matched of the receiving party at the data receiving party to obtain encrypted data; the data encryption private key is used for decrypting the encrypted data sent by the data receiver at the data sender to obtain decrypted data.
Wherein the data sender may be the object from which the data is sent. For example, there may be a collaboration relationship between multiple collaboration business entities, where a data sender may refer to a business entity that needs to send data to other collaboration business entities to match data consistency with other collaboration business entities.
Wherein the data receiver may be an object that receives data. For example, there may be a collaboration relationship between a plurality of collaboration business entities, and a data receiver may refer to a business entity that receives data sent from other collaboration business entities.
The data to be matched by the receiver can be data which needs to be matched with the data sender in a consistency way in the data receiver. For example, the data to be matched by the receiver can be data which needs to be matched with the data of other business institutions in a consistency manner in the business institutions
The data encryption public key may be a key that is required to be used when the data receiver encrypts the data.
The data encryption private key may be a key that is required to be used when the data sender decrypts the data encrypted by the data encryption public key.
The encrypted data may be ciphertext obtained by encrypting plaintext by using a public key.
The decrypted data may be plaintext obtained by decrypting the ciphertext with a private key.
In the specific implementation, a data sender server generates a data encryption public key and a data encryption private key for data to be matched of a receiver in a data receiver server, the data receiver server encrypts the data to be matched of a receiver by adopting the data encryption public key to obtain encrypted data, and the data sender server decrypts the encrypted data by adopting the data encryption private key to obtain decrypted data.
Step S204, determining whether the data to be matched of the receiver is stored in the bloom filter or not according to the decrypted data by the data receiver; the bloom filter stores sender-to-match data of the sender of the data.
Wherein the bloom filter may be a binary vector and a series of random mapping functions (hash functions) that may be used to verify whether an element is in a set.
The data to be matched by the sender can be data which needs to be matched with the data receiver in a consistency way in the data sender.
In a specific implementation, the data receiver server determines whether the bloom filter storing the data to be matched of the sender of the data sender server stores the data to be matched of the receiver of the data receiver server according to the decrypted data.
Step S206, under the condition that the bloom filter stores the data to be matched of the receiver, the data to be matched of the receiver is stored into a matched data set in the data receiver through the data receiver; the matching data set is used for storing data with overlap between the data receiver and the data sender.
The matching data set may be a data intersection set that corresponds to data to be matched of the data receiver and data to be matched of the data sender. In practice, the data receiver initializes an empty set to store intersection data with the data sender.
In a specific implementation, when the data receiver server determines that the bloom filter stores the data to be matched of the receiver, the data to be matched of the receiver is stored in a matched data set in the data receiver server.
In practical application, the data sender determines a large prime number N, generates a private key d and a public key e, and then sends the public key e and the large prime number N to the data receiver.
In the data matching method, the data encryption public key and the data encryption private key generated by the data to be matched of the receiving party are targeted by the data sending party; the data encryption public key is used for encrypting the data to be matched of the receiving party at the data receiving party to obtain encrypted data; the data encryption private key is used for decrypting encrypted data sent by the data receiver at the data sender to obtain decrypted data; determining whether the data to be matched of the receiver is stored in the bloom filter or not according to the decrypted data by the data receiver; the bloom filter stores the data to be matched of the sender of the data sender; under the condition that the data to be matched of the receiver is stored in the bloom filter, the data to be matched of the receiver is stored in a matched data set in the data receiver through the data receiver; the matching data set is used for storing data with overlapping data between the data receiver and the data sender; therefore, under the condition that the original data of the data sender and the data receiver are protected, the data content consistency matching can be realized, the unsafe problem in the data content matching process is solved, the safety of the data matching process is improved, and the data sharing among the data partners is realized.
In one embodiment, determining, by the data receiving party, whether the bloom filter stores data to be matched according to the decrypted data includes: hash mapping is carried out on the decrypted data through a data receiver to obtain a mapping value; and determining whether the data to be matched of the receiver is stored in the bloom filter or not according to the index position represented by the mapping value by the data receiver.
The mapping value may be a value obtained by inputting data into a hash function.
The index position may be a position corresponding to any one of numbers 0, 1, …, and N, where the size of N is related to the vector size of the bloom filter.
In the specific implementation, the data receiver server performs hash mapping on the decrypted data to obtain a mapping value, and the data receiver server determines whether the data to be matched by the receiver is stored in the bloom filter according to the index position of the mapping value in the bloom filter.
According to the technical scheme, the decrypted data is subjected to hash mapping through a data receiving party to obtain a mapping value; determining whether the data to be matched of the receiver is stored in the bloom filter or not through the index position characterized by the data receiver according to the mapping value; in this way, by determining whether the decrypted data is in the bloom filter or not, it is further determined whether the receiver data to be matched is stored in the bloom filter or not, so that the data to be matched of the data receiver can be accurately matched with the data stored in the bloom filter in advance by the data sender.
In one embodiment, the method further comprises: determining data overlap information between the data receiver and the data sender according to the data in the matched data set by the data receiver; and determining data matching content between the data receiver and the data sender according to the data overlapping information.
The data overlap information may be information indicating that the data between the data receiver and the data transmitter is entirely or partially overlapped.
The data matching content can be data content which characterizes that the data receiving party and the data sending party pass through consistency matching verification and can be shared.
In the specific implementation, the data receiving side server determines whether the data between the data receiving side server and the data transmitting side server are all overlapped or partially overlapped according to the data in the matched data set, and the data receiving side server determines the data matching content between the data receiving side server and the data transmitting side server according to the data overlapping condition.
According to the technical scheme of the embodiment, the data overlap information between the data receiver and the data sender is determined according to the data in the matched data set by the data receiver; determining data matching content between a data receiver and a data sender according to the data overlapping information; therefore, under the condition that the data receiver and the data sender do not leak the data, the matching part data of the data receiver and the data sender can be determined, the purpose of checking the consistency of the data is achieved, the original data of the two parties can not be exposed, and effective data protection can be realized.
In one embodiment, the method further comprises: initializing a bloom filter by a data sender; carrying out hash mapping on data to be matched of a sender through the data sender, and inserting a result obtained by the hash mapping into a bloom filter; the bloom filter is sent to the data receiver by the data sender.
In the specific implementation, a bloom filter is initialized by a data sender server, hash mapping is carried out on data to be matched of the sender by the data sender server, a result obtained by the hash mapping is inserted into the bloom filter, and the bloom filter is sent to a data receiver server by the data sender server.
For example, the data sender initializes a bloom filter of length 10×m, and then sends the data x= { X in the data sender 1 ,x 2 ,...,x m Each element in the data is input into a corresponding hash value, inserted into a bloom filter, and the bloom filter is sent to a data receiver after the insertion is completed.
According to the technical scheme of the embodiment, a bloom filter is initialized through a data sender; carrying out hash mapping on data to be matched of a sender through the data sender, and inserting a result obtained by the hash mapping into a bloom filter; the bloom filter is sent to a data receiver through a data sender; therefore, the data sender can send the data to be matched to the data receiver in an encrypted form through the bloom filter, and the data security of the data sender can be protected.
In one embodiment, the method further comprises: and under the condition that the data receiver completes verification of the data in the matched data set, the matched data set is sent to the data sender through the data receiver to share the data.
In a specific implementation, under the condition that the data receiving side server completes verification of the data in the matched data set, the data receiving side server sends the matched data set to the data sending side server for data sharing.
In practical application, the data receiver can also store the data matching set.
According to the technical scheme, under the condition that the data receiver finishes verifying the data in the matched data set, the matched data set is sent to the data sender through the data receiver to share the data, so that the data between the data receiver and the data sender can be shared under the condition that the safety of the data receiver and the data sender is ensured, and convenience in cooperation among different data cooperation objects is improved.
In one embodiment, the method further comprises: in the case where the data receiving side and the data transmitting side have been determined in the respective data cooperators, the data to be matched by the receiving side is determined by the data receiving side, and the data to be matched by the transmitting side is determined by the data transmitting side.
In the specific implementation, a data receiving side server and a data transmitting side server are determined among the data partner servers, the data to be matched of the receiving side is determined through the data receiving side server, and the data transmitting side server determines the data to be matched of the transmitting side.
According to the technical scheme, a data receiver and a data sender are determined among all data partners; and the data to be matched of the receiver is determined through the data receiver, and the data to be matched of the sender is determined through the data sender, so that the data consistency matching can be performed quickly and accurately.
In another embodiment, as shown in fig. 3, a data matching method is provided, and the application environment of the method in fig. 1 is taken as an example for explanation, and the method includes the following steps:
step S302, a data transmitting party acquires a data encryption public key and a data encryption private key which are generated by data to be matched by a receiving party; the data encryption public key is used for encrypting the data to be matched by the receiver at the data receiver to obtain encrypted data; the data encryption private key is used for decrypting the encrypted data sent by the data receiver at the data sender to obtain decrypted data.
Step S304, hash-mapping the decrypted data by the data receiver to obtain a mapping value.
Step S306, determining whether the data to be matched of the receiver is stored in the bloom filter or not according to the index position characterized by the mapping value by the data receiver; the bloom filter stores data to be matched of the sender of the data sender.
Step S308, storing the data to be matched of the receiver into a matched data set in the data receiver through the data receiver under the condition that the data to be matched of the receiver is stored in the bloom filter; the matching data set is used for storing data with overlapping data between the data receiver and the data sender.
It should be noted that, the specific limitation of the above steps may be referred to the specific limitation of a data matching method.
It should be understood that, although the steps in the flowcharts related to the embodiments described above are sequentially shown as indicated by arrows, these steps are not necessarily sequentially performed in the order indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in the flowcharts described in the above embodiments may include a plurality of steps or a plurality of stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of the steps or stages is not necessarily performed sequentially, but may be performed alternately or alternately with at least some of the other steps or stages.
Based on the same inventive concept, the embodiment of the application also provides a data matching device for realizing the above related data matching method. The implementation of the solution provided by the device is similar to the implementation described in the above method, so the specific limitation in one or more embodiments of the data matching device provided below may refer to the limitation of the data matching method hereinabove, and will not be repeated herein.
In one embodiment, as shown in fig. 4, there is provided a data matching apparatus comprising:
an obtaining module 402, configured to obtain a data encryption public key and a data encryption private key generated by a data sender according to data to be matched by a receiver; the data encryption public key is used for encrypting the data to be matched of the receiving party at the data receiving party to obtain encrypted data; the data encryption private key is used for decrypting encrypted data sent by the data receiver at the data sender to obtain decrypted data;
a determining module 404, configured to determine, by the data receiver, whether the bloom filter stores data to be matched by the receiver according to the decrypted data; the bloom filter stores the data to be matched of the sender of the data sender;
the storage module 406 is configured to store, by the data receiver, the data to be matched by the receiver into a matched data set in the data receiver, in a case where the data to be matched by the receiver is stored in the bloom filter; the matching data set is used for storing data with overlap between the data receiver and the data sender.
In one embodiment, the determining module 404 is specifically configured to perform hash mapping on the decrypted data through the data receiver to obtain a mapping value; and determining whether the data to be matched of the receiver is stored in the bloom filter or not according to the index position represented by the mapping value by the data receiver.
In one embodiment, the apparatus further comprises: the matching module is specifically used for determining data overlapping information between the data receiver and the data sender according to the data in the matched data set through the data receiver; and determining data matching content between the data receiver and the data sender according to the data overlapping information.
In one embodiment, the apparatus further comprises: the initialization module is specifically used for initializing the bloom filter through the data sender; carrying out hash mapping on data to be matched of a sender through the data sender, and inserting a result obtained by the hash mapping into a bloom filter; the bloom filter is sent to the data receiver by the data sender.
In one embodiment, the apparatus further comprises: the sharing module is specifically configured to send the matched data set to the data sender for data sharing through the data receiver when the data receiver completes verification of the data in the matched data set.
In one embodiment, the apparatus further comprises: the confirmation module is specifically configured to determine, when the data receiver and the data sender have been determined in each data partner, data to be matched by the receiver and data to be matched by the sender.
The respective modules in the above-described data matching apparatus may be implemented in whole or in part by software, hardware, and combinations thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
In one embodiment, a computer device is provided, which may be a server, the internal structure of which may be as shown in fig. 5. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database of the computer device is for storing data matching data. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a data matching method.
It will be appreciated by those skilled in the art that the structure shown in fig. 5 is merely a block diagram of some of the structures associated with the present application and is not limiting of the computer device to which the present application may be applied, and that a particular computer device may include more or fewer components than shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided comprising a memory and a processor, the memory storing a computer program which, when executed by the processor, causes the processor to perform the steps of a data matching method as described above. The steps of a data matching method herein may be the steps of a data matching method of the above embodiments.
In one embodiment, a computer readable storage medium is provided, storing a computer program which, when executed by a processor, causes the processor to perform the steps of a data matching method as described above. The steps of a data matching method herein may be the steps of a data matching method of the above embodiments.
In one embodiment, a computer program product is provided, comprising a computer program which, when executed by a processor, causes the processor to perform the steps of a data matching method as described above. The steps of a data matching method herein may be the steps of a data matching method of the above embodiments.
It should be noted that, user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, presented data, etc.) referred to in the present application are information and data authorized by the user or sufficiently authorized by each party.
Those skilled in the art will appreciate that implementing all or part of the above described methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed, may comprise the steps of the embodiments of the methods described above. Any reference to memory, database, or other medium used in the various embodiments provided herein may include at least one of non-volatile and volatile memory. The nonvolatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical Memory, high density embedded nonvolatile Memory, resistive random access Memory (ReRAM), magnetic random access Memory (Magnetoresistive Random Access Memory, MRAM), ferroelectric Memory (Ferroelectric Random Access Memory, FRAM), phase change Memory (Phase Change Memory, PCM), graphene Memory, and the like. Volatile memory can include random access memory (Random Access Memory, RAM) or external cache memory, and the like. By way of illustration, and not limitation, RAM can be in the form of a variety of forms, such as static random access memory (Static Random Access Memory, SRAM) or dynamic random access memory (Dynamic Random Access Memory, DRAM), and the like. The databases referred to in the various embodiments provided herein may include at least one of relational databases and non-relational databases. The non-relational database may include, but is not limited to, a blockchain-based distributed database, and the like. The processors referred to in the embodiments provided herein may be general purpose processors, central processing units, graphics processors, digital signal processors, programmable logic units, quantum computing-based data processing logic units, etc., without being limited thereto.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples only represent a few embodiments of the present application, which are described in more detail and are not to be construed as limiting the scope of the present application. It should be noted that it would be apparent to those skilled in the art that various modifications and improvements could be made without departing from the spirit of the present application, which would be within the scope of the present application. Accordingly, the scope of protection of the present application shall be subject to the appended claims.

Claims (10)

1. A method of data matching, the method comprising:
the method comprises the steps that a data sending party obtains a data encryption public key and a data encryption private key which are generated by data to be matched of a receiving party; the data encryption public key is used for encrypting the data to be matched by the receiver at the data receiver to obtain encrypted data; the data encryption private key is used for decrypting the encrypted data sent by the data receiver at the data sender to obtain decrypted data;
determining whether the data to be matched of the receiver is stored in a bloom filter or not according to the decrypted data by the data receiver; the bloom filter stores the data to be matched of the sender of the data sender;
storing the data to be matched of the receiver into a matched data set in the data receiver through the data receiver under the condition that the data to be matched of the receiver is stored in the bloom filter; the matching data set is used for storing data with overlapping data between the data receiver and the data sender.
2. The method of claim 1, wherein the determining, by the data receiver, whether the bloom filter stores the data to be matched based on the decrypted data, comprises:
hash mapping is carried out on the decrypted data through the data receiver to obtain a mapping value;
and determining whether the data to be matched of the receiver is stored in the bloom filter or not according to the index position characterized by the mapping value by the data receiver.
3. The method according to claim 1, wherein the method further comprises:
determining data overlapping information between the data receiver and the data sender according to the data in the matched data set by the data receiver;
and determining data matching content between the data receiver and the data sender according to the data overlapping information.
4. The method according to claim 1, wherein the method further comprises:
initializing a bloom filter by the data sender;
carrying out hash mapping on the data to be matched of the sender by the data sender, and inserting a result obtained by the hash mapping into the bloom filter;
and transmitting the bloom filter to the data receiver through the data transmitter.
5. The method according to claim 1, wherein the method further comprises:
and under the condition that the data receiver completes the verification of the data in the matched data set, the matched data set is sent to the data sender through the data receiver for data sharing.
6. The method according to claim 1, wherein the method further comprises:
in the case where the data receiving side and the data transmitting side have been determined in the respective data cooperators, the data to be matched by the receiving side is determined, and the data to be matched by the transmitting side is determined by the data transmitting side.
7. A data matching apparatus, the apparatus comprising:
the acquisition module is used for acquiring a data encryption public key and a data encryption private key generated by a data sender aiming at data to be matched of a receiver; the data encryption public key is used for encrypting the data to be matched by the receiver at the data receiver to obtain encrypted data; the data encryption private key is used for decrypting the encrypted data sent by the data receiver at the data sender to obtain decrypted data;
the determining module is used for determining whether the data to be matched of the receiver is stored in a bloom filter or not according to the decrypted data by the data receiver; the bloom filter stores the data to be matched of the sender of the data sender;
the storage module is used for storing the data to be matched of the receiver into a matched data set in the data receiver through the data receiver under the condition that the data to be matched of the receiver is stored in the bloom filter; the matching data set is used for storing data with overlapping data between the data receiver and the data sender.
8. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor implements the steps of the method of any of claims 1 to 6 when the computer program is executed.
9. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 6.
10. A computer program product comprising a computer program, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 6.
CN202311234656.5A 2023-09-22 2023-09-22 Data matching method, device, computer equipment and storage medium Pending CN117371051A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311234656.5A CN117371051A (en) 2023-09-22 2023-09-22 Data matching method, device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311234656.5A CN117371051A (en) 2023-09-22 2023-09-22 Data matching method, device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
CN117371051A true CN117371051A (en) 2024-01-09

Family

ID=89395456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311234656.5A Pending CN117371051A (en) 2023-09-22 2023-09-22 Data matching method, device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117371051A (en)

Similar Documents

Publication Publication Date Title
Raman et al. Distributed storage meets secret sharing on the blockchain
CN110881063B (en) Storage method, device, equipment and medium of private data
CN109471844A (en) File sharing method, device, computer equipment and storage medium
Hao et al. Deleting secret data with public verifiability
CN112738051B (en) Data information encryption method, system and computer readable storage medium
CN109274644A (en) A kind of data processing method, terminal and watermark server
EP4181456A1 (en) Secure integer comparison using binary trees
CN114240347A (en) Business service secure docking method and device, computer equipment and storage medium
US8862893B2 (en) Techniques for performing symmetric cryptography
CN117371011A (en) Data hiding query method, electronic device and readable storage medium
CN116684102A (en) Message transmission method, message verification method, device, equipment, medium and product
CN117034304A (en) Data processing method, apparatus, computer device, storage medium, and program product
CN116366289A (en) Safety supervision method and device for remote sensing data of unmanned aerial vehicle
CN117371051A (en) Data matching method, device, computer equipment and storage medium
CN107919953A (en) Data notarization method, apparatus, equipment, medium and server
CN114143098A (en) Data storage method and data storage device
CN110781511A (en) Transaction information storage method and device, computer equipment and storage medium
US11809588B1 (en) Protecting membership in multi-identification secure computation and communication
CN116628636A (en) Software code hosting method, system, computer device and storage medium
CN115296808B (en) Key replacing method, device, computer equipment and storage medium
CN108011710A (en) Data deposit card method, apparatus, equipment, medium and server
US11874950B1 (en) Protecting membership for secure computation and communication
CN116962589A (en) Data transmission method, device, system, computer equipment and storage medium
CN117010008A (en) Privacy intersection method, device, system, computer equipment and storage medium
CN116882983A (en) Resource transfer method, device, computer equipment and storage medium

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