CN115599959A - Data sharing method, device, equipment and storage medium - Google Patents

Data sharing method, device, equipment and storage medium Download PDF

Info

Publication number
CN115599959A
CN115599959A CN202211219741.XA CN202211219741A CN115599959A CN 115599959 A CN115599959 A CN 115599959A CN 202211219741 A CN202211219741 A CN 202211219741A CN 115599959 A CN115599959 A CN 115599959A
Authority
CN
China
Prior art keywords
matched
data
encrypted
sample set
sample
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
CN202211219741.XA
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.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech Co 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 CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202211219741.XA priority Critical patent/CN115599959A/en
Publication of CN115599959A publication Critical patent/CN115599959A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The disclosure provides a data sharing method, a data sharing device, data sharing equipment and a storage medium, which are applied to the field of information security and the field of big data. The method is applied to a data demand side and comprises the following steps: 5363 the filtering condition of the same-level strategy of Li Yongyang filters an original first sample set provided by a data demander to obtain a first sample set to be matched, where the first sample set to be matched includes first elements, and each group of the first elements includes the first sample to be matched and the filtering condition corresponding to the first sample to be matched; calling a hash function to calculate the hash value of each group of first elements to obtain a first to-be-matched hash set; sending the encrypted first sample set to be matched to a data provider; encrypting the encrypted second sample set to be matched sent by the data provider by using a first private key to obtain a second encrypted sample set to be matched; and intersecting the re-encrypted first sample set to be matched and the re-encrypted second sample set to be matched by using a privacy intersection algorithm to obtain data intersection.

Description

Data sharing method, device, equipment and storage medium
Technical Field
The present disclosure relates to the field of information security and the field of big data, and in particular, to a data sharing method, apparatus, device, storage medium, and program product.
Background
With the rapid development of economy, a part of business data is generally required to be shared among a plurality of organizations so as to complete business behaviors such as client qualification certification, risk level evaluation and the like according to relatively complete business data. In order to protect respective query intentions or private data of an organization from being leaked, a data demander and a data provider can generally share business data based on private data providing methods such as hidden query, but with the continuous increase of data query frequency and query data quantity and the increase of complexity of data query conditions, the query intentions of the data demander are at risk of being effectively identified by other data providers in the data sharing process, which causes great negative influence on information security in the data sharing process.
Disclosure of Invention
In view of the above, the present disclosure provides a data sharing method, apparatus, device, storage medium, and program product.
According to a first aspect of the present disclosure, there is provided a data sharing method applied to a data demander, including:
5363 the method comprises the steps of screening an original first sample set provided by a data demander by using the same-level strategy screening condition of Li Yongyang to obtain a first sample set to be matched, wherein the first sample set to be matched comprises at least one group of first elements, and each group of the first elements comprises a first sample to be matched and a screening condition corresponding to the first sample to be matched;
calling a hash function to calculate the hash value of each group of first elements to obtain a first to-be-matched hash set;
sending an encrypted first sample set to be matched to a data provider so that the data provider encrypts the encrypted first sample set to be matched based on a second private key to obtain a re-encrypted first sample set to be matched, wherein the encrypted first sample set to be matched is obtained by encrypting the first hash set to be matched through a first private key;
encrypting the encrypted second sample set to be matched sent by the data provider by using the first private key to obtain a re-encrypted second sample set to be matched;
and performing intersection on the re-encrypted first sample set to be matched and the re-encrypted second sample set to be matched by using a privacy intersection algorithm to obtain a data intersection.
According to an embodiment of the present disclosure, the data sharing method further includes:
receiving an encrypted second sample set to be matched, which is sent by the data provider;
the encrypted second sample set to be matched is obtained by encrypting a second hash set to be matched based on a second private key of the data provider, the second hash set to be matched is obtained by processing second elements in the second sample set to be matched by the hash function, and each group of the second elements comprises a second sample to be matched and sample characteristics corresponding to the second sample to be matched.
According to an embodiment of the present disclosure, the data sharing method further includes:
constructing a first array element with a shared key by using each first hash value to be matched in the first hash set to be matched to obtain a first array set; and
and encrypting each first array element in the first array set by using the first private key to obtain the encrypted first sample set to be matched.
According to the embodiment of the disclosure, the data demander and the data provider negotiate together to determine an elliptic curve encryption protocol, wherein the elliptic curve encryption protocol comprises a random elliptic point generating function;
wherein encrypting each first array element in the first array set using the first private key comprises:
calling the random elliptic point generating function to process the first array element and generating a first random elliptic point calculation result;
calculating a power operation result which takes the calculation result of the first random elliptic point as a base number and takes the first private key as an exponent to obtain an encrypted first element corresponding to the first array element; and
and constructing the encrypted first sample set to be matched based on the encrypted first element.
According to an embodiment of the present disclosure, the elliptic curve cryptography protocol further includes an elliptic curve and an elliptic curve generator;
the data sharing method further comprises the following steps:
generating the first private key according to the elliptic curve;
generating a first public key matched with the first private key according to the elliptic curve generating element and the first private key;
generating the shared key by using a second public key from the data provider and the first private key based on a key agreement mechanism determined by the data provider; and
sending the first public key to the data provider so that the data provider can negotiate the first public key based on the key agreement mechanism, and generating the shared secret key by using the first public key and the second private key, wherein the second private key is generated according to the elliptic curve.
According to an embodiment of the present disclosure, the data sharing method further includes:
and screening out a target sample which meets the sample-level equivalence strategy screening condition and is stored at the data providing end from the first sample set to be matched according to the data intersection.
The second aspect of the present disclosure also provides a data sharing method applied to a data provider, including:
li Yongyang screening conditions of the current-level equality strategy screen an original second sample set provided by a data provider to obtain a second sample set to be matched, wherein the second sample set to be matched comprises at least one group of second elements, and each group of the second elements comprises a second sample to be matched and sample characteristics corresponding to the second sample to be matched;
calling a hash function to calculate the hash value of each group of second elements to obtain a second hash set to be matched;
sending an encrypted second sample set to be matched to a data demander so that the data demander encrypts the encrypted second sample set to be matched based on a first private key to obtain a second encrypted sample set to be matched, wherein the encrypted second sample set to be matched is obtained by encrypting the second hash set to be matched through a second private key;
encrypting the encrypted first sample set to be matched from the data demand party based on the second private key to obtain a re-encrypted first sample set to be matched; and
and sending the re-encrypted first sample set to be matched to the data demander.
According to an embodiment of the present disclosure, the data sharing method further includes:
receiving an encrypted first sample set to be matched sent by the data demander;
the encrypted first sample set to be matched is obtained by encrypting a first hash set to be matched through the first private key, the first hash set to be matched is obtained by processing each first element in the first sample set to be matched through the hash function, and each group of the first elements comprises the first sample to be matched and the screening condition corresponding to the first sample to be matched.
According to an embodiment of the present disclosure, the data sharing method further includes:
establishing a second array element with the shared key by using each second hash value to be matched in the second hash set to be matched to obtain a second array set; and
and encrypting each second array element in the second array set by using the second private key to obtain the encrypted second sample set to be matched.
According to the embodiment of the disclosure, the data demander and the data provider negotiate together to determine an elliptic curve encryption protocol, wherein the elliptic curve encryption protocol comprises a random elliptic point generating function;
wherein encrypting each second array element in the second array set using the second private key comprises:
calling the random elliptic point generating function to process the second array element and generating a second random elliptic point calculation result;
calculating a power operation result with the second random elliptic point calculation result as a base number and the second private key as an exponent to obtain an encrypted second element corresponding to the second array element; and
and constructing the encrypted second sample set to be matched based on the encrypted second element.
According to the embodiment of the present disclosure, the elliptic curve encryption protocol of the data sharing method further comprises an elliptic curve and an elliptic curve generator;
the data sharing method further comprises the following steps:
generating the second private key according to the elliptic curve;
generating a second public key matched with the second private key according to the elliptic curve generating element and the second private key;
generating the shared key by using the first public key and the second private key from the data demander based on a key negotiation mechanism determined by the data demander; and
and sending the second public key to the data demander so that the data demander generates the shared key by using the second public key and the first private key based on the key agreement mechanism, wherein the first private key is generated according to the elliptic curve.
The third aspect of the present disclosure further provides a data sharing apparatus, applied to a data demander, including:
the first screening module is used for screening an original first sample set provided by a data demander by Li Yongyang current-level equal strategy screening conditions to obtain a first sample set to be matched, wherein the first sample set to be matched comprises at least one group of first elements, and each group of the first elements comprises a first sample to be matched and screening conditions corresponding to the first sample to be matched;
the first hash processing module is used for calling a hash function to calculate the hash value of each group of the first elements to obtain a first to-be-matched hash set;
the first sending module is used for sending the encrypted first sample set to be matched to a data provider so that the data provider encrypts the encrypted first sample set to be matched based on a second private key to obtain a re-encrypted first sample set to be matched, and the encrypted first sample set to be matched is obtained by encrypting the first hash set to be matched through a first private key;
the first encryption module is used for encrypting the encrypted second sample set to be matched sent by the data provider by using the first private key to obtain a second encrypted sample set to be matched;
and the privacy intersection module is used for intersecting the re-encrypted first sample set to be matched and the re-encrypted second sample set to be matched by using a privacy intersection algorithm to obtain a data intersection.
The fourth aspect of the present disclosure further provides a data sharing apparatus, which is applied to a data provider, and includes:
the second screening module is used for screening an original second sample set provided by a data provider by Li Yongyang a current-level equal strategy screening condition to obtain a second sample set to be matched, wherein the second sample set to be matched comprises at least one group of second elements, and each group of the second elements comprises a second sample to be matched and sample characteristics corresponding to the second sample to be matched;
the second hash processing module is used for calling a hash function to calculate the hash value of each group of the second elements to obtain a second hash set to be matched;
the second sending module is used for sending an encrypted second sample set to be matched to a data demander so that the data demander encrypts the encrypted second sample set to be matched based on a first private key to obtain a second encrypted sample set to be matched again, and the encrypted second sample set to be matched is obtained by encrypting the second hash set to be matched through a second private key;
the second encryption module is used for encrypting the encrypted first sample set to be matched from the data demand party based on the second private key to obtain a second encrypted first sample set to be matched; and
and the third sending module is used for sending the re-encrypted first sample set to be matched to the data demand party.
A fifth aspect of the present disclosure provides an electronic device, comprising: one or more processors; memory for storing one or more programs, wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the above-described method.
A sixth aspect of the present disclosure also provides a computer-readable storage medium having stored thereon executable instructions that, when executed by a processor, cause the processor to perform the above-described method.
A seventh aspect of the present disclosure also provides a computer program product comprising a computer program which, when executed by a processor, implements the above method.
According to the data sharing method, the data sharing device, the data sharing equipment, the data sharing medium and the program product, the first sample to be matched in the original first sample set and the screening condition corresponding to the first sample to be matched are embedded into the first element by adopting the sample-level equal strategy screening condition, the first sample set to be matched is subjected to multiple processing by utilizing the hash function and the first private key, the screening condition and the first sample to be matched can be effectively subjected to privacy processing, so that important data of a data demand party is prevented from being leaked, then the encrypted second sample set to be matched of the data provider is encrypted based on the first private key, privacy intersection is carried out according to the obtained re-encrypted second sample set to be matched and the re-encrypted first sample set to be matched provided by the data provider, under the condition that data of two parties are not leaked can be protected, the data demand party can accurately obtain the sample set which meets the sample-level equal strategy screening condition and is the same as the second sample set to be matched in the second sample set to be matched shared by the data provider, and the sample sharing condition that the sample-level equal strategy screening condition is improved, and the security of the sample sharing and the sample sharing process that the sample-level equal strategy matching is not leaked information is improved.
Drawings
The foregoing and other objects, features and advantages of the disclosure will be apparent from the following description of embodiments of the disclosure, which proceeds with reference to the accompanying drawings, in which:
fig. 1 schematically illustrates an application scenario diagram of a data sharing method and apparatus according to an embodiment of the present disclosure;
FIG. 2 schematically shows a flow chart of a data sharing method applied to a data demander according to an embodiment of the present disclosure;
FIG. 3 schematically shows a flow chart of a data sharing method applied to a data demander according to another embodiment of the present disclosure;
fig. 4 schematically shows a flow chart of a data sharing method applied to a data provider according to an embodiment of the present disclosure;
fig. 5 schematically shows a flow chart of a data sharing method applied to a data provider according to another embodiment of the present disclosure;
fig. 6 schematically shows a block diagram of a data sharing apparatus according to an embodiment of the present disclosure;
fig. 7 schematically shows a block diagram of a data sharing apparatus according to an embodiment of the present disclosure;
fig. 8 schematically shows a block diagram of an electronic device adapted to implement a data sharing method according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood that the description is illustrative only and is not intended to limit the scope of the present disclosure. In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the disclosure. It may be evident, however, that one or more embodiments may be practiced without these specific details. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The terms "comprises," "comprising," and the like, as used herein, specify the presence of stated features, steps, operations, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, or components.
All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. It is noted that the terms used herein should be interpreted as having a meaning that is consistent with the context of this specification and should not be interpreted in an idealized or overly formal sense.
Where a convention analogous to "A, B and at least one of C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B and C" would include, but not be limited to, systems that have a alone, B alone, C alone, a and B together, a and C together, B and C together, and/or A, B, C together, etc.).
In the technical scheme of the disclosure, the collection, storage, use, processing, transmission, provision, disclosure, application and other processing of the related data (such as but not limited to personal information of the user) are all in accordance with the regulations of related laws and regulations, and necessary security measures are taken without violating the customs of the public order.
It should be noted that the names and acronyms of technical terms appearing in the present embodiment may be explained based on the following descriptions.
Message (Message): bit strings of arbitrary length.
Asymmetric encryption algorithm (Asymmetric encryption system): the asymmetric encryption algorithm is different from the traditional symmetric encryption algorithm, and the security is ensured based on the asymmetry of the computation complexity in the encryption and decryption processes. In an asymmetric encryption system, an encryption party generates a private key and a public key pair. The private key itself remains and the public key can be sent to the other party.
Hash function (Hash function): the hash function is also called as a hash function, can convert an input character with an arbitrary length into a random number with a fixed length, and outputs the random number, and has security characteristics such as randomness, irreversibility, collision resistance and the like, and common hash functions include SHA3, SHA256, SM3 and the like.
Random ellipsoid point generation function (Hash to point function): elliptic curve random element generation algorithm H with hash function similarity p Given an input τ of arbitrary length, the output is a group of elliptic curves
Figure BDA0003875433750000081
Of (2) element(s)
Figure BDA0003875433750000082
The method also has the advantages of pseudo-randomness, irreversibility and collision resistance, and is widely applied to public key cryptographic protocols.
Privacy Set Interaction (PSI): the method is also called privacy intersection, and is a cryptographic algorithm or protocol, which inputs sample sets of two parties (a data demand party and a data provider) and outputs an intersection sample set of the two parties, so that other information except the intersection of the samples of the two parties cannot be revealed in the intersection process, and meanwhile, the forward security is ensured.
Multi-policy privacy set intersection (Ms-PSI): a special privacy intersection protocol can add a certain privacy policy (intersection triggering condition or requirement) in an intersection process, input the privacy policy and the sample set of two parties, output an intersection sample set meeting the policy, and does not reveal privacy information in the policy in the intersection process, so that a more accurate and more effective intersection calculation process can be realized, and the privacy of all parties can be better protected.
The data sharing interactive cooperation is beneficial to better exerting data value, and has wider application prospect in different application scenes, such as data sharing interactive application scenes of different mechanisms. With the increasing requirements on data security and privacy protection, potential safety hazards such as data leakage need to be avoided in the process of data sharing and cooperation among organizations. In the process of sharing data such as lists, samples and the like among mechanisms, technologies such as privacy set intersection and the like can be adopted to realize extraction and screening of common samples of two parties, data outside sample intersection is protected from being leaked, and the data sharing interactive cooperation is widely applied to various application scenes such as joint marketing, federal learning, advertisement putting and the like.
However, the conventional privacy set intersection technology can only perform intersection screening in a single dimension of a sample set, and cannot use other features and screening conditions of the features included in the sample as screening bases. Taking a sample screening scenario between a data demander and a data provider as an example, when the data demander wants to meet a sample satisfying a screening condition of "academic = master" in a sample set of the data demander and the sample set of the data provider, only an additional screening condition can be sent to the data provider, and this way may cause leakage of the screening condition, which is not favorable for privacy protection of the data demander. In an actual scene, screening conditions proposed to an opposite side by a commercial bank behavior example often include core parameters of bank risk decision, and further damage is brought to the benefits of a bank.
In summary, it is necessary to research and implement a privacy set intersection technique and algorithm capable of supporting multiple policy screening conditions (the policy may include, for example, "equal policy", that is, screening conditions "=" sample characteristics), and support equal screening conditions at a sample level, so as to effectively protect the sample set and screening condition privacy of a data requester, and a data provider cannot identify any valid information about the screening conditions, thereby achieving a higher level of privacy protection effect, and achieving safer, more accurate, and more effective sample intersection and sharing.
The embodiment of the disclosure provides a data sharing method applied to a data demand side, which includes:
5363 the method comprises the steps of screening an original first sample set provided by a data demander by using the same-level strategy screening condition of Li Yongyang to obtain a first sample set to be matched, wherein the first sample set to be matched comprises at least one group of first elements, and each group of first elements comprises the first sample to be matched and the screening condition corresponding to the first sample to be matched; calling a hash function to calculate the hash value of each group of first elements to obtain a first to-be-matched hash set; sending the encrypted first sample set to be matched to a data provider so that the data provider can encrypt the encrypted first sample set to be matched based on a second private key to obtain a re-encrypted first sample set to be matched, and encrypting the first sample set to be matched to obtain a first hash set to be matched through the first private key; encrypting the encrypted second sample set to be matched sent by the data provider by using a first private key to obtain a second encrypted sample set to be matched; and intersecting the re-encrypted first sample set to be matched and the re-encrypted second sample set to be matched by using a privacy intersection algorithm to obtain a data intersection.
According to the embodiment of the disclosure, because the sample-level equal policy screening condition is adopted to embed the first sample to be matched in the original first sample set and the screening condition corresponding to the first sample to be matched into the first element, and the hash function and the first private key are utilized to perform multiple processing on the first sample set to be matched, the screening condition and the first sample to be matched can be effectively subjected to privacy processing to avoid leakage of important data of a data demand party, then the second sample set to be matched is encrypted based on the first private key, and privacy intersection is performed according to the obtained second sample set to be matched and the re-encrypted first sample set to be matched provided by the data supply party, so that the data demand party can accurately obtain a sample data which meets the sample-level equal policy screening condition and is the same as the second sample to be matched in the second sample set to be matched shared by the data supply party under the condition that data of both parties are not leaked, sample matching accuracy is improved, and further, and security information sharing of the sample and the screening condition is not leaked.
The embodiment of the present disclosure further provides a data sharing method applied to a data provider, including:
li Yongyang the original second sample set provided by the data provider is screened by the same-level policy screening condition to obtain a second sample set to be matched, wherein the second sample set to be matched comprises at least one group of second elements, and each group of second elements comprises a second sample to be matched and sample characteristics corresponding to the second sample to be matched; calling a hash function to calculate the hash value of each group of second elements to obtain a second hash set to be matched; sending the encrypted second sample set to be matched to the data demander so that the data demander encrypts the encrypted second sample set to be matched based on the first private key to obtain a second encrypted sample set to be matched, and encrypting the second sample set to be matched to obtain a second hash set to be matched through the second private key; encrypting the encrypted first sample set to be matched from the data demand party based on a second private key to obtain a re-encrypted first sample set to be matched; and sending the first sample set to be matched to the data demand side again in an encrypted mode.
According to the embodiment of the disclosure, because the sample-level equality policy screening condition is adopted to embed the second sample to be matched in the original second sample set and the sample feature corresponding to the second sample to be matched into the second element, and the hash function and the second private key are utilized to perform multiple processing on the first sample set to be matched, the sample feature having the same type as the screening condition can be effectively screened out, and the sample feature and the second sample to be matched are subjected to privacy processing to prevent important data of a data provider from being leaked, then the first sample set to be matched is encrypted based on the second private key encryption data demander, the obtained re-encrypted first sample set to be matched is sent to the data demander, the data demander can effectively protect the data of the data sharer from being leaked, meanwhile, the data demander can perform privacy evaluation based on the re-encrypted first sample set to be matched and the re-encrypted second sample set to be matched, further, the sample data shareability of the data demander based on the sample-level equality policy screening condition is realized, the accuracy of sample matching is improved, and the sample and the data sharing process is guaranteed to share the security interaction information.
Fig. 1 schematically shows an application scenario diagram of a data sharing method and apparatus according to an embodiment of the present disclosure.
As shown in fig. 1, the application scenario 100 according to this embodiment may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104, a first server 105, and a second server 106. The network 104 is used to provide a medium of communication links between the first terminal device 101, the second terminal device 102, the third terminal device 103 and the first server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may interact with the server 105 via the network 104 using at least one of the first terminal device 101, the second terminal device 102, the third terminal device 103, to receive or send messages or the like. Various communication client applications, such as a shopping application, a web browser application, a search application, an instant messaging tool, a mailbox client, social platform software, etc. (for example only), may be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103.
The first terminal device 101, the second terminal device 102, and the third terminal device 103 may be various electronic devices having a display screen and supporting web browsing, including but not limited to a smart phone, a tablet computer, a laptop portable computer, a desktop computer, and the like.
The first server 105 may be a server providing various services, such as a background management server (for example only) providing support for websites browsed by users using the first terminal device 101, the second terminal device 102, and the third terminal device 103. The background management server may analyze and perform other processing on the received data such as the user request, and feed back a processing result (e.g., a webpage, information, or data obtained or generated according to the user request) to the terminal device.
The second server 106 may also be a server that provides various services, such as data request sending and receiving services, data computing services, and so forth.
It should be noted that the first server 105 may be a server used by a data consumer, the second server 106 may be a server used by a data provider,
it should be noted that the data sharing method applied to the data demander provided by the embodiment of the present disclosure may be generally executed by the first server 105. Accordingly, the data sharing apparatus applied to the data demander provided by the embodiment of the present disclosure may be generally disposed in the first server 105. The data sharing method applied to the data demander provided by the embodiment of the present disclosure may also be executed by a server or a server cluster different from the first server 105 and capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103 and/or the first server 105. Correspondingly, the data sharing apparatus applied to the data demander provided by the embodiment of the present disclosure may also be disposed in a server or a server cluster different from the first server 105 and capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103 and/or the first server 105.
Accordingly, the data sharing method applied to the data provider provided by the embodiment of the present disclosure may be generally performed by the second server 106. Accordingly, the data sharing apparatus provided by the embodiment of the present disclosure and applied to the data provider may be generally disposed in the second server 106. Alternatively, the data sharing method applied to the data provider provided by the embodiment of the present disclosure may also be performed by a server and/or a terminal device that is different from the second server 106 and is capable of communicating with the second server 106. Accordingly, the data sharing apparatus applied to the data provider provided by the embodiment of the present disclosure may also be provided to a server and/or a terminal device different from the second server 106 and capable of communicating with the second server 106.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
The data sharing method of the disclosed embodiment will be described in detail through fig. 2 to 5 based on the scenario described in fig. 1.
Fig. 2 schematically shows a flowchart of a data sharing method applied to a data demander according to an embodiment of the present disclosure.
As shown in fig. 2, the data sharing method of this embodiment may be applied to a data demander, and includes operations S210 to S250.
In operation S210, an original first sample set provided by the data demander is screened by using the sample-level equivalence policy screening condition to obtain a first sample set to be matched, where the first sample set to be matched includes at least one group of first elements, and each group of first elements includes the first sample to be matched and the screening condition corresponding to the first sample to be matched.
In operation S220, a hash function is called to calculate a hash value of each group of first elements, so as to obtain a first to-be-matched hash set.
In operation S230, the encrypted first sample set to be matched is sent to the data provider, so that the data provider encrypts the encrypted first sample set to be matched based on the second private key to obtain a re-encrypted first sample set to be matched, and the encrypted first sample set to be matched is obtained by encrypting the first hash set to be matched via the first private key.
In operation S240, the encrypted second sample set to be matched sent by the data provider is encrypted by using the first private key, so as to obtain a re-encrypted second sample set to be matched.
In operation S250, the re-encrypted first to-be-matched sample set and the re-encrypted second to-be-matched sample set are subjected to intersection by using a privacy intersection algorithm, so as to obtain a data intersection.
According to the embodiment of the present disclosure, the sample-level equivalence policy screening condition may be that a corresponding screening condition is set for each first sample to be matched, and the screening condition needs to be equivalent to the sample characteristics of the data provider. 5363 the screening condition of the current-level equivalence strategy of Li Yongyang screens the original first sample set provided by the data demander, and can effectively embed the respective screening condition of each first sample to be matched into the first element, so that the conditions in the first sample set to be matched are queried in a fine-grained manner, and the accuracy of sample data interaction is improved.
It should be noted that the screening condition may be condition information for characterizing the attribute features of the first sample to be matched, and may include, for example, a scholarly level condition, and the like. The embodiment of the present disclosure does not limit the specific condition types of the screening conditions, and those skilled in the art can select the screening conditions according to actual requirements.
According to the embodiment of the disclosure, the first private key and the second private key are secret keys respectively owned by the data demander and the data provider, and the first private key and the second private key can be generated based on the same privacy exchange protocol, so that the encrypted first sample set to be matched cannot be decrypted at the data provider, and the encrypted second sample set to be matched cannot be decrypted at the data demander, thereby ensuring that the respective samples to be matched of the data demander and the data provider cannot be leaked, and simultaneously ensuring that the screening condition cannot be acquired by the data provider.
It should be noted that, the first private key and the second private key of the embodiment of the present disclosure may be generated based on any type of privacy interaction protocol, for example, the first private key and the second private key may be generated based on a privacy interaction protocol of elliptic curve cryptography, but is not limited thereto, and the first private key and the second private key may also be generated based on other privacy interaction protocols, for example, a privacy interaction protocol based on an oblivious transmission algorithm, and the like. The present disclosure does not limit the specific type of the privacy negotiation protocol, and those skilled in the art can select the protocol according to actual needs.
According to the embodiment of the disclosure, since the first private key and the second private key may be generated based on the same privacy intersection protocol, the data intersection may be obtained based on the privacy intersection algorithm, where the first to-be-matched sample set and the second to-be-matched sample set are re-encrypted and both of which are processed by the first private key and the second private key. Therefore, the private data sharing interaction between the data demand side and the data provider side can be realized through data intersection, and the data privacy sharing of the sample-level equal strategy screening conditions is realized.
According to the embodiment of the disclosure, because the sample-level equal policy screening condition is adopted to embed the first sample to be matched in the original first sample set and the screening condition corresponding to the first sample to be matched into the first element, and the hash function and the first private key are utilized to perform multiple processing on the first sample set to be matched, the screening condition and the first sample to be matched can be effectively subjected to privacy processing to avoid leakage of important data of a data demand party, then the second sample set to be matched is encrypted based on the first private key, and privacy intersection is performed according to the obtained second sample set to be matched and the re-encrypted first sample set to be matched provided by the data supply party, so that the data demand party can accurately obtain a sample data which meets the sample-level equal policy screening condition and is the same as the second sample to be matched in the second sample set to be matched shared by the data supply party under the condition that data of both parties are not leaked, sample matching accuracy is improved, and further, and security information sharing of the sample and the screening condition is not leaked.
According to an embodiment of the present disclosure, the data sharing method may further include the operations of:
constructing a first array element by using each first to-be-matched hash value in the first to-be-matched hash set and the shared key respectively to obtain a first array set; and encrypting each first array element in the first array set by using a first private key to obtain an encrypted first sample set to be matched.
According to embodiments of the present disclosure, the shared key may be data that is disclosed to the data inquirer and the data provider. The shared key may be disclosed to the data inquirer and the data provider based on a third trusted authority, or may also be generated by the data inquirer and the data provider based on the same key generation mechanism, or may also be realized by one of the parties after generating the shared key and then sending the generated shared key to the other party. The embodiment of the present disclosure does not limit the generation manner of the shared key and the manner in which the data querying party and the data providing party respectively obtain the shared key, and those skilled in the art can select the generation manner according to actual requirements.
According to the embodiment of the disclosure, each first hash value to be matched and the shared key are constructed into the first array element, so that the encrypted first element fused with the shared key in the encrypted first sample set to be matched helps the data demander and the data provider to identify the data sharing interaction requirement of the other party, and a third party is prevented from participating in the data sharing interaction process of the data demander and the data provider to acquire corresponding data information, thereby further improving the data security.
According to the embodiment of the disclosure, a data demand party and a data supply party jointly negotiate to determine an elliptic curve encryption protocol, wherein the elliptic curve encryption protocol comprises a random elliptic point generating function;
in the above operation, encrypting each first array element in the first array set using the first private key may include the following operations:
calling a random elliptic point generating function to process the first array element and generating a first random elliptic point calculation result; calculating a power operation result with the first random elliptic point calculation result as a base number and the first private key as an exponent to obtain an encrypted first element corresponding to the first array element; and constructing an encrypted first set of samples to be matched based on the encrypted first element.
According to the embodiment of the disclosure, the data demand party and the data supply party can jointly negotiate to determine the elliptic curve
Figure BDA0003875433750000161
And a random elliptic point generating function H p () So that the function H can be generated using random elliptic points p () Processing a first array element c i The first random ellipsoid point calculation result can be represented as H p (c i K), then obtaining the encrypted first element
Figure BDA0003875433750000162
Wherein sk A The first private key may be represented.
Both parties determine elliptic curve by negotiation
Figure BDA0003875433750000163
And a random elliptic point generating function, and determining an elliptic curve generating element
Figure BDA0003875433750000164
According to an embodiment of the present disclosure, the elliptic curve cryptography protocol further comprises an elliptic curve and an elliptic curve generator.
Fig. 3 schematically shows a flowchart of a data sharing method applied to a data demander according to another embodiment of the present disclosure.
As shown in fig. 3, the data sharing method in this embodiment may further include operations S310 to S340.
In operation S310, a first private key is generated according to an elliptic curve.
In operation S320, a first public key matched with the first private key is generated according to the elliptic curve generator and the first private key.
In operation S330, a shared key is generated using the first private key and the second public key from the data provider based on a key agreement mechanism determined with the data provider.
In operation S340, the first public key is transmitted to the data provider, so that the data provider generates a shared key based on a key agreement mechanism by using the first public key and a second private key, wherein the second private key is generated according to an elliptic curve.
According to the embodiment of the disclosure, two parties determine an elliptic curve through negotiation
Figure BDA0003875433750000171
And a random elliptic point generating function, and determining an elliptic curve generating element
Figure BDA0003875433750000172
Wherein,
Figure BDA0003875433750000173
groups of elliptic curves can be represented.
According to the embodiment of the disclosure, the data demand side and the data supply side can generate the matching private keys of the data demand side and the data supply side respectively
Figure BDA0003875433750000174
Wherein sk A The first private key, sk, of the data demander B Is the second private key of the data provider, both parties can calculate their own public keys, i.e. the first public key is expressed as
Figure BDA0003875433750000175
The second private key may be expressed as
Figure BDA0003875433750000176
According to the embodiment of the disclosure, the two parties can calculate the shared key K of the data sharing task at this time according to the key agreement mechanism, for example, the shared key can be calculated by using the key agreement algorithm based on Diffie-Hellman
Figure BDA0003875433750000177
I.e. the shared secret is calculated by the data consumers
Figure BDA0003875433750000178
Data provider computing shared secret
Figure BDA0003875433750000179
According to an embodiment of the present disclosure, the data sharing method may further include the operations of:
receiving an encrypted second sample set to be matched sent by a data provider; the second sample set to be matched is obtained by encrypting a second hash set to be matched based on a second private key of a data provider, the second hash set to be matched is obtained by processing second elements in the second sample set to be matched through a hash function, and each group of the second elements comprises a second sample to be matched and sample characteristics corresponding to the second sample to be matched.
According to the embodiment of the present disclosure, the encrypting the second sample set to be matched may be obtained by processing the second hash set to be matched by using the second private key and the shared key, in the same or similar method as described above in the data provider technology, and the second element in the second sample set to be matched may include a sample feature having a type corresponding to the screening condition in the first element.
According to an embodiment of the present disclosure, the data sharing method may further include the operations of:
and screening out a target sample which meets the sample-level equal strategy screening condition and is stored at the data providing end from the first sample set to be matched according to the data intersection.
According to the embodiment of the disclosure, the data intersection may include an intersection of the re-encrypted first sample set to be matched and the re-encrypted second sample set to be matched, and the data elements in the data intersection may be data element identifiers corresponding to the first elements in the first sample set to be matched, so that the first sample to be matched, i.e. the target sample, meeting the sample-level equality policy screening condition may be determined by the respective data element identifiers of the data elements in the data intersection, and thus, the private data sharing between the data demander and the data provider may be achieved.
Fig. 4 schematically shows a flowchart of a data sharing method applied to a data provider according to an embodiment of the present disclosure.
As shown in fig. 4, the data sharing method of this embodiment, which may be applied to a data provider, includes operations S410 to S450.
In operation S410, an original second sample set provided by the data provider is screened by using a sample-level equivalence policy screening condition, so as to obtain a second sample set to be matched, where the second sample set to be matched includes at least one group of second elements, and each group of second elements includes a second sample to be matched and a sample feature corresponding to the second sample to be matched.
In operation S420, a hash function is called to calculate a hash value of each group of second elements, so as to obtain a second hash set to be matched.
In operation S430, the encrypted second sample set to be matched is sent to the data demander, so that the data demander encrypts the encrypted second sample set to be matched based on the first private key to obtain a second encrypted sample set to be matched again, and the encrypted second sample set to be matched is obtained by encrypting the second hash set to be matched via the second private key.
In operation S440, the encrypted first set of samples to be matched from the data demander is encrypted based on the second private key, resulting in a re-encrypted first set of samples to be matched.
In operation S450, the first set of samples to be matched is encrypted again and sent to the data demander.
According to the embodiment of the disclosure, because the sample-level equality policy screening condition is adopted to embed the second sample to be matched in the original second sample set and the sample feature corresponding to the second sample to be matched into the second element, and the hash function and the second private key are utilized to perform multiple processing on the first sample set to be matched, the sample feature having the same type as the screening condition can be effectively screened out, and the sample feature and the second sample to be matched are subjected to privacy processing to prevent important data of a data provider from being leaked, then the first sample set to be matched is encrypted based on the second private key encryption data demander, the obtained re-encrypted first sample set to be matched is sent to the data demander, the data demander can effectively protect the data of the data sharer from being leaked, meanwhile, the data demander can perform privacy evaluation based on the re-encrypted first sample set to be matched and the re-encrypted second sample set to be matched, further, the sample data shareability of the data demander based on the sample-level equality policy screening condition is realized, the accuracy of sample matching is improved, and the sample and the data sharing process is guaranteed to share the security interaction information.
According to an embodiment of the present disclosure, the data sharing method may further include the operations of:
receiving an encrypted first sample set to be matched sent by a data demander; the first to-be-matched sample set is obtained by encrypting the first to-be-matched hash set through a first private key, the first to-be-matched hash set is obtained by processing each first element in the first to-be-matched sample set through a hash function, and each group of first elements comprises the first to-be-matched sample and a screening condition corresponding to the first to-be-matched sample.
According to an embodiment of the present disclosure, the data sharing method may further include the operations of:
constructing a second array element with the shared key by using each second hash value to be matched in the second hash set to be matched to obtain a second array set; and encrypting each second array element in the second array set by using a second private key to obtain an encrypted second sample set to be matched.
According to the embodiment of the disclosure, a data demand side and a data supply side jointly negotiate to determine an elliptic curve encryption protocol, and the elliptic curve encryption protocol comprises a random elliptic point generating function.
In the above operation, encrypting each second array element in the second array set by using the second private key may include the following operations:
calling a random elliptic point generating function to process the second array element and generating a second random elliptic point calculation result; calculating a power operation result which takes a second random elliptic point calculation result as a base number and a second private key as an exponent to obtain an encrypted second element corresponding to the second array element; and constructing an encrypted second sample set to be matched based on the encrypted second element.
According to an embodiment of the present disclosure, the elliptic curve cryptography protocol further comprises an elliptic curve and an elliptic curve generator.
Fig. 5 schematically shows a flowchart of a data sharing method applied to a data provider according to another embodiment of the present disclosure.
As shown in fig. 5, the data sharing method in this embodiment may further include operations S510 to S540.
In operation S510, a second private key is generated according to the elliptic curve.
In operation S520, a second public key matched with the second private key is generated according to the elliptic curve generator and the second private key.
In operation S530, a shared key is generated using the first public key and the second private key from the data demander based on a key agreement mechanism determined with the data demander.
In operation S540, the second public key is sent to the data demander, so that the data demander generates a shared key based on a key agreement mechanism by using the second public key and the first private key, where the first private key is generated according to an elliptic curve.
It should be noted that, in the data sharing method applied to the data provider in the embodiment of the present disclosure, technical features of the same technical terms may be the same as those of the same technical terms applied to the data sharing method of the data demander, and no further description is given to the embodiment of the present disclosure.
It should be noted that, in the embodiment of the present disclosure, for the data information, such as the first sample to be matched, the second sample to be matched, the sample characteristics, and the like, are data after obtaining the authorization of the user, such as the relevant person, the institution, and the like, and the use of the data information conforms to the regulations of the relevant laws and regulations and the authorization regulations of the relevant user, without violating the relevant laws and regulations and public customs.
The above method is described below with reference to a specific example, however, it should be noted that the specific example is only for better describing the present specification and should not be construed as an undue limitation on the present specification.
A data preparation process: the data demander prepares the original first sample set of the data demander: a = { ID 1 ,ID 2 ,…,ID m And a screening condition { a } 1 ,…,a m }. Wherein, ID i Representing the first sample to be matched, a i Representing the screening condition corresponding to the first sample to be matched.
The data provider prepares its original second sample set
Figure BDA0003875433750000201
Figure BDA0003875433750000202
And sample feature set { x 1 ,…,x m }. Wherein,
Figure BDA0003875433750000203
representing the second sample to be matched, x k Representing the sample characteristics corresponding to the second sample to be matched.
The data preprocessing process comprises the following steps: 5363 the original first sample set and the original second sample set are screened respectively under the same strategy screening conditions of Li Yongyang to obtain a first sample set to be matched
Figure BDA0003875433750000204
Second set of samples to be matched
Figure BDA0003875433750000205
The sample level equivalence strategy screening condition can be expressed as:
Figure BDA0003875433750000206
i.e. satisfies the ID k Belongs to A # B and x k =a k Wherein
Figure BDA0003875433750000207
I.e. the sample intersection sign under the sample-level equality strategy screening condition.
According to the embodiment of the present disclosure, the first sample to be matched and the second sample to be matched may include a user identifier of a user, that is, an identifier, such as an identifier code, capable of being bound with an identified object (i.e., a user) one by one, and the sample characteristics may be attribute information of the user, such as a credit evaluation level.
It should be noted that, in the present disclosure, the use and sharing of the sample to be matched and the sample characteristics are authorized by the user and meet the relevant legal requirements.
The data consumer then uses a hash functionH (), calculating a first sample set to be matched
Figure BDA00038754337500002112
The hash value of each group of first elements in the hash set to be matched, that is, each first hash value c to be matched in the first hash set to be matched can be obtained through formula (1) i
c i =H(ID i ,a i ),i=1,2,…,m; (1)
So that the first hash set S to be matched can be obtained according to the formula (1) 1 ={c 1 ,c 2 ,…,c m }。
And the data provider processes the second sample set to be matched by utilizing the hash function according to a similar method
Figure BDA0003875433750000211
Calculating by adopting the same hash function to obtain a second hash set S to be matched 2 . Second hash set S to be matched 2 Second hash value to be matched in (1)
Figure BDA0003875433750000212
Can be calculated by the formula (2).
Figure BDA0003875433750000213
So as to obtain a second hash set to be matched according to the formula (2)
Figure BDA0003875433750000214
Figure BDA0003875433750000215
It should be noted that, in the related art, the data demander and the data provider may calculate the set S 1 And S 2 And the data demand side acquires the intersection result
Figure BDA0003875433750000216
Figure BDA0003875433750000217
(assume there are l elements in the intersection). And then the data demander passes through the intersection result C and the first hash set S to be matched 1 ={c 1 ,c 2 ,…,c m The corresponding relation of elements among the elements can output intersection samples of privacy intersection under the condition of screening the same-level policy at this time
Figure BDA0003875433750000218
But calculates S 1 And S 2 If the privacy set intersection algorithm is not adopted, the hash collision library mode is directly used (namely, the data provider directly sends S to the database) 2 Sent to the data demander and then the intersection calculation is done locally by the data demander), although any original data information of the data provider is not revealed during the transmission (because of the fact that
Figure BDA0003875433750000219
All hash values do not cause plaintext reverse-pushing attack), but the risk caused by the hash value is as follows: long term storage if data is needed
Figure BDA00038754337500002110
But collects more second hash sets S to be matched in the subsequent service 2 And corresponding characteristic information, based on
Figure BDA00038754337500002111
The hash values in (1) are matched in real time.
For example, the data consumer subsequently collects a new ID and the corresponding feature x, which directly calculates c locally i =H(ID i ,a i ) And are combined with
Figure BDA0003875433750000221
The current number of the data demander can be known by comparing the elements in the databaseAccording to additional information beyond shared interaction, information acquisition amount exceeding single privacy interaction is achieved, information leakage is caused for a data provider, and the requirement of forward security in cryptography is not met.
According to the requirement of forward security, a privacy set meeting the forward security is required to be used for solving a cryptographic protocol, so that the data security of both sides can be protected. Correspondingly, the two parties can select Fan Baohan but not limited to privacy exchange protocol under encryption technology routes such as RSA-based encryption algorithm, elliptic curve-based encryption algorithm, extended oblivious transmission-based encryption algorithm and the like.
The embodiment of the disclosure does not limit the selection of the specific privacy negotiation algorithm protocol, and only needs to satisfy the data security under the semi-honest attack model and satisfy the algorithm protocol of the forward security.
In one embodiment of the present disclosure, the elliptic curve-based privacy set intersection algorithm completes the subsequent privacy intersection process to help those skilled in the art to better understand the present solution.
Privacy delivery process:
an initialization stage: the data demand side and the data supply side determine the elliptic curve through negotiation
Figure BDA0003875433750000222
And a random elliptic point generating function H p () And determining an elliptic curve generator
Figure BDA0003875433750000223
Wherein, the point multiplication operation of the elliptic curve is expressed in the form of power operation.
The two parties (the data demander and the data provider) respectively generate own private keys, namely a first private key sk A And a second private key sk A
Figure BDA0003875433750000224
The two parties respectively calculate a public key matched with the private key, namely a first public key
Figure BDA0003875433750000225
Second public key
Figure BDA0003875433750000226
In an embodiment of the present disclosure, the two parties calculate the shared secret key K of the data sharing task according to a secret key agreement mechanism.
For example, the shared key may be computed using a Diffie-Hellman based key agreement algorithm
Figure BDA0003875433750000227
Wherein the data demander calculates
Figure BDA0003875433750000228
Data provider computing
Figure BDA0003875433750000229
The first round of communication stage: for S 1 ={c 1 ,c 2 ,…,c m And calculating an encrypted first sample set S 'to be matched according to a formula (3) by a data demand side' 1
Figure BDA00038754337500002210
Data provider aims at second hash set to be matched
Figure BDA0003875433750000231
The encrypted second sample set S 'to be matched can be obtained through calculation of formula (4)' 2
Figure BDA0003875433750000232
Then the data demand side encrypts a first sample set S 'to be matched' 1 Sending the encrypted second sample set to be matched to a data providerS′ 2 And sending the data to a data demand side.
And a second round of communication stage: the data provider receives an encrypted first sample set S to be matched' 1 Then, the first sample set to be matched S ″ may be encrypted again according to formula (5) 1
Figure BDA0003875433750000233
The data provider will then encrypt the first set of samples to be matched S ″, again 1 And sending the data to a data demand side.
Meanwhile, the data demand side receives an encrypted second sample set S 'to be matched' 2 The re-encryption of the second sample set S ″ to be matched can be calculated according to formula (6) 2 And no retransmission is required.
Figure BDA0003875433750000234
A privacy submission result obtaining stage: the data demand side receives the re-encrypted first sample set S ″' to be matched 1 Then, the second sample set S' to be matched can be encrypted again through the privacy intersection algorithm 2 And re-encrypting the first set of samples to be matched S ″ 1 Performing privacy intersection to obtain data intersection
Figure BDA0003875433750000235
Then according to
Figure BDA0003875433750000236
Middle data element and S 1 ={c 1 ,c 2 ,…,c m The element correspondence between the two elements determines the intersection
Figure BDA0003875433750000237
And then a target sample can be obtained.
It should be noted that, for the case of multiple screening conditions, that is, the case that each second sample to be matched corresponds to multiple sample features, the first sample set to be matched and the second sample set to be matched may be determined based on the following manner.
Figure BDA0003875433750000238
Figure BDA0003875433750000239
The sample level equivalence strategy screening condition can be expressed as:
Figure BDA00038754337500002310
satisfy the requirement of
Figure BDA00038754337500002311
And x k =a k ,y k =b k
For the above situation, the data intersection may be obtained by referring to the data sharing processing procedure in the above embodiment, and then the data sharing task is completed.
Based on the data sharing method, the disclosure also provides a data sharing device. The apparatus will be described in detail below with reference to fig. 6 and 7.
Fig. 6 schematically shows a block diagram of a data sharing apparatus according to an embodiment of the present disclosure.
As shown in fig. 6, the data sharing apparatus 600 of this embodiment is applied to a data demander, and the data sharing apparatus 600 includes a first filtering module 610, a first hashing module 620, a first sending module 630, a first encryption module 640, and a privacy submitting module 650.
The first screening module 610 is configured to screen the original first sample set provided by the data demander by using Li Yongyang the current-level equivalent policy screening condition to obtain a first sample set to be matched, where the first sample set to be matched includes at least one group of first elements, and each group of first elements includes the first sample to be matched and the screening condition corresponding to the first sample to be matched.
The first hash processing module 620 is configured to call a hash function to calculate a hash value of each group of first elements, so as to obtain a first hash set to be matched.
The first sending module 630 is configured to send the encrypted first sample set to be matched to the data provider, so that the data provider encrypts the encrypted first sample set to be matched based on the second private key to obtain a re-encrypted first sample set to be matched, and the encrypted first sample set to be matched is obtained by encrypting the first hash set to be matched via the first private key.
The first encryption module 640 is configured to encrypt the encrypted second sample set to be matched, which is sent by the data provider, by using the first private key, to obtain a second encrypted sample set to be matched.
The privacy intersection module 650 is configured to perform intersection on the re-encrypted first to-be-matched sample set and the re-encrypted second to-be-matched sample set by using a privacy intersection algorithm, so as to obtain a data intersection.
According to an embodiment of the present disclosure, the data sharing apparatus further includes: a first receiving module.
The first receiving module is used for receiving the encrypted second sample set to be matched, which is sent by the data provider.
The second sample set to be matched is obtained by encrypting a second hash set to be matched based on a second private key of a data provider, the second hash set to be matched is obtained by processing second elements in the second sample set to be matched through a hash function, and each group of the second elements comprises a second sample to be matched and sample characteristics corresponding to the second sample to be matched.
According to an embodiment of the present disclosure, the data sharing apparatus further includes: the device comprises a first construction module and an encrypted first sample set to be matched generation module.
The first construction module is used for constructing first array elements with the shared key respectively by using each first hash value to be matched in the first hash set to obtain a first array set.
The encrypted first sample set to be matched generation module is used for encrypting each first array element in the first array set by using a first private key to obtain an encrypted first sample set to be matched.
According to the embodiment of the disclosure, a data demand party and a data supply party jointly negotiate to determine an elliptic curve encryption protocol, and the elliptic curve encryption protocol comprises a random elliptic point generating function.
The encrypted first sample set to be matched generation module comprises a first calculation unit, a second calculation unit and a first construction unit.
The first calculation unit is used for calling a random elliptic point generation function to process the first array element and generate a first random elliptic point calculation result.
The second calculation unit is used for calculating a power operation result which takes the first random elliptic point calculation result as a base number and takes the first private key as an exponent to obtain an encrypted first element corresponding to the first array element.
The first construction unit is used for constructing an encrypted first sample set to be matched based on the encrypted first element.
According to an embodiment of the present disclosure, the elliptic curve cryptography protocol further comprises an elliptic curve and an elliptic curve generator.
The data sharing apparatus further includes: the device comprises a first private key generation module, a first public key generation module, a first shared key generation module and a first public key sending module.
The first private key generation module is used for generating a first private key according to the elliptic curve.
The first public key generating module is used for generating a first public key matched with the first private key according to the elliptic curve generating element and the first private key.
The first shared key generation module is used for generating a shared key by using a second public key and a first private key from the data provider based on a key negotiation mechanism determined by the data provider.
The first public key sending module is used for sending the first public key to the data provider so that the data provider can generate a shared key by using the first public key and a second private key based on a key agreement mechanism, wherein the second private key is generated according to an elliptic curve.
According to an embodiment of the present disclosure, the data sharing apparatus further includes: and a target sample screening module.
And the target sample screening module is used for screening out a target sample which meets the sample-level equal strategy screening condition and is stored at the data providing end from the first sample set to be matched according to the data intersection.
Fig. 7 schematically shows a block diagram of a data sharing apparatus according to an embodiment of the present disclosure.
As shown in fig. 7, the data sharing apparatus 700 of this embodiment is applied to a data provider, and the data sharing apparatus 700 includes a second filtering module 710, a second hash processing module 720, a second sending module 730, a second encryption module 740, and a third sending module 750.
The second screening module 710 is configured to screen an original second sample set provided by the data provider under Li Yongyang the current-level equivalent policy screening condition to obtain a second sample set to be matched, where the second sample set to be matched includes at least one group of second elements, and each group of second elements includes a second sample to be matched and a sample feature corresponding to the second sample to be matched.
The second hash processing module 720 is configured to call a hash function to calculate a hash value of each group of second elements, so as to obtain a second hash set to be matched.
The second sending module 730 is configured to send the encrypted second sample set to be matched to the data demander, so that the data demander encrypts the encrypted second sample set to be matched based on the first private key to obtain a second sample set to be matched again, and the encrypted second sample set to be matched is obtained by encrypting the second hash set to be matched via the second private key.
The second encryption module 740 is configured to encrypt the encrypted first set of samples to be matched from the data demander based on the second private key, so as to obtain a re-encrypted first set of samples to be matched.
The third sending module 750 is configured to send the re-encrypted first set of samples to be matched to the data demander.
According to an embodiment of the present disclosure, the data sharing apparatus further includes: and a second receiving module.
The second receiving module is used for receiving the encrypted first sample set to be matched sent by the data demander.
The first to-be-matched sample set is obtained by encrypting the first to-be-matched hash set through a first private key, the first to-be-matched hash set is obtained by processing each first element in the first to-be-matched sample set through a hash function, and each group of first elements comprises the first to-be-matched sample and a screening condition corresponding to the first to-be-matched sample.
According to the embodiment of the disclosure, the data sharing device further comprises a second constructing module and an encrypted second sample set generation module to be matched.
The second construction module is used for constructing a second array element with the shared key respectively by using each second hash value to be matched in the second hash set to be matched, so as to obtain a second array set.
The encrypted second sample set to be matched generation module is used for encrypting each second array element in the second array set by using a second private key to obtain an encrypted second sample set to be matched.
According to the embodiment of the disclosure, a data demand party and a data supply party jointly negotiate to determine an elliptic curve encryption protocol, and the elliptic curve encryption protocol comprises a random elliptic point generating function.
The encrypted second sample set to be matched generation module comprises: a third calculation unit, a fourth calculation unit and a second construction unit.
And the third calculation unit is used for calling a random elliptic point generation function to process the second array element and generate a second random elliptic point calculation result.
The fourth calculation unit is used for calculating a power operation result which takes the second random elliptic point calculation result as a base number and takes the second private key as an exponent, and the encrypted second element corresponding to the second array element is obtained.
The second construction unit is used for constructing an encrypted second sample set to be matched based on the encrypted second element.
According to an embodiment of the present disclosure, the elliptic curve cryptography protocol further comprises an elliptic curve and an elliptic curve generator.
The data sharing apparatus further includes: the second private key generation module, the second public key generation module, the second shared secret key generation module and the second public key sending module.
The second private key generation module is used for generating a second private key according to the elliptic curve.
And the second public key generating module is used for generating a second public key matched with the second private key according to the elliptic curve generating element and the second private key.
The second shared key generation module is used for generating a shared key by using the first public key and the second private key from the data demander based on a key negotiation mechanism determined by the data demander.
The second public key sending module is used for sending a second public key to the data demander so that the data demander can generate a shared key by using the second public key and the first private key based on a key negotiation mechanism, wherein the first private key is generated according to an elliptic curve.
According to the embodiment of the present disclosure, any plurality of the first filtering module 610, the first hashing module 620, the first sending module 630, the first encryption module 640, and the privacy rendezvous module 650, or the second filtering module 710, the second hashing module 720, the second sending module 730, the second encryption module 740, and the third sending module 750 may be combined and implemented in one module, or any one of them may be split into a plurality of modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of the other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the first screening module 610, the first hashing module 620, the first sending module 630, the first encryption module 640 and the privacy rendezvous module 650, or the second screening module 710, the second hashing module 720, the second sending module 730, the second encryption module 740 and the third sending module 750 may be implemented at least partially as a hardware circuit, such as a Field Programmable Gate Array (FPGA), a Programmable Logic Array (PLA), a system on a chip, a system on a substrate, a system on a package, an Application Specific Integrated Circuit (ASIC), or as hardware or firmware in any other reasonable manner of integrating or packaging a circuit, or as any one of three implementations of software, hardware and firmware, or as a suitable combination of any of them. Alternatively, at least one of the first screening module 610, the first hashing module 620, the first sending module 630, the first encryption module 640, and the privacy rendezvous module 650, or the second screening module 710, the second hashing module 720, the second sending module 730, the second encryption module 740, and the third sending module 750 may be at least partially implemented as a computer program module that, when executed, may perform corresponding functions.
Fig. 8 schematically shows a block diagram of an electronic device adapted to implement a data sharing method according to an embodiment of the present disclosure.
As shown in fig. 8, an electronic device 800 according to an embodiment of the present disclosure includes a processor 801 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 802 or a program loaded from a storage section 808 into a Random Access Memory (RAM) 803. The processor 801 may include, for example, a general purpose microprocessor (e.g., CPU), an instruction set processor and/or associated chipset, and/or a special purpose microprocessor (e.g., application Specific Integrated Circuit (ASIC)), among others. The processor 801 may also include onboard memory for caching purposes. The processor 801 may include a single processing unit or multiple processing units for performing different actions of the method flows according to embodiments of the present disclosure.
In the RAM 803, various programs and data necessary for the operation of the electronic apparatus 800 are stored. The processor 801, the ROM 802, and the RAM 803 are connected to each other by a bus 804. The processor 801 performs various operations of the method flows according to the embodiments of the present disclosure by executing programs in the ROM 802 and/or RAM 803. Note that the programs may also be stored in one or more memories other than the ROM 802 and RAM 803. The processor 801 may also perform various operations of method flows according to embodiments of the present disclosure by executing programs stored in the one or more memories.
Electronic device 800 may also include input/output (I/O) interface 805, input/output (I/O) interface 805 also connected to bus 804, according to an embodiment of the present disclosure. The electronic device 800 may also include one or more of the following components connected to the I/O interface 805: an input portion 806 including a keyboard, a mouse, and the like; an output section 807 including a signal such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker; a storage portion 808 including a hard disk and the like; and a communication section 809 including a network interface card such as a LAN card, a modem, or the like. The communication section 809 performs communication processing via a network such as the internet. A drive 810 is also connected to the I/O interface 805 as necessary. A removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 810 as necessary, so that a computer program read out therefrom is mounted on the storage section 808 as necessary.
The present disclosure also provides a computer-readable storage medium, which may be embodied in the device/apparatus/system described in the above embodiments; or may exist separately and not be assembled into the device/apparatus/system. The computer-readable storage medium carries one or more programs which, when executed, implement the method according to an embodiment of the disclosure.
According to embodiments of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium, which may include, for example but is not limited to: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. For example, according to embodiments of the present disclosure, a computer-readable storage medium may include the ROM 802 and/or RAM 803 described above and/or one or more memories other than the ROM 802 and RAM 803.
Embodiments of the present disclosure also include a computer program product comprising a computer program containing program code for performing the method illustrated by the flow chart. When the computer program product runs in a computer system, the program code is used for causing the computer system to realize the method provided by the embodiment of the disclosure.
The computer program performs the above-described functions defined in the system/apparatus of the embodiments of the present disclosure when executed by the processor 801. The systems, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
In one embodiment, the computer program may be hosted on a tangible storage medium such as an optical storage device, a magnetic storage device, or the like. In another embodiment, the computer program may also be transmitted in the form of a signal on a network medium, distributed, downloaded and installed via communication section 809, and/or installed from removable media 811. The computer program containing program code may be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the foregoing.
In such an embodiment, the computer program can be downloaded and installed from a network through the communication section 809 and/or installed from the removable medium 811. The computer program, when executed by the processor 801, performs the above-described functions defined in the system of the embodiments of the present disclosure. The systems, devices, apparatuses, modules, units, etc. described above may be implemented by computer program modules according to embodiments of the present disclosure.
In accordance with embodiments of the present disclosure, program code for executing computer programs provided by embodiments of the present disclosure may be written in any combination of one or more programming languages, and in particular, these computer programs may be implemented using high level procedural and/or object oriented programming languages, and/or assembly/machine languages. The programming language includes, but is not limited to, programming languages such as Java, C + +, python, the "C" language, or the like. The program code may execute entirely on the user computing device, partly on the user device, partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams or flowchart illustration, and combinations of blocks in the block diagrams or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It will be appreciated by a person skilled in the art that various combinations or/and combinations of features recited in the various embodiments of the disclosure and/or in the claims may be made, even if such combinations or combinations are not explicitly recited in the disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments and/or claims of the present disclosure may be made without departing from the spirit or teaching of the present disclosure. All such combinations and/or associations are within the scope of the present disclosure.
The embodiments of the present disclosure have been described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although the embodiments are described separately above, this does not mean that the measures in the embodiments cannot be used in advantageous combination. The scope of the disclosure is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the present disclosure, and such alternatives and modifications are intended to be within the scope of the present disclosure.

Claims (16)

1. A data sharing method is applied to a data demand side and comprises the following steps:
li Yongyang the original first sample set provided by a data demander is screened by the same-level policy screening condition to obtain a first sample set to be matched, wherein the first sample set to be matched comprises at least one group of first elements, and each group of the first elements comprises a first sample to be matched and a screening condition corresponding to the first sample to be matched;
calling a hash function to calculate the hash value of each group of first elements to obtain a first to-be-matched hash set;
sending an encrypted first sample set to be matched to a data provider so that the data provider can encrypt the encrypted first sample set to be matched based on a second private key to obtain a re-encrypted first sample set to be matched, wherein the encrypted first sample set to be matched is obtained by encrypting the first hash set to be matched through a first private key;
encrypting the encrypted second sample set to be matched sent by the data provider by using the first private key to obtain a second encrypted sample set to be matched;
and intersecting the re-encrypted first sample set to be matched and the re-encrypted second sample set to be matched by using a privacy intersection algorithm to obtain a data intersection.
2. The method of claim 1, further comprising:
receiving an encrypted second sample set to be matched sent by the data provider;
the encrypted second sample set to be matched is obtained by encrypting a second hash set to be matched based on a second private key of the data provider, the second hash set to be matched is obtained by processing second elements in the second sample set to be matched through the hash function, and each group of the second elements comprises a second sample to be matched and sample characteristics corresponding to the second sample to be matched.
3. The method of claim 1, further comprising:
constructing a first array element by using each first to-be-matched hash value in the first to-be-matched hash set and a shared key respectively to obtain a first array set; and
and encrypting each first array element in the first array set by using the first private key to obtain the encrypted first sample set to be matched.
4. The method of claim 3, wherein the data consumer and the data provider jointly negotiate to determine an elliptic curve cryptography protocol, the elliptic curve cryptography protocol comprising a random elliptic point generating function;
wherein encrypting each first array element in the first set of arrays using the first private key comprises:
calling the random elliptic point generating function to process the first array element and generating a first random elliptic point calculation result;
calculating a power operation result with the first random elliptic point calculation result as a base number and the first private key as an exponent to obtain an encrypted first element corresponding to the first array element; and
constructing the encrypted first set of samples to be matched based on the encrypted first element.
5. The method of claim 4, wherein the elliptic curve cryptography protocol further comprises an elliptic curve and an elliptic curve generator;
the data sharing method further comprises the following steps:
generating the first private key according to the elliptic curve;
generating a first public key matched with the first private key according to the elliptic curve generating element and the first private key;
generating the shared key using a second public key from the data provider and the first private key based on a key agreement mechanism determined with the data provider; and
and sending the first public key to the data provider so that the data provider can generate the shared key by using the first public key and the second private key based on the key agreement mechanism, wherein the second private key is generated according to the elliptic curve.
6. The method of any of claims 1 to 5, further comprising:
and screening out a target sample which meets the sample-level equality strategy screening condition and is stored at the data providing end from the first sample set to be matched according to the data intersection.
7. A data sharing method is applied to a data provider and comprises the following steps:
li Yongyang the original second sample set provided by a data provider is screened by the same-level policy screening condition to obtain a second sample set to be matched, wherein the second sample set to be matched comprises at least one group of second elements, and each group of the second elements comprises a second sample to be matched and a sample characteristic corresponding to the second sample to be matched;
calling a hash function to calculate the hash value of each group of second elements to obtain a second hash set to be matched;
sending an encrypted second sample set to be matched to a data demander so that the data demander encrypts the encrypted second sample set to be matched based on a first private key to obtain a second encrypted sample set to be matched, wherein the encrypted second sample set to be matched is obtained by encrypting the second hash set to be matched through a second private key;
encrypting the encrypted first sample set to be matched from the data demand party based on the second private key to obtain a re-encrypted first sample set to be matched; and
and sending the re-encrypted first sample set to be matched to the data demander.
8. The method of claim 7, further comprising:
receiving an encrypted first set of samples to be matched sent by the data demander;
the encrypted first sample set to be matched is obtained by encrypting a first hash set to be matched through the first private key, the first hash set to be matched is obtained by processing each first element in the first sample set to be matched through the hash function, and each group of the first elements comprises the first sample to be matched and the screening condition corresponding to the first sample to be matched.
9. The method of claim 7, further comprising:
establishing a second array element with a shared key by using each second hash value to be matched in the second hash set to be matched to obtain a second array set; and
and encrypting each second array element in the second array set by using the second private key to obtain the encrypted second sample set to be matched.
10. The method of claim 9, wherein the data consumer negotiates with the data provider to determine an elliptic curve cryptography protocol comprising a random elliptic point generating function;
wherein encrypting each second array element in the second array set using the second private key comprises:
calling the random elliptic point generating function to process the second array element and generating a second random elliptic point calculation result;
calculating a power operation result with the second random elliptic point calculation result as a base number and the second private key as an exponent to obtain an encrypted second element corresponding to the second array element; and
and constructing the encrypted second sample set to be matched based on the encrypted second element.
11. The method of claim 10, wherein the elliptic curve cryptography protocol further comprises an elliptic curve and an elliptic curve generator;
the data sharing method further comprises the following steps:
generating the second private key according to the elliptic curve;
generating a second public key matched with the second private key according to the elliptic curve generating element and the second private key;
generating the shared key using the first public key and the second private key from the data demander based on a key agreement mechanism determined with the data demander; and
and sending the second public key to the data demander so that the data demander can generate the shared key by using the second public key and the first private key based on the key agreement mechanism, wherein the first private key is generated according to the elliptic curve.
12. A data sharing device is applied to a data demander and comprises:
the first screening module is used for screening an original first sample set provided by a data demander by Li Yongyang current-level equal strategy screening conditions to obtain a first sample set to be matched, wherein the first sample set to be matched comprises at least one group of first elements, and each group of the first elements comprises the first sample to be matched and the screening conditions corresponding to the first sample to be matched;
the first hash processing module is used for calling a hash function to calculate the hash value of each group of first elements to obtain a first to-be-matched hash set;
the first sending module is used for sending the encrypted first sample set to be matched to a data provider so that the data provider can encrypt the encrypted first sample set to be matched based on a second private key to obtain a re-encrypted first sample set to be matched, and the encrypted first sample set to be matched is obtained by encrypting the first hash set to be matched through a first private key;
the first encryption module is used for encrypting the encrypted second sample set to be matched sent by the data provider by using the first private key to obtain a second encrypted sample set to be matched;
and the privacy intersection module is used for intersecting the re-encrypted first sample set to be matched and the re-encrypted second sample set to be matched by using a privacy intersection algorithm to obtain a data intersection.
13. A data sharing device is applied to a data provider and comprises:
the second screening module is used for screening an original second sample set provided by a data provider under Li Yongyang local-level equal strategy screening conditions to obtain a second sample set to be matched, wherein the second sample set to be matched comprises at least one group of second elements, and each group of second elements comprises a second sample to be matched and sample characteristics corresponding to the second sample to be matched;
the second hash processing module is used for calling a hash function to calculate the hash value of each group of second elements to obtain a second hash set to be matched;
the second sending module is used for sending an encrypted second sample set to be matched to a data demander so that the data demander encrypts the encrypted second sample set to be matched based on a first private key to obtain a second encrypted sample set to be matched, and the encrypted second sample set to be matched is obtained by encrypting the second hash set to be matched through a second private key;
the second encryption module is used for encrypting the encrypted first sample set to be matched from the data demand party based on the second private key to obtain a re-encrypted first sample set to be matched; and
and the third sending module is used for sending the re-encrypted first sample set to be matched to the data demander.
14. An electronic device, comprising:
one or more processors;
a storage device for storing one or more programs,
wherein the one or more programs, when executed by the one or more processors, cause the one or more processors to perform the method of any of claims 1-11.
15. A computer readable storage medium having stored thereon executable instructions which, when executed by a processor, cause the processor to perform the method according to any one of claims 1 to 11.
16. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 11.
CN202211219741.XA 2022-09-30 2022-09-30 Data sharing method, device, equipment and storage medium Pending CN115599959A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211219741.XA CN115599959A (en) 2022-09-30 2022-09-30 Data sharing method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211219741.XA CN115599959A (en) 2022-09-30 2022-09-30 Data sharing method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115599959A true CN115599959A (en) 2023-01-13

Family

ID=84844453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211219741.XA Pending CN115599959A (en) 2022-09-30 2022-09-30 Data sharing method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115599959A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170185904A1 (en) * 2015-12-29 2017-06-29 24/7 Customer, Inc. Method and apparatus for facilitating on-demand building of predictive models
CN109104413A (en) * 2018-07-17 2018-12-28 中国科学院计算技术研究所 The method and verification method that private data for multi-party computations seeks common ground
CN111061720A (en) * 2020-03-12 2020-04-24 支付宝(杭州)信息技术有限公司 Data screening method and device and electronic equipment
CN114065252A (en) * 2021-11-19 2022-02-18 北京数牍科技有限公司 Privacy set intersection method and device with condition retrieval and computer equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170185904A1 (en) * 2015-12-29 2017-06-29 24/7 Customer, Inc. Method and apparatus for facilitating on-demand building of predictive models
CN109104413A (en) * 2018-07-17 2018-12-28 中国科学院计算技术研究所 The method and verification method that private data for multi-party computations seeks common ground
CN111061720A (en) * 2020-03-12 2020-04-24 支付宝(杭州)信息技术有限公司 Data screening method and device and electronic equipment
CN114065252A (en) * 2021-11-19 2022-02-18 北京数牍科技有限公司 Privacy set intersection method and device with condition retrieval and computer equipment

Cited By (2)

* Cited by examiner, † Cited by third party
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

Similar Documents

Publication Publication Date Title
US10691835B1 (en) Verifying integrity of data stored in a consortium blockchain using a public sidechain
US10903976B2 (en) End-to-end secure operations using a query matrix
CN109981641B (en) Block chain technology-based safe publishing and subscribing system and publishing and subscribing method
CN111680324B (en) Credential verification method, management method and issuing method for blockchain
WO2022247576A1 (en) Data processing method and apparatus, device, and computer-readable storage medium
US20180212753A1 (en) End-To-End Secure Operations Using a Query Vector
US10037544B2 (en) Technologies for collecting advertising statistics in a privacy sensitive manner
CN111066019B (en) Processing data elements stored in a blockchain network
CN113162752B (en) Data processing method and device based on hybrid homomorphic encryption
CN114500093B (en) Safe interaction method and system for message information
CN107204997A (en) The method and apparatus for managing cloud storage data
EP4014427B1 (en) Online privacy preserving techniques
Li et al. An efficient blind filter: Location privacy protection and the access control in FinTech
CN113498602A (en) Aggregating encrypted network values
CN113486122A (en) Data sharing method and electronic equipment
CN110737905B (en) Data authorization method, data authorization device and computer storage medium
CN112788001A (en) Data encryption-based data processing service processing method, device and equipment
CN114223175A (en) Generating a sequence of network data while preventing acquisition or manipulation of time data
CN115599959A (en) Data sharing method, device, equipment and storage medium
Hong et al. Constructing conditional PKEET with verification mechanism for data privacy protection in intelligent systems
Malgari et al. A novel data security framework in distributed cloud computing
Sun et al. Blockchain and homomorphic encryption for digital copyright protection
WO2022110716A1 (en) Cold start recommendation method and apparatus, computer device and storage medium
CN111125734B (en) Data processing method and system
CN111861489A (en) Financial product transaction share determination method and device based on block chain

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