CN116204909B - Vector element mapping method, electronic device and computer readable storage medium - Google Patents

Vector element mapping method, electronic device and computer readable storage medium Download PDF

Info

Publication number
CN116204909B
CN116204909B CN202310404189.XA CN202310404189A CN116204909B CN 116204909 B CN116204909 B CN 116204909B CN 202310404189 A CN202310404189 A CN 202310404189A CN 116204909 B CN116204909 B CN 116204909B
Authority
CN
China
Prior art keywords
vector
random
old
participant
vectors
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.)
Active
Application number
CN202310404189.XA
Other languages
Chinese (zh)
Other versions
CN116204909A (en
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.)
Beijing Shudu Technology Co ltd
Original Assignee
Beijing Shudu Technology 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 Beijing Shudu Technology Co ltd filed Critical Beijing Shudu Technology Co ltd
Priority to CN202310404189.XA priority Critical patent/CN116204909B/en
Publication of CN116204909A publication Critical patent/CN116204909A/en
Application granted granted Critical
Publication of CN116204909B publication Critical patent/CN116204909B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/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/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application discloses a vector element mapping method, electronic equipment and a computer readable storage medium, wherein the method comprises the following steps: obtaining a first old vector, wherein a target vector of a graph structure comprises a first fragment and a second fragment which are shared in a secret way, the first old vector is the first fragment, and the target vector is a node vector or an edge vector; receiving a first vector sent by a second participant, the first vector being obtained by the second participant according to the held second shard; combining the first vector with the first old vector to obtain a combined vector; and performing element mapping on the merging vector according to the pre-acquired mapping relation to obtain a first new vector. In the above, the information disclosed in the first participant and the second participant is the lengths of the old vector and the new vector, the data of each element in the new vector and the old vector are kept secret, and the mapping relationship mastered by the first participant cannot be revealed to the second participant, so that the data leakage can be effectively avoided.

Description

Vector element mapping method, electronic device and computer readable storage medium
Technical Field
The application belongs to the technical field of information security, and particularly relates to a vector element mapping method, electronic equipment and a computer readable storage medium.
Background
In designing an implementation of a set of hardware-independent, efficient federal graph computing systems, we note that one of the large key algorithm requirements is to generate a new vector by transforming (reorganizing) an old vector. The transformation may be expressed as a mapping that maps the index of each element of the new vector to an index in the old vector, whereas the value of each element in the new vector must be equal to the value of the corresponding (mapped) element in the old vector. In a plaintext scenario, this construction is intuitive. In our problem scenario, the difficulty is in setting the input and output, i.e. the old vector is shared secret between the two participants, while the mapping relation needed to construct the new vector is provided by one of the participants, and the new vector that is output must also be in secret shared state. In the new vector construction process, we do not want to reveal any element value stored in the vector, i.e. the elements in the new and old vectors must always be kept secret (secret sharing or encryption), nor can we reveal the mapping relationship held by one of the participants to the other, i.e. we must ensure that the calculation process is privacy-preserving.
Based on this, there is a need for a vector element mapping method to achieve privacy protection of vector data.
Disclosure of Invention
The embodiment of the application provides a vector element mapping method, electronic equipment and a computer readable storage medium, which can realize privacy protection of vector data.
In a first aspect, an embodiment of the present application provides a vector element mapping method, applied to a first participant, including:
obtaining a first old vector, wherein a target vector of a graph structure comprises a first fragment and a second fragment which are shared in a secret way, the first old vector is the first fragment, and the target vector is a node vector or an edge vector;
receiving a first vector sent by a second participant, the first vector being obtained by the second participant according to the held second shard;
combining the first vector with the first old vector to obtain a combined vector;
and carrying out element mapping on the merging vectors according to a pre-acquired mapping relation to obtain a first new vector, wherein the mapping relation is used for indicating the corresponding relation between the element indexes in the first old vector and the element indexes in the first new vector.
In a second aspect, an embodiment of the present application provides a vector element mapping method, applied to a second party, including:
Obtaining a second old vector, wherein the target vector of the graph structure comprises a first fragment and a second fragment which are shared in a secret manner, and the second old vector is the second fragment;
selecting a second random vector from the pre-acquired plurality of second random vectors, and performing difference between the second random vector and the second old vector to obtain a first vector;
the first vector is sent to the first party.
In a third aspect, an embodiment of the present application provides a vector element mapping apparatus, applied to a first participant, including:
the acquisition module is used for acquiring a first old vector, wherein a target vector of the graph structure comprises a first fragment and a second fragment which are shared in a secret way, the first old vector is the first fragment, and the target vector is a node vector or an edge vector;
a receiving module, configured to receive a first vector sent by a second participant, where the first vector is obtained by the second participant according to the held second fragment;
the merging module is used for merging the first vector with the first old vector to obtain a merged vector;
and the mapping module is used for carrying out element mapping on the merging vectors according to the pre-acquired mapping relation to obtain a first new vector, wherein the mapping relation is used for indicating the corresponding relation between the element indexes in the first old vector and the element indexes in the first new vector.
In a fourth aspect, an embodiment of the present application provides a vector element mapping apparatus, applied to a second party, including:
the first acquisition module is used for acquiring a second old vector, and the target vector of the graph structure comprises a first fragment and a second fragment which are shared by secrets, wherein the second old vector is the second fragment;
the second acquisition module is used for selecting one second random vector from the pre-acquired plurality of second random vectors to be differenced with the second old vector to obtain a first vector;
and the sending module is used for sending the first vector to the first participant.
In a fifth aspect, an embodiment of the present application provides an electronic device, including: a processor and a memory storing computer program instructions;
the processor, when executing the computer program instructions, implements the method as described in the first or second aspect.
In a sixth aspect, embodiments of the present application provide a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement a method according to the first or second aspect.
In a seventh aspect, embodiments of the present application provide a computer program product, instructions in which, when executed by a processor of an electronic device, cause the electronic device to perform the method according to the first or second aspect.
In the vector element mapping method, the electronic device and the computer readable storage medium according to the embodiments of the present application, in a process of obtaining a first new vector based on a first old vector of a first participant and a second old vector of a second participant, information disclosed in the first participant and the second participant is lengths of the old vector and the new vector (i.e., the number of elements of the vector), data of each element in the new and old vectors are kept secret, and a mapping relationship grasped by the first participant is not revealed to the second participant, so that data leakage is not caused. The obtained first new vector comprises the information of the first old vector and the second old vector, and when the first new vector is used in subsequent calculation, the information of the first old vector and the second old vector can be used, the information of the first old vector and the second old vector can be effectively ensured not to be leaked, and the risk of data leakage is reduced.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments of the present application will be briefly described, and it is possible for a person skilled in the art to obtain other drawings according to these drawings without inventive effort.
FIG. 1 is a flow chart of a vector element mapping method according to one embodiment of the present application;
FIG. 2 is another flow chart of a vector element mapping method according to one embodiment of the present application;
FIG. 3-1 is a schematic flow diagram of a pretreatment stage provided in one embodiment of the present application;
FIG. 3-2 is another flow diagram of an online processing stage provided by one embodiment of the present application;
FIGS. 3-3 are another flow diagram of a pretreatment stage provided by one embodiment of the present application;
FIGS. 3-4 are another flow diagram of an online processing stage provided by one embodiment of the present application;
fig. 4 is a schematic structural diagram of an electronic device according to another embodiment of the present application.
Detailed Description
Features and exemplary embodiments of various aspects of the present application are described in detail below to make the objects, technical solutions and advantages of the present application more apparent, and to further describe the present application in conjunction with the accompanying drawings and the detailed embodiments. It should be understood that the specific embodiments described herein are intended to be illustrative of the application and are not intended to be limiting. It will be apparent to one skilled in the art that the present application may be practiced without some of these specific details. The following description of the embodiments is merely intended to provide a better understanding of the present application by showing examples of the present application.
It is noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising … …" does not exclude the presence of other like elements in a process, method, article or apparatus that comprises the element.
The terms that may be used in the present application are explained as follows:
calculating a federal graph: and splicing the separated subgraphs held by each participant into a global graph by crossing edges of the subgraphs and common nodes, and running a graph algorithm, and protecting the privacy of the subgraph data of each participant.
Homomorphic encryption: public key encryption techniques that support operations based on ciphertext.
And (3) calculating an outsourcing diagram: the owner of the graph data outsources the graph computation task to a cloud computation server, which generally requires protection of the data privacy of the graph data owner.
Secret sharing: some data x is split into several secret shards (secret shards), the distribution of the values of each shard is random, but the addition equals x.
As one of the most widely deployed big data computing technologies at present, graph computation plays an important role in the fields of anti-financial fraud, knowledge graph analysis, false social account detection and the like. The graph calculation is to execute various graph analysis algorithms by taking graph data (data composed of nodes and edges between nodes) as input. In a real-world scenario, the graph data is often distributed among and interrelated with different organizations, so that each organization has a need to collaborate on graph computation. For example, each bank has its own transfer diagram inside and is linked into a global transfer diagram by transfer across banks. The cooperation between banks to perform the map calculation on the global transfer map has important significance for the activities such as anti-money laundering, anti-fraud transaction and the like. However, under the limitation of the user data privacy protection act, the graph data cannot be directly shared between institutions, which brings challenges to the collaborative development of graph computation between institutions.
The problem may be defined as a federal graph calculation problem. In particular, federal graph computation assumes that several participants cooperate to perform the graph computation, each participant providing a sub-graph, each sub-graph being connected by edges across the sub-graph, there may be common nodes between each sub-graph. The goal of federation graph calculation is to splice the subgraphs of all the participants (splicing is based on the edges and public nodes of the cross subgraphs) on the premise of protecting the privacy of the subgraph data, and various graph calculation tasks are executed on the global graph after splicing to obtain graph calculation results which cannot be obtained in the separated subgraphs.
The protection of the privacy of the sub-graph data, that is, the node-related data and the edge-related data stored in each sub-graph are not revealed, includes the data stored in each sub-graph by the common node. In addition, edge data across subgraphs is disclosed to the relevant participants. For example, the transfer record between bank A and bank B may be visible to both banks.
For sub-graph data stored by each participant, in order to reduce the risk of data leakage, the embodiment of the application provides a vector element mapping method, a vector element mapping device, electronic equipment, a vector element mapping medium and a vector element mapping product. The following first describes a vector element mapping method provided in an embodiment of the present application.
Fig. 1 is a schematic flow chart of a vector element mapping method according to an embodiment of the present application. As shown in fig. 1, the vector element mapping method provided in the embodiment of the present application is applied to a first participant, where the first participant may also be referred to as a first device, and includes the following steps.
Step 101, a first old vector is acquired, a target vector of the graph structure comprises a first fragment and a second fragment which are shared in a secret mode, the first old vector is the first fragment, and the target vector is a node vector or an edge vector.
For example, a node vector of the graph structure is obtained and secret sharing is performed based on the node vector, and a first shard or a second shard is determined, the first shard being held by a first participant and the second shard being held by a second participant.
Step 102, receiving a first vector sent by a second participant, wherein the first vector is obtained by the second participant according to the held second fragments.
The second party determines the first vector from the second old vector, i.e. the second shard, held by said second party. It should be noted that the first old vector and the second old vector are the same node vector or the same edge vector.
Specifically, the first vector may be determined by the second party based on the second old vector and a second random vector, for example, the second party generates a plurality of second random vectors, and the number of elements of each second random vector is the same as the number of elements of the second old vector; and selecting a second random vector from the plurality of second random vectors to be differenced with the second old vector to obtain a first vector.
Step 103, merging the first vector with the first old vector to obtain a merged vector.
It should be noted that, the merging of the two vectors may be to perform data operations, such as summing or differencing, on the two vectors at the same element position. In this step, the same element positions in the first vector and the first old vector are subjected to data summation to obtain a merged vector.
And 104, performing element mapping on the merging vectors according to a pre-acquired mapping relation to obtain a first new vector, wherein the mapping relation is used for indicating the corresponding relation between the element indexes in the first old vector and the element indexes in the first new vector.
The mapping relation may be preset according to actual situations, and is not limited herein. The mapping is stored only in the first party, and the mapping may be a matrix, and the first new vector may be obtained by multiplying the combined vector by the matrix.
Steps 101-104 described above pertain to an online processing stage.
According to the above steps, in the process of obtaining the first new vector based on the first old vector of the first participant and the second old vector of the second participant, the information disclosed in the first participant and the second participant is the lengths of the old vector and the new vector (i.e. the number of elements of the vector), the data of each element in the new and old vectors are kept secret, and the mapping relationship mastered by the first participant is not revealed to the second participant, so that the data leakage is not caused. The obtained first new vector comprises the information of the first old vector and the second old vector, and when the first new vector is used in subsequent calculation, the information of the first old vector and the second old vector can be used, the information of the first old vector and the second old vector can be effectively ensured not to be leaked, and the risk of data leakage is reduced.
In one embodiment of the present application, after the element mapping is performed on the merging vector according to the pre-acquired mapping relationship, the method further includes:
and merging the first new vector with one first random vector in the pre-acquired plurality of first random vectors to obtain secret fragments of the first new vector, wherein the number of elements of each first random vector is the same as that of the first new vector. This step also belongs to the online processing stage.
In this embodiment, the first new vector may be combined with one of the plurality of first random vectors generated in advance by the first participant, and the secret fragments of the first new vector are obtained and stored, so that the first new vector may be further encrypted, thereby avoiding information leakage.
In yet another embodiment of the present application, the method further comprises a preprocessing stage, the preprocessing stage being performed prior to the online processing stage, the preprocessing stage of the first party being operable to determine a plurality of random vectors for the first party and the second party, wherein the preprocessing stage of the first party (i.e. party i) comprises:
Step one: a plurality of first random vectors are generated, and the number of elements of each first random vector is the same as that of the first new vector. The length (number of elements) of each vector in the generated batch of random vectors is the length of the new vector, and output
Figure SMS_1
,/>
Figure SMS_2
A set of first random vectors is represented, comprising k first random vectors.
Step two: receiving ciphertext random vector transmitted by second party
Figure SMS_3
The ciphertext random vectors are determined by generating a plurality of second random vectors for the second party, each element of the ciphertext random vectors is encrypted by the homomorphic encryption public key of party j, each encrypted element is oneAnd the corresponding elements of the second random vectors of the batches are spliced to obtain the vector.
Specifically, the second party performs the steps of: generating a plurality of second random vectors, wherein the number of elements of each second random vector is the same as that of the second old vector; splicing the plurality of second random vectors to obtain a second spliced vector; encrypting the second spliced vector by adopting a homomorphic encryption public key of the second participant to obtain a ciphertext random vector; and sending the ciphertext random vector to the first participant.
Step three: element mapping is carried out on the ciphertext random vector based on the mapping relation, and a mapping vector is obtained;
based on
Figure SMS_4
And ciphertext random vector->
Figure SMS_5
Construction->
Figure SMS_6
. Specifically, the->
Figure SMS_7
The calculation mode of each element is as follows:
Figure SMS_8
wherein the method comprises the steps of
Figure SMS_9
Representing that ∈10 is about to be mapped according to the mapping relation>
Figure SMS_10
One element index of (2) is mapped to +.>
Figure SMS_11
An element index of (a) and (b) output->
Figure SMS_12
Step four: for the plurality of first random vectors
Figure SMS_13
Splicing to obtain a first splicing vector +.>
Figure SMS_14
A plurality of vector concatenation may be understood as concatenation of data of the same element position of a plurality of vectors, and an element of a position in a vector after concatenation may include element data of the same position in the plurality of vectors participating in concatenation. For example, if the data at the first element position of the first random vector is a and the data at the first element position of the second first random vector is b, after the two first random vectors are spliced, the data at the first element position of the spliced vector is ab, and then the spliced vector can be split, that is, the inverse operation of the splicing operation is performed, so as to obtain a and b.
Step five: the first spliced vector and the mapping vector are subjected to difference to obtain a result vector
Figure SMS_15
Step six: and sending the result vector to the second party. The associated random number stored by the second party is divided into two parts, one part is a second random vector generated by the second party, the length of the second random vector is equal to that of a second old vector, and the other part is a random vector obtained by splitting a Fang Duijie vector of the second party, and the length of the second random vector is equal to that of a second new vector.
The first party locally saves the first random vector generated by itself as its associated random number (also known as a random value, or random value vector).
In the preprocessing stage, the first party generates a random value vector and sends a result vector to the second party, and the second party can split the result vector to obtain the random value vector belonging to the second party for subsequent use.
In this embodiment, the first participant generates a plurality of first random vectors once in the preprocessing stage, and then in the online processing stage, one of the first random vectors can be selected for use at a time, in addition, the second participant can split and obtain a plurality of random vectors from the result vectors, so that the first participant can prepare associated random numbers required by online calculation for itself and the second participant for a plurality of times through one preprocessing, and after sharing, the preprocessing calculation and transmission cost required by each online calculation are effectively reduced.
The data interacted by the two participants in the preprocessing and online stages are ciphertext vectors or random vectors, and the rest calculation is carried out locally, so that the risk of data privacy disclosure can be effectively reduced.
Fig. 2 is a flow chart illustrating a vector element mapping method according to an embodiment of the present application. As shown in fig. 2, the vector element mapping method provided in the embodiment of the present application is applied to a second party, where the second party may also be referred to as a second device, and includes the following steps:
in step 201, a second old vector is obtained, and a target vector of the graph structure includes a first fragment and a second fragment which are shared in secret, where the second old vector is the second fragment, and the target vector is a node vector or an edge vector.
For example, a node vector of the graph structure is obtained and secret sharing is performed based on the node vector, and a first shard or a second shard is determined, the first shard being held by a first participant and the second shard being held by a second participant.
Step 202, selecting a second random vector from the pre-acquired plurality of second random vectors, and performing difference between the second random vector and the second old vector to obtain a first vector.
The second party generates a plurality of second random vectors, and the number of elements of each second random vector is the same as that of elements of a second old vector; and selecting a second random vector from the plurality of second random vectors to be differenced with the second old vector to obtain a first vector.
Step 203, sending the first vector to the first party, so that the first party obtains a first new vector according to the first vector.
According to the steps, in the process of obtaining the first vector based on the second old vector of the second party, the information disclosed outside the second party is the length of the second old vector (namely the number of elements of the vector), the data of each element in the second old vector is kept secret, the information of the second old vector can be effectively ensured not to be leaked, and the risk of data leakage is reduced.
Steps 201-203 described above belong to the online processing phase.
Specifically, the method further comprises a preprocessing stage, which is performed before the online processing stage, as shown in fig. 3-1, and the preprocessing stage of the second party (i.e., party j) comprises the following steps:
generating a plurality of second random vectors, wherein the number of elements of each second random vector is the same as that of the second old vector;
splicing the plurality of second random vectors to obtain a second spliced vector;
a plurality of vector concatenation may be understood as concatenation of data of the same element position of a plurality of vectors, and an element of a position in a vector after concatenation may include element data of the same position in the plurality of vectors participating in concatenation. For example, if the data at the first element position of the first second random vector is a and the data at the first element position of the second random vector is b, after the two first random vectors are spliced, the data at the first element position of the spliced vector is ab, and then the spliced vector can be split, that is, the reverse operation of the splicing operation is performed, so as to obtain a and b.
Thirdly, encrypting the second spliced vector by adopting a homomorphic encryption public key of the second participant to obtain a ciphertext random vector;
and step four, the ciphertext random vector is sent to the first participant, so that the first participant can conveniently perform the next operation according to the ciphertext random vector.
Further, after the fourth step, the method further includes:
and step five, receiving a result vector sent by the first participant.
And step six, decrypting the result vector by using the homomorphic encryption private key to obtain a decrypted intermediate vector.
And step seven, splitting the intermediate vector to obtain a plurality of third random vectors, wherein the number of elements of the third random vectors is the same as that of elements of the second new vector.
The associated random number stored by the second party is divided into two parts, one part is a second random vector generated by the second party, the length of the second random vector is equal to that of a second old vector, and the other part is a third random vector obtained by splitting a Fang Duijie vector of the second party, and the length of the third random vector is equal to that of a second new vector.
Through the preprocessing stage, the second participant can obtain a plurality of random vectors, so that the subsequent online processing stage is convenient to use, and in the online processing stage, a third random vector can be used each time, thereby improving the data security and avoiding data leakage.
After the above-mentioned preprocessing stage, the second participant in the subsequent online processing stage is shown in fig. 3-2, and fig. 3-2 is an interaction flow of the first participant (participant i) and the second participant (participant j) in the online processing stage.
Wherein, for party j, the steps of:
the input being a random vector
Figure SMS_16
And->
Figure SMS_17
And old vector of secret sharing +.>
Figure SMS_18
(i.e., the second old vector).
Step 1. Combining random vectors
Figure SMS_19
Input vector fragments: subtracting the two to obtain and outputFirst vector
Figure SMS_20
Step 2, sending the combined first vector: will be
Figure SMS_21
To party i.
And (5) ending. Party j will
Figure SMS_22
As secret fragments of the held new vector, i.e. +.>
Figure SMS_23
In the above, the random vector
Figure SMS_24
One of a plurality of second random vectors generated for a second party, the random vector
Figure SMS_25
In the operation of taking part in obtaining the first vector, the random vector +.>
Figure SMS_26
Third random variable involved->
Figure SMS_27
As a secret shard of a second new vector held by a second party. That is, a first target random vector of the plurality of third random vectors is determined as a secret shard of the second new vector, the first target random vector being determined from a second target random vector, the second target random vector being a second random vector selected for determining the first vector.
The method provided by the application has the following effects:
low online computing overhead: the online computing does not contain cryptographic operations (like state ciphertext computing and secure multiparty computing), and the transmission overhead of the online computing stage is small; no cryptographic operations are involved in the online calculation, and there is only a single round of data transfer, with the amount of data transferred being equal to the old vector.
The pretreatment can be carried out in batches: for the same mapping relation, a batch of associated random numbers can be generated through one-time preprocessing, multiple online calculations are served, and for each participant, only one random vector in the batch of random vectors obtained in the preprocessing is consumed through one-time online calculation, so that the preprocessing calculation and transmission cost after sharing is reduced.
Privacy protection: input vector element data cannot be leaked from the calculation process, and the mapping relationship grasped by one participant cannot be leaked to the other participant.
The vector element mapping method provided in the present application is exemplified below.
The vector element mapping method is divided into two stages of preprocessing and online calculation. The overall flow chart of the preprocessing stage is shown in fig. 3-3, wherein two participants are participant i and participant j, and the mapping relationship is provided by participant i.
As shown in fig. 3-3, the preprocessing stage of party i is divided into 5 steps:
1. generating batches of random vectors, wherein each random vector is equal in length to a new vector to be generated after mapping;
2. receiving a homomorphic encrypted random vector transmitted by a party j;
3. directly mapping the ciphertext random vector to generate a new ciphertext random vector, wherein each element is determined by a mapping relation;
4. subtracting the batch of random vectors generated in the step 1 by using the new ciphertext random vector;
5. the result of the ciphertext-plaintext vector subtraction is sent to party j.
After the above-mentioned 5 steps of operation are completed, the party i locally stores the batch random vector generated in step 1 itself as its grasped associated random number.
The key process of the preprocessing phase of party i may be as shown in fig. 3-1 for party i:
starting. The input grasped by party i is a mapping relationship
Figure SMS_28
I.e. the mapping from the element index in the new vector to the element index in the old vector.
1. Generating a batch of first random vectors: the length (number of elements) of each vector in the generated batch of random vectors is the length of the new vector, and the batch of first random vectors is output
Figure SMS_29
2. Receiving ciphertext random vectors: reception of
Figure SMS_30
Each element of the vector is encrypted by homomorphic encryption public key of party j, wherein each encrypted element is a concatenation of corresponding elements of a batch of random vectors, outputting +.>
Figure SMS_31
3. Vector element mapping is carried out: based on
Figure SMS_32
And->
Figure SMS_33
Construction->
Figure SMS_34
. Specifically, the->
Figure SMS_35
The calculation mode of each element is as follows:
Figure SMS_36
wherein the method comprises the steps of
Figure SMS_37
Representing that ∈10 is about to be mapped according to the mapping relation>
Figure SMS_38
One element index of (2) is mapped to +.>
Figure SMS_39
An element index of the group. Output->
Figure SMS_40
4. Ciphertext-plaintext random vector subtraction is performed. For a pair of
Figure SMS_41
Performing batch random vector stitching to obtain +.>
Figure SMS_42
And sum up
Figure SMS_43
Subtracting to output->
Figure SMS_44
5. And sending the result vector of the ciphertext. Will be
Figure SMS_45
I.e. +.>
Figure SMS_46
And sending the message to the party j for decryption.
And (5) ending. Participant i preservation
Figure SMS_47
As the associated random number grasped by the user.
As shown in fig. 3-3, the preprocessing phase of party j is divided into 4 steps:
1. generating a batch of second random vectors, wherein each random vector is equal to the old vector to be mapped in length;
2. splicing the elements with the same index in the random vectors in batches into single elements, so that the random vectors in batches are combined into single random vectors, further carrying out element-by-element homomorphic encryption on the combined random vectors, and sending the encrypted random vectors to the party i;
3. receiving a result vector of a ciphertext transmitted by a party i, and decrypting by using a homomorphic private key;
4. And splitting the decrypted result vector to obtain a batch of random vectors. The associated random number stored by the party j is divided into two parts, wherein one part is the random vector generated by the party j in the step 1, the length of the random vector is equal to that of the old vector, and the other part is the random vector obtained by disassembling the party j in the step 4, and the length of the random vector is equal to that of the new vector.
The key process of the preprocessing phase of party j may be as shown in fig. 3-1 for party j:
1. generating a batch of second random vectors: the length (number of elements) of each vector in the generated second random vector is the length of the old vector, and the second random vector is output
Figure SMS_48
2. Merging the batch random vectors, encrypting and sending: will be
Figure SMS_49
Spliced into->
Figure SMS_50
And encrypted to ++using its homomorphic encryption public key>
Figure SMS_51
And sending the message to the party i.
3. Receiving the result vector of the ciphertext and decrypting: receiving a result vector
Figure SMS_52
Decrypted to obtain and output
Figure SMS_53
4. The split result vector is a third random vector of the batch. The splitting operation is the inverse operation of the splicing operation, and outputs a plurality of third random vectors
Figure SMS_54
And (5) ending. Party j holds a plurality of second random(Vector)
Figure SMS_55
And a plurality of third random vectors +.>
Figure SMS_56
As its learned associated random value.
The overall flow chart of the online computing phase (which may also be referred to as the online processing phase) is shown in fig. 3-4, where two participants are participant i and participant j, with a mapping provided by participant i.
As shown in fig. 3-4, the online calculation phase with party j is divided into 2 steps:
1. subtracting and merging secret fragments of the old vector (input vector) and random vectors with equal length obtained during preprocessing;
2. and sending the combined vector to the party i.
After the two-step operation, party j retains a random vector of equal length as the new vector as a secret fragment of the new vector it holds (i.e., the output of the secret sharing it holds).
The key process of the online computing phase of party j may be as shown in fig. 3-2 for party j:
starting. The input being a random vector
Figure SMS_57
And->
Figure SMS_58
And old vector of secret sharing +.>
Figure SMS_59
1. Merging the preprocessing random vectors and the input vector fragments: subtracting to obtain and output
Figure SMS_60
2. Transmitting the combined vector: will be
Figure SMS_61
Send to ginsengAnd a party i.
And (5) ending. Party j will
Figure SMS_62
As secret fragments of the held new vector, i.e. +.>
Figure SMS_63
The online calculation phase of the participant i is divided into 3 steps:
1. addition combines the received vector with the secret shards of the old vector (input vector) held by itself;
2. vector element mapping is carried out on the combined vectors;
3. and adding and combining the mapped vector and the random vector obtained in the preprocessing.
After the three-step operation, party i retains the output of the 3 rd calculation as a secret piece of the new vector it holds.
The key process of the online computing phase of party i may be as shown in fig. 3-2 for party i:
starting. The input is a mapping relation
Figure SMS_64
Random vector->
Figure SMS_65
Secret shared old vector +.>
Figure SMS_66
1. Receiving a vector sent by a party j, and merging with the input vector fragments: reception of
Figure SMS_67
And the following calculations were performed:
Figure SMS_68
output of
Figure SMS_69
2. Vector element mapping is carried out: acquisition of
Figure SMS_70
The method comprises the following steps:
Figure SMS_71
3. combining with the random vector obtained by preprocessing, and outputting
Figure SMS_72
And (5) ending. Participant i will
Figure SMS_73
As secret fragments of held new vectors, i.e
Figure SMS_74
The method provided by the application comprises two participants, the old vector is shared among the two participants in a secret way, and the mapping relation is provided by one of the participants, so that the method has the following effects:
1. low on-line computation and transmission overhead. Based on the associated random numbers generated in the preprocessing stage, the online calculation does not involve cryptographic operations, and the transmission overhead is only a secret sharing element equal in number to the old vector.
2. Low preprocessing homomorphic encryption computation overhead. The preprocessing stage utilizes the characteristic of vector mapping, and each element of the random vector is independently encrypted, so that the mapping operation is directly completed on ciphertext elements, matrix-vector multiplication on homomorphic ciphertext is avoided, and the expenditure of homomorphic ciphertext operation is reduced.
3. Batch preprocessing amortizes the pre-calculation overhead. By designing a batch homomorphic encryption and ciphertext operation scheme, the same position elements of a plurality of random vectors are stored in a single ciphertext, so that the associated random numbers required by multiple online calculations are prepared simultaneously through one-time preprocessing. After the uniform spreading, the pretreatment calculation and transmission cost required by each online calculation are greatly reduced.
4. Privacy protections may prove. The privacy protectiveness of the protocol presented by this proposal is cryptographically provable, assuming that the homomorphic encryption technique used is secure. Specifically, the only information disclosed in the method provided by the application is the lengths (the number of elements) of the old vector and the new vector, the data of each element in the new vector and the old vector are kept secret, and the mapping relationship mastered by the participant i cannot be revealed to the participant j. Intuitively, the data interacted by two participants in the preprocessing and online stages are ciphertext vectors or random vectors, and the rest of calculation is performed locally, so that the risk of data privacy disclosure is avoided.
The embodiment of the application also provides a vector element mapping device, which comprises:
the first acquisition module is used for acquiring a first old vector, the target vector of the graph structure comprises a first fragment and a second fragment which are shared by secrets, the first old vector is the first fragment, and the target vector is a node vector or an edge vector;
A first receiving module, configured to receive a first vector sent by a second participant, where the first vector is obtained by the second participant according to the held second fragment;
the merging module is used for merging the first vector with the first old vector to obtain a merged vector;
and the mapping module is used for carrying out element mapping on the merging vectors according to the pre-acquired mapping relation to obtain a first new vector, wherein the mapping relation is used for indicating the corresponding relation between the element indexes in the first old vector and the element indexes in the first new vector.
Optionally, the apparatus further comprises:
and the second acquisition module is used for combining the first new vector with one first random vector in the pre-acquired plurality of first random vectors to obtain a secret fragment of the first new vector, wherein the number of elements of each first random vector is the same as that of the first new vector.
Optionally, the apparatus further comprises:
the generating module is used for generating a plurality of first random vectors, and the number of elements of each first random vector is the same as that of the first new vector;
the second receiving module is used for receiving a ciphertext random vector sent by a second participant, and the ciphertext random vector is determined by a plurality of second random vectors generated for the second participant;
The third acquisition module is used for carrying out element mapping on the ciphertext random vector based on the mapping relation to obtain a mapping vector;
the splicing module is used for splicing the plurality of first random vectors to obtain a first spliced vector;
the fourth acquisition module is used for making a difference between the first splicing vector and the mapping vector to obtain a result vector;
and the sending module is used for sending the result vector to the second party.
Optionally, the first vector is determined by the second party based on the second old vector and one of the second random vectors.
The vector element mapping device provided in the embodiment of the present application can implement each process implemented by the embodiment of the vector element mapping method executed by the first party, and achieve the same technical effect, so that repetition is avoided, and no redundant description is provided herein.
The embodiment of the application also provides a vector element mapping device, which comprises:
the first acquisition module is used for acquiring a second old vector, the target vector of the graph structure comprises a first fragment and a second fragment which are shared by secrets, the second old vector is the second fragment, and the target vector is a node vector or an edge vector;
The second acquisition module is used for selecting one second random vector from the pre-acquired plurality of second random vectors to be differenced with the second old vector to obtain a first vector;
and the first sending module is used for sending the first vector to the first participant.
Optionally, the apparatus further comprises:
the generation module is used for generating a plurality of second random vectors, and the number of elements of each second random vector is the same as that of the second old vector;
the splicing module is used for splicing the plurality of second random vectors to obtain a second spliced vector;
the encryption module is used for encrypting the second spliced vector by adopting the homomorphic encryption public key of the second participant to obtain a ciphertext random vector;
and the second sending module is used for sending the ciphertext random vector to the first party.
Optionally, the apparatus further comprises:
the receiving module is used for receiving the result vector sent by the first participant;
the decryption module is used for decrypting the result vector by using the homomorphic encryption private key to obtain a decrypted intermediate vector;
the splitting module is used for splitting the intermediate vectors to obtain a plurality of third random vectors, and the number of elements of the third random vectors is the same as that of the second new vectors.
Optionally, the apparatus further comprises:
a determining module, configured to determine a first target random vector of the plurality of third random vectors as a secret patch of the second new vector, where the first target random vector is determined according to a second target random vector, and the second target random vector is a second random vector selected to determine the first vector.
The vector element mapping device provided in the embodiment of the present application can implement each process implemented by the embodiment of the vector element mapping method executed by the second party, and achieve the same technical effect, so that repetition is avoided, and no redundant description is provided herein.
Fig. 4 shows a schematic hardware structure of a vector element mapping method according to an embodiment of the present application.
A processor 601 may be included in an electronic device and a memory 602 storing computer program instructions.
In particular, the processor 601 may include a Central Processing Unit (CPU), or an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or may be configured to implement one or more integrated circuits of embodiments of the present application.
Memory 602 may include mass storage for data or instructions. By way of example, and not limitation, memory 602 may include a Hard Disk Drive (HDD), floppy Disk Drive, flash memory, optical Disk, magneto-optical Disk, magnetic tape, or universal serial bus (Universal Serial Bus, USB) Drive, or a combination of two or more of the above. The memory 602 may include removable or non-removable (or fixed) media, where appropriate. Memory 602 may be internal or external to the integrated gateway disaster recovery device, where appropriate. In a particular embodiment, the memory 602 is a non-volatile solid state memory.
The memory may include Read Only Memory (ROM), random Access Memory (RAM), magnetic disk storage media devices, optical storage media devices, flash memory devices, electrical, optical, or other physical/tangible memory storage devices. Thus, in general, the memory comprises one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software comprising computer-executable instructions and when the software is executed (e.g., by one or more processors) it is operable to perform the operations described with reference to the method according to the first aspect of the disclosure.
The processor 601 implements any of the vector element mapping methods of the above embodiments by reading and executing computer program instructions stored in the memory 602.
In one example, the electronic device may also include a communication interface 603 and a bus 610. As shown in fig. 4, the processor 601, the memory 602, and the communication interface 603 are connected to each other through a bus 610 and perform communication with each other.
The communication interface 603 is mainly configured to implement communication between each module, apparatus, unit and/or device in the embodiments of the present application.
Bus 610 includes hardware, software, or both, coupling components of the vector element mapping method to each other. By way of example, and not limitation, the buses may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an infiniband interconnect, a Low Pin Count (LPC) bus, a memory bus, a micro channel architecture (MCa) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a video electronics standards association local (VLB) bus, or other suitable bus, or a combination of two or more of the above. Bus 610 may include one or more buses, where appropriate. Although embodiments of the present application describe and illustrate a particular bus, the present application contemplates any suitable bus or interconnect.
In addition, in combination with the vector element mapping method in the above embodiment, the embodiment of the application may be implemented by providing a computer readable storage medium. The computer readable storage medium has stored thereon computer program instructions; the computer program instructions, when executed by a processor, implement any of the vector element mapping methods of the embodiments described above.
It should be clear that the present application is not limited to the particular arrangements and processes described above and illustrated in the drawings. For the sake of brevity, a detailed description of known methods is omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method processes of the present application are not limited to the specific steps described and illustrated, and those skilled in the art can make various changes, modifications, and additions, or change the order between steps, after appreciating the spirit of the present application.
The functional blocks shown in the above-described structural block diagrams may be implemented in hardware, software, firmware, or a combination thereof. When implemented in hardware, it may be, for example, an electronic circuit, an Application Specific Integrated Circuit (ASIC), suitable firmware, a plug-in, a function card, or the like. When implemented in software, the elements of the present application are the programs or code segments used to perform the required tasks. The program or code segments may be stored in a machine readable medium or transmitted over transmission media or communication links by a data signal carried in a carrier wave. A "machine-readable medium" may include any medium that can store or transfer information. Examples of machine-readable media include electronic circuitry, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, fiber optic media, radio Frequency (RF) links, and the like. The code segments may be downloaded via computer networks such as the internet, intranets, etc.
It should also be noted that the exemplary embodiments mentioned in this application describe some methods or systems based on a series of steps or devices. However, the present application is not limited to the order of the above-described steps, that is, the steps may be performed in the order mentioned in the embodiments, may be different from the order in the embodiments, or several steps may be performed simultaneously.
Aspects of the present disclosure are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, enable the implementation of the functions/acts specified in the flowchart and/or block diagram block or blocks. Such a processor may be, but is not limited to being, a general purpose processor, a special purpose processor, an application specific processor, or a field programmable logic circuit. It will also be understood that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware which performs the specified functions or acts, or combinations of special purpose hardware and computer instructions. In the foregoing, only the specific embodiments of the present application are described, and it will be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the systems, modules and units described above may refer to the corresponding processes in the foregoing method embodiments, which are not repeated herein. It should be understood that the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive various equivalent modifications or substitutions within the technical scope of the present application, which are intended to be included in the scope of the present application.

Claims (7)

1. A vector element mapping method, applied to a first party, the method comprising:
obtaining a first old vector, wherein a target vector of a graph structure comprises a first fragment and a second fragment which are shared in a secret way, the first old vector is the first fragment, and the target vector is a node vector or an edge vector;
receiving a first vector sent by a second participant, the first vector being obtained by the second participant according to the held second shard;
combining the first vector with the first old vector to obtain a combined vector;
element mapping is carried out on the merging vectors according to a pre-acquired mapping relation to obtain a first new vector, wherein the mapping relation is used for indicating the corresponding relation between element indexes in the first old vector and element indexes in the first new vector;
the method further comprises the steps of:
generating a plurality of first random vectors, wherein the number of elements of each first random vector is the same as that of the first new vector;
receiving a ciphertext random vector transmitted by a second party, wherein the ciphertext random vector is determined by a plurality of second random vectors generated for the second party;
element mapping is carried out on the ciphertext random vector based on the mapping relation, and a mapping vector is obtained;
Splicing the plurality of first random vectors to obtain a first spliced vector;
the first splicing vector and the mapping vector are subjected to difference to obtain a result vector;
and sending the result vector to the second party.
2. The method of claim 1, wherein after the element mapping the merged vector according to the pre-acquired mapping relationship, the method further comprises:
and merging the first new vector with one first random vector in the pre-acquired plurality of first random vectors to obtain secret fragments of the first new vector, wherein the number of elements of each first random vector is the same as that of the first new vector.
3. The method of claim 1, wherein the first vector is determined by the second party based on a second old vector and one of the second random vectors, the second old vector being the second shard.
4. A vector element mapping method, for use with a second party, the method comprising:
obtaining a second old vector, wherein a target vector of the graph structure comprises a first fragment and a second fragment which are shared in a secret manner, the second old vector is the second fragment, and the target vector is a node vector or an edge vector;
Selecting a second random vector from the pre-acquired plurality of second random vectors, and performing difference between the second random vector and the second old vector to obtain a first vector;
transmitting the first vector to a first party;
before obtaining the first vector, the method further comprises:
generating a plurality of second random vectors, wherein the number of elements of each second random vector is the same as that of the second old vector;
splicing the plurality of second random vectors to obtain a second spliced vector;
encrypting the second spliced vector by adopting a homomorphic encryption public key of the second participant to obtain a ciphertext random vector;
transmitting the ciphertext random vector to the first party;
before obtaining the first vector, the method further comprises:
receiving a result vector sent by the first participant, wherein the result vector is obtained by the first participant by differencing a first spliced vector and a mapping vector, the first spliced vector is obtained by splicing a plurality of first random vectors generated by the first participant, and the mapping vector is obtained by the first participant by performing element mapping on ciphertext random vectors based on a mapping relation;
Decrypting the result vector by using the homomorphic encryption private key to obtain a decrypted intermediate vector;
and splitting the intermediate vector to obtain a plurality of third random vectors, wherein the number of elements of the third random vectors is the same as that of the second new vectors.
5. The method of claim 4, wherein after obtaining the first vector, the method further comprises:
determining a first target random vector of the plurality of third random vectors as a secret shard of the second new vector, the first target random vector being determined from a second target random vector, the second target random vector being a second random vector selected for determining the first vector.
6. An electronic device, the device comprising: a processor and a memory storing computer program instructions which, when executed, implement the method of any of claims 1-5.
7. A computer readable storage medium, characterized in that the computer readable storage medium has stored thereon computer program instructions, which when executed by a processor, implement the method according to any of claims 1-5.
CN202310404189.XA 2023-04-17 2023-04-17 Vector element mapping method, electronic device and computer readable storage medium Active CN116204909B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310404189.XA CN116204909B (en) 2023-04-17 2023-04-17 Vector element mapping method, electronic device and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310404189.XA CN116204909B (en) 2023-04-17 2023-04-17 Vector element mapping method, electronic device and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN116204909A CN116204909A (en) 2023-06-02
CN116204909B true CN116204909B (en) 2023-07-07

Family

ID=86511421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310404189.XA Active CN116204909B (en) 2023-04-17 2023-04-17 Vector element mapping method, electronic device and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN116204909B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116633704B (en) * 2023-07-25 2023-10-31 北京数牍科技有限公司 Graph calculation method and device
CN116915405B (en) * 2023-09-13 2023-11-21 北京数牍科技有限公司 Data processing method, device, equipment and storage medium based on privacy protection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115276947A (en) * 2022-07-13 2022-11-01 北京绪方科技有限公司 Privacy data processing method, device, system and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11956350B2 (en) * 2021-03-31 2024-04-09 Seagate Technology Llc Yes and no secret sharing with hidden access structures
CN114640436A (en) * 2022-02-10 2022-06-17 杭州博盾习言科技有限公司 Packet statistical parameter calculation method and device based on privacy protection
CN115392480A (en) * 2022-08-05 2022-11-25 北京富算科技有限公司 Training method, system, equipment and medium for safety traffic and federal learning model
CN115688185B (en) * 2022-12-30 2023-04-28 成方金融科技有限公司 Multiparty privacy summation method, multiparty privacy summation device, electronic equipment and storage medium

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115276947A (en) * 2022-07-13 2022-11-01 北京绪方科技有限公司 Privacy data processing method, device, system and storage medium

Also Published As

Publication number Publication date
CN116204909A (en) 2023-06-02

Similar Documents

Publication Publication Date Title
CN116204909B (en) Vector element mapping method, electronic device and computer readable storage medium
CN110032893B (en) Security model prediction method and device based on secret sharing
CN116150810B (en) Vector element pre-aggregation method, electronic device and computer readable storage medium
CN112199709A (en) Multi-party based privacy data joint training model method and device
CN116186782B (en) Federal graph calculation method and device and electronic equipment
CN111586142A (en) Safe multi-party computing method and system
CN116561787A (en) Training method and device for visual image classification model and electronic equipment
CN115913537A (en) Data intersection method and system based on privacy protection and related equipment
CN116488789A (en) Data processing method, device, equipment and medium
CN110363528B (en) Collaborative address generation method, collaborative address generation device, transaction signature method, transaction signature device and storage medium
CN111861462A (en) Financial product transaction method and device based on block chain
CN114462626B (en) Federal model training method and device, terminal equipment and storage medium
CN114547684A (en) Method and device for protecting multi-party joint training tree model of private data
CN111861489A (en) Financial product transaction share determination method and device based on block chain
CN116633704B (en) Graph calculation method and device
CN116305300B (en) Fair privacy set intersection method
CN116910818B (en) Data processing method, device, equipment and storage medium based on privacy protection
CN115982747B (en) Secure multiparty multiplication method based on communication between participant and trusted third party
CN114221811B (en) Model building method, device, equipment and computer storage medium
CN116186341B (en) Federal graph calculation method, federal graph calculation device, federal graph calculation equipment and storage medium
CN116527824B (en) Method, device and equipment for training graph convolution neural network
CN117094421B (en) Asymmetric longitudinal federal learning method, device, electronic equipment and storage medium
CN116915405B (en) Data processing method, device, equipment and storage medium based on privacy protection
US20230133311A1 (en) System, method, and computer program product for secure real-time n-party computation
CN116611095A (en) Data processing method, apparatus, device, medium, and program product

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant