WO2017038761A1 - 秘密計算システム、秘密計算装置、および、秘密計算方法 - Google Patents
秘密計算システム、秘密計算装置、および、秘密計算方法 Download PDFInfo
- Publication number
- WO2017038761A1 WO2017038761A1 PCT/JP2016/075186 JP2016075186W WO2017038761A1 WO 2017038761 A1 WO2017038761 A1 WO 2017038761A1 JP 2016075186 W JP2016075186 W JP 2016075186W WO 2017038761 A1 WO2017038761 A1 WO 2017038761A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- mod
- secret
- unit
- secret calculation
- sum
- Prior art date
Links
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/485—Adding; Subtracting
-
- 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
-
- 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/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- 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/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/727—Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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 is based on a Japanese patent application: Japanese Patent Application No. 2015-169992 (filed on August 31, 2015), and the entire description of the application is incorporated herein by reference.
- the present invention relates to a secret calculation device, a secret calculation system, and a secret calculation method, and more particularly, a plurality of secret calculation devices calculate the output of a given function while communicating with each other, and between a predetermined number of secret devices.
- the present invention relates to a secret calculation system in which input and output information for a function cannot be obtained unless data is shared, a secret calculation device constituting such a secret calculation system, and a secret calculation method by the secret calculation system.
- Non-Patent Document 2 describes a secret calculation method when the number of devices is two.
- Non-Patent Documents 1 and 2 The entire disclosure of Non-Patent Documents 1 and 2 is incorporated herein by reference. The following analysis was made by the present inventors.
- secret S secret S
- F (0) S with a polynomial F on this field.
- the number of devices is N and the number of devices is less than K, it is assumed that information regarding function inputs and outputs cannot be obtained.
- (K-1) degree polynomials F and G that is, coefficients of F and G
- F (0) and G (0) can be calculated, and secrets A and B are obtained.
- This value is H (X [i]) obtained by substituting X [i] into a polynomial H whose coefficient is the sum of the corresponding coefficients of F and G. Therefore, similarly to A and B, A + B is also distributed by a plurality of devices.
- the (K ⁇ 1) degree polynomial H that is, the coefficient of the polynomial H
- H (0) can be calculated, and secret A + B is obtained.
- This value is H (X [i]) obtained by substituting X [i] into 2K degree polynomial H (X)
- X F (X) * G (X). Therefore, similarly to A and B, A * B is distributed by a plurality of devices.
- the order of H is 2K. Therefore, when 2K or more devices are gathered, the 2K degree polynomial H (that is, the coefficient of the polynomial H) can be obtained, and H (0) can be calculated.
- the dispersion method of A * B is different from the dispersion method of A and B.
- the i-th device To distribute A * B in the form of a (K-1) degree polynomial as in A and B, the i-th device generates a (K-1) degree polynomial G from H [i], A method of distributing G (X [j]) to other j-th devices is used. In this way, it is possible to calculate all functions consisting of addition and multiplication.
- Non-Patent Document 1 According to the method described in Non-Patent Document 1, multiplication and addition on the field are easily performed. However, 2K ⁇ N + 1 is imposed as a condition. If K is not 2 or more, the secret can be obtained by a single device. Therefore, N must be 3 or more. Since X [i] must have different values for different i, GF (2) is not included in the available fields. Since GF (2) is not included in the available fields, it is not possible to make an exclusive OR using addition.
- Non-Patent Document 2 has a description regarding a method when the number of devices is two.
- A ⁇ C + D mod 2
- Each device can calculate the variance of the exclusive OR of two distributed values with a small amount of computation without communicating with other devices.
- the apparatus 2 obtains M, the following is performed.
- the device 1 sends a value depending on the input of the device 2 to the device 2.
- a method for preventing the device 1 from knowing the input of the device 2 is realized by a technique called oblivious transfer between the device 1 and the device 2. However, according to such a technique, many calculations and communications are required in the devices 1 and 2.
- Non-Patent Document 1 it is possible to calculate by distributing logical products with a small amount of communication and a small amount of calculation.
- communication and slight calculation are required when calculating exclusive-OR in a distributed manner, as in the case of calculating logical AND.
- Non-Patent Document 2 there is an advantage that communication is not required when calculating exclusive OR. However, according to the method described in Non-Patent Document 2, communication and calculation are required for the logical product.
- An object of the present invention is to provide a secret calculation system, a secret calculation device, and a secret calculation method that realize a secret calculation that is easy to add and requires a small amount of communication and calculation necessary for multiplication.
- the secret calculation system includes three secret calculation devices.
- the i-th secret computation device includes a first multiplication unit that obtains a logical product of S [i] and S ′ [i], and a second product that obtains a logical product of T [i] and T ′ [i]. And a multiplication unit.
- the i-th secret computation device has a first subtraction unit that obtains a difference between the logical product obtained by the first multiplication unit and the logical product obtained by the second multiplication unit.
- the secret calculation device is one secret calculation device included in the above-described secret calculation system.
- the secret calculation method is a secret calculation method using three secret calculation devices.
- the secret calculation method includes a step of obtaining a logical product of S [i] and S ′ [i] as a first logical product, and a logical product of T [i] and T ′ [i] as a second logical product. As a step.
- the secret calculation method includes a step of obtaining a difference between the first logical product and the second logical product.
- secret calculation system secret calculation device, and secret calculation method according to the present invention, it is possible to realize a secret calculation that is easy to add and requires a small amount of communication and calculation necessary for multiplication.
- FIG. 1 is a block diagram illustrating the configuration of a secret calculation system 100 according to an embodiment.
- the secret calculation system 100 includes three secret calculation devices 10, 20, and 30.
- the secret computing devices 10, 20, and 30 are assumed to be first to third secret computing devices, respectively.
- calculation of addition can be performed without performing communication between devices, and calculation of logical product can be performed with a small amount of calculation.
- FIG. 2 is a diagram illustrating a configuration of the secret calculation system 100 according to the present embodiment.
- the secret calculation system 100 includes three secret calculation devices 10, 20, and 30.
- FIG. 3 is a block diagram illustrating the configuration of the secret computing device 10.
- the secret computing devices 20 and 30 have the same configuration as the secret computing device 10.
- the secret calculation device 10 includes a local multiplication unit 36, a product redistribution unit 38, and a communication unit 24.
- the local multiplication unit 36 includes a holding unit 12, multiplication units 14 and 16, and a subtraction unit 18.
- the product redistribution unit 38 includes an addition unit 22 and an addition / subtraction unit 26.
- the secret computing devices 10, 20, and 30 hold the value W in a distributed manner.
- R [1] ⁇ ⁇ + R [2] + R [3] 0 mod Q
- three randomly chosen numbers R [1], R [2], R [ 3] the holding unit 12 of the secret computing device 10 holds (R [1], R [3]-W mod Q).
- the holding unit 12 of the secret computing device 20 holds (R [2], R [1]-W mod Q)
- the holding unit 12 of the secret computing device 30 has (R [3], R [2].
- W can be restored when two of the three secret computing devices 10, 20, and 30 cooperate.
- the multiplication unit 14 performs a logical product of the first input first element S [1] and the second input first element S ′ [1] held by the holding unit 12. Is output to the subtracting unit 18.
- the multiplication unit 16 obtains a logical product of the first input second element T [2] and the second input second element T ′ [1] and outputs the logical product to the subtraction unit 18.
- (U [1], U [2], U [3]) is obtained by dispersing W ⁇ W ′ into three values.
- W ⁇ W '+ Z mod Q is (U [1] + U' [1] mod Q, U [2] + U '[2] mod Q, U [3] + U '[3] mod Q) is distributed over three values.
- the secret computing device 10 holds U [1] and U ′ [1]
- the secret computing device 20 holds U [2] and U ′ [2]
- the secret computing device 30 is U [3] and U ′.
- the newly distributed values can be calculated without each secret computing device communicating with other secret computing devices. That is, when a certain function is composed of a sum and a product on modQ, the sum can be calculated without communicating with each other until the next product is input.
- the following processing may be performed.
- the product redistribution unit 38 of the secret computing devices 10, 20, and 30 is used to distribute the logical product W "to the three secret computing devices in the same format as W and W '.
- the secret computing devices 10, 20, 30 input the passed mask V [i] to the product redistribution unit 38.
- the communication unit 24 of the secret computing device 30 transmits the obtained first sum X [3] to the secret computing device 20.
- the data is transmitted to the secret computing device 10 via the 20 communication units 24.
- the data is transmitted to the secret computing device 30 via the unit 24.
- the secret computing devices 10, 20, and 30 receive the first sums X [2], X [3], and X [1] from the communication unit 24, respectively, and receive the received first sums X [2] and X [3]. , X [1] is output to the adder / subtractor 26.
- the secret computing devices 10, 20, and 30 receive the first sum X [1], X [2], X [3] calculated by each adder 22 and the received first sum X [2], X [3 ], X [1], the first output element S ′′ [i] and the second output element T ′′ [i] are calculated.
- the value of the logical product W ′′ can be restored from the two secret computing devices based on the restoration method when the secret computing device 10 and the secret computing device 20 cooperate without losing generality. That is, using the output first element S ′′ [1] from the secret computing device 10 and the output second element T ′′ [2] from the secret computing device 20, the logic is as follows: The product W "can be restored.
- the secret calculation system uses the secret calculation system according to the present embodiment to calculate the sum of two values mod Q distributed and held in the three secret calculation devices without the secret calculation devices communicating with each other. It is possible to hold the information in a distributed form in the secret computing device.
- the method of holding the sum calculation result is the same as the method of holding the two respective bits first.
- the secret calculation devices calculate the product on mod ⁇ Q of the two values distributed and held in the three secret calculation devices while communicating with each other. It is possible to hold them in a distributed form on one secret computing device.
- the amount of communication generated at this time is only 3n bits as a whole, and is much smaller than the amount of communication required for the secret calculation between the two devices described in Non-Patent Document 2.
- the method of holding the value of the product calculation result is also the same as the method when the two values are initially held.
- a secret calculation system also contributes to preventing the administrator of the secret calculation device from stealing data when providing some service while handling secret data on the secret calculation device. Because, by assigning different administrators to multiple secret computing devices, there is no administrator who can refer to the data in all the secret computing devices, preventing data stealing through the administrators Because you can.
- FIG. 4 is a block diagram illustrating the configuration of the secret calculation device 10 in the secret calculation system of this embodiment.
- the secret computing devices 20 and 30 have the same configuration as the secret computing device 10.
- the secret calculation device 10 further includes a mask generation unit 42 with respect to the secret calculation device 10 (FIG. 3) of the first embodiment.
- the mask generation unit 42 includes a key generation unit 28, a pseudo random number generation unit 32, and a subtraction unit 34. Note that the operations of the local multiplication unit 36 and the product redistribution unit 38 in the present embodiment are the same as the operations of these elements in the first embodiment, and a description thereof will be omitted.
- K be a safety variable.
- the key generation units 28 of the secret computing devices 10, 20, and 30 generate K-bit keys L [1], L [2], and L [3], respectively.
- the communication unit 24 of the secret computing device 10 transmits the generated key L [1] to the secret computing device 30.
- the communication unit 24 of the secret computing device 20 transmits the generated key L [2] to the secret computing device 10.
- the communication unit 24 of the secret calculation device 30 transmits the generated key L [3] to the secret calculation device 20.
- the communication units 24 of the secret computing devices 10, 20, and 30 receive the keys L [2], L [3], and L [1] from the secret computing devices 20, 30, and 10, respectively.
- the received key is referred to as a reception key.
- the pseudo random number generator 32 includes a pseudo random number generator PRG.
- PRG is a pseudo-random number generator that outputs a character string of nN bits from a character string of K bits.
- the pseudo random number generation unit 32 of the secret computing device 10 generates a first pseudo random number PRG (L [1]) from the key L [1], and also generates a second pseudo random number PRG (L [2] from the reception key L [2]. ) Is generated.
- the subtracting unit 34 divides the first pseudo random number PRG (L [1]) and the second pseudo random number PRG (L [2]) into n bits, and obtains the difference on mod Q, thereby obtaining n bits.
- N random numbers.
- the secret computing device 20 generates the first pseudo random number PRG (L [2]) and the second pseudo random number PRG (L [3]) using the pseudo random number generation unit 32 and uses the subtraction unit 34 to generate the first pseudo random number PRG (L [2]).
- An n-bit random number N sequence is generated from the first pseudorandom number PRG (L [2]) and the second pseudorandom number PRG (L [3]).
- the secret computing device 30 generates a first pseudo random number PRG (L [3]) and a second pseudo random number PRG (L [1]) using the pseudo random number generation unit 32 and uses the subtraction unit 34 to generate the first pseudo random number PRG (L [3]).
- an n-bit random number N sequence is generated from the pseudorandom number PRG (L [3]) and the second pseudorandom number PRG (L [1]).
- the mask generation unit 42 of the secret computing device 20 supplies the generated random number V [i, 2] to the addition unit 22 of the product redistribution unit 38.
- the mask generation unit 42 of the secret calculation device 30 supplies the generated random number V [i, 3] to the addition unit 22 of the product redistribution unit 38.
- the secret calculation system provides the same effects as the secret calculation system according to the first embodiment. Furthermore, according to the secret calculation system of this embodiment, a secret calculation of a large number of products can be executed at high speed by using the mask generated by the mask generation unit.
- the sum X [i] calculated by the adding unit is transmitted to the ⁇ (i + 1 1 mod 3) +1 ⁇ th secret computation device, and the sum of the (i mod 3 + 1) th secret computation device
- a communication unit that receives the sum X [i mod 3 + 1] calculated by the addition unit; Addition / subtraction for calculating a variance value (S "
- the communication unit transmits the key L [i] to the ⁇ (i + 1 1 mod 3) +1 ⁇ -th secret computation device and the key of the (i mod 3 + 1) -th secret computation device
- the key L [i mod 3 + 1] calculated by the generation unit is received,
- the pseudo-random number generator generates a first pseudo-random number based on the key L [i], and generates a second pseudo-random number based on the key L [i mod 3 + 1],
- the second subtracting unit extracts the first pseudo
- the secret calculation system according to any one of Forms 1 to 4.
- [Form 7] This is the same as the secret calculation device according to the second aspect.
- [Form 8] This is the same as the secret calculation method according to the third aspect.
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Nonlinear Science (AREA)
- Storage Device Security (AREA)
Abstract
Description
本発明は、日本国特許出願:特願2015-169992号(2015年8月31日出願)に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、秘密計算装置、秘密計算システム、および、秘密計算方法に関し、特に、複数の秘密計算装置が互いに通信しつつ与えられた関数の出力を計算し、所定の数の秘密装置の間でデータを共有しない限り、関数に対する入力および出力の情報を得ることができない秘密計算システム、かかる秘密計算システムを構成する秘密計算装置、および、秘密計算システムによる秘密計算方法に関する。
(S[1], T[1]) = (R[1], R[3] - W mod Q),
(S[2], T[2]) = (R[2], R[1] - W mod Q),
(S[3], T[3]) = (R[3], R[2] - W mod Q),
(S'[1], T'[1]) = (R'[1], R'[3] - W' mod Q),
(S'[2], T'[2]) = (R'[2], R'[1] - W' mod Q),
(S'[3], T'[3]) = (R'[3], R'[2] - W' mod Q)とすることができる。ここで、Qは3と互いに素な整数(例えば、nを自然数としてQ = 2^n)である。
次に、第1の実施形態に係る秘密計算システムについて、図面を参照して説明する。
次に、秘密計算装置10、20、30の間での通信を行うことなく、加算が可能であることを説明する。ビットWとW’がそれぞれ秘密計算装置10、20、30に分散されているときに、分散されたままで、これらの加算を計算するには、以下のようにする。
次に、否定の計算について説明する。ビットWが装置10、20、30に分散されているときに、分散されたままでビットWの否定を計算するには、次のようにする。
次に、論理積の計算について説明する。論理積の計算において、図3に示した局所乗算部36および積再分配部38を使用する。ビットWとW’がそれぞれ、秘密計算装置10、20、30に分散されているときに、分散されたままでこれらの論理積W" = W・W' mod Qを計算するには、次のようにする。
= {(T[1]・T’[1] - S[1]・S’[1]) + (T[2]・T’[2] - S[2]・S’[2]) + (T[3]・T’[3] - S[3]・S’[3])}/3 mod Q
= {-S[1]S’[1] + (R[3] - W)(R’[3] - W’) - S[2]S’[2] + (R[1] - W)(R’[1] - W’) - S[3]S’[3] + (R[2] - W)(R’[2] - W’)}/3 mod Q
= {-R[1]R’[1] + R[3]R’[3] - R[3]W’ - W R’[3] + WW’
- R[2]R’[2] + R[1]R’[1] - R[1]W’ - W R’[1] + WW’
- R[3]R’[3] + R[2]R’[2] - R[2]W’ - W R’[2] + WW’}/3 mod Q
= 3WW’/3 mod Q
= WW’ mod Q
= U[1] + V[1] + U[2] + U[3] + V[2] + V[3] mod Q
= U[1] + U[2] + U[3] mod Q
= W"
= X[1] - X[2] + X[2] - X[3] + X[3] - X[1] mod Q
= 0 mod Q
本実施形態に係る秘密計算システムを用いれば、3つの秘密計算装置に分散されて保持された2つの値のmod Q上の和を、これら秘密計算装置が互いに通信することなく計算し、3つの秘密計算装置に分散された形で保持することが可能となる。ここで、和の計算結果を保持する方法は、最初に2つのそれぞれのビットを保持する方法と同一である。
次に、第2の実施形態に係る秘密計算システムについて、図面を参照して説明する。図4は、本実施形態の秘密計算システムにおける秘密計算装置10の構成を例示するブロック図である。秘密計算装置20、30も、秘密計算装置10と同様の構成を有する。
[形態1]
上記第1の態様に係る秘密計算システムのとおりである。
[形態2]
R[1], R[2], R[3]およびR'[1], R'[2], R'[3]を、R[1] + R[2] + R[3] = 0 mod Q(Qは3と互いに素な整数), R'[1] + R'[2] + R'[3] = 0 mod Qを満たすnビットの乱数とした場合、前記分散値は、
(S[1], T[1]) = (R[1], R[3] - W mod Q),
(S[2], T[2]) = (R[2], R[1] - W mod Q),
(S[3], T[3]) = (R[3], R[2] - W mod Q),
(S'[1], T'[1]) = (R'[1], R'[3] - W' mod Q),
(S'[2], T'[2]) = (R'[2], R'[1] - W' mod Q),
(S'[3], T'[3]) = (R'[3], R'[2] - W' mod Q)である、
形態1に記載の秘密計算システム。
[形態3]
前記保持部は、前記第1および第2の乗算部ならびに前記第1の減算部を用いて算出された局所積要素U[i] = (S[i]・S'[i] - T[i]・T'[i])/3 mod Q(Qは3と互いに素な整数)を保持し、
前記第i番目の秘密計算装置(i = 1, 2, 3)は、それぞれ、V[1], V[2], V[3]を、V[1] + V[2] + V[3] = 0 mod Qを満たすnビットの乱数とした場合、
U[i]とV[i]の和X[i]を求める加算部と、
前記加算部によって算出された和X[i]を第{(i + 1 mod 3) + 1}番目の秘密計算装置に送信するとともに、第(i mod 3 + 1)番目の秘密計算装置の前記加算部によって算出された和X[i mod 3 + 1]を受信する通信部と、
前記和X[i]および前記和X[i mod 3 + 1]を用いた加減算に基づいて、積W・W'の分散値(S"[i], T"[i])を算出する加減算部と、を備える、
形態1または2に記載の秘密計算システム。
[形態4]
前記分散値は(S"[i], T"[i]) = (X[i] - X[i mod 3 + 1] mode Q, -2X[i] - X[i mod 3 + 1])である、
形態3に記載の秘密計算システム。
[形態5]
前記第i番目の秘密計算装置(i = 1, 2, 3)は、それぞれ、
Kビット(Kは自然数)の鍵L[i]を生成する鍵生成部と、
Kビットの鍵からnNビット(Nは自然数)の乱数を生成する疑似乱数生成部と、
nNビットの2つの数からnビットごとに抽出してmod Q(Qは3と互いに素な整数)上の差を算出する第2の減算部と、を備え、
前記通信部は、前記鍵L[i]を第{(i + 1 mod 3) + 1}番目の秘密計算装置に送信するとともに、第(i mod 3 + 1)番目の秘密計算装置の前記鍵生成部によって算出された鍵L[i mod 3 + 1]を受信し、
前記疑似乱数生成部は、前記鍵L[i]に基づいて第1の疑似乱数を生成するとともに、前記鍵L[i mod 3 + 1]に基づいて第2の疑似乱数を生成し、
前記第2の減算部は、前記第1の疑似乱数および前記第2の疑似乱数をnビットごとに抽出してmod Q上の差を算出する、
形態1ないし4のいずれか一に記載の秘密計算システム。
[形態6]
前記i番目の秘密計算装置(i = 1, 2, 3)の前記加算部は、前記第2の減算部によって算出された値を前記乱数V[i]として使用する、
形態5に記載の秘密計算システム。
[形態7]
上記第2の態様に係る秘密計算装置のとおりである。
[形態8]
上記第3の態様に係る秘密計算方法のとおりである。
[形態9]
R[1], R[2], R[3]およびR'[1], R'[2], R'[3]を、R[1] + R[2] + R[3] = 0 mod Q(Qは3と互いに素な整数), R'[1] + R'[2] + R'[3] = 0 mod Qを満たすnビットの乱数とした場合、前記分散値は、
(S[1], T[1]) = (R[1], R[3] - W mod Q),
(S[2], T[2]) = (R[2], R[1] - W mod Q),
(S[3], T[3]) = (R[3], R[2] - W mod Q),
(S'[1], T'[1]) = (R'[1], R'[3] - W' mod Q),
(S'[2], T'[2]) = (R'[2], R'[1] - W' mod Q),
(S'[3], T'[3]) = (R'[3], R'[2] - W' mod Q)である、
形態8に記載の秘密計算方法。
[形態10]
前記第i番目の秘密計算装置(i = 1, 2, 3)が、それぞれ、前記求めた差を用いて算出された局所積要素U[i] = (S[i]・S'[i] - T[i]・T'[i])/3 mod Q(Qは3と互いに素な整数)を保持するステップと、
V[1], V[2], V[3]を、V[1] + V[2] + V[3] = 0 mod Qを満たすnビットの乱数とした場合、
U[i]とV[i]の和X[i]を求めるステップと、
前記算出された和X[i]を第{(i + 1 mod 3) + 1}番目の秘密計算装置に送信するステップと、
第(i mod 3 + 1)番目の秘密計算装置によって算出された和X[i mod 3 + 1]を受信するステップと、
前記和X[i]および前記和X[i mod 3 + 1]を用いた加減算に基づいて、積W・W'の分散値(S"[i], T"[i])を算出するステップと、を含む、
形態8または9に記載の秘密計算方法。
[形態11]
前記分散値は(S"[i], T"[i]) = (X[i] - X[i mod 3 + 1] mode Q, -2X[i] - X[i mod 3 + 1])である、
形態10に記載の秘密計算方法。
12 保持部
14、16 乗算部
18、34 減算部
22 加算部
24 通信部
26 加減算部
28 鍵生成部
32 擬似乱数生成部
36 局所乗算部
38 積再分配部
42 マスク生成部
100 秘密計算システム
Claims (10)
- 3台の秘密計算装置を備えた秘密計算システムであって、
第i番目の秘密計算装置(i = 1, 2, 3)は、nビット(nは任意の自然数)の数WおよびnビットのW'の分散値として、それぞれ、(S[i], T[i])および(S'[i], T'[i])を保持する保持部と、
S[i]とS'[i]の論理積を求める第1の乗算部と、
T[i]とT'[i]の論理積を求める第2の乗算部と、
前記第1の乗算部が求めた論理積と、前記第2の乗算部が求めた論理積との差を求める第1の減算部と、を有する、
ことを特徴とする秘密計算システム。 - R[1], R[2], R[3]およびR'[1], R'[2], R'[3]を、R[1] + R[2] + R[3] = 0 mod Q(Qは3と互いに素な整数である), R'[1] + R'[2] + R'[3] = 0 mod Qを満たすnビットの乱数とした場合、前記分散値は、
(S[1], T[1]) = (R[1], R[3] - W mod Q),
(S[2], T[2]) = (R[2], R[1] - W mod Q),
(S[3], T[3]) = (R[3], R[2] - W mod Q),
(S'[1], T'[1]) = (R'[1], R'[3] - W' mod Q),
(S'[2], T'[2]) = (R'[2], R'[1] - W' mod Q),
(S'[3], T'[3]) = (R'[3], R'[2] - W' mod Q)である、
請求項1に記載の秘密計算システム。 - 前記保持部は、前記第1および第2の乗算部ならびに前記第1の減算部を用いて算出された局所積要素U[i] = (S[i]・S'[i] - T[i]・T'[i])/3 mod Q(Qは3と互いに素な整数)を保持し、
前記第i番目の秘密計算装置(i = 1, 2, 3)は、それぞれ、V[1], V[2], V[3]を、V[1] + V[2] + V[3] = 0 mod Qを満たすnビットの乱数とした場合、
U[i]とV[i]の和X[i]を求める加算部と、
前記加算部によって算出された和X[i]を第{(i + 1 mod 3) + 1}番目の秘密計算装置に送信するとともに、第(i mod 3 + 1)番目の秘密計算装置の前記加算部によって算出された和X[i mod 3 + 1]を受信する通信部と、
前記和X[i]および前記和X[i mod 3 + 1]を用いた加減算に基づいて、積W・W'の分散値(S"[i], T"[i])を算出する加減算部と、を備える、
請求項1または2に記載の秘密計算システム。 - 前記分散値は(S"[i], T"[i]) = (X[i] - X[i mod 3 + 1] mode Q, -2X[i] - X[i mod 3 + 1])である、
請求項3に記載の秘密計算システム。 - 前記第i番目の秘密計算装置(i = 1, 2, 3)は、それぞれ、
Kビット(Kは自然数)の鍵L[i]を生成する鍵生成部と、
Kビットの鍵からnNビット(Nは自然数)の乱数を生成する疑似乱数生成部と、
nNビットの2つの数からnビットごとに抽出してmod Q(Qは3と互いに素な整数)上の差を算出する第2の減算部と、を備え、
前記通信部は、前記鍵L[i]を第{(i + 1 mod 3) + 1}番目の秘密計算装置に送信するとともに、第(i mod 3 + 1)番目の秘密計算装置の前記鍵生成部によって算出された鍵L[i mod 3 + 1]を受信し、
前記疑似乱数生成部は、前記鍵L[i]に基づいて第1の疑似乱数を生成するとともに、前記鍵L[i mod 3 + 1]に基づいて第2の疑似乱数を生成し、
前記第2の減算部は、前記第1の疑似乱数および前記第2の疑似乱数をnビットごとに抽出してmod Q上の差を算出する、
請求項1ないし4のいずれか1項に記載の秘密計算システム。 - 前記i番目の秘密計算装置(i = 1, 2, 3)の前記加算部は、前記第2の減算部によって算出された値を前記乱数V[i]として使用する、
請求項5に記載の秘密計算システム。 - 請求項1ないし6のいずれか1項に記載の秘密計算システムに含まれる一の秘密計算装置。
- 3台の秘密計算装置を用いた秘密計算方法であって、
第i番目の秘密計算装置(i = 1, 2, 3)が、nビット(nは任意の自然数)の数WおよびnビットのW'の分散値として、それぞれ、(S[i], T[i])および(S'[i], T'[i])を保持するステップと、
S[i]とS'[i]の論理積を第1の論理積として求めるステップと、
T[i]とT'[i]の論理積を第2の論理積として求めるステップと、
前記第1の論理積と、前記第2の論理積との差を求めるステップと、を含む、
ことを特徴とする秘密計算方法。 - R[1], R[2], R[3]およびR'[1], R'[2], R'[3]を、R[1] + R[2] + R[3] = 0 mod Q(Qは3と互いに素な整数), R'[1] + R'[2] + R'[3] = 0 mod Qを満たすnビットの乱数とした場合、前記分散値は、
(S[1], T[1]) = (R[1], R[3] - W mod Q),
(S[2], T[2]) = (R[2], R[1] - W mod Q),
(S[3], T[3]) = (R[3], R[2] - W mod Q),
(S'[1], T'[1]) = (R'[1], R'[3] - W' mod Q),
(S'[2], T'[2]) = (R'[2], R'[1] - W' mod Q),
(S'[3], T'[3]) = (R'[3], R'[2] - W' mod Q)である、
請求項8に記載の秘密計算方法。 - 前記第i番目の秘密計算装置(i = 1, 2, 3)が、それぞれ、前記求めた差を用いて算出された局所積要素U[i] = (S[i]・S'[i] - T[i]・T'[i])/3 mod Q(Qは3と互いに素な整数)を保持するステップと、
V[1], V[2], V[3]を、V[1] + V[2] + V[3] = 0 mod Qを満たすnビットの乱数とした場合、
U[i]とV[i]の和X[i]を求めるステップと、
前記算出された和X[i]を第{(i + 1 mod 3) + 1}番目の秘密計算装置に送信するステップと、
第(i mod 3 + 1)番目の秘密計算装置によって算出された和X[i mod 3 + 1]を受信するステップと、
前記和X[i]および前記和X[i mod 3 + 1]を用いた加減算に基づいて、積W・W'の分散値(S"[i], T"[i])を算出するステップと、を含む、
請求項8または9に記載の秘密計算方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/755,888 US10924270B2 (en) | 2015-08-31 | 2016-08-29 | Secret calculation system, secret calculation apparatus, and secret calculation method |
EP16841793.9A EP3346455B1 (en) | 2015-08-31 | 2016-08-29 | Secret calculation system, secret calculation apparatus, and secret calculation method |
JP2017538016A JP6607257B2 (ja) | 2015-08-31 | 2016-08-29 | 秘密計算システム、秘密計算装置、および、秘密計算方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015169992 | 2015-08-31 | ||
JP2015-169992 | 2015-08-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017038761A1 true WO2017038761A1 (ja) | 2017-03-09 |
Family
ID=58187571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/075186 WO2017038761A1 (ja) | 2015-08-31 | 2016-08-29 | 秘密計算システム、秘密計算装置、および、秘密計算方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10924270B2 (ja) |
EP (1) | EP3346455B1 (ja) |
JP (1) | JP6607257B2 (ja) |
WO (1) | WO2017038761A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2021149092A1 (ja) * | 2020-01-20 | 2021-07-29 | ||
US11381390B2 (en) | 2017-10-31 | 2022-07-05 | Nec Corporation | Secure computation apparatus, system, method and program |
US11599681B2 (en) | 2017-05-18 | 2023-03-07 | Nec Corporation | Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11991178B2 (en) * | 2019-10-04 | 2024-05-21 | Nec Corporation | Secret computation system, secret computation server, auxiliary server, secret computation method, and program |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009093603A1 (ja) * | 2008-01-21 | 2009-07-30 | Nippon Telegraph And Telephone Corporation | 秘密計算システム |
JP2011199821A (ja) * | 2010-02-24 | 2011-10-06 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算システム、秘密計算方法、計算装置 |
WO2012102203A1 (ja) * | 2011-01-24 | 2012-08-02 | 日本電信電話株式会社 | 秘匿積和計算方法、秘匿積和計算システム、計算装置、及びそれらのプログラム |
WO2012121333A1 (ja) * | 2011-03-10 | 2012-09-13 | 日本電信電話株式会社 | 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム |
US20120233460A1 (en) * | 2011-03-09 | 2012-09-13 | Microsoft Corporation | Server-aided multi-party protocols |
WO2014112548A1 (ja) * | 2013-01-17 | 2014-07-24 | 日本電信電話株式会社 | 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102725737B (zh) * | 2009-12-04 | 2016-04-20 | 密码研究公司 | 可验证防泄漏的加密和解密 |
US8700906B2 (en) * | 2011-01-14 | 2014-04-15 | Microsoft Corporation | Secure computing in multi-tenant data centers |
US8977847B1 (en) * | 2013-03-13 | 2015-03-10 | Emc Corporation | Distributed challenge-response authentication |
-
2016
- 2016-08-29 EP EP16841793.9A patent/EP3346455B1/en active Active
- 2016-08-29 US US15/755,888 patent/US10924270B2/en active Active
- 2016-08-29 JP JP2017538016A patent/JP6607257B2/ja active Active
- 2016-08-29 WO PCT/JP2016/075186 patent/WO2017038761A1/ja active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009093603A1 (ja) * | 2008-01-21 | 2009-07-30 | Nippon Telegraph And Telephone Corporation | 秘密計算システム |
JP2011199821A (ja) * | 2010-02-24 | 2011-10-06 | Nippon Telegr & Teleph Corp <Ntt> | 秘密計算システム、秘密計算方法、計算装置 |
WO2012102203A1 (ja) * | 2011-01-24 | 2012-08-02 | 日本電信電話株式会社 | 秘匿積和計算方法、秘匿積和計算システム、計算装置、及びそれらのプログラム |
US20120233460A1 (en) * | 2011-03-09 | 2012-09-13 | Microsoft Corporation | Server-aided multi-party protocols |
WO2012121333A1 (ja) * | 2011-03-10 | 2012-09-13 | 日本電信電話株式会社 | 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム |
WO2014112548A1 (ja) * | 2013-01-17 | 2014-07-24 | 日本電信電話株式会社 | 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11599681B2 (en) | 2017-05-18 | 2023-03-07 | Nec Corporation | Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program |
US11381390B2 (en) | 2017-10-31 | 2022-07-05 | Nec Corporation | Secure computation apparatus, system, method and program |
JPWO2021149092A1 (ja) * | 2020-01-20 | 2021-07-29 | ||
WO2021149092A1 (ja) * | 2020-01-20 | 2021-07-29 | 日本電気株式会社 | 秘密計算システム、秘密計算サーバ装置、秘密計算方法および秘密計算プログラム |
JP7396373B2 (ja) | 2020-01-20 | 2023-12-12 | 日本電気株式会社 | 秘密計算システム、秘密計算サーバ装置、秘密計算方法および秘密計算プログラム |
Also Published As
Publication number | Publication date |
---|---|
US10924270B2 (en) | 2021-02-16 |
JPWO2017038761A1 (ja) | 2018-07-12 |
EP3346455B1 (en) | 2020-09-30 |
EP3346455A1 (en) | 2018-07-11 |
EP3346455A4 (en) | 2019-05-22 |
US20180270057A1 (en) | 2018-09-20 |
JP6607257B2 (ja) | 2019-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114586313B (zh) | 用于签署一信息的系统及方法 | |
Wang et al. | Cryptanalysis of a symmetric fully homomorphic encryption scheme | |
Almaiah et al. | A new hybrid text encryption approach over mobile ad hoc network | |
JP6493697B2 (ja) | 秘密計算装置、方法、記録媒体、および秘密計算システム | |
JP6607257B2 (ja) | 秘密計算システム、秘密計算装置、および、秘密計算方法 | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
JP6517436B2 (ja) | 暗号化デバイス及び符号化デバイス | |
EP2742644B1 (en) | Encryption and decryption method | |
US6111952A (en) | Asymmetrical cryptographic communication method and portable object therefore | |
Boer et al. | Secure sum outperforms homomorphic encryption in (current) collaborative deep learning | |
JP7173170B2 (ja) | 情報処理装置、秘密計算方法及びプログラム | |
JP4690819B2 (ja) | 楕円曲線暗号におけるスカラー倍計算方法およびスカラー倍計算装置 | |
JP6053983B2 (ja) | 暗号システム、署名システム、暗号プログラム及び署名プログラム | |
WO2020165931A1 (ja) | 情報処理装置、秘密計算方法及びプログラム | |
JP2007124610A (ja) | 秘密情報分散装置及び秘密情報復元装置及び方法及びプログラム | |
WO2022006483A1 (en) | Methods and systems for homomorphic data representation and concealment powered by clifford geometric algebra | |
EP4022837A1 (en) | Multi-party cryptographic systems and methods | |
JP2000035757A (ja) | 暗号化/復号化装置と公開鍵暗号化システムおよび暗号化/復号化方法と公開鍵暗号化方法 | |
Sethi et al. | Multi-Way encryption using elliptic curve cryptography | |
Banerjee et al. | Improved Trial Division Technique for Primality Checking in RSA Algorithm | |
Basilakis et al. | A General Framework for Privacy-preserving Computation on Cloud Environments | |
Shahbazian et al. | Real Time Streaming Algorithm | |
Margarov et al. | Real Time Streaming Algorithm | |
JP5578553B2 (ja) | 公開鍵暗号技術におけるドメインパラメータの生成 | |
Alsheikhy et al. | Parallelized Multi-Key Multi-Stage Cryptography |
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: 16841793 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2017538016 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15755888 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2016841793 Country of ref document: EP |