WO2012102203A1 - 秘匿積和計算方法、秘匿積和計算システム、計算装置、及びそれらのプログラム - Google Patents
秘匿積和計算方法、秘匿積和計算システム、計算装置、及びそれらのプログラム Download PDFInfo
- Publication number
- WO2012102203A1 WO2012102203A1 PCT/JP2012/051199 JP2012051199W WO2012102203A1 WO 2012102203 A1 WO2012102203 A1 WO 2012102203A1 JP 2012051199 W JP2012051199 W JP 2012051199W WO 2012102203 A1 WO2012102203 A1 WO 2012102203A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- party
- calculation
- sequence
- random number
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Definitions
- the present invention relates to a secret product-sum calculation method, a secret product-sum calculation system, a calculation device, and a program for performing data processing, particularly multiplication and product-sum operations, while concealing data by secret sharing.
- Non-Patent Document 1 As a conventional technique for performing multiplication and product-sum operation while keeping information secret, there is a multiplication protocol of Non-Patent Document 1 regarding multiplication, and a combined use of multiplication protocol and addition protocol for product-sum operation.
- These protocols are three-party secret function calculation protocols for deriving the result of arithmetic / logical operation by cooperative calculation of three parties (three calculation subjects) without restoring distributed input values.
- data is handled as a natural number less than a predetermined prime number p.
- a a 0 + a 1 + a 2 mod p
- (a 0 , a 1 ) is transmitted to X
- (a 1 , a 2 ) is transmitted to Y
- (a 2 , a 0 ) is transmitted to Z to the three parties X, Y, and Z.
- a 1 and a 2 are random numbers, none of the parties of X, Y, and Z has the information of a, but if any two parties gather, a can be restored.
- the conventional multiplication protocol requires two rounds of communication.
- the calculation amount and communication amount of each of the three parties are not symmetrical, it is necessary to implement a different program for each party. Therefore, the mounting cost becomes high.
- the part with the heaviest calculation and communication becomes a bottleneck.
- the product-sum calculation generally increases the amount of communication.
- An object of the present invention is to provide a secret product-sum calculation method, a secret product-sum calculation system, a calculation device, and a program thereof that can perform multiplication and product-sum calculation at high speed and are easy to implement. .
- the party X has data strings A 0 , A 1 , B 0 , B 1
- the party Y has data strings A 1 , A 2 , B 1 , B 2
- the party Z has data strings A 2 , A 0 , B 2 and B 0 are respectively input.
- the party X random number generation step the party X generates a number r X and transmits it to the party Y.
- Party X first calculation step party X is a c X (E01 i0, j1 and e10 i1, j0 are arbitrary numbers) and are transmitted to the party Z.
- party X receives number r z from party Z, c Y from party Y, and c 0 and c 1 respectively. (E00 i0, j0 and e11 i1, j1 are arbitrary numbers).
- the party Y random number generation step the party Y generates a number r Y and transmits it to the party Z.
- Party Y first calculation step is that Party Y calculates c Y (E12 i1, j2 and e21 i2, j1 are arbitrary numbers) and are transmitted to the party X.
- the party Y second calculation step involves party Y receiving number r X from party X, c Z from party Z, and c 1 and c 2 respectively. (E22 i2, j2 is an arbitrary number) is calculated and output.
- the party Z In the party Z random number generation step, the party Z generates a number r Z and transmits it to the party X.
- Party Z first calculation step is that Party Z calculates c Z (E20 i2, j0 and e02 i0, j2 are arbitrary numbers) and are transmitted to the party Y.
- the party Z second calculation step involves party Z receiving number r Y from party Y, c X from party X, and c 0 and c 2 respectively. Calculate and output by
- the secret product-sum calculation method the secret product-sum calculation system, the calculation device, and their programs of the present invention, multiplication and product-sum calculation can be performed at high speed, and the processing of each party is symmetric. You can easily implement the program.
- the figure which shows the structural example of the concealment sum-of-products calculation system 100 The figure which shows the example of a processing flow of the secrecy product-sum calculation system 100.
- the figure which shows the structural example of the concealment sum-of-products calculation system 200 The figure which shows the example of a processing flow of the secrecy product-sum calculation system 200.
- the figure which shows the structural example of the concealment sum-of-products calculation system 300 The figure which shows the example of a processing flow of the secrecy product-sum calculation system 300.
- FIG. 1 shows a configuration example of the concealed product-sum calculation system 100
- FIG. 2 shows a processing flow example thereof.
- the concealed product-sum calculation system 100 includes a party X, a party Y, and a party Z, which are calculation devices that perform symmetrical calculation processes.
- na0, na1, na2, nb0, nb1, and nb2 are natural numbers.
- Each party includes random number generation means 101, first calculation means 102, and second calculation means 103 as shown in FIG.
- the own party is displayed as P
- the other party is displayed as P ⁇ and P + .
- P ⁇ is party Z
- P + is party Y
- P ⁇ is party X
- P + is party Z
- the own party is Z
- P ⁇ is party Y
- P + is party X
- P ⁇ is party Y and P + is party X.
- the processing at that time is expressed as “symmetrical processing” or “processing is symmetrical”.
- data strings A 0 , A 1 , B 0 , B 1 are input to party X
- data strings A 1 , A 2 , B 1 , B 2 are input to party Y
- data strings A 2 , A 0 , B 2 , B 0 are input (S1).
- the party X performs the following processing.
- the random number generation means 101 generates a random number r X and transmits it to the party Y (S2-1).
- the first calculation means 102 calculates c X
- the second calculation means 103 receives the random number r z from the party Z, c y from the party Y, and c 0 and c 1 respectively.
- the party Y performs the following processing.
- the random number generation means 101 generates a random number r Y and transmits it to the party Z (S4-1).
- the first calculation means 102 calculates c Y
- the second calculation means 103 a random number r X from party X, the c Z from party Z, respectively receiving and c 1 and c 2 respectively,
- the party Z performs the following processing. First, the random number generation means 101 generates a random number r Z and transmits it to the party X (S6-1). Subsequently, the first calculation means 102 calculates c Z
- the second calculation means 103 receives the random number r Y from the party Y , the c X from the party X, and c 0 and c 2 respectively.
- S7 Is calculated and output (S7). Note that S2-1, 2 and S4-1, 2 and S6-1 and 2 can be processed in parallel, and S3, S5 and S7 can also be processed in parallel.
- Non-Patent Document 1 The effect of the method of the present invention and the method according to Non-Patent Document 1 will be compared.
- Most of the calculation amount in Non-Patent Document 1 is the calculation amount for generating random numbers and the calculation amount for communication encryption / decryption when a physical secure channel cannot be prepared. Since the amount of computation for encryption / decryption matches the amount of communication, the efficiency can be evaluated by observing the number of random numbers to be generated and the amount of communication.
- the number of random numbers to be generated and the communication amount are proportional to the number of elements of the input data string.
- the parties X, Y, and Z only need one random number to be generated and two data to be transmitted to another party.
- the processes of the parties X, Y, and Z are symmetric, a program common to all parties can be installed, so that the installation cost can be suppressed.
- FIG. 4 shows a configuration example of the concealed product-sum calculation system 200 of this embodiment, and FIG.
- the secret product-sum calculation system 200 includes a party X, a party Y, a party Z, a data string decomposition supply unit 210, and an output unit 220.
- each party includes a random number generation unit 101, a first calculation unit 102, and a second calculation unit 103 as shown in FIG.
- the party X performs the following processing.
- the random number generation means 101 generates a random number r X and transmits it to the party Y (S12-1).
- the first calculation means 102 calculates c X
- the second calculation means 103 receives the random number r z from the party Z, c y from the party Y, and c 0 and c 1 respectively.
- the party Y performs the following processing.
- the random number generation means 101 generates a random number r Y and transmits it to the party Z (S14-1).
- the first calculation means 102 calculates c Y
- the second calculation means 103 receives the random number r X from the party X , c Z from the party Z, and c 1 and c 2 respectively.
- the party Z performs the following processing. First, the random number generation means 101 generates a random number r Z and transmits it to the party X (S16-1). Subsequently, the first calculation means 102 calculates c Z
- the second calculation means 103 receives the random number r Y from the party Y , c x from the party X, and c 0 and c 2 respectively.
- S12-1, 2 and S14-1, 2 and S16-1 and 2 can be processed in parallel, and S13, S15 and S17 can also be processed in parallel.
- the output unit 220 calculates and outputs the sum (c 0 + c 1 + c 2 ) of c 0 , c 1 and c 2 output from the parties X, Y and Z.
- a hash value or the like may be substituted for a portion using a random number.
- the data string decomposition supply unit 210 and the output unit 220 may be provided in another device different from each party, or may be provided in any one or more of devices corresponding to each party.
- the number of communication is 2 rounds (a round is the number of times waiting for processing of another party in the parallel processing of parties X, Y, and Z), and a random number generated by party X 1 and 4 data to be transmitted, 0 random numbers generated by the parties Y and Z, and 1 data to be transmitted.
- the number of communications is one round, one random number is generated for each of the parties X, Y, and Z, and two data are transmitted. In other words, the number of rounds is halved.
- the number of random numbers to be generated and the number of data to be transmitted are the same, it can be said that the bottleneck is reduced because the processes of the parties X, Y, and Z are symmetric.
- the number of random numbers to be generated and the communication amount are proportional to the number of elements of the input data string, but in the case of the method of the present invention In each of the parties X, Y, and Z, only one random number is generated and two data to be transmitted to the other party is sufficient. In any case, since the processes of the parties X, Y, and Z are symmetric, the mounting cost can be suppressed.
- Example 3 is a configuration in which a fraud detection function is added to Examples 1 and 2 that perform product-sum calculation.
- FIG. 6 shows an example of the configuration of the concealed product-sum calculation system 300, and FIG.
- the concealed product-sum calculation system 300 includes a party X, a party Y, and a party Z, which are calculation devices that perform symmetrical calculation processes.
- the secret sum calculation of the present invention is performed by cooperative calculation of the three calculation devices of the party X, the party Y, and the party Z, and the data string
- a q — 0 (a0 q — 0 ,..., A0 q — na0-1 )
- a q — 1 (a1 q — 0 , ..., a1 q_na1-1)
- a q_2 (a2 q_0, ... , and a2 q_na2-1)
- data train B q_0 (b0 q_0, ...
- na0, na1, na2, nb0, nb1, and nb2 are natural numbers.
- each party has a first random number generator 301, a first calculator 302, a second calculator 303, a second random number generator 304, a third calculator 305, a fourth calculator 306, and an unauthorized person.
- a detection means 307 is provided.
- S21 to S27 are product-sum calculation processes corresponding to the first embodiment, and S28 to S39 are fraud detection processes. It is assumed that the parties X and Y share the random number s q_Z , the parties Y and Z share the random number s q_X , and the parties Z and X share the random number s q_Y in advance.
- the data strings A q — 0 , A q — 1 , B q — 0 , B q — 1 are input to the party X
- the data strings A q — 1 , A q — 2 , B q — 1 , B q — 2 are input to the party Y
- the data columns A q — A q — 0 , B q — 2 , and B q — 0 are input (S21).
- the party X performs the following processing.
- the first random number generation means 301 generates a random number r q — X and transmits it to the party Y (S22-1).
- the first calculation means 302 calculates c q_X .
- the second calculation means 303 receives a random number r q_z from the party Z and c q_Y from the party Y, and receives c q — 0 and c q — 1 , respectively.
- the party Y performs the following processing.
- the random number generation means 301 generates a random number r q_Y and transmits it to the party Z (S24-1).
- the first calculation means 302 calculates c q_Y
- the second calculation unit 303 respectively random number r Q_X from party X, the c Q_Z from party Z, respectively received, c Q_1 and c Q_2 a
- the party Z performs the following processing.
- the random number generation means 301 generates a random number r q_Z and transmits it to the party X (S26-1).
- the first calculation means 302 calculates c q_Z
- the second calculation means 303 receives a random number r q_Y from the party Y, c q_X from the party X, and receives c q — 0 and c q — 2 , respectively.
- S22-1, 2 and S24-1, 2 and S26-1, and 2 can be processed in parallel, and S23, S25, and S27 can also be processed in parallel.
- each party performs fraud detection processing as follows.
- the second random number generation means 304 generates a random number sequence ( ⁇ Y1 q — 0 ,..., ⁇ Y1 q_na1-1 ) and a random number ⁇ x and transmits it to the party Y, and the random number sequence ( ⁇ Z0 q — 0 ,..., ⁇ Z0 q_na0-1 ). Is transmitted to the party Z (S28).
- the third calculation means 305 calculates ( ⁇ Z0 q — 0 ⁇ s q_Z ⁇ a0 q — 0 ,..., ⁇ Z0 q_na0-1 ⁇ s q_Z ⁇ a0 q_na0-1 ) and transmits it to the party Y, and the party Y generates a random number sequence.
- the fourth calculation means 306 receives ( ⁇ Z2 q — 0 ⁇ s q_Z ⁇ a2 q — 0 ,..., ⁇ Z2 q_na2-1 ⁇ s q_Z ⁇ a2 q_na2-1 ) from the party Y, and ⁇ Z from the party Z, respectively. ,
- the fraud detection means 307 sends party Y to ⁇ Y , party Z to ⁇ Y ′, and ( ⁇ Y2 q — 0 ⁇ s q_Y ⁇ a2 q — 0 ,..., ⁇ Y2 q_na2-1 ⁇ s q_Y ⁇ a2 q_na2-1 ), respectively.
- the second random number generation means 304 generates a random number sequence ( ⁇ Z2 q — 0 ,..., ⁇ Z2 q_na2-1 ) and a random number ⁇ Y and transmits it to the party Z, and the random number sequence ( ⁇ X1 q — 0 ,..., ⁇ X1 q_na1-1 ) Is generated and transmitted to the party X (S32).
- the third calculation means 305 calculates ( ⁇ X1 q — 0 ⁇ s q_X ⁇ a1 q — 0 ,..., ⁇ X1 q_na1-1 ⁇ s q_X ⁇ a1 q_na1-1 ) and transmits it to the party Z.
- a fourth calculating unit 306 a random number [rho X from party X, from parties Z ( ⁇ X0 q_0 -s q_X ⁇ a0 q_0, ..., ⁇ X0 q_na0-1 -s q_X ⁇ a0 q_na0-1) and received respectively
- a random number [rho X from party X, from parties Z ( ⁇ X0 q_0 -s q_X ⁇ a0 q_0, ..., ⁇ X0 q_na0-1 -s q_X ⁇ a0 q_na0-1) and received respectively
- parties Z ⁇ X0 q_0 -s q_X ⁇ a0 q_0, ..., ⁇ X0 q_na0-1 -s q_X ⁇ a0 q_na0-1
- second random number generation unit 304 a random number sequence ( ⁇ X0 q_0, ..., ⁇ X0 q_na0-1 ) and transmitted to the parties X and generates a random number [rho Z, a random number sequence ( ⁇ Y2 q_0, ..., ⁇ Y2 q_na2-1 ) Is transmitted to the party Y (S36).
- the third calculation means 305 calculates ( ⁇ Y2 q — 0 ⁇ s q — Y ⁇ a2 q — 0 ,..., ⁇ Y2 q — na2 ⁇ s q — Y • a2 q — na2 ⁇ 1 ) and transmits it to the party X.
- the fourth calculation means 306 receives ( ⁇ Y1 q — 0 ⁇ s q_Y ⁇ a1 q — 0 ,..., ⁇ Y1 q_na1-1 ⁇ s q_Y ⁇ a1 q_na1-1 ) from the party X and the random number ⁇ Y from the party Y, respectively.
- the fraud detection unit 307 a gamma X from party X, from party Y gamma X 'and ( ⁇ X1 q_0 -s q_X ⁇ a1 q_0 , ..., ⁇ X1 q_na1-1 -s q_X ⁇ a1 q_na1-1) to each Receive,
- FIG. 9 shows a configuration example of the concealed product-sum calculation system 400 of this embodiment, and FIG.
- the secret product-sum calculation system 400 includes a party X, a party Y, a party Z, a data string decomposition supply unit 410, and an output unit 420.
- each party has first random number generation means 301, first calculation means 302, second calculation means 303, second random number generation means 304, third calculation means 305, fourth calculation means 306, and fraud.
- a detection means 307 is provided.
- n is an integer greater than or equal to 1))
- q 0, ..., m-1)
- the parties X and Y share the random number s q_Z
- the parties Y and Z share the random number s q_X
- the parties Z and X share the random number s q_Y in advance.
- the party X performs the following processing.
- the first random number generation means 301 generates a random number r q — X and transmits it to the party Y (S42-1).
- the first calculation means 302 calculates c q_X .
- the second calculation means 303 receives a random number r q_z from the party Z and c q_Y from the party Y, and receives c q — 0 and c q — 1 , respectively.
- the party Y performs the following processing.
- the random number generation means 304 generates a random number r q_Y and transmits it to the party Z (44-1).
- the first calculation means 305 calculates c q_Y
- the party Z performs the following processing.
- the first random number generation means 301 generates a random number r q_Z and transmits it to the party X (S46-1).
- the first calculation means 302 calculates c q_Z
- the second calculation means 303 receives a random number r q_Y from the party Y, c q_X from the party X, and receives c q — 0 and c q — 2 , respectively.
- S42-1, 2 and S44-1, 2 and S46-1 and 2 can be processed in parallel, and S43, S45 and S47 can also be processed in parallel.
- each party performs fraud detection processing as follows.
- the processing of party X will be described.
- the second random number generation means 304 generates a random number sequence ( ⁇ Y1 q — 0 ,..., ⁇ Y1 q — n ⁇ 1 ) and a random number ⁇ x and transmits it to the party Y, and the random number sequence ( ⁇ Z0 q — 0 ,..., ⁇ Z0 q — n ⁇ 1 ). Is transmitted to the party Z (S48).
- the third computation unit 305 ( ⁇ Z0 q_0 -s q_Z ⁇ a0 q_0, ..., ⁇ Z0 q_n-1 -s q_Z ⁇ a0 q_n-1) the calculated sending party Y, the random number sequence from the party Y ( ⁇ X1 q_0, ..., ⁇ X1 q_n -1) a random number sequence ( ⁇ X0 q_0, ..., ⁇ X0 q_n -1) from the party Z to receive respectively, ( ⁇ Y1 q_0 -s q_Y ⁇ a1 q_0, ..., ⁇ Y1 q_n- 1- s q_Y ⁇ a1 q_n -1 ) and
- the fourth calculation means 306 receives ( ⁇ Z2 q — 0 ⁇ s q_Z ⁇ a2 q — 0 ,..., ⁇ Z2 q_n ⁇ 1 ⁇ s q_Z ⁇ a2 q_n ⁇ 1 ) from the party Y, and ⁇ Z from the party Z, respectively. ,
- the fraud detection unit 307 a gamma Y from party Y, from parties Z gamma Y 'and ( ⁇ Y2 q_0 -s q_Y ⁇ a2 q_0 , ..., ⁇ Y2 q_n-1 -s q_Y ⁇ a2 q_n-1) a, respectively Receive,
- the second random number generation means 304 generates a random number sequence ( ⁇ Z2 q — 0 ,..., ⁇ Z2 q_n ⁇ 1 ) and a random number ⁇ Y and transmits them to the party Z, and the random number sequence ( ⁇ X1 q — 0 ,..., ⁇ X1 q_n ⁇ 1 ). Is generated and transmitted to the party X (S52).
- the third computation unit 305 ( ⁇ X1 q_0 -s q_X ⁇ a1 q_0, ..., ⁇ X1 q_n-1 -s q_X ⁇ a1 q_n-1) the calculated sending party Z, a random number sequence from party X ( ⁇ Y1 q_0, ..., ⁇ Y1 q_n -1) a random number sequence ( ⁇ Y2 q_0, ..., ⁇ Y2 q_n -1) from the party Z to receive respectively, ( ⁇ Z2 q_0 -s q_Z ⁇ a2 q_0, ..., ⁇ Z2 q_n- 1- s q_Z ⁇ a2 q_n -1 ) and
- a fourth calculating unit 306 a random number [rho X from party X, from parties Z ( ⁇ X0 q_0 -s q_X ⁇ a0 q_0, ..., ⁇ X0 q_n-1 -s q_X ⁇ a0 q_n-1) a, respectively receive And
- the second random number generation means 304 generates a random number sequence ( ⁇ X0 q — 0 ,..., ⁇ X0 q_n ⁇ 1 ) and a random number ⁇ Z and transmits it to the party X, and the random number sequence ( ⁇ Y2 q — 0 ,..., ⁇ Y2 q_n ⁇ 1 ). Is transmitted to the party Y (S56).
- the third computation unit 305 ( ⁇ Y2 q_0 -s q_Y ⁇ a2 q_0, ..., ⁇ Y2 q_n-1 -s q_Y ⁇ a2 q_n-1) the calculated sending party X, a random number sequence from party X ( ⁇ Z0 q_0, ..., ⁇ Z0 q_n -1) a random number sequence ( ⁇ Z2 q_0, ..., ⁇ Z2 q_n -1) from the party Y to receive respectively, ( ⁇ X0 q_0 -s q_X ⁇ a0 q_0, ..., ⁇ X0 q_n- 1- s q_X ⁇ a0 q_n -1 ) and
- a fourth calculating unit 306 the party X ( ⁇ Y1 q_0 -s q_Y ⁇ a1 q_0, ..., ⁇ Y1 q_n-1 -s q_Y ⁇ a1 q_n-1) , and a random number [rho Y from party Y, respectively received
- the party X ⁇ Y1 q_0 -s q_Y ⁇ a1 q_0, ..., ⁇ Y1 q_n-1 -s q_Y ⁇ a1 q_n-1
- the fraud detection unit 307 a gamma X from party X, from party Y gamma X 'and ( ⁇ X1 q_0 -s q_X ⁇ a1 q_0 , ..., ⁇ X1 q_n-1 -s q_X ⁇ a1 q_n-1) a, respectively Receive,
- the output unit 420 calculates and outputs the sum (c q — 0 + c q — 1 + c q — 2 ) of c q — 0 , c q — 1 , and c q — 2 output from the parties X, Y, and Z (S 60).
- data string decomposition supply unit 410 and the output unit 420 may be provided in another device different from each party, or may be provided in any one or more of devices corresponding to each party.
- the number of rounds is 2
- the number of data transmitted by each party is 10
- the number of random numbers to be generated is 5.
- the number of rounds may actually be 2, 9 data to be transmitted, and 4 random numbers to be generated.
- the number of rounds is 4, the data transmitted by the party X is 20, the random number to be generated is 12, the data transmitted by the parties Y and Z is 17, the random number to be generated Is nine. Therefore, the present invention is about twice as efficient.
- the number of rounds is 2, the data transmitted by each party is 6m + 3, and the generated random number is 3m + 1.
- the number of rounds is 4, the data transmitted by the party X is 20m, the generated random number is 12m, the data transmitted by the parties Y and Z is 17m, and the generated random number. Is 9m. Therefore, the present invention is about three times more efficient.
- the secret product-sum calculation system 400 includes: However, the concealed product-sum calculation system 500 of the fifth embodiment is a configuration example in which one value of this multiplication is common.
- the data string A q_2 (a2 q_
- the party X performs the following processing.
- the first random number generation means 301 generates a random number r q — X and transmits it to the party Y (S42-1).
- the first calculation means 302 calculates c q_X .
- the second calculation means 303 receives a random number r q_z from the party Z and c q_Y from the party Y, and receives c q — 0 and c q — 1 , respectively.
- the party Y performs the following processing.
- the random number generation means 304 generates a random number r q_Y and transmits it to the party Z (44-1).
- the first calculation means 305 calculates c q_Y
- the party Z performs the following processing.
- the first random number generation means 301 generates a random number r q_Z and transmits it to the party X (S46-1).
- the first calculation means 302 calculates c q_Z And is transmitted to the party Y (S46-2).
- the second calculation means 303 receives a random number r q_Y from the party Y, c q_X from the party X, and receives c q — 0 and c q — 2 , respectively.
- S42-1, 2 and S44-1, 2 and S46-1 and 2 can be processed in parallel, and S43, S45 and S47 can also be processed in parallel.
- each party performs fraud detection processing as follows.
- the processing of party X will be described.
- second random number generation unit 304, and transmitted to the party Y generates a random number ⁇ Y1 and the random number [rho x, and transmits to the parties Z generates a random number ⁇ Z0 (S48).
- the third calculation means 305
- random number ⁇ X1 is received from party Y
- random number ⁇ X0 is received from party Z.
- the fourth calculation means 306 starts from the party Y.
- the fraud detection means 307 then changes party Y to ⁇ Y and party Z to ⁇ Y ′.
- second random number generation unit 304 and transmitted to the parties Z generates a random number ⁇ Z2 and the random number [rho Y, and transmits to the parties X and generates a random number ⁇ X1 (S52). Subsequently, the third calculation means 305
- random number ⁇ Y1 is received from party X
- random number ⁇ Y2 is received from party Z.
- the fourth calculation means 306 obtains the random number ⁇ X from the party X and the party Z.
- the fraud detection means 307 then sends the party X to ⁇ Z ′. And the gamma Z from party Z, respectively received,
- second random number generation unit 304 and transmitted to the parties X and generates a random number ⁇ X0 and the random number [rho Z, and transmits to the parties Y generates a random number ⁇ Y2 (S56).
- the third calculation means 305 the third calculation means 305
- random number ⁇ Z0 is received from party X
- random number ⁇ Z2 is received from party Y.
- the fourth calculation means 306 starts from the party X.
- the fraud detection means 307 converts party X to ⁇ X and party Y to ⁇ X ′.
- the output unit 420 calculates and outputs the sum (c q — 0 + c q — 1 + c q — 2 ) of c q — 0 , c q — 1 , and c q — 2 output from the parties X, Y, and Z (S 60). So, you can see that the product-sum calculation is correct.
- a hash value or the like may be substituted for a portion using a random number.
- the data string decomposition supply unit 410 and the output unit 420 may be provided in another device different from each party, or may be provided in any one or more of the devices corresponding to each party.
- Non-Patent Document 1 The effect of the present invention and the method of Non-Patent Document 1 will be compared.
- the number of rounds is 2, 2m of data transmitted by each party, and 3 random numbers are generated. Therefore, it is about nine times more efficient than the method of Non-Patent Document 1. It can also be seen that the number of random numbers generated as m increases has improved to a constant independent of m.
- the multiplication protocol of the concealed product-sum calculation system 300 includes a procedure for reciprocating the calculated value between parties in the former comparison.
- ⁇ Z2 q_i2 ⁇ s q_Z ⁇ a2 q_i2 is party Y ⁇ party X ⁇ party Y
- q_i0 is party Z ⁇ party Y ⁇ party Z
- ⁇ Y1 q_i1 ⁇ s q_Y ⁇ a1 q_i1 It is necessary to reciprocate as party X ⁇ party Z ⁇ party X.
- the server perform fraud (obtain data information to be kept secret) within a range in which the calculation value leaks during the round trip and the calculation result is not changed.
- the third embodiment can be completely concealed only when there is no fraud in the server.
- Example 6 has a configuration in which complete concealment is possible even if the server is fraudulent. Specifically, the protocol does not include the round trip of the calculated value that causes the fraud.
- FIG. 11 shows a configuration example of the concealed product-sum calculation system 600 according to the sixth embodiment
- FIG. 12 shows a processing flow example thereof.
- the secret product-sum calculation system 600 includes a party X, a party Y, and a party Z. As shown in FIG. 13, each party has the same first random number generation means 301, first calculation means 302, and second calculation means 303 as those of the secret product-sum calculation system 300, as well as second random number generation means 604, 3 calculation means 605, 4th calculation means 606, and fraud detection means 607 are provided.
- each party performs fraud detection processing as follows.
- the parties X and Y share the random number s q_Z
- the parties Y and Z share the random number s q_X
- the parties Z and X share the random number s q_Y in advance.
- second random number generation unit 604 and transmitted to the party Y generates a random number [rho x, random number sequence ( ⁇ Z0 q_0, ..., ⁇ Z0 q_na0-1 ) and random number sequence ( ⁇ Z0 q_0, ..., ⁇ Z0 q_nb0-1 ) Is transmitted to the party Z (S68).
- the third computation unit 605 calculates and sends to party Y, the random number sequence from the party Y ( ⁇ X1 q_0, ..., ⁇ X1 q_na1-1) and random number sequence ( ⁇ X1 q_0, ..., ⁇ X1 q_nb1-1 )
- the fourth calculation means 606 receives ⁇ Z from the party Z,
- the fraud detection unit 607 a gamma Y from party Y, from parties Z gamma Y 'and ( ⁇ Y2 q_0 -s q_Y ⁇ a2 q_0 , ..., ⁇ Y2 q_na2-1 -s q_Y ⁇ a2 q_na2-1) and (Betawai2 q_0 -s q_Y ⁇ b2 q_0, ... , the ⁇ Y2 q_nb2-1 -s q_Y ⁇ b2 q_nb2-1) , respectively received,
- second random number generation unit 604 and transmitted to the parties Z generates a random number [rho Y, the random number sequence ( ⁇ X1 q_0, ..., ⁇ X1 q_na1-1 ) and random number sequence ( ⁇ X1 q_0, ..., ⁇ X1 q_nb1-1 ) Is transmitted to the party X (S72).
- the third calculation means 605 calculates and sends to the party Z, the random number sequence from the party Z ( ⁇ Y2 q_0, ..., ⁇ Y2 q_na2-1) and random number sequence ( ⁇ Y2 q_0, ..., ⁇ Y2 q_nb2-1 )
- the fourth calculation means 606 receives the random number ⁇ X from the party X,
- second random number generation unit 604 and transmitted to the parties X and generates a random number [rho Z, a random number sequence ( ⁇ Y2 q_0, ..., ⁇ Y2 q_na2-1 ) and random number sequence ( ⁇ Y2 q_0, ..., ⁇ Y2 q_nb2-1 ) Is generated and transmitted to the party Y (S76).
- the third calculation means 605 calculates and sends to party X, the random number sequence from party X ( ⁇ Z0 q_0, ..., ⁇ Z0 q_na0-1) and random number sequence ( ⁇ Z0 q_0, ..., ⁇ Z0 q_nb0-1 )
- the fourth calculation means 606 receives the random number ⁇ Y from the party Y,
- the fraud detection unit 607 a gamma X from party X, from party Y gamma X 'and ( ⁇ X1 q_0 -s q_X ⁇ a1 q_0 , ..., ⁇ X1 q_na1-1 -s q_X ⁇ a1 q_na1-1) and (BetaX1 q_0 -s q_X ⁇ b1 q_0, ... , the ⁇ X1 q_nb1-1 -s q_X ⁇ b1 q_nb1-1) , respectively received,
- the dispersion value of s P ⁇ b 1p is represented in order to confirm the validity of a 0p ⁇ b 1p + a 1p ⁇ b 0p.
- ⁇ P1p and ⁇ PP + ( ⁇ P1p + a 0p ⁇ ⁇ PP + ) and s P ⁇ a 1p ⁇ b 0p are compared and ⁇ P1p and ⁇ PP + representing the dispersion value of s P ⁇ a 1p are used.
- FIG. 14 shows an example of the configuration of the concealed product-sum calculation system 700 of this embodiment
- FIG. 15 shows an example of its processing flow.
- the secret product-sum calculation system 700 includes a party X, a party Y, a party Z, a data string decomposition supply unit 410, and an output unit 420.
- the data string decomposition supply unit 410 and the output unit 420 are the same as those of the secret product-sum calculation system 400 of the fourth embodiment. As shown in FIG. 13, each party has the same first random number generation means 301, first calculation means 302, and second calculation means 303 as those of the secret product-sum calculation system 400, as well as second random number generation means 604, 3 calculation means 605, 4th calculation means 606, and fraud detection means 607 are provided.
- the functions of the data string decomposition supply unit 410, the first random number generation unit 301, the first calculation unit 302, the second calculation unit 303, and the output unit 420 are realized as these functions. Since the secret product sum calculation process (S41 to S47, S60) is the same as the secret product sum calculation system 400 of the fourth embodiment, a description thereof will be omitted, and only the fraud detection process as a difference will be described.
- each party performs fraud detection processing as follows.
- the parties X and Y share the random number s q_Z
- the parties Y and Z share the random number s q_X
- the parties Z and X share the random number s q_Y in advance.
- second random number generation unit 604 and transmitted to the party Y generates a random number [rho x, random number sequence ( ⁇ Z0 q_0, ..., ⁇ Z0 q_n -1) and random number sequence ( ⁇ Z0 q_0, ..., ⁇ Z0 q_n -1) Is transmitted to the party Z (S88).
- the third computation unit 605 ( ⁇ Z0 q_0 -s q_Z ⁇ a0 q_0, ..., ⁇ Z0 q_n-1 -s q_Z ⁇ a0 q_n-1) and ( ⁇ Z0 q_0 -s q_Z ⁇ b0 q_0 , ..., ⁇ Z0 q_n -1 -s q_Z ⁇ b0 q_n-1) calculated sent to party Y, the random number sequence from the party Y ( ⁇ X1 q_0, ..., ⁇ X1 q_n-1) and random number sequence ( ⁇ X1 q_0, ..., ⁇ X1 q_n -1 )
- the fourth calculation means 606 receives ⁇ Z from the party Z,
- the fraud detection unit 607 a gamma Y from party Y, from parties Z gamma Y 'and ( ⁇ Y2 q_0 -s q_Y ⁇ a2 q_0 , ..., ⁇ Y2 q_n-1 -s q_Y ⁇ a2 q_n-1) and (Betawai2 q_0 -s q_Y ⁇ b2 q_0, ... , the ⁇ Y2 q_n-1 -s q_Y ⁇ b2 q_n-1), respectively received,
- second random number generation unit 604 and transmitted to the parties Z generates a random number [rho Y, the random number sequence ( ⁇ X1 q_0, ..., ⁇ X1 q_n -1) and random number sequence ( ⁇ X1 q_0, ..., ⁇ X1 q_n -1) Is generated and transmitted to the party X (S92).
- the third computation unit 605 ( ⁇ X1 q_0 -s q_X ⁇ a1 q_0, ..., ⁇ X1 q_n-1 -s q_X ⁇ a1 q_n-1) and ( ⁇ X1 q_0 -s q_X ⁇ b1 q_0 , ..., ⁇ X1 q_n -1 -s q_X ⁇ b1 q_n-1) was calculated transmission party Z, the random number sequence from the party Z ( ⁇ Y2 q_0, ..., ⁇ Y2 q_n-1) and random number sequence ( ⁇ Y2 q_0, ..., ⁇ Y2 q_n -1 ) Respectively,
- the fourth calculation means 606 receives the random number ⁇ X from the party X,
- second random number generation unit 604 and transmitted to the parties X and generates a random number [rho Z, a random number sequence ( ⁇ Y2 q_0, ..., ⁇ Y2 q_n -1) and random number sequence ( ⁇ Y2 q_0, ..., ⁇ Y2 q_n -1) Is transmitted to the party Y (S96).
- the third computation unit 605 ( ⁇ Y2 q_0 -s q_Y ⁇ a2 q_0, ..., ⁇ Y2 q_n-1 -s q_Y ⁇ a2 q_n-1) and ( ⁇ Y2 q_0 -s q_Y ⁇ b2 q_0 , ..., ⁇ Y2 q_n -1 -s q_Y ⁇ b2 q_n-1) calculated sent to party X, the random number sequence from party X ( ⁇ Z0 q_0, ..., ⁇ Z0 q_n-1) and random number sequence ( ⁇ Z0 q_0, ..., ⁇ Z0 q_n -1 )
- the fourth calculation means 606 receives the random number ⁇ Y from the party Y,
- the fraud detection unit 607 a gamma X from party X, from party Y gamma X 'and ( ⁇ X1 q_0 -s q_X ⁇ a1 q_0 , ..., ⁇ X1 q_n-1 -s q_X ⁇ a1 q_n-1) and (BetaX1 q_0 -s q_X ⁇ b1 q_0, ... , the ⁇ X1 q_n-1 -s q_X ⁇ b1 q_n-1), respectively received,
- the secret product-sum calculation system 700 according to the seventh embodiment is similar to the fourth embodiment.
- the method of the sixth embodiment is applied to the fraud detection processing for the product-sum calculation, but the secret product-sum calculation system 800 of the eighth embodiment uses one of the multiplications in the product-sum calculation.
- data sequence a q (a q_0, ...
- a q_n-1) consisting of a q_i between b and a natural number less than the prime p and, m-number of product sum calculations
- the fraud detection method of the sixth embodiment is applied to the fraud detection processing for the product-sum calculation.
- the functions of the data string decomposition supply unit 410, the first random number generation unit 301, the first calculation unit 302, the second calculation unit 303, and the output unit 420 are realized as these functions. Since the secret product sum calculation process (S41 to S47, S60) is the same as the secret product sum calculation system 500 of the fifth embodiment, a description thereof will be omitted and only the fraud detection process as a difference will be described. Since the functional configuration and the processing flow are the same as those in the seventh embodiment, the description will be made with reference to them (configuration diagram: FIG. 14 (and 13), processing flow diagram: FIG. 15).
- each party performs fraud detection processing as follows.
- the parties X and Y share the random number s q_Z
- the parties Y and Z share the random number s q_X
- the parties Z and X share the random number s q_Y in advance.
- second random number generation unit 604 and transmitted to the party Y generates a random number [rho x, and transmits to the parties Z generates a random number ⁇ Z0 and the random number ⁇ Z0 q (S88). Subsequently, the third calculation means 605
- the fourth calculation means 606 receives ⁇ Z from the party Z,
- the fraud detection means 607 then changes party Y to ⁇ Y and party Z to ⁇ Y ′
- the second random number generation means 604 generates a random number ⁇ Y and transmits it to the party Z, generates a random number ⁇ X1 and a random number ⁇ X1 q , and transmits them to the party X (S92). Subsequently, the third calculation means 605
- the fourth calculation means 606 receives the random number ⁇ X from the party X,
- the fraud detection unit 607 a gamma Z from party Z, and gamma Z 'from party X
- the second random number generation means 604 generates a random number ⁇ Z and transmits it to the party X, generates a random number ⁇ Y2 and a random number ⁇ Y2 q , and transmits them to the party Y (S96). Subsequently, the third calculation means 605
- the fourth calculation means 606 receives the random number ⁇ Y from the party Y,
- the fraud detection means 607 converts party X to ⁇ X and party Y to ⁇ X ′.
- C q — 0 and c q — 1 which are the calculation results at party X
- c q — 1 and c q — 2 are the calculation results at party Y
- c q — 2 and c q — 0 are the calculation results at party Z
- party X has both a0 q_i0 and b1 q_j1 , but party Y has only b1 q_j1 and party Z has only a0 q_i0. Yes.
- party X has both a0 q_i0 and b1 q_j1
- party Y has only b1 q_j1
- party Z has only a0 q_i0.
- ⁇ a1 q_i1 ⁇ b0 q_j0 The secret sum-of-products calculation system 900 according to the ninth embodiment, when one of the three parties has both variance values and the other two parties have different variance values, respectively.
- This is a method for obtaining the sum of products of these two variance values. In other words, it is a product-sum calculation method that is the basis of the secret product-sum calculation of the sixth and seventh embodiments.
- party X has both variance values and parties Y and Z have one different variance value
- party Y has both variance values and party X and Z have different values. It is possible to calculate in the same way when one of the variance values is present, and when the party Z has both variance values and the parties X and Y have different variance values. .
- FIG. 16 shows a configuration example of the concealed product-sum calculation system 900
- FIG. 17 shows a processing flow example thereof.
- the secret product-sum calculation system 900 includes a party X, a party Y, and a party Z, which are calculation devices.
- the party X includes a party X random number generation unit 901 and a party X calculation unit 903, the party Y includes a party Y random number generation unit 902 and a party Y calculation unit 904, and the party Z includes a fraud detection unit 905. .
- the party X, data strings A q_0, A q_1, B q_0 , is B Q_1
- the party Y, data strings A Q_1 is B Q_1
- the party Z, data strings A q_0, is B q_0, respectively input (S101).
- generation party X number generating means 901 party X is a random number c Q_1 and random gamma 1 and the random number sequence ( ⁇ 1 q_0, ..., ⁇ 1 q_nb0-1 ) and random number sequence ( ⁇ 1 q_0, ..., ⁇ 1 q_na0-1 ) a Then, it is transmitted to the party Y (S102). Further, the party Y random number generation means 902 of the party Y generates a random number s q and transmits it to the party Z (S103).
- the party X calculation means 903 of the party X calculates c q — 0 and ⁇ 0 , And is transmitted to the party Z (S104).
- party Y calculating means 904 party Y is a random number c Q_1 from party X and random gamma 1 and the random number sequence ( ⁇ 1 q_0, ..., ⁇ 1 q_nb0-1 ) and random number sequence ( ⁇ 1 q_0, ..., ⁇ 1 q_na0-1 ) receives, sequence ( ⁇ 0 q_0, ..., ⁇ 0 q_nb0-1 ) and progression ( ⁇ 0 q_0, ..., ⁇ 0 q_na0-1 ) and each of the ⁇ ', And is transmitted to the party Z (S105).
- fraud detection unit 905 parties Z is a gamma 0 and c Q_0 from party X, the random number s q and sequences from-party Y ( ⁇ 0 q_0, ..., ⁇ 0 q_nb0-1) and sequence ( ⁇ 0 q_0, ..., ⁇ 0 q_na0-1 ) and ⁇ ′, If the calculation result is not 0, data representing fraud detection is output and the process is terminated (S106).
- a hash value or the like may be substituted for a portion using a random number.
- the configuration and the processing flow are the same as those in the ninth embodiment (configuration example: FIG. 16, processing flow example: FIG. 17).
- the party X, data strings A q_0, A q_1, B q_0 , is B Q_1
- the party Y, data strings A Q_1 is B Q_1
- the party Z, data strings A q_0, is B q_0, respectively input (S101).
- generation party X number generating means 901 party X is a random number c Q_1 and random gamma 1 and the random number sequence ( ⁇ 1 q_0, ..., ⁇ 1 q_n -1) and random number sequence ( ⁇ 1 q_0, ..., ⁇ 1 q_n -1) a Then, it is transmitted to the party Y (S102). Further, the party Y random number generation means 902 of the party Y generates a random number s q and transmits it to the party Z (S103).
- the party X calculation means 903 of the party X calculates c q — 0 and ⁇ 0 , And is transmitted to the party Z (S104).
- the party Y calculating means 904 of the party Y receives the random number c q_1 , the random number ⁇ 1 , the random number sequence ( ⁇ 1 q_0 ,..., ⁇ 1 q_n-1 ) and the random number sequence ( ⁇ 1 q_0 ,..., ⁇ 1 q_n-1 ). , And the sequence ( ⁇ 0 q_0 ,..., ⁇ 0 q_n -1 ), the sequence ( ⁇ 0 q_0 ,..., ⁇ 0 q_n -1 ) and ⁇ ′ are respectively And is transmitted to the party Z (S105).
- the party Z fraud detection means 905 sends the party X to c q — 0 and ⁇ 0 , the party Y to the random number s q , the sequence ( ⁇ 0 q — 0 ,..., ⁇ 0 q_n ⁇ 1 ) and the sequence ( ⁇ 0 q — 0 ,. q_n -1 ) and ⁇ ' If the calculation result is not 0, data representing fraud detection is output and the process is terminated (S106).
- a hash value or the like may be substituted for a portion using a random number.
- the secret product-sum calculation system 920 of the eleventh embodiment is the product-sum calculation in the secret product-sum calculation system 910 of the tenth embodiment. If one of the multiplications of each term is common regardless of the values of i and q, that is, In this case, the product-sum calculation can be performed more efficiently and safely.
- the configuration and processing flow of the concealed product-sum calculation system 902 are the same as those in the ninth and tenth embodiments (configuration example: FIG. 16, processing flow example: FIG. 17).
- the data a1 and the data string Bq_1 are input to the party Z, and the data a0 and the data string Bq_0 are input to the party Z (S101).
- the party X random number generation means 901 of the party X generates a random number c q_1 , a random number ⁇ 1 , a random number sequence ( ⁇ 1 q — 0,.
- party Y random number generation means 902 of the party Y generates a random number s q and transmits it to the party Z (S103).
- the party X calculation means 903 of the party X calculates c q — 0 and ⁇ 0 , And is transmitted to the party Z (S104).
- party Y calculating means 904 party Y is a random number c Q_1 from party X and random gamma 1 and the random number sequence ( ⁇ 1 q_0, ..., ⁇ 1 q_n -1) receives the random number .beta.1, sequence ( ⁇ 0 q_0, ..., ⁇ 0 q_n -1 ), ⁇ 0 and ⁇ ′, And is transmitted to the party Z (S105).
- the party Z fraud detection means 905 receives c q — 0 and ⁇ 0 from the party X, and random numbers s q and a sequence ( ⁇ 0 q — 0 ,..., ⁇ 0 q — n ⁇ 1 ), ⁇ 0 and ⁇ ′ from the party Y, respectively. And If the calculation result is not 0, data representing fraud detection is output and the process is terminated (S106).
- a hash value or the like may be substituted for a portion using a random number.
- Each process in the secret product-sum calculation method and the secret product-sum calculation system of the present invention described above is executed not only in time series according to the description, but also in parallel according to the processing capability of the apparatus that executes the process or as necessary. Or you may perform separately. Further, the functions of the constituent elements of the concealed product-sum calculation system of the present invention may be merged and divided as necessary. In addition, it can change suitably in the range which does not deviate from the meaning of this invention.
- the secret product-sum calculation system of each embodiment of the present invention is realized by a computer, the processing contents of the functions of the apparatus and each part thereof are described by a program.
- the program is stored in, for example, a hard disk device, and necessary programs and data are read into a RAM (Random Access Memory) at the time of execution.
- the read program is executed by the CPU, whereby each processing content is realized on the computer.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Complex Calculations (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Description
a=a0+a1+a2 mod p
実際には乱数a0、a1を生成し、a2=a-a0-a1とする。そして3パーティX、Y、Zに対して、Xに(a0、a1)、Yに(a1、a2)、Zに(a2、a0)を送信する。すると、a1、a2が乱数であったため、X、Y、Zのいずれのパーティもaの情報を持たないが、いずれか2パーティが集まればaを復元することができることとなる。
Claims (14)
- パーティX、パーティY、パーティZの3つの計算装置の協調計算により、データ列A0=(a00,…,a0na0-1)、A1=(a10,…,a1na1-1)、及びA2=(a20,…,a2na2-1)と、データ列B0=(b00,…,b0nb0-1)、B1=(b10,…,b1nb1-1)、及びB2=(b20,…,b2nb2-1)との積和計算
を行うために用いる秘匿積和計算方法であって、
na0,na1,na2,nb0,nb1,nb2を自然数、i0=0,…,na0-1、i1=0,…,na1-1、i2=0,…,na2-1、j0=0,…,nb0-1、j1=0,…,nb1-1、j2=0,…,nb2-1とし、
e01i0,j1,e10i1,j0,e00i0,j0,e11i1,j1,e12i1,j2,e21i2,j1,e22i2,j2,e20i2,j0,e02i0,j2は任意の数とし、
パーティXにデータ列A0、A1、B0、B1が、パーティYにデータ列A1、A2、B1、B2が、パーティZにデータ列A2、A0、B2、B0が、それぞれ入力され、
パーティXが、数rXを生成し、パーティYに送信するパーティX乱数生成ステップと、
パーティXが、cXを
により計算し、パーティZに送信するパーティX第1計算ステップと、
パーティXが、パーティZから数rzを、パーティYからcYを、それぞれ受信し、c0とc1をそれぞれ、
により計算して出力するパーティX第2計算ステップと、
パーティYが、数rYを生成し、パーティZに送信するパーティY乱数生成ステップと、
パーティYが、cYを
により計算し、パーティXに送信するパーティY第1計算ステップと、
パーティYが、パーティXから数rXを、パーティZからcZを、それぞれ受信し、c1とc2をそれぞれ、
により計算して出力するパーティY第2計算ステップと、
パーティZが、数rZを生成し、パーティXに送信するパーティZ乱数生成ステップと、
パーティZが、cZを
により計算し、パーティYに送信するパーティZ第1計算ステップと、
パーティZが、パーティYから数rYを、パーティXからcXを、それぞれ受信し、c0とc2をそれぞれ、
により計算して出力するパーティZ第2計算ステップと、
を実行する秘匿積和計算方法。 - パーティX、パーティY、パーティZの3つの計算装置の協調計算により、データ列Aq_0=(a0q_0,…,a0q_na0-1)、Aq_1=(a1q_0,…,a1q_na1-1)、及びAq_2=(a2q_0,…,a2q_na2-1)と、データ列Bq_0=(b0q_0,…,b0q_nb0-1)、Bq_1=(b1q_0,…,b1q_nb1-1)、及びBq_2=(b2q_0,…,b2q_nb2-1)との積和計算
を、q=0,…,m-1の計m組について、並列に行うために用いる秘匿積和計算方法であって、
mを1以上の整数、na0,na1,na2,nb0,nb1,nb2を自然数、i0=0,…,na0-1、i1=0,…,na1-1、i2=0,…,na2-1、j0=0,…,nb0-1、j1=0,…,nb1-1、j2=0,…,nb2-1とし、
e01q_i0,q_j1,e10q_i1,q_j0,e00q_i0,q_j0,e11q_i1,q_j1,e12q_i1,q_j2,e21q_i2,q_j1,e22q_i2,q_j2,e20q_i2,q_j0,e02q_i0,q_j2は任意の数とし、
パーティXとYは数sq_Zを、パーティYとZは数sq_Xを、パーティZとXは数sq_Yを、それぞれ予め共有し、
パーティXにデータ列Aq_0、Aq_1、Bq_0、Bq_1が、パーティYにデータ列Aq_1、Aq_2、Bq_1、Bq_2が、パーティZにデータ列Aq_2、Aq_0、Bq_2、Bq_0が、それぞれ入力され、
パーティXが、数rq_Xを生成し、パーティYに送信するパーティX第1乱数生成ステップと、
パーティXが、cq_Xを
により計算し、パーティZに送信するパーティX第1計算ステップと、
パーティXが、パーティZから数rq_zを、パーティYからcq_Yを、それぞれ受信し、cq_0とcq_1をそれぞれ、
により計算するパーティX第2計算ステップと、
パーティYが、数rq_Yを生成し、パーティZに送信するパーティY第1乱数生成ステップと、
パーティYが、cq_Yを
により計算し、パーティXに送信するパーティY第1計算ステップと、
パーティYが、パーティXから数rq_Xを、パーティZからcq_Zを、それぞれ受信し、cq_1とcq_2をそれぞれ、
により計算するパーティY第2計算ステップと、
パーティZが、数rq_Zを生成し、パーティXに送信するパーティZ第1乱数生成ステップと、
パーティZが、cq_Zを
により計算し、パーティYに送信するパーティZ第1計算ステップと、
パーティZが、パーティYから数rq_Yを、パーティXからcq_Xを、それぞれ受信し、cq_0とcq_2をそれぞれ、
により計算するパーティZ第2計算ステップと、
パーティXが、数列(αY1q_0,…,αY1q_na1-1)及び数ρxを生成してパーティYに送信し、数列(αZ0q_0,…,αZ0q_na0-1)を生成してパーティZに送信するパーティX第2乱数生成ステップと、
パーティXが、(αZ0q_0-sq_Z・a0q_0,…,αZ0q_na0-1-sq_Z・a0q_na0-1)を計算してパーティYに送信し、パーティYから数列(αX1q_0,…,αX1q_na1-1)を、パーティZから数列(αX0q_0,…,αX0q_na0-1)を、それぞれ受信し、(αY1q_0-sq_Y・a1q_0,…,αY1q_na1-1-sq_Y・a1q_na1-1)及び
を計算してパーティZに送信するパーティX第3計算ステップと、
パーティXが、パーティYから(αZ2q_0-sq_Z・a2q_0,…,αZ2q_na2-1-sq_Z・a2q_na2-1)を、パーティZからρZを、それぞれ受信し、
を計算してパーティYに送信するパーティX第4計算ステップと、
パーティXが、パーティYからγYを、パーティZからγY´と(αY2q_0-sq_Y・a2q_0,…,αY2q_na2-1-sq_Y・a2q_na2-1)を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_0とcq_1を出力するパーティX不正検知ステップと、
パーティYが、数列(αZ2q_0,…,αZ2q_na2-1)及び数ρYを生成してパーティZに送信し、数列(αX1q_0,…,αX1q_na1-1)を生成してパーティXに送信するパーティY第2乱数生成ステップと、
パーティYが、(αX1q_0-sq_X・a1q_0,…,αX1q_na1-1-sq_X・a1q_na1-1)を計算してパーティZに送信し、パーティXから数列(αY1q_0,…,αY1q_na1-1)を、パーティZから数列(αY2q_0,…,αY2q_na2-1)を、それぞれ受信し、(αZ2q_0-sq_Z・a2q_0,…,αZ2q_na2-1-sq_Z・a2q_na2-1)及び
を計算してパーティXに送信するパーティY第3計算ステップと、
パーティYが、パーティXから数ρXを、パーティZから(αX0q_0-sq_X・a0q_0,…,αX0q_na0-1-sq_X・a0q_na0-1)を、それぞれ受信し、
を計算してパーティZに送信するパーティY第4計算ステップと、
パーティYが、パーティXからγZ´と(αZ0q_0-sq_Z・a0q_0,…,αZ0q_na0-1-sq_Z・a0q_na0-1)を、パーティZからγZを、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_1とcq_2を出力するパーティY不正検知ステップと、
パーティZが、数列(αX0q_0,…,αX0q_na0-1)及び数ρZを生成してパーティXに送信し、数列(αY2q_0,…,αY2q_na2-1)を生成してパーティYに送信するパーティZ第2乱数生成ステップと、
パーティZが、(αY2q_0-sq_Y・a2q_0,…,αY2q_na2-1-sq_Y・a2q_na2-1)を計算してパーティXに送信し、パーティXから数列(αZ0q_0,…,αZ0q_na0-1)を、パーティYから数列(αZ2q_0,…,αZ2q_na2-1)を、それぞれ受信し、(αX0q_0-sq_X・a0q_0,…,αX0q_na0-1-sq_X・a0q_na0-1)及び
を計算してパーティYに送信するパーティZ第3計算ステップと、
パーティZが、パーティXから(αY1q_0-sq_Y・a1q_0,…,αY1q_na1-1-sq_Y・a1q_na1-1)を、パーティYから数ρYを、それぞれ受信し、
を計算してパーティXに送信するパーティZ第4計算ステップと、
パーティZが、パーティXからγXを、パーティYからγX´と(αX1q_0-sq_X・a1q_0,…,αX1q_na1-1-sq_X・a1q_na1-1)を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_2とcq_0を出力するパーティZ不正検知ステップと、
を実行する秘匿積和計算方法。 - パーティX、パーティY、パーティZの3つの計算装置の協調計算により、データ列Aq_0=(a0q_0,…,a0q_na0-1)、Aq_1=(a1q_0,…,a1q_na1-1)、及びAq_2=(a2q_0,…,a2q_na2-1)と、データ列Bq_0=(b0q_0,…,b0q_nb0-1)、Bq_1=(b1q_0,…,b1q_nb1-1)、及びBq_2=(b2q_0,…,b2q_nb2-1)との積和計算
を、q=0,…,m-1の計m組について、並列に行うために用いる秘匿積和計算方法であって、
mを1以上の整数、na0,na1,na2,nb0,nb1,nb2を自然数、i0=0,…,na0-1、i1=0,…,na1-1、i2=0,…,na2-1、j0=0,…,nb0-1、j1=0,…,nb1-1、j2=0,…,nb2-1とし、
e01q_i0,q_j1,e10q_i1,q_j0,e00q_i0,q_j0,e11q_i1,q_j1,e12q_i1,q_j2,e21q_i2,q_j1,e22q_i2,q_j2,e20q_i2,q_j0,e02q_i0,q_j2は任意の数とし、
パーティXとYは数sq_Zを、パーティYとZは数sq_Xを、パーティZとXは数sq_Yを、それぞれ予め共有し、
パーティXにデータ列Aq_0、Aq_1、Bq_0、Bq_1が、パーティYにデータ列Aq_1、Aq_2、Bq_1、Bq_2が、パーティZにデータ列Aq_2、Aq_0、Bq_2、Bq_0が、それぞれ入力され、
パーティXが、数rq_Xを生成し、パーティYに送信するパーティX第1乱数生成ステップと、
パーティXが、cq_Xを
により計算し、パーティZに送信するパーティX第1計算ステップと、
パーティXが、パーティZから数rq_zを、パーティYからcq_Yを、それぞれ受信し、cq_0とcq_1をそれぞれ、
により計算するパーティX第2計算ステップと、
パーティYが、数rq_Yを生成し、パーティZに送信するパーティY第1乱数生成ステップと、
パーティYが、cq_Yを
により計算し、パーティXに送信するパーティY第1計算ステップと、
パーティYが、パーティXから数rq_Xを、パーティZからcq_Zを、それぞれ受信し、cq_1とcq_2をそれぞれ、
により計算するパーティY第2計算ステップと、
パーティZが、数rq_Zを生成し、パーティXに送信するパーティZ第1乱数生成ステップと、
パーティZが、cq_Zを
により計算し、パーティYに送信するパーティZ第1計算ステップと、
パーティZが、パーティYから数rq_Yを、パーティXからcq_Xを、それぞれ受信し、cq_0とcq_2をそれぞれ、
により計算するパーティZ第2計算ステップと、
パーティXが、数ρxを生成してパーティYに送信し、数列(αZ0q_0,…,αZ0q_na0-1)と数列(βZ0q_0,…,βZ0q_nb0-1)を生成してパーティZに送信するパーティX第2乱数生成ステップと、
パーティXが、(αZ0q_0-sq_Z・a0q_0,…,αZ0q_na0-1-sq_Z・a0q_na0-1)と(βZ0q_0-sq_Z・b0q_0,…,βZ0q_nb0-1-sq_Z・b0q_nb0-1)を計算してパーティYに送信し、パーティYから数列(αX1q_0,…,αX1q_na1-1)と数列(βX1q_0,…,βX1q_nb1-1)を受信し、
を計算してパーティZに送信するパーティX第3計算ステップと、
パーティXが、パーティZからρZを受信し、
を計算してパーティYに送信するパーティX第4計算ステップと、
パーティXが、パーティYからγYを、パーティZからγY´と(αY2q_0-sq_Y・a2q_0,…,αY2q_na2-1-sq_Y・a2q_na2-1)と(βY2q_0-sq_Y・b2q_0,…,βY2q_nb2-1-sq_Y・b2q_nb2-1)を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_0とcq_1を出力するパーティX不正検知ステップと、
パーティYが、数ρYを生成してパーティZに送信し、数列(αX1q_0,…,αX1q_na1-1)と数列(βX1q_0,…,βX1q_nb1-1)を生成してパーティXに送信するパーティY第2乱数生成ステップと、
パーティYが、(αX1q_0-sq_X・a1q_0,…,αX1q_na1-1-sq_X・a1q_na1-1)と(βX1q_0-sq_X・b1q_0,…,βX1q_nb1-1-sq_X・b1q_nb1-1)を計算してパーティZに送信し、パーティZから数列(αY2q_0,…,αY2q_na2-1)と数列(βY2q_0,…,βY2q_nb2-1)を受信し、
を計算してパーティXに送信するパーティY第3計算ステップと、
パーティYが、パーティXから数ρXを受信し、
を計算してパーティZに送信するパーティY第4計算ステップと、
パーティYが、パーティXからγZ´と(αZ0q_0-sq_Z・a0q_0,…,αZ0q_na0-1-sq_Z・a0q_na0-1)と(βZ0q_0-sq_Z・b0q_0,…,βZ0q_nb0-1-sq_Z・b0q_nb0-1)を、パーティZからγZを、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_1とcq_2を出力するパーティY不正検知ステップと、
パーティZが、数ρZを生成してパーティXに送信し、数列(αY2q_0,…,αY2q_na2-1)と数列(βY2q_0,…,βY2q_nb2-1)を生成してパーティYに送信するパーティZ第2乱数生成ステップと、
パーティZが、(αY2q_0-sq_Y・a2q_0,…,αY2q_na2-1-sq_Y・a2q_na2-1)と(βY2q_0-sq_Y・b2q_0,…,βY2q_nb2-1-sq_Y・b2q_nb2-1)を計算してパーティXに送信し、パーティXから数列(αZ0q_0,…,αZ0q_na0-1)と数列(βZ0q_0,…,βZ0q_nb0-1)を受信し、
を計算してパーティYに送信するパーティZ第3計算ステップと、
パーティZが、パーティYから数ρYを受信し、
を計算してパーティXに送信するパーティZ第4計算ステップと、
パーティZが、パーティXからγXを、パーティYからγX´と(αX1q_0-sq_X・a1q_0,…,αX1q_na1-1-sq_X・a1q_na1-1)と(βX1q_0-sq_X・b1q_0,…,βX1q_nb1-1-sq_X・b1q_nb1-1)を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_2とcq_0を出力するパーティZ不正検知ステップと、
を実行する秘匿積和計算方法。 - パーティX、パーティY、パーティZの3つの計算装置の協調計算により、データ列Aq_0=(a0q_0,…,a0q_na0-1)及びAq_1=(a1q_0,…,a1q_na1-1)と、データ列Bq_0=(b0q_0,…,b0q_nb0-1)及びBq_1=(b1q_0,…,b1q_nb1-1)との積和計算
を、q=0,…,m-1の計m組について、並列に行うために用いる秘匿積和計算方法であって、
mを1以上の整数、na0,na1,nb0,nb1を自然数、i0=0,…,na0-1、i1=0,…,na1-1、j0=0,…,nb0-1、j1=0,…,nb1-1とし、
e01q_i0,q_j1,e10q_i1,q_j0は任意の数とし、
パーティXにデータ列Aq_0、Aq_1、Bq_0、Bq_1が、パーティYにデータ列Aq_1、Bq_1が、パーティZにデータ列Aq_0、Bq_0が、それぞれ入力され、
パーティXが、数cq_1と数γ1と数列(α1q_0,…,α1q_nb0-1)と数列(β1q_0,…,β1q_na0-1)を生成してパーティYに送信するパーティX乱数生成ステップと、
パーティYが、数sqを生成してパーティZに送信するパーティY乱数生成ステップと、
パーティXが、cq_0とγ0を、
により計算し、パーティZに送信するパーティX計算ステップと、
パーティYが、パーティXから数cq_1と数γ1と数列(α1q_0,…,α1q_nb0-1)と数列(β1q_0,…,β1q_na0-1)を受信し、数列(α0q_0,…,α0q_nb0-1)と数列(β0q_0,…,β0q_na0-1)とγ´をそれぞれ、
により計算し、パーティZに送信するパーティY計算ステップと、
パーティZが、パーティXからcq_0とγ0を、パーティYから数sqと数列(α0q_0,…,α0q_nb0-1)と数列(β0q_0,…,β0q_na0-1)とγ´を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了する不正検知ステップと、
を実行し、不正検知ステップでの計算結果が0であればパーティXからcq_0とcq_1を、パーティYからcq_1と0を、パーティZから0とcq_0を、それぞれ出力する秘匿積和計算方法。 - パーティX、パーティY、パーティZの3つの計算装置の協調計算により、データa0及びa1と、データ列Bq_0=(b0q_0,…,b0q_nb0-1)及びBq_1=(b1q_0,…,b1q_nb1-1)との積和計算
を、q=0,…,m-1の計m組について、並列に行うために用いる秘匿積和計算方法であって、
mを1以上の整数、nを自然数、i=0,…,n-1とし、
パーティXにデータa0及びa1と、データ列Bq_0及びBq_1とが、パーティYにデータa1とデータ列Bq_1が、パーティZにデータa0とデータ列Bq_0が、それぞれ入力され、
パーティXが、数cq_1と数γ1と数列(α1q_0,…,α1q_n-1)と数β1を生成してパーティYに送信するパーティX乱数生成ステップと、
パーティYが、数sqを生成してパーティZに送信するパーティY乱数生成ステップと、
パーティXが、cq_0とγ0を、
により計算し、パーティZに送信するパーティX計算ステップと、
パーティYが、パーティXから数cq_1と数γ1と数列(α1q_0,…,α1q_n-1)と数β1を受信し、数列(α0q_0,…,α0q_n-1)とβ0とγ´をそれぞれ、
により計算し、パーティZに送信するパーティY計算ステップと、
パーティZが、パーティXからcq_0とγ0を、パーティYから数sqと数列(α0q_0,…,α0q_n-1)とβ0とγ´を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了する不正検知ステップと、
を実行し、不正検知ステップでの計算結果が0であればパーティXからcq_0とcq_1を、パーティYからcq_1と0を、パーティZから0とcq_0を、それぞれ出力する秘匿積和計算方法。 - パーティX、パーティY、パーティZの3つの計算装置の協調計算により、データ列A0=(a00,…,a0na0-1)、A1=(a10,…,a1na1-1)、及びA2=(a20,…,a2na2-1)と、データ列B0=(b00,…,b0nb0-1)、B1=(b10,…,b1nb1-1)、及びB2=(b20,…,b2nb2-1)との積和計算
を行うために用いる秘匿積和計算システムであって、
na0,na1,na2,nb0,nb1,nb2を自然数、i0=0,…,na0-1、i1=0,…,na1-1、i2=0,…,na2-1、j0=0,…,nb0-1、j1=0,…,nb1-1、j2=0,…,nb2-1とし、
e01i0,j1,e10i1,j0,e00i0,j0,e11i1,j1,e12i1,j2,e21i2,j1,e22i2,j2,e20i2,j0,e02i0,j2は任意の数とし、
パーティXにデータ列A0、A1、B0、B1が、パーティYにデータ列A1、A2、B1、B2が、パーティZにデータ列A2、A0、B2、B0が、それぞれ入力され、
パーティXは、パーティX乱数生成手段とパーティX第1計算手段とパーティX第2計算手段とを有し、パーティX乱数生成手段は、数rXを生成してパーティYに送信し、パーティX第1計算手段は、cXを
により計算してパーティZに送信し、パーティX第2計算手段は、パーティZから数rzを、パーティYからcYを、それぞれ受信し、c0とc1をそれぞれ、
により計算し、
パーティYは、パーティY乱数生成手段とパーティY第1計算手段とパーティY第2計算手段とを有し、パーティY乱数生成手段は、数rYを生成してパーティZに送信し、パーティY第1計算手段は、cYを
により計算してパーティXに送信し、パーティY第2計算手段は、パーティXから数rXを、パーティZからcZを、それぞれ受信し、c1とc2をそれぞれ、
により計算し、
パーティZは、パーティZ乱数生成手段とパーティZ第1計算手段とパーティZ第2計算手段とを有し、パーティZ乱数生成手段は、数rZを生成してパーティXに送信し、パーティZ第1計算手段は、cZを
により計算してパーティYに送信し、パーティZ第2計算手段は、パーティYから数rYを、パーティXからcXを、それぞれ受信し、c0とc2をそれぞれ、
により計算する
秘匿積和計算システム。 - パーティX、パーティY、パーティZの3つの計算装置の協調計算により、データ列Aq_0=(a0q_0,…,a0q_na0-1)、Aq_1=(a1q_0,…,a1q_na1-1)、及びAq_2=(a2q_0,…,a2q_na2-1)と、データ列Bq_0=(b0q_0,…,b0q_nb0-1)、Bq_1=(b1q_0,…,b1q_nb1-1)、及びBq_2=(b2q_0,…,b2q_nb2-1)との積和計算
を、q=0,…,m-1の計m組について、並列に行うために用いる秘匿積和計算システムであって、
mを1以上の整数、na0,na1,na2,nb0,nb1,nb2を自然数、i0=0,…,na0-1、i1=0,…,na1-1、i2=0,…,na2-1、j0=0,…,nb0-1、j1=0,…,nb1-1、j2=0,…,nb2-1とし、
e01q_i0,q_j1,e10q_i1,q_j0,e00q_i0,q_j0,e11q_i1,q_j1,e12q_i1,q_j2,e21q_i2,q_j1,e22q_i2,q_j2,e20q_i2,q_j0,e02q_i0,q_j2は任意の数とし、
パーティXとYは数sq_Zを、パーティYとZは数sq_Xを、パーティZとXは数sq_Yを、それぞれ予め共有し、
パーティXにデータ列Aq_0、Aq_1、Bq_0、Bq_1が、パーティYにデータ列Aq_1、Aq_2、Bq_1、Bq_2が、パーティZにデータ列Aq_2、Aq_0、Bq_2、Bq_0が、それぞれ入力され、
パーティXは、パーティX第1乱数生成手段とパーティX第1計算手段とパーティX第2計算手段とパーティX第2乱数生成手段とパーティX第3計算手段とパーティX第4計算手段とパーティX不正検知手段とを有し、パーティX第1乱数生成手段は、数rq_Xを生成してパーティYに送信し、パーティX第1計算手段は、cq_Xを
により計算してパーティZに送信し、パーティX第2計算手段は、パーティZから数rq_zを、パーティYからcq_Yを、それぞれ受信してcq_0とcq_1をそれぞれ、
により計算し、パーティX第2乱数生成手段は、数列(αY1q_0,…,αY1q_na1-1)及び数ρxを生成してパーティYに送信し、数列(αZ0q_0,…,αZ0q_na0-1)を生成してパーティZに送信し、パーティX第3計算手段は、(αZ0q_0-sq_Z・a0q_0,…,αZ0q_na0-1-sq_Z・a0q_na0-1)を計算してパーティYに送信し、パーティYから数列(αX1q_0,…,αX1q_na1-1)を、パーティZから数列(αX0q_0,…,αX0q_na0-1)を、それぞれ受信し、(αY1q_0-sq_Y・a1q_0,…,αY1q_na1-1-sq_Y・a1q_na1-1)及び
を計算してパーティZに送信し、パーティX第4計算手段は、パーティYから(αZ2q_0-sq_Z・a2q_0,…,αZ2q_na2-1-sq_Z・a2q_na2-1)を、パーティZからρZを、それぞれ受信し、
を計算してパーティYに送信し、パーティX不正検知手段は、パーティYからγYを、パーティZからγY´と(αY2q_0-sq_Y・a2q_0,…,αY2q_na2-1-sq_Y・a2q_na2-1)を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_0とcq_1を出力し、
パーティYは、パーティY第1乱数生成手段とパーティY第1計算手段とパーティY第2計算手段とパーティY第2乱数生成手段とパーティY第3計算手段とパーティY第4計算手段とパーティY不正検知手段とを有し、パーティY第1乱数生成手段は、数rq_Yを生成してパーティZに送信し、パーティY第1計算手段は、cq_Yを
により計算してパーティXに送信し、パーティY第2計算手段は、パーティXから数rq_Xを、パーティZからcq_Zを、それぞれ受信し、cq_1とcq_2をそれぞれ、
により計算し、パーティY第2乱数生成手段は、数列(αZ2q_0,…,αZ2q_na2-1)及び数ρYを生成してパーティZに送信し、数列(αX1q_0,…,αX1q_na1-1)を生成してパーティXに送信し、パーティY第3計算手段は、(αX1q_0-sq_X・a1q_0,…,αX1q_na1-1-sq_X・a1q_na1-1)を計算してパーティZに送信し、パーティXから数列(αY1q_0,…,αY1q_na1-1)を、パーティZから数列(αY2q_0,…,αY2q_na2-1)を、それぞれ受信し、(αZ2q_0-sq_Z・a2q_0,…,αZ2q_na2-1-sq_Z・a2q_na2-1)及び
を計算してパーティXに送信し、パーティY第4計算手段は、パーティXから数ρXを、パーティZから(αX0q_0-sq_X・a0q_0,…,αX0q_na0-1-sq_X・a0q_na0-1)を、それぞれ受信し、
を計算してパーティZに送信し、パーティY不正検知手段は、パーティXからγZ´と(αZ0q_0-sq_Z・a0q_0,…,αZ0q_na0-1-sq_Z・a0q_na0-1)を、パーティZからγZを、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_1とcq_2を出力し、
パーティZは、パーティZ第1乱数生成手段とパーティZ第1計算手段とパーティZ第2計算手段とパーティZ第2乱数生成手段とパーティZ第3計算手段とパーティZ第4計算手段とパーティZ不正検知手段とを有し、パーティZ第1乱数生成手段は、数rq_Zを生成してパーティXに送信し、パーティZ第1計算手段は、cq_Zを
により計算してパーティYに送信し、パーティZ第2計算手段は、パーティYから数rq_Yを、パーティXからcq_Xを、それぞれ受信し、cq_0とcq_2をそれぞれ、
により計算し、パーティZ第2乱数生成手段は、数列(αX0q_0,…,αX0q_na0-1)及び数ρZを生成してパーティXに送信し、数列(αY2q_0,…,αY2q_na2-1)を生成してパーティYに送信し、パーティZ第3計算手段は、(αY2q_0-sq_Y・a2q_0,…,αY2q_na2-1-sq_Y・a2q_na2-1)を計算してパーティXに送信し、パーティXから数列(αZ0q_0,…,αZ0q_na0-1)を、パーティYから数列(αZ2q_0,…,αZ2q_na2-1)を、それぞれ受信し、(αX0q_0-sq_X・a0q_0,…,αX0q_na0-1-sq_X・a0q_na0-1)及び
を計算してパーティYに送信し、パーティZ第4計算手段は、パーティXから(αY1q_0-sq_Y・a1q_0,…,αY1q_na1-1-sq_Y・a1q_na1-1)を、パーティYから数ρYを、それぞれ受信し、
を計算してパーティXに送信し、パーティZ不正検知手段は、パーティXからγXを、パーティYからγX´と(αX1q_0-sq_X・a1q_0,…,αX1q_na1-1-sq_X・a1q_na1-1)を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_2とcq_0を出力する
秘匿積和計算システム。 - パーティX、パーティY、パーティZの3つの計算装置の協調計算により、データ列Aq_0=(a0q_0,…,a0q_na0-1)、Aq_1=(a1q_0,…,a1q_na1-1)、及びAq_2=(a2q_0,…,a2q_na2-1)と、データ列Bq_0=(b0q_0,…,b0q_nb0-1)、Bq_1=(b1q_0,…,b1q_nb1-1)、及びBq_2=(b2q_0,…,b2q_nb2-1)との積和計算
を、q=0,…,m-1の計m組について、並列に行うために用いる秘匿積和計算システムであって、
mを1以上の整数、na0,na1,na2,nb0,nb1,nb2を自然数、i0=0,…,na0-1、i1=0,…,na1-1、i2=0,…,na2-1、j0=0,…,nb0-1、j1=0,…,nb1-1、j2=0,…,nb2-1とし、
e01q_i0,q_j1,e10q_i1,q_j0,e00q_i0,q_j0,e11q_i1,q_j1,e12q_i1,q_j2,e21q_i2,q_j1,e22q_i2,q_j2,e20q_i2,q_j0,e02q_i0,q_j2は任意の数とし、
パーティXとYは数sq_Zを、パーティYとZは数sq_Xを、パーティZとXは数sq_Yを、それぞれ予め共有し、
パーティXにデータ列Aq_0、Aq_1、Bq_0、Bq_1が、パーティYにデータ列Aq_1、Aq_2、Bq_1、Bq_2が、パーティZにデータ列Aq_2、Aq_0、Bq_2、Bq_0が、それぞれ入力され、
パーティXは、パーティX第1乱数生成手段とパーティX第1計算手段とパーティX第2計算手段とパーティX第2乱数生成手段とパーティX第3計算手段とパーティX第4計算手段とパーティX不正検知手段とを有し、パーティX第1乱数生成手段は、数rq_Xを生成してパーティYに送信し、パーティX第1計算手段は、cq_Xを
により計算してパーティZに送信し、パーティX第2計算手段は、パーティZから数rq_zを、パーティYからcq_Yを、それぞれ受信してcq_0とcq_1をそれぞれ、
により計算し、パーティX第2乱数生成手段は、数ρxを生成してパーティYに送信し、数列(αZ0q_0,…,αZ0q_na0-1)と数列(βZ0q_0,…,βZ0q_nb0-1)を生成してパーティZに送信し、パーティX第3計算手段は、(αZ0q_0-sq_Z・a0q_0,…,αZ0q_na0-1-sq_Z・a0q_na0-1)と(βZ0q_0-sq_Z・b0q_0,…,βZ0q_nb0-1-sq_Z・b0q_nb0-1)を計算してパーティYに送信し、パーティYから数列(αX1q_0,…,αX1q_na1-1)と数列(βX1q_0,…,βX1q_nb1-1)を受信し、
を計算してパーティZに送信し、パーティX第4計算手段は、パーティZからρZを受信し、
を計算してパーティYに送信し、パーティX不正検知手段は、パーティYからγYを、パーティZからγY´と(αY2q_0-sq_Y・a2q_0,…,αY2q_na2-1-sq_Y・a2q_na2-1)と(βY2q_0-sq_Y・b2q_0,…,βY2q_nb2-1-sq_Y・b2q_nb2-1)を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_0とcq_1を出力し、
パーティYは、パーティY第1乱数生成手段とパーティY第1計算手段とパーティY第2計算手段とパーティY第2乱数生成手段とパーティY第3計算手段とパーティY第4計算手段とパーティY不正検知手段とを有し、パーティY第1乱数生成手段は、数rq_Yを生成してパーティZに送信し、パーティY第1計算手段は、cq_Yを
により計算してパーティXに送信し、パーティY第2計算手段は、パーティXから数rq_Xを、パーティZからcq_Zを、それぞれ受信し、cq_1とcq_2をそれぞれ、
により計算し、パーティY第2乱数生成手段は、数ρYを生成してパーティZに送信し、数列(αX1q_0,…,αX1q_na1-1)と数列(βX1q_0,…,βX1q_nb1-1)を生成してパーティXに送信し、パーティY第3計算手段は、(αX1q_0-sq_X・a1q_0,…,αX1q_na1-1-sq_X・a1q_na1-1)と(βX1q_0-sq_X・b1q_0,…,βX1q_nb1-1-sq_X・b1q_nb1-1)を計算してパーティZに送信し、パーティZから数列(αY2q_0,…,αY2q_na2-1)と数列(βY2q_0,…,βY2q_nb2-1)を受信し、
を計算してパーティXに送信し、パーティY第4計算手段は、パーティXから数ρXを受信し、
を計算してパーティZに送信し、パーティY不正検知手段は、パーティXからγZ´と(αZ0q_0-sq_Z・a0q_0,…,αZ0q_na0-1-sq_Z・a0q_na0-1)と(βZ0q_0-sq_Z・b0q_0,…,βZ0q_nb0-1-sq_Z・b0q_nb0-1)を、パーティZからγZを、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_1とcq_2を出力し、
パーティZは、パーティZ第1乱数生成手段とパーティZ第1計算手段とパーティZ第2計算手段とパーティZ第2乱数生成手段とパーティZ第3計算手段とパーティZ第4計算手段とパーティZ不正検知手段とを有し、パーティZ第1乱数生成手段は、数rq_Zを生成してパーティXに送信し、パーティZ第1計算手段は、cq_Zを
により計算してパーティYに送信し、パーティZ第2計算手段は、パーティYから数rq_Yを、パーティXからcq_Xを、それぞれ受信し、cq_0とcq_2をそれぞれ、
により計算し、パーティZ第2乱数生成手段は、数ρZを生成してパーティXに送信し、数列(αY2q_0,…,αY2q_na2-1)と数列(βY2q_0,…,βY2q_nb2-1)を生成してパーティYに送信し、パーティZ第3計算手段は、(αY2q_0-sq_Y・a2q_0,…,αY2q_na2-1-sq_Y・a2q_na2-1)と(βY2q_0-sq_Y・b2q_0,…,βY2q_nb2-1-sq_Y・b2q_nb2-1)を計算してパーティXに送信し、パーティXから数列(αZ0q_0,…,αZ0q_na0-1)と数列(βZ0q_0,…,βZ0q_nb0-1)を受信し、
を計算してパーティYに送信し、パーティZ第4計算手段は、パーティYから数ρYを受信し、
を計算してパーティXに送信し、パーティZ不正検知手段は、パーティXからγXを、パーティYからγX´と(αX1q_0-sq_X・a1q_0,…,αX1q_na1-1-sq_X・a1q_na1-1)と(βX1q_0-sq_X・b1q_0,…,βX1q_nb1-1-sq_X・b1q_nb1-1)を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_2とcq_0を出力する
秘匿積和計算システム。 - パーティX、パーティY、パーティZの3つの計算装置の協調計算により、データ列Aq_0=(a0q_0,…,a0q_na0-1)及びAq_1=(a1q_0,…,a1q_na1-1)と、データ列Bq_0=(b0q_0,…,b0q_nb0-1)及びBq_1=(b1q_0,…,b1q_nb1-1)との積和計算
を、q=0,…,m-1の計m組について、並列に行うために用いる秘匿積和計算システムであって、
mを1以上の整数、na0,na1,nb0,nb1を自然数、i0=0,…,na0-1、i1=0,…,na1-1、j0=0,…,nb0-1、j1=0,…,nb1-1とし、
e01q_i0,q_j1,e10q_i1,q_j0は任意の数とし、
パーティXにデータ列Aq_0、Aq_1、Bq_0、Bq_1が、パーティYにデータ列Aq_1、Bq_1が、パーティZにデータ列Aq_0、Bq_0が、それぞれ入力され、
パーティXは、パーティX乱数生成手段とパーティX計算手段とを有し、パーティX乱数生成手段は、数cq_1と数γ1と数列(α1q_0,…,α1q_nb0-1)と数列(β1q_0,…,β1q_na0-1)を生成してパーティYに送信し、パーティX計算手段は、cq_0とγ0を、
により計算してパーティZに送信し、
パーティYは、パーティY乱数生成手段とパーティY計算手段とを有し、パーティY乱数生成手段は、数sqを生成してパーティZに送信し、パーティY計算手段は、パーティXから数cq_1と数γ1と数列(α1q_0,…,α1q_nb0-1)と数列(β1q_0,…,β1q_na0-1)を受信し、数列(α0q_0,…,α0q_nb0-1)と数列(β0q_0,…,β0q_na0-1)とγ´をそれぞれ、
により計算してパーティZに送信し、
パーティZは、不正検知手段を備え、パーティXからcq_0とγ0を、パーティYから数sqと数列(α0q_0,…,α0q_nb0-1)と数列(β0q_0,…,β0q_na0-1)とγ´を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、
不正検知手段での計算結果が0であれば、パーティXからcq_0とcq_1を、パーティYからcq_1と0を、パーティZから0とcq_0を、それぞれ出力する
秘匿積和計算システム。 - パーティX、パーティY、パーティZの3つの計算装置の協調計算により、データa0及びa1と、データ列Bq_0=(b0q_0,…,b0q_nb0-1)及びBq_1=(b1q_0,…,b1q_nb1-1)との積和計算
を、q=0,…,m-1の計m組について、並列に行うために用いる秘匿積和計算システムであって、
mを1以上の整数、nを自然数、i=0,…,n-1とし、
パーティXにデータa0及びa1と、データ列Bq_0及びBq_1とが、パーティYにデータa1とデータ列Bq_1が、パーティZにデータa0とデータ列Bq_0が、それぞれ入力され、
パーティXは、パーティX乱数生成手段とパーティX計算手段とを有し、パーティX乱数生成手段は、数cq_1と数γ1と数列(α1q_0,…,α1q_n-1)と数β1を生成してパーティYに送信し、パーティX計算手段は、cq_0とγ0を、
により計算してパーティZに送信し、
パーティYは、パーティY乱数生成手段とパーティY計算手段とを有し、パーティY乱数生成手段は、数sqを生成してパーティZに送信し、パーティY計算手段は、パーティXから数cq_1と数γ1と数列(α1q_0,…,α1q_n-1)と数β1を受信し、数列(α0q_0,…,α0q_n-1)とβ0とγ´をそれぞれ、
により計算し、パーティZに送信し、
パーティZは、不正検知手段を備え、パーティXからcq_0とγ0を、パーティYから数sqと数列(α0q_0,…,α0q_n-1)とβ0とγ´を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、
不正検知手段での計算結果が0であればパーティXからcq_0とcq_1を、パーティYからcq_1と0を、パーティZから0とcq_0を、それぞれ出力する
秘匿積和計算システム。 - 処理が対称なパーティX、パーティY、パーティZの3つの計算装置で協調して積和計算をする際に用いる前記計算装置であって、
いずれかの前記計算装置がパーティPであるとしたとき、パーティPがパーティXである場合には、パーティZがパーティP-、パーティYがパーティP+、符号0p、1pがそれぞれ0、1であるとし、パーティPがパーティYである場合には、パーティXがパーティP-、パーティZがパーティP+、符号0p、1pがそれぞれ1、2であるとし、パーティPがパーティZである場合には、パーティYがパーティP-、パーティXがパーティP+、符号0p、1pがそれぞれ2、0であるとし、
na0p,na1p,nb0p,nb1pを自然数、i0p=0,…,na0p-1、i1p=0,…,na1p-1、j0p=0,…,nb0p-1、j1p=0,…,nb1p-1とし、
e0p1pi0p,j1p,e1p0pi1p,j0p,e0p0pi0p,j0p,e1p1pi1p,j1pは任意の数とし、
前記パーティPは、
数rPを生成してパーティP+に送信する乱数生成手段と、
データ列A0p=(a0p0,…,a0pna0p-1)とデータ列A1p=(a1p0,…,a1pna1p-1)とデータ列B0p=(b0p0,…,b0pnb0p-1)とデータ列B1p=(b1p0,…,b1pnb1p-1)とが入力され、cPを
により計算してパーティP-に送信する第1計算手段と、
パーティP-から数rP-を、パーティP+からcP+を、それぞれ受信し、c0pとc1pをそれぞれ、
により計算する第2計算手段と、
を備える計算装置。 - 処理が対称なパーティX、パーティY、パーティZの3つの計算装置で協調して積和計算をする際に用いる前記計算装置であって、
いずれかの前記計算装置がパーティPであるとしたとき、パーティPがパーティXである場合には、パーティZがパーティP-、パーティYがパーティP+、符号0p、1p、2pがそれぞれ0、1、2であるとし、パーティPがパーティYである場合には、パーティXがパーティP-、パーティZがパーティP+、符号0p、1p、2pがそれぞれ1、2、0であるとし、パーティPがパーティZである場合には、パーティYがパーティP-、パーティXがパーティP+、符号0p、1p、2pがそれぞれ2、0、1であるとし、
mを1以上の整数、na0p,na1p,na2p,nb0p,nb1pを自然数、q=0,…,m-1、i0p=0,…,na0p-1、i1p=0,…,na1p-1、i2p=0,…,na2p-1、j0p=0,…,nb0p-1、j1p=0,…,nb1p-1とし、
e0p1pi0p,j1p,e1p0pi1p,j0p,e0p0pi0p,j0p,e1p1pi1p,j1pは任意の数とし、
パーティP-とPは数sq_P+を、パーティPとP+は数sq_P-を、パーティP+とP-は数sq_Pを、それぞれ予め共有し、
パーティPは、
数rq_Pを生成してパーティP+に送信する第1乱数生成手段と、
データ列Aq_0p=(a0pq_0,…,a0pq_na0p-1)とデータ列Aq_1p=(a1pq_0,…,a1pq_na1p-1)とデータ列Bq_0p=(b0pq_0,…,b0pq_nb0p-1)とデータ列Bq_1p=(b1pq_0,…,b1pq_nb1p-1)とが入力され、cq_Pを
により計算してパーティP-に送信する第1計算手段と、
パーティP-から数rq_P-を、パーティP+からcq_P+を、それぞれ受信してcq_0pとcq_1pをそれぞれ、
により計算する第2計算手段と、
数列(αP+1pq_0,…,αP+1pq_na1p-1)及び数ρPを生成してパーティP+に送信し、数列(αP-0pq_0,…,αP-0pq_na0p-1)を生成してパーティP-に送信する第2乱数生成手段と、
(αP-0pq_0-sq_P-・a0pq_0,…,αP-0pq_na0p-1-sq_P-・a0pq_na0p-1)を計算してパーティP+に送信し、パーティP+から数列(αP1pq_0,…,αP1pq_na1p-1)を、パーティP-から数列(αP0pq_0,…,αP0pq_na0p-1)を、それぞれ受信し、(αP+1pq_0-sq_P+・a1pq_0,…,αP+1pq_na1p-1-sq_P+・a1pq_na1p-1)及び
を計算してパーティP-に送信する第3計算手段と、
パーティP+から(αP-2pq_0-sq_P-・a2pq_0,…,αP-2pq_na2p-1-sq_P-・a2pq_na2p-1)を、パーティP-からρP-を、それぞれ受信し、
を計算してパーティP+に送信する第4計算手段と、
パーティP+からγP+を、パーティP-からγ´P+と(αP+2pq_0-sq_P+・a2pq_0,…,αP+2pq_na2p-1-sq_P+・a2pq_na2p-1)を、それぞれ受信し、
を計算して、計算結果が0でなければ不正検知を表すデータを出力して処理を終了し、0であればcq_0pとcq_1pを出力する不正検知手段と、
を備える計算装置。 - 処理が対称なパーティX、パーティY、パーティZの3つの計算装置で協調して積和計算をする際に用いる前記計算装置であって、
いずれかの前記計算装置がパーティPであるとしたとき、パーティPがパーティXである場合には、パーティZがパーティP-、パーティYがパーティP+、符号0p、1p、2pがそれぞれ0、1、2であるとし、パーティPがパーティYである場合には、パーティXがパーティP-、パーティZがパーティP+、符号0p、1p、2pがそれぞれ1、2、0であるとし、パーティPがパーティZである場合には、パーティYがパーティP-、パーティXがパーティP+、符号0p、1p、2pがそれぞれ2、0、1であるとし、
mを1以上の整数、na0p,na1p,na2p,nb0p,nb1p,nb2pを自然数、q=0,…,m-1、i0p=0,…,na0p-1、i1p=0,…,na1p-1、i2p=0,…,na2p-1、j0p=0,…,nb0p-1、j1p=0,…,nb1p-1、j2p=0,…,nb2p-1とし、
e0p1pi0p,j1p,e1p0pi1p,j0p,e0p0pi0p,j0p,e1p1pi1p,j1pは任意の数とし、
パーティP-とPは数sq_P+を、パーティPとP+は数sq_P-を、パーティP+とP-は数sq_Pを、それぞれ予め共有し、
パーティPは、
数rq_Pを生成してパーティP+に送信する第1乱数生成手段と、
データ列Aq_0p=(a0pq_0,…,a0pq_na0p-1)とデータ列Aq_1p=(a1pq_0,…,a1pq_na1p-1)とデータ列Bq_0p=(b0pq_0,…,b0pq_nb0p-1)とデータ列Bq_1p=(b1pq_0,…,b1pq_nb1p-1)とが入力され、cq_Pを
により計算してパーティP-に送信する第1計算手段と、
パーティP-から数rq_P-を、パーティP+からcq_P+を、それぞれ受信してcq_0pとcq_1pをそれぞれ、
により計算する第2計算手段と、
数ρPを生成してパーティP+に送信し、数列(αP-0pq_0,…,αP-0pq_na0p-1)と数列(βP-0pq_0,…,βP-0pq_nb0p-1)を生成してパーティP-に送信する第2乱数生成手段と、
(αP-0pq_0-sq_P-・a0pq_0,…,αP-0pq_na0p-1-sq_P-・a0pq_na0p-1)と(βP-0pq_0-sq_P-・b0pq_0,…,βP-0pq_na0p-1-sq_P-・b0pq_na0p-1)を計算してパーティP+に送信し、パーティP+から数列(αP1pq_0,…,αP1pq_na1p-1)と数列(βP1pq_0,…,βP1pq_nb1p-1)を受信し、
を計算してパーティP-に送信する第3計算手段と、
パーティP-からρP-を受信し、
を計算してパーティP+に送信する第4計算手段と、
パーティP+からγP+を、パーティP-からγ´P+と(αP+2pq_0-sq_P+・a2pq_0,…,αP+2pq_na2p-1-sq_P+・a2pq_na2p-1)と(βP+2pq_0-sq_P+・b2pq_0,…,βP+2pq_na2p-1-sq_P+・b2pq_na2p-1)を、それぞれ受信し、
を備える計算装置。 - 請求項6乃至10のいずれかに記載の秘匿積和計算システム又は請求項11乃至13のいずれかに記載の計算装置としてコンピュータを機能させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201280006168.2A CN103329185B (zh) | 2011-01-24 | 2012-01-20 | 隐匿积和计算方法、隐匿积和计算系统、计算装置 |
JP2012554767A JP5450839B2 (ja) | 2011-01-24 | 2012-01-20 | 秘匿積和計算方法、秘匿積和計算システム、計算装置、及びそれらのプログラム |
US13/981,251 US9292258B2 (en) | 2011-01-24 | 2012-01-20 | Secure sum-of-product computation method, secure sum-of-product computation system, computation apparatus and programs therefor |
EP12739361.9A EP2669878B8 (en) | 2011-01-24 | 2012-01-20 | Secure sum-of-product computation method, secure sum-of-product computation system, computation apparatus and programs therefor |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011012126 | 2011-01-24 | ||
JP2011-012126 | 2011-01-24 | ||
JP2011054965 | 2011-03-14 | ||
JP2011-054965 | 2011-03-14 | ||
JP2011-110635 | 2011-05-17 | ||
JP2011110635 | 2011-05-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012102203A1 true WO2012102203A1 (ja) | 2012-08-02 |
Family
ID=46580772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/051199 WO2012102203A1 (ja) | 2011-01-24 | 2012-01-20 | 秘匿積和計算方法、秘匿積和計算システム、計算装置、及びそれらのプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US9292258B2 (ja) |
EP (1) | EP2669878B8 (ja) |
JP (1) | JP5450839B2 (ja) |
CN (1) | CN103329185B (ja) |
WO (1) | WO2012102203A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6006842B1 (ja) * | 2015-07-22 | 2016-10-12 | 日本電信電話株式会社 | 秘密計算装置、その方法、およびプログラム |
EP2947642A4 (en) * | 2013-01-17 | 2016-11-09 | Nippon Telegraph & Telephone | SECURE CALCULATION SYSTEM, COMPUTER DEVICE, SECURE CALCULATION METHOD, AND PROGRAM |
WO2017038761A1 (ja) * | 2015-08-31 | 2017-03-09 | 日本電気株式会社 | 秘密計算システム、秘密計算装置、および、秘密計算方法 |
JPWO2018008547A1 (ja) * | 2016-07-06 | 2019-04-04 | 日本電信電話株式会社 | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム |
WO2019225531A1 (ja) * | 2018-05-25 | 2019-11-28 | 日本電信電話株式会社 | 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5957126B1 (ja) * | 2015-06-24 | 2016-07-27 | 日本電信電話株式会社 | 秘密計算装置、秘密計算方法、およびプログラム |
JP6023858B1 (ja) * | 2015-08-17 | 2016-11-09 | 日本電信電話株式会社 | 計算システム、計算装置、その方法、およびプログラム |
WO2017065123A1 (ja) * | 2015-10-13 | 2017-04-20 | 日本電信電話株式会社 | 秘密乱数合成装置、秘密乱数合成方法、およびプログラム |
WO2018008543A1 (ja) * | 2016-07-06 | 2018-01-11 | 日本電信電話株式会社 | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム |
AU2018295722B2 (en) * | 2017-07-05 | 2020-11-19 | Nippon Telegraph And Telephone Corporation | Secure computation system, secure computation apparatus, secure computation method, program, and recording medium |
US10635398B2 (en) * | 2018-03-15 | 2020-04-28 | Macronix International Co., Ltd. | Voltage sensing type of matrix multiplication method for neuromorphic computing system |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1218284C (zh) * | 1997-01-28 | 2005-09-07 | 松下电器产业株式会社 | 信息复原型署名装置 |
US20090235085A1 (en) * | 2005-01-17 | 2009-09-17 | Seemant Shankar Mathur | Method and System for Secure Authentication and Data Exchange in Client Server Architecture |
JP2007124612A (ja) * | 2006-06-14 | 2007-05-17 | Chiba Univ | 鍵生成プログラム |
US20100091986A1 (en) * | 2006-11-10 | 2010-04-15 | Laputa, Inc. | Information Management System and Encryption System |
US8225106B2 (en) * | 2008-04-02 | 2012-07-17 | Protegrity Corporation | Differential encryption utilizing trust modes |
US8675877B2 (en) * | 2008-08-29 | 2014-03-18 | Red Hat, Inc. | Sharing a secret via linear interpolation |
WO2012046692A1 (ja) * | 2010-10-06 | 2012-04-12 | 日本電信電話株式会社 | 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム |
IL210169A0 (en) * | 2010-12-22 | 2011-03-31 | Yehuda Binder | System and method for routing-based internet security |
-
2012
- 2012-01-20 WO PCT/JP2012/051199 patent/WO2012102203A1/ja active Application Filing
- 2012-01-20 US US13/981,251 patent/US9292258B2/en active Active
- 2012-01-20 EP EP12739361.9A patent/EP2669878B8/en active Active
- 2012-01-20 JP JP2012554767A patent/JP5450839B2/ja active Active
- 2012-01-20 CN CN201280006168.2A patent/CN103329185B/zh active Active
Non-Patent Citations (7)
Title |
---|
KOJI CHIDA ET AL.: "Efficient 3-Party Secure Function Evaluation and Its Application", IPSJ SIG NOTES DVD-ROM, vol. 2010, no. 1, 15 April 2010 (2010-04-15), pages 1 - 7, XP008170896 * |
KOJI CHIDA ET AL.: "Keiryo Kensho Kano 3-Party Hitoku Kansu Keisan no Saiko", COMPUTER SECURITY SYMPOSIUM 2010 RONBUNSHU, vol. 2, no. 9, 12 October 2010 (2010-10-12), pages 555 - 560, XP008171075 * |
KOJI CHIDA; KOKI HAMADA; DAI IKARASHI; KATSUMI; TAKAHASHI: "A Three-Party Secure Function Evaluation with Lightweight Verifiability Revisited", CSS2010, 2010 |
KOKI HAMADA ET AL.: "3-Party Hitoku Kansu Keisanjo no Random Chikan Protocol", COMPUTER SECURITY SYMPOSIUM 2010 RONBUNSHU, vol. 2, no. 9, 12 October 2010 (2010-10-12), pages 561 - 566, XP008170364 * |
ROSARIO GENNARO ET AL.: "On 2-Round Secure Multiparty Computation", LNCS, ADVANCES IN CRYPTOLOGY, vol. 2442, August 2002 (2002-08-01), pages 178 - 193, XP055123962 * |
See also references of EP2669878A4 |
YEHUDA LINDELL: "General Composition and Universal Composability in Secure Multiparty Computation", JOURNAL OF CRYPTOLOGY, vol. 22, no. 3, July 2009 (2009-07-01), pages 395 - 428, XP019699797 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2947642A4 (en) * | 2013-01-17 | 2016-11-09 | Nippon Telegraph & Telephone | SECURE CALCULATION SYSTEM, COMPUTER DEVICE, SECURE CALCULATION METHOD, AND PROGRAM |
JP6006842B1 (ja) * | 2015-07-22 | 2016-10-12 | 日本電信電話株式会社 | 秘密計算装置、その方法、およびプログラム |
WO2017014224A1 (ja) * | 2015-07-22 | 2017-01-26 | 日本電信電話株式会社 | 秘密計算装置、その方法、およびプログラム |
JP2017026788A (ja) * | 2015-07-22 | 2017-02-02 | 日本電信電話株式会社 | 秘密計算装置、その方法、およびプログラム |
WO2017038761A1 (ja) * | 2015-08-31 | 2017-03-09 | 日本電気株式会社 | 秘密計算システム、秘密計算装置、および、秘密計算方法 |
US10924270B2 (en) | 2015-08-31 | 2021-02-16 | Nec Corporation | Secret calculation system, secret calculation apparatus, and secret calculation method |
JPWO2018008547A1 (ja) * | 2016-07-06 | 2019-04-04 | 日本電信電話株式会社 | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム |
US11200346B2 (en) | 2016-07-06 | 2021-12-14 | Nippon Telegraph And Telephone Corporation | Secure computation for reading multiple elements from a secure text array |
WO2019225531A1 (ja) * | 2018-05-25 | 2019-11-28 | 日本電信電話株式会社 | 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム |
CN112154495A (zh) * | 2018-05-25 | 2020-12-29 | 日本电信电话株式会社 | 秘密批量近似系统、秘密计算装置、秘密批量近似方法、以及程序 |
CN112154495B (zh) * | 2018-05-25 | 2024-04-26 | 日本电信电话株式会社 | 秘密批量近似系统及方法、秘密计算装置、记录介质 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2012102203A1 (ja) | 2014-06-30 |
CN103329185A (zh) | 2013-09-25 |
EP2669878A4 (en) | 2014-10-08 |
CN103329185B (zh) | 2015-07-15 |
US9292258B2 (en) | 2016-03-22 |
US20130304780A1 (en) | 2013-11-14 |
JP5450839B2 (ja) | 2014-03-26 |
EP2669878B8 (en) | 2015-11-18 |
EP2669878B1 (en) | 2015-09-30 |
EP2669878A1 (en) | 2013-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5450839B2 (ja) | 秘匿積和計算方法、秘匿積和計算システム、計算装置、及びそれらのプログラム | |
Bonawitz et al. | Practical secure aggregation for privacy-preserving machine learning | |
US20230087864A1 (en) | Secure multi-party computation method and apparatus, device, and storage medium | |
JP5531154B2 (ja) | 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム | |
Pibernik et al. | Secure collaborative supply chain planning and inverse optimization–The JELS model | |
CN111512589A (zh) | 用于利用spdz的快速安全多方内积的方法 | |
JP7259876B2 (ja) | 情報処理装置、秘密計算方法及びプログラム | |
US20170063535A1 (en) | Generating Cryptographic Function Parameters From a Puzzle | |
CN111861467A (zh) | 供应链金融交易隐私保护方法及系统 | |
CN113159762A (zh) | 基于Paillier和博弈论的区块链交易方法 | |
US8117456B2 (en) | Network system, server and information terminal for list matching | |
CN112069525A (zh) | 基于信息的属性生成密钥的加密方法、装置及设备 | |
CN114337994A (zh) | 数据处理方法、装置及系统 | |
EP3633656B1 (en) | Secret tampering detection system, secret tampering detection apparatus, secret tampering detection method, and program | |
JP5668549B2 (ja) | 秘匿分析処理方法、プログラム及び装置 | |
CN115118411B (zh) | 链下多方可信计算方法、装置、设备及存储介质 | |
Carminati et al. | Secure web service composition with untrusted broker | |
CN114026586A (zh) | 用于授予对加密资产的访问权的零知识或有支付协议 | |
JPWO2020165931A1 (ja) | 情報処理装置、秘密計算方法及びプログラム | |
CN112765668B (zh) | 一种零知识证明隐私保护方法、系统、存储介质、设备 | |
CN112465501B (zh) | 基于区块链的版权存证及侵权行为自动取证的方法及系统 | |
JP3784055B2 (ja) | リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末 | |
CN113191893A (zh) | 数据风险预测方法、装置、电子设备、介质及程序产品 | |
CN113645022A (zh) | 一种确定隐私集合交集方法、装置、电子设备及存储介质 | |
CN111885056A (zh) | 基于区块链的零知识证明方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12739361 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2012554767 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012739361 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 13981251 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |