WO2019111319A1 - 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体 - Google Patents

秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体 Download PDF

Info

Publication number
WO2019111319A1
WO2019111319A1 PCT/JP2017/043631 JP2017043631W WO2019111319A1 WO 2019111319 A1 WO2019111319 A1 WO 2019111319A1 JP 2017043631 W JP2017043631 W JP 2017043631W WO 2019111319 A1 WO2019111319 A1 WO 2019111319A1
Authority
WO
WIPO (PCT)
Prior art keywords
share
secret
server device
random number
value
Prior art date
Application number
PCT/JP2017/043631
Other languages
English (en)
French (fr)
Inventor
光 土田
俊則 荒木
一真 大原
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to US16/769,792 priority Critical patent/US11290456B2/en
Priority to PCT/JP2017/043631 priority patent/WO2019111319A1/ja
Priority to JP2019557897A priority patent/JP6974804B2/ja
Publication of WO2019111319A1 publication Critical patent/WO2019111319A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Definitions

  • the present invention relates to a secret calculation protocol, and more particularly to a secret equality determination system capable of efficiently performing secret equality determination, a secret equality determination method, and a secret equality determination program recording medium.
  • the secret calculation protocol is a technology capable of obtaining only the calculation result while concealing the input of each participant of the protocol and the value of the calculation process.
  • a secret calculation protocol a general scheme capable of performing arbitrary calculations based on logic circuits or arithmetic circuits has been proposed.
  • the communication cost is evaluated by two evaluation axes of the number of communication rounds and the amount of communication.
  • the number of communication rounds refers to the number of communication that has occurred between the participants of the secret calculation protocol when performing a certain calculation process by the secret calculation protocol.
  • the secret calculation protocol For example, let three participants in the secret calculation protocol be P1, P2, and P3. Assuming that one communication is performed between P1-P2, one communication between P2-P3, and one communication between P3-P1 when a certain calculation process is executed by the secret calculation protocol. Note that if communication can be performed in parallel, count the number of communication rounds as one round.
  • the communication amount is the amount of communication data generated between each participant of the secret calculation protocol when a certain calculation process is executed by the secret calculation protocol.
  • Multi-Party Computation (MPC) technology As one technology for realizing confidential search, Multi-Party Computation (MPC) technology is known (see, for example, Non-Patent Document 1).
  • the MPC two or more server apparatuses each having secret information cooperate to calculate and calculate an arbitrary function value to which the secret information is input without leaking the respective secret information.
  • the data to be deposited is distributed and held in the two or more server devices by the secret sharing method (see, for example, Non-Patent Document 1).
  • the secret sharing method see, for example, Non-Patent Document 1.
  • “1 is defined as a function that returns 1 when data including certain partial data is secret-distributed and stored in the server device, and 0 otherwise”.
  • Non-Patent Document 1 As means for realizing MPC, there is a means using Shamir's threshold secret sharing (SSS) described in Non-Patent Document 1. First, Non-Patent Document 1 will be described.
  • SSS Shamir's threshold secret sharing
  • the threshold type secret sharing method is a technology for converting secret information into a plurality of pieces of shared information.
  • secret information can be restored by collecting the number of converted shared information equal to or greater than the threshold, and the original secret information is not leaked from the number of distributed information equal to or less than the threshold. It has a feature.
  • the SSS of Non-Patent Document 1 is a method of secretly distributing the number a belonging to the finite field Zp with N server devices, and uses a k ⁇ 1 order polynomial f_a (x).
  • f_a (0) a
  • points f_a (i) on polynomials are distributed to the ith server apparatus (1 ⁇ i ⁇ N).
  • the information f_a (i) to be distributed is called the distributed information of x in SSS.
  • the k-1 order polynomial f_a (x) can be uniquely restored from k points on the polynomial, so f_a (0) which is secret information should be obtained.
  • Non-Patent Document 2, Non-Patent Document 3, Non-Patent Document 4, and Non-Patent Document 5 can be given as general methods that can execute arbitrary calculations.
  • the types of rough methods are divided into Garbled Circuit-based methods represented by Non-Patent Document 4 and secret sharing method-based methods such as Non-Patent Document 2, Non-Patent Document 3 and Non-Patent Document 5.
  • secret sharing method original secret information can be restored by dispersing a certain value into a plurality of pieces and collecting the dispersed values by the number equal to or more than the threshold value.
  • the dispersed values are referred to as secret sharing data and shares.
  • Non-Patent Document 3 discloses a secret calculation protocol capable of performing calculations on logic circuits, arithmetic circuits, and circuits in which both are mixed. Unlike the non-patent document 2, the non-patent document 3 uses the secret sharing method of the non-patent document 1 and performs calculations on a field having a prime number p. For this reason, in Non-Patent Document 3, the amount of communication increases in proportion to the size of the order of the body.
  • the values in the logic circuit and the values in the arithmetic circuit both belong to a field having a prime number p.
  • the calculation can be performed with the number of communication rounds of constant times regardless of the order size. However, it requires a large amount of communication.
  • the value of the logic circuit can be calculated as a value belonging to the ring of order 2 and the value of the arithmetic circuit as a value belonging to the ring of order 2 ⁇ n '(n' is an integer greater than 2).
  • the values 0 and 1 in the logic circuit also need to be calculated on the field having prime p as the order number, so Non-Patent Document 2 can suppress the amount of communication smaller.
  • Non-Patent Document 2 can execute with a smaller amount of communication.
  • the number of communication rounds increases in proportion to the depth of the circuit of calculation processing.
  • the circuit depth of calculation processing is not the maximum total number of gates that need to pass from the input gate to the output gate, but the maximum of AND gates and multiplication gates that need to pass from the input gate to the output gate. Indicates the total number of gates.
  • the circuit depth means the maximum total number of AND gates, multiplication gates and secret sharing restoration gates that need to pass from the input gate to the output gate.
  • Non-Patent Document 5 discloses a secret calculation protocol capable of performing calculations on a circuit in which both a logic circuit and an arithmetic circuit are mixed.
  • the scheme of Non-Patent Document 5 is a scheme based on a duplicate secret sharing scheme on a residual ring, and the amount of communication increases in proportion to the order size.
  • the method of Non-Patent Document 5 is different from the method of Non-Patent Document 3 in the same manner as the method of Non-Patent Document 2, and when calculating a mixed circuit of a logic circuit and an arithmetic circuit, a ring corresponding to each value It is possible to calculate above. Therefore, Non-Patent Document 5 can suppress the amount of communication smaller than the method of Non-Patent Document 3.
  • Non-Patent Document 5 when performing the same calculation processing as in the method of performing calculation with the number of communication rounds of constant times such as Non-Patent Document 3 and Non-Patent Document 4, Non-Patent Document 5 can execute with a smaller amount of communication. However, in the method of Non-Patent Document 5, the number of communication rounds increases in proportion to the depth of the circuit of calculation processing.
  • a secret calculation protocol that is efficient in terms of the number of communication rounds can be said to be an effective scheme in a communication environment where the latency is large.
  • a secret calculation protocol that is efficient in terms of the amount of communication is an effective method in a communication environment where the communication band is narrow.
  • the secret sharing based secret calculation protocol since communication occurs in proportion to the circuit depth, processing throughput per unit time may be improved by processing a large number of inputs at one time. Therefore, in order to secure the throughput per unit time even in a communication environment where the communication bandwidth is narrow, it is particularly important to propose an efficient secret calculation protocol for the traffic.
  • the upper calculation protocol includes, for example, a secret equality judgment.
  • a value is obtained by taking elements a and b on a ring that are concealed as arguments and concealing 1 that is an element on the ring of order 2 if a and b match
  • secret equality determination is often used in character string processing such as partial match determination and distance calculation in a secret calculation protocol.
  • Non-Patent Document 2 uses a method that depends on the additive secret sharing method used in Non-Patent Document 2 when performing the secret equality judgment. For this reason, when performing a logical product or multiplication, it was not possible to carry out the same secret equality judgment using Non-Patent Document 5, which can be performed with a smaller amount of communication than Non-Patent Document 2.
  • the amount of communication is large when performing the secret equality judgment, in the communication environment where the communication band is narrow, the processing amount per unit time may decrease.
  • an increase in the communication amount in the secret equal-signature determination may cause a decrease in throughput per unit time of the entire calculation processing.
  • the object of the present invention is to solve the above problems, and when the bit length of the ring order is L, the number of communication rounds can be suppressed to O (Log (L)) regardless of the secret sharing method. It is an object of the present invention to provide a secret equality judgment system, a secret equality judgment method, and a secret equality judgment program recording medium.
  • one aspect of the present invention is a secret equality determination system including a random number generation server device connected via a network, a mask value restoration server device, and a plurality of secret calculation server devices,
  • the random number generation server device generates a share of a ring regarding a value of a difference between two operands and a random number generation unit that generates a random number, and generates a share of bits of the random number, and a share of bits of the random number
  • a secret shared data generation unit for sending the shared secret data to another server device; adding the random number to the share of the ring to create a masked secret shared data; and the masked secret shared data as the mask value restoration server device
  • Secret sign determination is performed using the share addition unit to be transmitted to; the share of the random number bit and the share of the restored value bit received from the mask value restoration server device, and the determination result is the other server device
  • a determination bit-conjunction section to be transmitted to; a secret for recovering the determination result based on the determination result and a determination
  • another aspect of the present invention is masked by the steps of generating a share of ring with respect to the value of the difference between two operands, generating a random number, and adding the random number to the share of the ring Generating secret shared data; transmitting the masked secret shared data to a mask value restoration server device; generating a share of bits of the random number; sharing of the bits of the random number; and restoring the mask value Secret equality determination using the bit share of the restored value received from the server device, and transmitting the determination result to the other server device, and the determination result and the determination result from the other server device And (e) restoring the share of the bit of the determination result based on the secret equality determination method in the random number generation server.
  • the communication amount is improved by improving the constituent elements while suppressing the number of communication rounds to O (Log (L)) while determining the secret equal sign judgment that can not know the calculated value or the judgment result or the value of the calculation process. It is possible to improve.
  • L is the bit length of the order of the ring.
  • FIG. 1 is a block diagram showing an example of a functional configuration of a system for judging a security equality sign according to a first embodiment of the present invention.
  • the secret equality determination system includes a random number generation server apparatus 100_0 referred to in FIG. 2 described later and a mask value restoration server apparatus referred to FIG. 110_1, and second to n-th (n is an integer of 2 or more) server apparatuses 110_2,. . . , 110_n.
  • the random number generation server device 100_0, the mask value restoration server device 110_1, and the second to n-th server devices 110_2 to 110_n communicate with a server device different from itself via the network. It is connected possible.
  • the random number generation server device 100_0 includes a random number generation unit 101_0, a share addition unit 102_0, a secret sharing data generation unit 103_0, a secret sharing data restoration unit 104_0, and a determination bit-conjunction unit 105_0. And a data storage unit 106_0.
  • the share adder 102_0 is communicably connected to the mask value restoration server 110_1 via a network.
  • the secret sharing data generation unit 103_0, the secret sharing data restoration unit 104_0, the determination bit-conjunction unit, and the data storage unit 106_0 are communicably connected via a network to a server apparatus different from the server apparatus including itself.
  • the random number generation unit 101_0 is communicably connected to the share addition unit 102_0 and the secret shared data generation unit 103_0.
  • the data storage unit 106_0 is communicably connected to the share addition unit 102_0, the secret shared data generation unit 103_0, the secret shared data restoration unit 104_0, and the determination bit-conjunction unit 105_0.
  • the mask value restoration server device 110_1 includes a secret shared data generation unit 113_1, a secret shared data restoration unit 114_1, a determination bit-conjunction unit 115_1, and a data storage unit 116_1.
  • Secret sharing data generation unit 113_1, secret sharing data restoration unit 114_1, determination bit-connection unit 115_1, and data storage unit 116_1 are communicably connected via a network to a server apparatus different from the server apparatus including itself. .
  • the data storage unit 116_1 is communicably connected to the secret shared data generation unit 113_1, the secret shared data restoration unit 114_1, and the determination bit-conjunction unit 115_1.
  • the secret sharing data generation unit 113_1 is communicably connected to the secret sharing data restoration unit 114_1.
  • the i-th secret calculation server device 110_i determines the i-th secret shared data generation unit 113_i, the i-th secret shared data restoration unit 114_i, and the i-th determination. It includes a bit-conjunction unit 115_i and an i-th data storage unit 116_i.
  • the secret sharing data restoration unit 113 _i, the secret sharing data restoration unit 114 _i, and the determination bit-conjunction unit 115 _i are communicably connected via a network to a server apparatus different from the server apparatus in which the self is included.
  • the data storage unit 116 _i is communicably connected to the secret shared data generation unit 113 _i, the secret shared data restoration unit 114 _i, and the determination bit-conjunction unit 115 _i.
  • the secret shared data of the determination result may be stored in the data storage units 106_0, 116_1, 116_2 to 116_n, and then passed to the secret shared data restoring units 104_0, 114_1, 114_2 to 114_n, respectively, to obtain restoration results.
  • FIG. 5 is a flowchart showing an operation example of the random number generation server device 100_0.
  • FIG. 6 is a flowchart showing an operation example of the mask value restoration server device 110_1.
  • FIG. 7 is a flow chart showing an operation example of the ith secret calculation server device 110_i.
  • [a] _B means secret shared data of value a on the ring of order 2.
  • [b] _R means secret shared data of value b on the ring of order greater than 2.
  • [a] _B will be referred to as the share of bits of a
  • [b] _R as the share of rings of b.
  • [a] _Bi, [b] _Ri when representing the share of the ith server apparatus 110_i, it is assumed that [a] _Bi, [b] _Ri.
  • [a] _ B0, [b] _ R0 In the case of representing the share of the mask value restoration server device 110_1, [a] _B1 and [b] _R1 are used.
  • Non Patent Literature 2 and Non Patent Literature 5 are taken as an example. here,
  • the bit length of a and b is L. That is, the bit length of the share of ring is L.
  • the result of the secret equality determination is output [1] _B when the equality holds, and outputs [0] _B when the equality does not hold.
  • Step A1 With reference to FIGS. 5 to 7, first, as an operation of the random number generation server device 100_0, the mask value restoration server device 110_1, or the ith server device 110_i, an input (first operand) a is input. It is passed to the secret sharing data generation unit 103_0, 113_1, or 113_i from an input device (not shown). The secret sharing data generation unit 103_0, 113_1, or 113_i generates the share [a] _R of the ring of the first operand a. The random number generation server device 100_0 stores [a] _R0 in the data storage unit 106_0. The mask value restoration server device 110_1 stores [a] _R1 in the data storage unit 116_1.
  • the i-th secret calculation server device 110 _i stores [a] _Ri in the i-th data storage unit 116 _i.
  • Step A1 is a step that occurs only when starting the calculation. Therefore, when the secret equality judgment is performed on the share of ring generated in the process of the secret calculation protocol, step A1 does not occur.
  • Step A2 the random number generation server device 100_0, the mask value restoration server device 110_1, and the ith secret calculation server device 110_i are stored in the respective data storage units 106_0, 116_1, 116_i [a] _R, [b] _R.
  • the ring share [a] _R ⁇ [b] _R [a ⁇ b] _R with respect to the value of the difference between the two operands is generated from the value of.
  • the random number generation server device 100_0, the mask value restoration server device 110_1, and the ith secret calculation server device 110_i respectively transmit [a ⁇ b] _R0, [a] to the respective data storage units 106_0, 116_1, 116_i. -B] _R1, save [a-b] _Ri.
  • Step B3 the random number generation unit 101_0 included in the random number generation server device 100_0 generates a random number r as a value on a ring having an order of greater than two. After generation, the random number generation unit 101_0 sends the random number r to the share addition unit 102_0 and the secret shared data generation unit 103_0.
  • Step B4 The share addition unit 102_0 included in the random number generation server device 100_0 takes out the share [a ⁇ b] _R0 of ring regarding the value of the difference between the two operands from the data storage unit 106_0.
  • the secret shared data is sent to the secret shared data restoring unit 114_1 included in the mask value restoring server device 110_1.
  • Step C5 the secret sharing data recovery unit 114_1 included in the mask value recovery server device 110_1 extracts the ring share [a-b] _R1 regarding the value of the difference between the two operands from the data storage unit 116_1. Further, the share [a ⁇ b] Ri of ring regarding the value of the difference between the two operands is extracted from the ith secret calculation server device 110 — i (2 ⁇ i ⁇ n). At this time, assuming that the number of secret sharing data necessary for restoring data is k, the number of [a ⁇ b] Ri to be extracted is (k ⁇ 2).
  • the secret sharing data recovery unit 114_1 sets the share of ring [a ⁇ b] _R1 on the value of the difference between the two operands and the share of ring on the value of the difference between the two (k ⁇ 2) operands [ ab]
  • the masked value ab + r is restored using Ri and the masked secret sharing data [ab + r] _R0 sent at step B4.
  • the secret sharing data restore unit 114_1 passes the restored value a ⁇ b + r to the secret sharing data generation unit 113_1.
  • Step C6 The secret sharing data generation unit 113_1 generates a bit share for each bit of the restored value a ⁇ b + r passed in step C5.
  • each bit of the restored value ab + r is The share of the bit for [.alpha.] Indicates [(a-b + r) .sub .-- t] .sub .-- B.
  • Step B7 the secret shared data generation unit 103_0 included in the random number generation server device 100_0 generates a share of bits for each bit of the random number r with respect to the random number r sent in step B3.
  • the share of bits for each bit of the random number r indicates [r_t] _B.
  • the secret sharing data generation unit 103_0 transmits the share [r_t] _Bi of the random number bit to the external ith secret calculation server device 110_i corresponding to the subscript i.
  • the random number generation server device 100_0, the mask value restoration server device 110_1, and the i-th secret calculation server device 110_i respectively share the random number bit share [r_t] _B0, [0] of each data storage unit 106_0, 116_1, 116_i. Save r_t] _B1, [r_t] _Bi.
  • the determination bit-connection units 105_0, 115_1, 115 — i store the determination results [res] _B0, [res] _B1, [res] _Bi in the data storage units 106_0, 116_1, 116 — i, respectively. Note that
  • the depth of the circuit that performs the calculation of is Log (L).
  • Step A9 When obtaining the result of the equal sign determination, the secret sharing data recovery units 104_0, 114_1, 114_i included in the random number generation server device 100_0, the mask value recovery server device 110_1, and the ith secret calculation server device 110_i respectively
  • the determination results [res] _B0, [res] _B1, and [res] _Bi are extracted from the storage units 106_0, 116_1, and 116_i, respectively, and transmitted to an external server device.
  • the first effect is that, among the costs required to determine the secret equality sign, the number of communication rounds can be suppressed to O (Log (L)) regardless of the method of secret sharing. This is because the breakdown of the number of communication rounds is constituted only by the communication rounds required for the distribution of secret sharing data and the communication rounds required for the calculation of the determination result [res] _B.
  • the first embodiment can be implemented without depending on the additive secret sharing method in the non-patent document 2. is there.
  • the secret equality determination system according to the second embodiment of the present invention is a modification of the secret equality determination system according to the first embodiment described above.
  • parts having the same functions as the parts already described in the first embodiment are given the same reference numerals, and descriptions thereof will be omitted.
  • FIG. 8 is a block diagram showing an example of a functional configuration of the secret equality determination system according to the second embodiment.
  • the secret equality determination system includes a secret sharing proxy apparatus 200 referred to in FIG. 9 described later and a random number generation server apparatus 210_0 referred to in FIG. , A mask value restoration server apparatus 220_1 referred to in FIG. 11 described later, and a second to n-th (n is an integer of 2 or more) secret calculation server apparatus 220_2 referred to in FIG. It consists of 220_n.
  • the secret sharing proxy device 200 includes a random number generation server device 210_0, a mask value restoration server device 220_1, second to n-th secret calculation server devices 220_2 to 220_n, and a network.
  • the random number generation server device 210_0, the mask value restoration server device 220_1, and the second to n-th secret calculation server devices 220_2 to 220_n are communicably connected to a server device different from itself via a network.
  • the secret sharing proxy device 200 includes a secret sharing data generation unit 201 and a secret sharing data restoration unit 202.
  • the secret sharing data generation unit 201 and the respective server devices 210_0, 220_1, 220_2 to 220_n are communicably connected via a network.
  • the secret sharing data restoration unit 202 and the respective server devices 210_0, 220_1, 220_2 to 220_n are communicably connected via a network.
  • the random number generation server device 210_0 includes a random number generation unit 101_0, a share addition unit 102_0, a secret shared data generation part 103_0, a determination bit-conjunction unit 105_0, and a data storage unit 216_0.
  • the share adder 102_0 is communicably connected to the mask value restoration server 220_0 via a network.
  • the secret shared data generation unit 103_0 and the determination bit-connection unit 105_0 are communicably connected to respective external server devices 220_1, 220_2,..., 220_n different from itself via a network.
  • the data storage unit 216_0 is communicably connected to the external secret sharing proxy device 200 and the external mask value restoration server device 220_1 via a network.
  • the random number generation unit 101_0 is communicably connected to the share addition unit 102_0 and the secret shared data generation unit 103_0.
  • the data storage unit 216_0 is communicably connected to the share addition unit 102_0, the secret shared data generation unit 103_0, and the determination bit-conjunction unit 105_0.
  • the mask value restoration server device 220_1 includes a secret shared data generation unit 113_1, a secret shared data restoration unit 114_1, a determination bit-conjunction unit 115_1, and a data storage unit 226_1.
  • the secret sharing data generation unit 113_1, the secret sharing data generation unit 114_1, and the determination bit-connection unit 115_i are communicably connected to respective external server devices 220_0, 220_2,. There is.
  • the data storage unit 226_1 is communicably connected to an external secret sharing proxy device 200 and an external random number generation server device 210_0 via a network.
  • the data storage unit 226_1 is communicably connected to the secret shared data generation unit 113_1, the secret shared data restoration unit 114_1, and the determination bit-conjunction unit 115_1.
  • Secret sharing data generation unit 113_1 and secret sharing data restoration unit 114_1 are communicably connected.
  • the ith secret calculation server device 220_i (2 ⁇ i ⁇ n) includes an ith determination bit-conjunction unit 115_i and an ith data storage unit 226_i.
  • the judgment bit-conjunction unit 115_i and the data storage unit 226_i are connected via the network with the external secret sharing proxy device 200 and each external server device 210_0, 220_1, 220_i ′ (i ′ ⁇ i, 2 ⁇ i ′ ⁇ n). It is connected communicably.
  • the i-th determination bit-connection unit 115_i and the i-th data storage unit 226_i are communicably connected.
  • the secret sharing proxy apparatus 200 In the secret equality judgment system according to the second embodiment, the secret sharing proxy apparatus 200, the random number generation server apparatus 210_0, the mask value restoring server apparatus 220_1 and the second to n-th secret calculation server apparatuses 220_2,.
  • a or b input to the secret sharing proxy apparatus 200 from an input device (not shown), or secret sharing data [a] _R, [b stored in the data storage units 216_0, 226_1, 226_2,.
  • Secretly shared data of a determination result as to whether a b holds or not, without knowing the values of a and b from the values of its input and calculation process, the data storage units 216_0, 226_1,. It stores in 226_2, ..., 226_n respectively.
  • the secret shared data of the determination result may be stored in the data storage units 216_0, 226_1, 226_2,..., 226 — n, and then passed to the secret sharing proxy apparatus 200 to obtain a restoration result.
  • FIG. 13 is a flowchart showing an operation example of the secret sharing proxy device 200.
  • FIG. 14 is a flowchart showing an operation example of the random number generation server device 210_0.
  • FIG. 15 is a flowchart showing an operation example of the mask value restoration server device 220_1.
  • FIG. 16 is a flowchart showing an operation example of the ith secret calculation server device 220 — i.
  • Step X1 Referring to FIG. 13, as an operation of the secret sharing proxy device 200, first, an input (first operand) a is passed from the input device (not shown) to the secret sharing data generation unit 201.
  • the secret sharing data generation unit 201 generates a share [a] _R of ring regarding the first operand.
  • the secret sharing data generation unit 201 is a data storage unit included in the random number generation server device 210_0, for each of the shares [a] _R0, [a] _R1, and [a] _Ri of the ring regarding the first operand.
  • step X1 is a step that occurs only when starting the calculation. Therefore, when the secret equality judgment is performed on the share of ring generated in the process of the secret calculation protocol, step X1 does not occur.
  • step A2 is equal to step A2 in the operation of each server device according to the first embodiment.
  • the random number generation server device 210_0, the mask value restoration server device 220_1, and the i-th secret calculation server device 220_i are connected to the respective data storage units 216_0, 226_1, and 226_i in relation to the value of the difference between the two operands. Save shares [a-b] _R0, [a-b] _R1 and [a-b] _Ri.
  • Step B3 in the operation of the random number generation server device 210_0 according to the second embodiment is equal to step B3 in the operation of the random number generation server device 100_0 according to the first embodiment.
  • Step B4 in the operation of the random number generation server device 210_0 according to the second embodiment is equal to step B4 in the operation of the random number generation server device 100_0 according to the first embodiment.
  • step C5 in the operation of the mask value restoration server device 220_1 according to the second embodiment is equal to step C5 in the operation of the mask value restoration server device 110_1 according to the first embodiment.
  • the share [a ⁇ b] _R1 of ring with respect to the value of the difference between the two operands is extracted from the data storage unit 226_1.
  • the share [a ⁇ b] Ri of ring with respect to the value of the difference between the two operands is extracted from the ith secret calculation server device 110 — i (2 ⁇ i ⁇ n).
  • Step C6 in the operation of the mask value restoration server device 220_1 according to the second embodiment is equivalent to step C6 in the operation of the mask value restoration server device 110_1 according to the first embodiment.
  • the share of the bit of the restored value [(a-b + r) _t] _B0, [(a-b + r) _t] _B1, [(a-b + r) _t] _Bi is respectively the random number generation server device 210_0
  • the mask value It is transmitted to the restoration server device 220_1 and the ith secret calculation server device 220_i, and is stored in the respective data storage units 216_0, 226_1, and 226_i.
  • Step B7 in the operation of the random number generation server device 210_0 according to the second embodiment is equal to step B7 in the operation of the random number generation server device 100_0 according to the first embodiment.
  • the share [r_t] _B0, [r_t] _B1, [r_t] _Bi of the bit of the random number is sent to the random number generation server 210_0, the mask value restoration server 220_1, and the i-th secret calculation server 220_i, respectively.
  • Step A8 in the operation of the random number generation server device 210_0, the mask value restoration server device 220_1, and the ith secret calculation server device 220_i according to the second embodiment is the first embodiment.
  • the determination results [res] _B0, [res] _B1, and [res] _Bi are stored in the data storage units 216_0, 226_1, and 226_i, respectively.
  • Step X9 Referring back to FIG. 13, when obtaining the result of the equal sign determination, the secret sharing data restoration unit 202 included in the secret sharing proxy device 200 determines from the data storage units 216_0, 226_1, and 226_i, the determination results [res] _B0, [res. ] _B1 and [res] _Bi are respectively taken out, and the result of equal sign judgment is restored.
  • the second effect is that the random number generation server device and the ith secret calculation server device are configured with a small number of configuration modules. More specifically, the random number generation server device 210_0 is configured by a smaller number of configuration modules than the random number generation server device 100_0 in the first embodiment by the number of the secret shared data restoration unit 104_0. Further, the i-th secret calculation server device 220 _i is configured by a smaller number of configuration modules than the i th secret calculation server device 110 _i in the first embodiment by the secret sharing data generation unit 113 _i and the secret sharing data restoration unit 114 _i. Ru. However, it should be noted that the secret sharing proxy device 200 is required.
  • the above-mentioned secret equality determination system and the determination method performed in each server device can be realized by hardware, software, or a combination thereof.
  • to be realized by software means to be realized by a computer reading and executing a secret equal sign determination program.
  • the secret equality determination program can be stored using various types of non-transitory computer readable media and supplied to the computer.
  • Non-transitory computer readable media include tangible storage media of various types. Examples of non-transitory computer readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks), CD-ROM (Read Only Memory), CD- R, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)).
  • the secret equality determination program may be supplied to the computer by various types of transitory computer readable media. Examples of temporary computer readable media include electrical signals, light signals, and electromagnetic waves. The temporary computer readable medium can provide the computer with a secret equality determination program via wired communication paths such as electric wires and optical fibers, or wireless communication paths.
  • a random number generation unit that generates a random number
  • a secret sharing data generation unit that generates a share of ring with respect to a value of a difference between two operands and generates a share of bits of the random number and transmits the share of the bit of the random number to another server device
  • a share addition unit that adds the random number to the share of the ring to generate masked secret distribution data, and transmits the masked secret distribution data to a mask value restoration server device
  • a determination bit-conjunction unit that performs secret equality determination using the share of the random number bit and the share of the restored value bit received from the mask value recovery server device, and transmits the determination result to another server device
  • a secret shared data restoration unit that restores the share of the bit of the determination result based on the determination result and a determination result from another server device
  • a random number generation server apparatus comprising:
  • a secret shared data generation unit that generates a share of ring with respect to a value of a difference between two operands and generates a share of bits of the restored value, A masked value is restored using the share of the ring, the shares of the plurality of rings taken out from the plurality of secret calculation server devices, and the masked secret sharing data received from the random number generation server device, and the restoration is performed
  • a secret shared data recovery unit that outputs the A determination bit-conjunction unit that performs secret equality determination using the share of random number bits received from the random number generation server and the share of bits of the restored value, and transmits the determination result to another server device , Equipped with The mask value restoration server apparatus, wherein the secret sharing data restoration unit restores a share of bits of the judgment result based on the judgment result and a judgment result from another server apparatus.
  • a secret shared data generation unit that generates a share of ring with respect to the value of the difference between two operands, Secret sign determination is performed using the share of random number bits received from the random number generation server device and the share of the restored value bits received from the mask value recovery server device, and the determination result is transmitted to another server device.
  • a secret shared data restoration unit that restores the share of the bit of the determination result based on the determination result and a determination result from another server device;
  • Secret computing server device comprising:
  • a secret shared data generation unit that generates a share of ring with respect to the value of the difference between two operands, Secret sign determination is performed using the share of random number bits received from the random number generation server device and the share of the restored value bits received from the mask value recovery server device, and the determination result is transmitted to another server device.
  • a secret equality judgment method in a secret calculation server device including
  • Secret sharing in which two operands are secret-shared to generate a ring share of the two operands, and the generated ring shares of the two operands are transmitted to a plurality of server devices.
  • a data generation unit A secret sharing data recovery unit for recovering the result of the equal sign determination based on the determination results received from the plurality of server devices;
  • Secret sharing proxy device comprising:
  • a random number generation unit that generates a random number, From the share of ring for the two operands received from the secret sharing proxy apparatus, generate the share of ring for the value of the difference between the two operands, and also generate the share of bits of the random number, secret shared data generation unit that transmits the bit share to another server device;
  • a share adder that adds the random number to the share of ring regarding the value of the difference between the two operands to generate masked secret sharing data, and transmits the masked secret sharing data to the mask value restoration server device
  • a determination bit-conjunction in which the secret equality determination is performed using the share of the random number bit and the share of the restored value bit received from the mask value recovery server device, and the determination result is transmitted to the secret sharing proxy device Department
  • a random number generation server apparatus comprising:
  • a secret shared data generation unit A masked value is restored using the share of the ring, the shares of the plurality of rings taken out from the plurality of secret calculation server devices, and the masked secret sharing data received from the random number generation server device, and the restoration is performed
  • a secret shared data recovery unit that outputs the A determination bit-conjunction unit that performs secret equality determination using the share of random number bits received from the random number generation server and the share of bits of the restored value, and transmits the determination result to the secret sharing proxy device
  • a mask value restoration server apparatus comprising:
  • a secret sharing data generation unit that generates a ring share regarding the value of the difference between the two operands from the share of ring regarding the two operands received from the secret sharing proxy device, Secret sign determination is performed using the share of random number bits received from the random number generation server device and the share of the restored value bits received from the mask value recovery server device, and the determination result is transmitted to the secret sharing proxy device Judgment bit-conjunction section to Secret computing server device comprising:
  • the secret sharing proxy apparatus according to supplementary note 11, the random number generation server apparatus according to supplementary note 12, the mask value restoration server apparatus according to supplementary note 13, and a plurality of secret calculation server apparatuses according to supplementary note 14
  • a secret equality judgment system consisting of and a network connection.
  • a process of generating a ring share of the value of the difference between the two operands from the share of the ring of the two operands received from the secret sharing proxy device Processing to generate random numbers, A process of generating a share of bits of the random number and transmitting the share of the bits of the random number to another server device; A process of adding the random number to the share of ring regarding the value of the difference between the two operands to generate masked secret sharing data, and transmitting the masked secret sharing data to the mask value restoration server device; A process of performing secret equality determination using the share of the random number bit and the share of the restored value bit received from the mask value recovery server device, and transmitting the determination result to the secret sharing proxy device; The recording medium which recorded the secret equal sign determination program which makes the computer of a random number generation server apparatus implement
  • the present invention it is possible to execute, for example, the determination of the secret equality sign generated in the character string processing in the database by suppressing the number of communication rounds to O (Log (L)) regardless of the method of secret sharing. Therefore, with regard to the upper layer protocol using the secret equality judgment and the secret equality judgment, the communication amount can be reduced by the improvement of the component.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

環の位数のbit長をLとしたとき、秘密分散の方法に依らず、通信ラウンド数をO(Log_(L))に抑えて実行する。秘密等号判定システムは、乱数生成サーバ装置とマスク値復元サーバ装置と秘密計算サーバ装置とを備える。乱数生成サーバ装置は、乱数を生成する乱数生成部と、乱数と秘密等号判定における被演算子の秘密分散データを用いてマスクされた秘密分散データを生成するシェア加算部と、入力された値の秘密分散データを生成する秘密分散データ生成部と、秘密分散データを復元して元の値を得る秘密分散データ復元部と、秘密分散データを用いて秘密等号判定を行う判定bit-conjunction部とを有する。マスク値復元サーバ装置は、入力された値の秘密分散データを生成する秘密分散データ生成部と、秘密分散データを復元して元の値を得る秘密分散データ復元部と、秘密分散データを用いて秘密等号判定を行う判定bit-conjunction部とを有する。秘密計算サーバ装置は、入力された値の秘密分散データを生成する秘密分散データ生成部と、秘密分散データを復元して元の値を得る秘密分散データ復元部と、秘密分散データを用いて秘密等号判定を行う判定bit-conjunction部とを有する。

Description

秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体
本発明は秘密計算プロトコルに関し、特に効率よく秘密等号判定を行うことができる秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体に関する。
秘密計算プロトコルとは、プロトコルの各参加者の入力や計算過程の値を秘匿しつつ、計算結果のみを求めることができる技術である。秘密計算プロトコルとして、論理回路や算術回路をベースとして任意の計算を実行できる一般的な方式が提案されている。
なお、秘密計算プロトコルによって任意の計算を実行する場合、通信コストが発生する。通信コストは、通信ラウンド数と通信量との2つの評価軸によって評価される。ここで、通信ラウンド数とは、ある計算処理を秘密計算プロトコルによって実行する際に、秘密計算プロトコルの各参加者間で生じた通信回数のことである。このとき、たとえば、秘密計算プロトコルの三名の参加者をP1、P2、P3とする。ある計算処理を秘密計算プロトコルによって実行する際に、P1-P2間で1回の通信、P2-P3間で1回の通信、P3-P1間で1回の通信がそれぞれ発生したとして、これらの通信が並行して行えるものであれば、1ラウンドとして通信ラウンド数を数えることに注意する。また、通信量とは、ある計算処理を秘密計算プロトコルによって実行する際に、秘密計算プロトコルの各参加者間で生じた通信データの量のことである。
秘匿化されたデータを秘匿化したままで検索できる秘匿検索技術が、従来から種々提案されている。
秘匿検索を実現する一つの技術として、マルチパーティ計算(Multi-Party Computation:MPC)技術が知られている(例えば、非特許文献1参照)。
MPCは、それぞれ秘密情報を持つ2台以上のサーバ装置が協力して計算することで、それぞれの秘密情報を漏らすことなく、秘密情報を入力とする任意の関数値を計算する。MPCを用いて秘匿検索を実現するには、次のようにすればよい。まず、預けるデータを秘密分散法(例えば、非特許文献1参照)で上記2台以上のサーバ装置に分散して保持する。そして、上記関数として「ある部分データを含むデータが秘密分散されてサーバ装置に保存されているときに1を、そうでないときに0を返す関数」のように定義する。
MPCを実現する手段として、非特許文献1に記載されている、Shamirのしきい値型秘密分散法(Shamir’s Secret Sharing:SSS)を用いる手段がある。まず、非特許文献1について説明する。
しきい値型秘密分散法とは、秘密情報を複数の分散情報に変換する技術である。しきい値型秘密分散法は、変換された分散情報をしきい値以上の個数を集めることによって秘密情報を復元でき、しきい値以下の個数の分散情報からは元の秘密情報を漏らさないという特徴を持つ。
非特許文献1のSSSは、N台のサーバ装置で有限体Zpに属する数aを秘密に分散する方法であり、k-1次多項式f_a(x)を用いる。この方法では、例えばf_a(0)=aとし、第iのサーバ装置(1≦i≦N)には、それぞれ多項式上の点f_a(i)を配る。配られる情報f_a(i)をSSSにおけるxの分散情報と呼ぶ。このとき、k台のサーバ装置が協力すると、多項式上のk個の点からk-1次多項式f_a(x)を一意に復元することができるので、秘密情報であるf_a(0)を求めることができる。
秘密情報aを、pを法とする多項式f_a(x)を用いてN台のサーバ装置で分散するときに生成される、秘密情報aの分散情報を、[a]p=(f_a(1), f_a(2), …, f_a(N))と書くことにする。このとき、識別子i(1≦i<N)を持つ第iのサーバ装置にf_a(i)が保持されているものとする。
任意の計算を実行できる一般的な方式として、たとえば、非特許文献2、非特許文献3、非特許文献4、非特許文献5が挙げられる。大まかな方式の種類は、非特許文献4に代表されるGarbled Circuitベースの方式と、非特許文献2、非特許文献3、非特許文献5のような秘密分散法ベースの方式とに分けられる。なお、秘密分散法とは、ある値を複数に分散し、分散された値を閾値以上の個数分だけ集めると、元の秘密情報を復元できる、というものである。ここで、分散した値を、秘密分散データやシェアと呼ぶ。
非特許文献3は、論理回路と算術回路および両者を混合した回路について、計算を実行可能な秘密計算プロトコルを開示している。非特許文献2と異なり、非特許文献3は、非特許文献1の秘密分散法を用いており、素数pを位数とする体上での計算となる。このため、非特許文献3では、体の位数の大きさに比例して、通信量が増大する。ここで、論理回路と算術回路の混合回路を計算する際に、論理回路における値と算術回路における値は、ともに素数pを位数とする体に属する値であることに注意する。なお、非特許文献3では、位数の大きさに関わらず、定数回の通信ラウンド数で計算が実行できる。ただし、多量の通信量を必要とする。
非特許文献4は、論理回路ベースで計算を実行する秘密計算プロトコルを開示している。非特許文献4の方式は、疑似ランダム関数と紛失通信プロトコルを用いた方式で、定数回の通信ラウンド数で計算が実行できる。ただし、非特許文献4の方式では、多量の通信量を必要とする。
非特許文献2は、論理回路と算術回路および両者を混合した回路について、計算を実行可能な秘密計算プロトコルを開示している。非特許文献2の方式は、剰余環上の加法秘密分散法をベースとした方式で、環の位数の大きさに比例して、通信量が増大する。また、非特許文献2の方式は、非特許文献3の方式と異なり、論理回路と算術回路の混合回路を計算する際に、それぞれの値に応じた環上で計算することが可能である。たとえば、論理回路の値は位数2の環に属する値、算術回路の値は位数2^n’(n’は2より大きい整数)の環に属する値として、計算可能である。非特許文献3の方式は、論理回路における値0,1も素数pを位数とする体上で計算する必要があるため、非特許文献2の方が通信量を小さく抑えることができる。なお、非特許文献3や非特許文献4といった、定数回の通信ラウンド数で計算を実行する方式と比べると、同じ計算処理を行う場合、非特許文献2の方が少ない通信量で実行できる。ただし、非特許文献2の方式は、計算処理の回路の深さに比例して、通信ラウンド数が増大する。
ここで、計算処理の回路の深さとは、入力ゲートから出力ゲートまでに通過する必要がある最大ゲート総数ではなく、入力ゲートから出力ゲートまでに通過する必要がある論理積ゲートと乗算ゲートの最大ゲート総数を指す。以降、回路の深さとは、入力ゲートから出力ゲートまでに通過する必要がある論理積ゲートと乗算ゲートと秘密分散復元ゲートの最大ゲート総数を意味することとする。
非特許文献5は、論理回路と算術回路との両者を混合した回路について、計算を実行可能な秘密計算プロトコルを開示している。非特許文献5の方式は、剰余環上の複製型秘密分散法をベースとした方式で、位数の大きさに比例して、通信量が増大する。ここで、非特許文献5の方式は、非特許文献2の方式と同様に非特許文献3の方式と異なり、論理回路と算術回路の混合回路を計算する際に、それぞれの値に応じた環上で計算することが可能である。このため、非特許文献5の方が非特許文献3の方式より通信量を小さく抑えることができる。また、非特許文献3や非特許文献4といった、定数回の通信ラウンド数で計算を実行する方式と比べると、同じ計算処理を行う場合、非特許文献5の方が少ない通信量で実行できる。ただし、非特許文献5の方式は、計算処理の回路の深さに比例して、通信ラウンド数が増大する。
ここで、たとえば、通信ラウンド数の面で効率が良い秘密計算プロトコルは、latencyが大きい通信環境で有効な方式といえる。また、通信量の面で効率が良い秘密計算プロトコルは、通信帯域が狭い通信環境で有効な方式である。秘密分散ベースの秘密計算プロトコルでは、回路の深さに比例して通信が発生するために、大量の入力を一度に処理することで単位時間あたりの処理量の向上を図ることがある。このため特に、通信帯域が狭い通信環境でも単位時間あたりの処理量を確保したい場合は、通信量について効率の良い秘密計算プロトコルの提案が重要となる。
このとき、排他的論理和や論理積、加算や乗算といった基本的な二項演算に対して、効率の良い方法を提案するだけでなく、より上位の計算プロトコルについて提案することも必要といえる。上位の計算プロトコルとは、たとえば、秘密等号判定が挙げられる。ここで、秘密等号判定とは、秘匿されたある環上の要素a,bを引数に取り、aとbが一致するのであれば位数2の環上の要素である1を秘匿した値、不一致であれば位数2の環上の要素である0を秘匿した値をそれぞれ返す処理である。秘密等号判定は、秘密計算プロトコルにおける部分一致判定や距離計算といった文字列処理にて多用される。
ここで、非特許文献2の秘密等号判定による通信ラウンド数は(Log(L)+1)回、通信量は(17L-15)となる。なお、Logの底は2であり、Lは環の位数のビット長である。非特許文献2では、秘密等号判定の通信ラウンド数を抑えるために、非特許文献2で用いられる加法秘密分散法に依存した技法を用いている。具体的には値vを秘密分散する際に、ある参加者の秘密分散データをvとし、残りの参加者の秘密分散データを0とすることで、通信ラウンド数を削減している。このため、非特許文献2の秘密等号判定の方法を非特許文献5によって実施することはできない。
Adi Shamir、"How to Share a Secret、" Commun. ACM 22(11)、 pp.612-613、 1979. Dan Bogdanov、Margus Niitsoo、Tomas Toft、Jan Willemson、 "High-performance secure multi-party computation for data mining applications、" International Journal of Information Security、11(6)、403-418. Takashi Nishide、Kazuo Ohta、 "Multiparty Computation for Interval,Equality,and Comparison without Bit-Decomposition Protocol、" In PKC2007、LNCS、vol.4450、pp.90-104、Springer、Berlin、Heidelberg. Andrew C.Yao、"Protocols for secure computations、"In Proceedings of the 21st Annual IEEE Symposium on the Foundations of Computer Science、pp.160-164、1982. Toshinori Araki、Jun Furukawa、Yehuda Lindell、Ariel Nof、Kazuma Ohara、"High-Throughput Semi-Honest Secure Three-party Computation with an Honest Majority、" In Proceedings of the 2016 ACM SIGSAC Conferenece on Computer and Communications Security、pp.805-817、ACM.
このように非特許文献2では、秘密等号判定を行う際に、非特許文献2で用いる加法秘密分散法に依存した方法を用いている。このため、論理積や乗算を行う際に、非特許文献2よりも小さい通信量で実行できる、非特許文献5を用いて同様の秘密等号判定を実施することはできなかった。秘密等号判定を行う際に通信量が多いと、通信帯域が狭い通信環境では、単位時間あたりの処理量の低下が生じ得る。特に、等号判定を多用するような文字列処理を秘密計算プロトコルで実行する場合、秘密等号判定における通信量の増加は、計算処理全体の単位時間あたりの処理量低下を引き起こす恐れがある。
本発明の目的は、上記課題を解決し、環の位数のbit長をLとしたとき、秘密分散の方法に依らず、通信ラウンド数をO(Log(L))に抑えて実行できる、秘密等号判定システム、秘密等号判定方法、および秘密等号判定プログラム記録媒体を提供することにある。
上述の課題に鑑み、本発明の一態様は、ネットワークで接続された乱数生成サーバ装置とマスク値復元サーバ装置と複数の秘密計算サーバ装置とを備える秘密等号判定システムであって、
前記乱数生成サーバ装置は、乱数を生成する乱数生成部と;2つの被演算子の差の値に関するringのシェアを生成すると共に、前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する秘密分散データ生成部と;前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データを前記マスク値復元サーバ装置へ送信するシェア加算部と;前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit-conjunction部と;前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果を復元する秘密分散データ復元部と;を有し、
前記マスク値復元サーバ装置は、2つの被演算子の差の値に関するringのシェアを生成すると共に、復元した値のbitのシェアを生成する秘密分散データ生成部と;前記ringのシェアと、前記複数の秘密計算サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、前記復元した値を出力する秘密分散データ復元部と;前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit-conjunction部と;を備え、前記秘密分散データ復元部は、前記判定結果と他のサーバ装置からの判定結果に基づいて、前記判定結果のbitのシェアを復元し、
前記秘密計算サーバ装置の各々は、2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と;乱数生成サーバ装置から受け取った乱数のbitのシェアと、復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit-conjunction部と;前記判定結果と他のサーバ装置からの判定結果に基づいて、前記判定結果のbitのシェアを復元する秘密分散データ復元部と;を有することを特徴とする秘密等号判定システムである。
また、本発明の他の態様は、2つの被演算子の差の値に関するringのシェアを生成するステップと、乱数を生成するステップと、前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するステップと、前記乱数のbitのシェアを生成するステップと、前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、を含む乱数生成サーバでの秘密等号判定方法である。
さらに、本発明の別の態様は、2つの被演算子の差の値に関するringのシェアを生成する処理と、乱数を生成する処理と、前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、前記乱数のbitのシェアを生成する処理と、前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、を乱数生成サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体である。
本発明によれば、被計算値や判定結果や計算過程の値を知ることができない秘密等号判定を、通信ラウンド数をO(Log(L))に抑えながら、構成要素の改善によって通信量を改善することが可能である。Lは環の位数のbit長である。たとえば、非特許文献5で本発明を実施すると、非特許文献2における秘密等号判定と比較して、小さい通信量で秘密等号判定を実行できる。
本発明の更なる利点及び実施形態を、記述と図面を用いて下記に詳細に説明する。
本発明の第1の実施形態における秘密等号判定システムの機能構成例を示すブロック図である。 本発明の第1の実施形態による乱数生成サーバ装置の機能構成を示すブロック図である。 本発明の第1の実施形態によるマスク値復元サーバ装置の機能構成を示すブロック図である。 本発明の第1の実施形態による秘密計算サーバ装置の機能構成を示すブロック図である。 本発明の第1の実施形態による乱数生成サーバ装置の動作例を示すフローチャートである。 本発明の第1の実施形態によるマスク値復元サーバ装置の動作例を示すフローチャートである。 本発明の第1の実施形態による秘密計算サーバ装置の動作例を示すフローチャートである。 本発明の第2の実施形態における秘密等号判定システムの機能構成例を示すブロック図である。 本発明の第2の実施形態による秘密分散プロキシ装置の機能構成を示すブロック図である。 本発明の第2の実施形態による乱数生成サーバ装置の機能構成を示すブロック図である。 本発明の第2の実施形態によるマスク値復元サーバ装置の機能構成を示すブロック図である。 本発明の第2の実施形態による秘密計算サーバ装置の機能構成を示すブロック図である。 本発明の第2の実施形態による秘密分散プロキシ装置の動作例を示すフローチャートである。 本発明の第2の実施形態による乱数生成サーバ装置の動作例を示すフローチャートである。 本発明の第2の実施形態によるマスク値復元サーバ装置の動作例を示すフローチャートである。 本発明の第2の実施形態による秘密計算サーバ装置の動作例を示すフローチャートである。
以下、本発明の実施形態について図面を参照しつつ説明する。但し、以下に説明する実施形態によって本発明の技術的範囲は何ら限定解釈されることはない。
(第1の実施形態)
図1乃至図7を参照して、本発明の第1の実施形態係る秘密等号判定システムについて説明する。
図1は、本発明の第1の実施形態による秘密等号判定システムの機能構成例を示すブロック図である。
図1を参照すると、本発明の第1の実施形態による秘密等号判定システムは、後述する図2で参照される乱数生成サーバ装置100_0と、後述する図3で参照されるマスク値復元サーバ装置110_1と、後述する図4で参照される第2乃至第n(nは2以上の整数)のサーバ装置110_2、...、110_nとから成る。第1の実施形態による秘密等号判定システムにおいて、乱数生成サーバ装置100_0とマスク値復元サーバ装置110_1と第2乃至第nのサーバ装置110_2~110_nとは、自身と異なるサーバ装置とネットワーク経由で通信可能に接続されている。
図2に示すように、乱数生成サーバ装置100_0は、乱数生成部101_0と、シェア加算部102_0と、秘密分散データ生成部103_0と、秘密分散データ復元部104_0と、判定bit-conjunction部105_0と、データ記憶部106_0と、を含む。シェア加算部102_0は、マスク値復元サーバ装置110_1とネットワーク経由で通信可能に接続されている。秘密分散データ生成部103_0と秘密分散データ復元部104_0と判定bit-conjunction部とデータ記憶部106_0とは、それぞれ自身が含まれるサーバ装置と異なるサーバ装置とネットワーク経由で通信可能に接続されている。乱数生成部101_0は、シェア加算部102_0と秘密分散データ生成部103_0と、それぞれ通信可能に接続されている。データ記憶部106_0は、シェア加算部102_0と秘密分散データ生成部103_0と秘密分散データ復元部104_0と判定bit-conjunction部105_0と、それぞれ通信可能に接続されている。
図3に示すように、マスク値復元サーバ装置110_1は、秘密分散データ生成部113_1と、秘密分散データ復元部114_1と、判定bit-conjunction部115_1と、データ記憶部116_1と、を含む。秘密分散データ生成部113_1と秘密分散データ復元部114_1と判定bit-conjunction部115_1とデータ記憶部116_1とは、それぞれ自身が含まれるサーバ装置と異なるサーバ装置とネットワーク経由で通信可能に接続されている。データ記憶部116_1は、秘密分散データ生成部113_1と秘密分散データ復元部114_1と判定bit-conjunction部115_1と、それぞれ通信可能に接続されている。秘密分散データ生成部113_1は秘密分散データ復元部114_1と通信可能に接続されている。
図4に示すように、第iの秘密計算サーバ装置110_i(2≦i≦n)は、第iの秘密分散データ生成部113_iと、第iの秘密分散データ復元部114_iと、第iの判定bit-conjunction部115_iと、第iのデータ記憶部116_iと、を含む。秘密分散データ復元部113_iと秘密分散データ復元部114_iと判定bit-conjunction部115_iは、それぞれ自身が含まれるサーバ装置と異なるサーバ装置とネットワーク経由で通信可能に接続されている。データ記憶部116_iは、秘密分散データ生成部113_iと秘密分散データ復元部114_iと判定bit-conjunction部115_iと、それぞれ通信可能に接続されている。
このような構成の秘密等号判定システムにおいては、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、第2乃至第nのサーバ装置110_2~110_nの内のいずれかの装置が入力した値a,b、あるいは、データ記憶部106_0、116_1、116_2~116_nに記憶された秘密分散データ[a],[b]に対し、その入力や計算過程の値からa,bの値を知られることなく、a=bが成り立つか否かの判定結果の秘密分散データを計算し、データ記憶部106_0、116_1、116_2~116_nにそれぞれ記憶する。前記判定結果の秘密分散データは、データ記憶部106_0、116_1、116_2~116_nに記憶した後、秘密分散データ復元部104_0、114_1、114_2~114_nにそれぞれ渡し、復元結果を得ても良い。
次に、本発明の第1の実施形態における秘密等号判定システム、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1および第iのサーバ装置110_iの動作例について詳細に説明する。図5は、乱数生成サーバ装置100_0の動作例を示すフローチャートである。図6は、マスク値復元サーバ装置110_1の動作例を示すフローチャートである。図7は、第iの秘密計算サーバ装置110_iの動作例を示すフローチャートである。
ここで、[a]_Bは、位数2の環上の値aの秘密分散データを意味する。また、[b]_Rは、位数が2より大きい環上の値bの秘密分散データを意味する。以降、[a]_Bをaのbitのシェア、[b]_Rをbのringのシェアと呼称する。特に、第iのサーバ装置110_iのシェアを表す場合、[a]_Bi,[b]_Riとする。また、乱数生成サーバ装置100_0のシェアを表す場合は、[a]_B0,[b]_R0とする。マスク値復元サーバ装置110_1のシェアを表す場合は、[a]_B1,[b]_R1とする。
たとえば、サーバ装置の台数が3、つまり、n=3であるとする。このとき、非特許文献2や非特許文献5で用いられている秘密分散が例として挙げられる。ここで、
Figure JPOXMLDOC01-appb-M000001
を、それぞれbitのシェアに関する排他的論理和、論理積とする。これらは、位数2の環上の要素に対する二項演算子としての排他的論理和、論理積の記号としても以降用いることに注意されたい。ここで、bitのシェアに関する排他的論理和、論理積には次の性質が成り立つ。
Figure JPOXMLDOC01-appb-M000002
さらに、+,-を、それぞれringのシェアに関する加法演算子、減法演算子とする。これらは、位数が2より大きい環上の要素に対する二項演算子としての加法演算子、減法演算子としても以降用いることに注意されたい。ここで、ringのシェアに関する加法演算子、減法演算子には次の性質が成り立つ。
Figure JPOXMLDOC01-appb-M000003
たとえば、サーバ装置の台数が3、つまり、n=3であるとする。このとき、非特許文献5ではbitのシェアに関する排他的論理和を通信不要で計算できる。また、非特許文献5ではbitのシェアに関する論理積を1ラウンド3bitの通信コストで計算できる。
なお、a=bが成り立つか否か判定する際に、a,bのbit長をLとする。つまり、ringのシェアのbit長はLである。また、秘密等号判定の結果は、等号が成り立つ場合に[1]_B、成り立たない場合に[0]_Bを出力する。
 (ステップA1)
図5乃至図7を参照して、乱数生成サーバ装置100_0、もしくは、マスク値復元サーバ装置110_1、あるいは、第iのサーバ装置110_iの動作として、まず、入力(第1の被演算子)aを図示されない入力装置から秘密分散データ生成部103_0、もしくは、113_1、あるいは113_iに渡す。秘密分散データ生成部103_0、もしくは、113_1、あるいは113_iは、第1の被演算子aのringのシェア[a]_Rを生成する。乱数生成サーバ装置100_0は、[a]_R0をデータ記憶部106_0に保存する。マスク値復元サーバ装置110_1は、[a]_R1をデータ記憶部116_1に保存する。第iの秘密計算サーバ装置110_iは、[a]_Riを第iのデータ記憶部116_iに保存する。第1の被演算子aのringのシェア[a]_Rを生成した乱数生成サーバ装置100_0、もしくは、マスク値復元サーバ装置110_1、あるいは、第iのサーバ装置110_iは、自身と異なるサーバ装置に対し、添え字i’に対応する[a]_Ri’を渡す。たとえば、i’=0なら、乱数生成サーバ装置100_0は、[a]_R0をデータ記憶部106_0に保存する。i’=1なら、マスク値復元サーバ装置110_1は、[a]_R1をデータ記憶部116_1に保存する。それ以外の場合は、第i’の秘密計算サーバ装置110_i’は、[a]_Ri’を第i’のデータ記憶部116_i’に保存する。入力(第2の被演算子)bに関しても、同様に処理する。ステップA1は計算を開始する際のみに生じるステップである。よって、秘密計算プロトコルの過程で生じたringのシェアについて秘密等号判定を行う場合、ステップA1は発生しない。
 (ステップA2)
次に、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、および第iの秘密計算サーバ装置110_iは、それぞれのデータ記憶部106_0、116_1、116_iに保存された[a]_R,[b]_Rの値から、2つの被演算子の差の値に関するringのシェア[a]_R-[b]_R=[a-b]_Rを生成する。生成した後、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、および第iの秘密計算サーバ装置110_iは、それぞれのデータ記憶部106_0、116_1、116_iに、それぞれ[a-b]_R0、[a-b]_R1、[a-b]_Riを保存する。
 (ステップB3)
図5を参照すると、乱数生成サーバ装置100_0に含まれる乱数生成部101_0は、位数が2より大きい環上の値として、乱数rを生成する。生成後、乱数生成部101_0は、シェア加算部102_0および秘密分散データ生成部103_0に乱数rを送る。
 (ステップB4)
 乱数生成サーバ装置100_0に含まれるシェア加算部102_0は、データ記憶部106_0から2つの被演算子の差の値に関するringのシェア[a-b]_R0を取り出す。シェア加算部102_0は、2つの被演算子の差の値に関するringのシェア[a-b]_R0に乱数rを加えた[a-b+r]_R0(=[a-b]_R0+r)を、マスクされた秘密分散データとしてマスク値復元サーバ装置110_1に含まれる秘密分散データ復元部114_1に送る。
 (ステップC5)
図6を参照すると、マスク値復元サーバ装置110_1に含まれる秘密分散データ復元部114_1は、データ記憶部116_1から2つの被演算子の差の値に関するringのシェア[a-b]_R1を取り出す。また、第iの秘密計算サーバ装置110_i(2≦i≦n)から2つの被演算子の差の値に関するringのシェア[a-b]Riを取り出す。このとき、データを復元するにあたり必要な秘密分散データの個数をkとしたとき、[a-b]Riを取り出す個数は(k-2)個となる。秘密分散データ復元部114_1は、2つの被演算子の差の値に関するringのシェア[a-b]_R1と、(k-2)個の2つの被演算子の差の値に関するringのシェア[a-b]Riと、前記ステップB4にて送られてきたマスクされた秘密分散データ[a-b+r]_R0とを用いて、マスクされた値a-b+rを復元する。復元後、秘密分散データ復元部114_1は、復元した値a-b+rを秘密分散データ生成部113_1に渡す。
 (ステップC6)
秘密分散データ生成部113_1は、前記ステップC5にて渡された復元した値a-b+rの各bitに対し、bitのシェアを生成する。ここで、復元した値a-b+rのt-bit目(t=0,...,L-1の値を(a-b+r)_tとする。このとき、復元した値a-b+rの各bitに対するbitのシェアとは[(a-b+r)_t]_Bを指す。[(a-b+r)_t]_Bを生成した後、秘密分散データ生成部113_1は、添え字iに対応する外部の第iの秘密計算サーバ装置110_iに復元した値のbitのシェア[(a-b+r)_t]_Biを送信する。つまり、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、および第iの秘密計算サーバ装置110_iは、それぞれのデータ記憶部106_0、116_1、116_iに、それぞれ復元した値のbitのシェア[(a-b+r)_t]_B0、[(a-b+r)_t]_B1、[(a-b+r)_t]_Biを保存する。
 (ステップB7)
図5に戻って、乱数生成サーバ装置100_0に含まれる秘密分散データ生成部103_0は、ステップB3にて送られた乱数rに対し、乱数rの各bitについてbitのシェアを生成する。ここで、乱数rのt-bit目(t=0,...,L-1)の値をr_tとする。このとき、乱数rの各bitに対するbitのシェアとは、[r_t]_Bを指す。[r_t]_Bを生成した後、秘密分散データ生成部103_0は、添え字iに対応する外部の第iの秘密計算サーバ装置110_iに乱数のbitのシェア[r_t]_Biを送信する。つまり、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、および第iの秘密計算サーバ装置110_iは、それぞれのデータ記憶部106_0、116_1、116_iに、それぞれ乱数のbitのシェア[r_t]_B0、[r_t]_B1、[r_t]_Biを保存する。
 (ステップA8)
図5乃至図7を参照して、ここで、復元した値c=a-b+rとしたとき、c_t(t=0,...,L-1)をcの各bitとする。乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1および第iの秘密計算サーバ装置110_iにそれぞれ含まれる、判定bit-conjunction部105_0、115_1、115_iは、
Figure JPOXMLDOC01-appb-M000004
を計算する。計算を終えた後、判定bit-conjunction部105_0、115_1、115_iは、それぞれ判定結果[res]_B0、[res]_B1、[res]_Biをデータ記憶部106_0、116_1、116_iに記憶する。なお、
Figure JPOXMLDOC01-appb-M000005
の計算を実行する回路の深さはLog(L)となる。
 (ステップA9)
等号判定の結果を得る場合、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1および第iの秘密計算サーバ装置110_iにそれぞれ含まれる、秘密分散データ復元部104_0、114_1、114_iは、それぞれのデータ記憶部106_0、116_1、116_iから、それぞれ判定結果[res]_B0、[res]_B1、[res]_Biを取り出し、外部のサーバ装置に送信する。同時に秘密分散データ復元部104_0、114_1、114_iは、外部のサーバ装置より得られた判定結果[res]_Bjを用いて、a=bが成り立つか否かの判定結果を復元する。
以上、説明した本発明の第1の実施形態においては、以下に記載するような効果を奏する。
第1の効果は、秘密等号判定に要するコストの内、秘密分散の方法に依らず、通信ラウンド数に関してO(Log(L))に抑えることができるというものである。これは、通信ラウンド数の内訳が、秘密分散データの分散に要する通信ラウンドと、判定結果[res]_Bの計算に要する通信ラウンドのみで構成されるためである。特に秘密分散データの分散に関して、ステップB6、ステップC7を加えることにより、非特許文献2と異なり、非特許文献2における加法秘密分散法に依存することなく、本第1の実施形態は実施可能である。これにより、構成要素の改善によって、秘密等号判定に要するコストの内、通信ラウンド数に関してO(Log(L))に抑えたまま、通信量を低減することができる。たとえば、非特許文献5で本第1の実施形態を実施した場合、通信ラウンド数は(Log(L)+2)回、通信量は(12L-3)bitとなる。非特許文献2が秘密等号判定を行った場合、通信ラウンド数は(Log(L)+1)回、通信量は(17L-15)bitなので、非特許文献5によって本第1の実施形態を実施した場合の方が、通信量は低減される。
(第2の実施の形態)
続いて、図8乃至図16を参照して、本発明の第2の実施形態に係る秘密等号判定システムついて説明する。本発明の第2の実施形態に係る秘密等号判定システムは、上述した第1の実施形態に係る秘密等号判定システムの変形例である。以下、本第2の実施形態において、第1の実施形態において既に説明した部分と同様な機能を有する部分には同一符号を付し、説明を省略する。
図8は、第2の実施形態による秘密等号判定システムの機能構成例を示すブロック図である。
図8を参照すると、本発明の第2の実施形態による秘密等号判定システムは、後述する図9で参照される秘密分散プロキシ装置200と、後述する図10で参照される乱数生成サーバ装置210_0と、後述する図11で参照されるマスク値復元サーバ装置220_1と、後述する図12で参照される第2乃至第n(nは2以上の整数)の秘密計算サーバ装置220_2、・・・、220_nから成る。第2の実施形態による秘密等号判定システムにおいて、秘密分散プロキシ装置200は、乱数生成サーバ装置210_0とマスク値復元サーバ装置220_1と第2乃至第nの秘密計算サーバ装置220_2~220_nと、ネットワーク経由で通信可能に接続されている。また、乱数生成サーバ装置210_0とマスク値復元サーバ装置220_1と第2乃至第nの秘密計算サーバ装置220_2~220_nとは、自身と異なるサーバ装置とネットワーク経由で通信可能に接続されている。
図9に示すように、秘密分散プロキシ装置200は、秘密分散データ生成部201と、秘密分散データ復元部202と、を含む。秘密分散データ生成部201と各サーバ装置210_0、220_1、220_2~220_nとはネットワーク経由で通信可能に接続されている。秘密分散データ復元部202と各サーバ装置210_0、220_1、220_2~220_nとはネットワーク経由で通信可能に接続されている。
図10に示すように、乱数生成サーバ装置210_0は、乱数生成部101_0とシェア加算部102_0と秘密分散データ生成部位103_0と判定bit-conjunction部105_0とデータ記憶部216_0と、を含む。シェア加算部102_0は、マスク値復元サーバ装置220_0とネットワーク経由で通信可能に接続されている。秘密分散データ生成部103_0と判定bit-conjunction部105_0とは、自身と異なる各外部のサーバ装置220_1、220_2、・・・、220_nとネットワーク経由で通信可能に接続されている。データ記憶部216_0は、外部秘密分散プロキシ装置200および外部のマスク値復元サーバ装置220_1とネットワーク経由で通信可能に接続されている。乱数生成部101_0は、シェア加算部102_0および秘密分散データ生成部103_0と通信可能に接続されている。データ記憶部216_0は、シェア加算部102_0、秘密分散データ生成部103_0および判定bit-conjunction部105_0と通信可能に接続されている。
図11に示すように、マスク値復元サーバ装置220_1は、秘密分散データ生成部113_1と秘密分散データ復元部114_1と判定bit-conjunction部115_1とデータ記憶部226_1と、を含む。秘密分散データ生成部113_1と秘密分散データ生成部114_1と判定bit-conjunction部115_iとは、自身と異なる各外部のサーバ装置220_0、220_2、・・・、220_nとネットワーク経由で通信可能に接続されている。データ記憶部226_1は、外部の秘密分散プロキシ装置200および外部の乱数生成サーバ装置210_0とネットワーク経由で通信可能に接続されている。データ記憶部226_1は、秘密分散データ生成部113_1と秘密分散データ復元部114_1と判定bit-conjunction部115_1と通信可能に接続されている。秘密分散データ生成部113_1と秘密分散データ復元部114_1とは通信可能に接続されている。
図12に示すように、第iの秘密計算サーバ装置220_i(2≦i≦n)は、第iの判定bit-conjunction部115_iと、第iのデータ記憶部226_iと、を含む。判定bit-conjunction部115_iとデータ記憶部226_iとは、外部の秘密分散プロキシ装置200および各外部のサーバ装置210_0、220_1、220_i’(i’≠i,2≦i’≦n)とネットワーク経由で通信可能に接続されている。第iの判定bit-conjunction部115_iと第iのデータ記憶部226_iとは通信可能に接続されている。
本第2の実施形態による秘密等号判定システム、秘密分散プロキシ装置200、乱数生成サーバ装置210_0、マスク値復元サーバ装置220_1および第2乃至第nの秘密計算サーバ装置220_2、・・・、220_nにおいては、図示されない入力装置から秘密分散プロキシ装置200に入力されたa,b、あるいは、データ記憶部216_0、226_1、226_2、・・・、226_nに記憶された秘密分散データ[a]_R,[b]_Rに対し、その入力や計算過程の値からa,bの値を知られることなく、a=bが成り立つか否かの判定結果の秘密分散データを計算し、データ記憶部216_0、226_1、226_2、・・・、226_nにそれぞれ記憶する。前記判定結果の秘密分散データは、データ記憶部216_0、226_1、226_2、・・・、226_nに記憶した後、秘密分散プロキシ装置200にそれぞれ渡し、復元結果を得ても良い。
次に、本発明の第2の実施形態における秘密等号判定システム、秘密分散プロキシ装置200、乱数生成サーバ装置210_0、マスク値復元サーバ装置220_1および第iの秘密計算サーバ装置220_iの動作について詳細に説明する。図13は、秘密分散プロキシ装置200の動作例を示すフローチャートである。図14は、乱数生成サーバ装置210_0の動作例を示すフローチャートである。図15は、マスク値復元サーバ装置220_1の動作例を示すフローチャートである。図16は、第iの秘密計算サーバ装置220_iの動作例を示すフローチャートである。
(ステップX1)
図13を参照すると、秘密分散プロキシ装置200の動作として、まず、入力(第1の被演算子)aを図示されない入力装置から秘密分散データ生成部201に渡す。秘密分散データ生成部201は、第1の被演算子に関するringのシェア[a]_Rを生成する。次に、秘密分散データ生成部201は、第1の被演算子に関するringのシェア[a]_R0,[a]_R1,[a]_Riを、それぞれ、乱数生成サーバ装置210_0に含まれるデータ記憶部216_0、マスク値復元サーバ装置220_1に含まれるデータ記憶部226_1、第iの秘密計算サーバ装置220_i(2≦i≦n)に含まれるデータ記憶部226_iに渡す。データ記憶部216_0、226_1、226_iは、それぞれ、第1の被演算子に関するringのシェア[a]_R0,[a]_R1,[a]_Riを記憶する。入力(第2の被演算子)bに関しても、秘密分散プロキシ装置200と外部のサーバ装置210_0、220_1、220_iが、同様に処理する。ここで、ステップX1は計算を開始する際のみに生じるステップである。よって、秘密計算プロトコルの過程で生じたringのシェアについて秘密等号判定を行う場合、ステップX1は発生しない。
(ステップA2)
図14乃至図16を参照して、ステップA2は、第1の実施形態による各サーバ装置の動作におけるステップA2と等しい。ただし、乱数生成サーバ装置210_0、マスク値復元サーバ装置220_1、第iの秘密計算サーバ装置220_iは、それぞれのデータ記憶部216_0、226_1、226_iに、それぞれ2つの被演算子の差の値に関するringのシェア[a-b]_R0、[a-b]_R1、[a-b]_Riを保存する。
(ステップB3)
図14を参照すると、第2の実施形態による乱数生成サーバ装置210_0の動作におけるステップB3は、第1の実施の形態による乱数生成サーバ装置100_0の動作におけるステップB3と等しい。
(ステップB4)
第2の実施形態による乱数生成サーバ装置210_0の動作におけるステップB4は、第1の実施の形態による乱数生成サーバ装置100_0の動作におけるステップB4と等しい。ただし、シェア加算部102_2は、マスクされた秘密分散データ[a-b+r]_R0(=[a-b]_R0+r)を、マスク値復元サーバ装置220_1に含まれる秘密分散データ復元部224_1に送る。
(ステップC5)
図15を参照すると、第2の実施の形態によるマスク値復元サーバ装置220_1の動作におけるステップC5は、第1の実施の形態によるマスク値復元サーバ装置110_1の動作におけるステップC5と等しい。ただし、2つの被演算子の差の値に関するringのシェア[a-b]_R1はデータ記憶部226_1から取り出される。また、2つの被演算子の差の値に関するringのシェア[a-b]Riは第iの秘密計算サーバ装置110_i(2≦i≦n)から取り出される。
(ステップC6)
第2の実施の形態によるマスク値復元サーバ装置220_1の動作におけるステップC6は、第1の実施の形態によるマスク値復元サーバ装置110_1の動作におけるステップC6と等しい。ただし、復元した値のbitのシェア[(a-b+r)_t]_B0,[(a-b+r)_t]_B1,[(a-b+r)_t]_Biは、それぞれ、乱数生成サーバ装置210_0、マスク値復元サーバ装置220_1、第iの秘密計算サーバ装置220_iに送信され、それぞれのデータ記憶部216_0、226_1、226_iに保存される。
(ステップB7)
図14に戻って、第2の実施の形態による乱数生成サーバ装置210_0の動作におけるステップB7は、第1の実施の形態による乱数生成サーバ装置100_0の動作におけるステップB7と等しい。ただし、乱数のbitのシェア[r_t]_B0,[r_t]_B1,[r_t]_Biは、それぞれ、乱数生成サーバ装置210_0、マスク値復元サーバ装置220_1、および第iの秘密計算サーバ装置220_iに送られ、それぞれのデータ記憶部216_0、226_1、226_iに保存される。
(ステップA8)
図14乃至図16を参照すると、第2の実施の形態による乱数生成サーバ装置210_0、マスク値復元サーバ装置220_1、第iの秘密計算サーバ装置220_iの動作におけるステップA8は、第1の実施の形態による乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、第iの秘密計算サーバ装置110_iの動作におけるステップA8と等しい。ただし、判定結果[res]_B0、[res]_B1、[res]_Biは、それぞれ、データ記憶部216_0、226_1、226_iに記憶される。
(ステップX9)
図13に戻って、等号判定の結果を得る場合、秘密分散プロキシ装置200に含まれる秘密分散データ復元部202は、データ記憶部216_0、226_1、226_iから、判定結果[res]_B0、[res]_B1、[res]_Biをそれぞれ取り出し、等号判定の結果を復元する。
以上、説明した本発明の第2の実施形態においては、第1の実施形態で述べた第1の効果の他に以下に記載するような第2の効果を奏する。
第2の効果は、少ない構成モジュールで乱数生成サーバ装置および第iの秘密計算サーバ装置が構成されているということである。具体的には、第1の実施形態における乱数生成サーバ装置100_0より、秘密分散データ復元部104_0の分だけ、乱数生成サーバ装置210_0は少ない構成モジュールで構成される。また、第1の実施形態における第iの秘密計算サーバ装置110_iより、秘密分散データ生成部113_iと秘密分散データ復元部114_iの分だけ、第iの秘密計算サーバ装置220_iは少ない構成モジュールで構成される。ただし、秘密分散プロキシ装置200が必要なことに注意する。
なお、上記の秘密等号判定システムや各サーバ装置において行われる判定方法は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータが秘密等号判定プログラムを読み込んで実行することにより実現されることを意味する。
秘密等号判定プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、秘密等号判定プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、秘密等号判定プログラムをコンピュータに供給できる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)乱数を生成する乱数生成部と、
2つの被演算子の差の値に関するringのシェアを生成すると共に、前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する秘密分散データ生成部と、
前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するシェア加算部と、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit-conjunction部と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する秘密分散データ復元部と、
を備える乱数生成サーバ装置。
(付記2)2つの被演算子の差の値に関するringのシェアを生成すると共に、復元した値のbitのシェアを生成する秘密分散データ生成部と、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、前記復元した値を出力する秘密分散データ復元部と、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit-conjunction部と、
を備え、
前記秘密分散データ復元部は、前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する、マスク値復元サーバ装置。
(付記3)2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit-conjunction部と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する秘密分散データ復元部と、
を備える秘密計算サーバ装置。
(付記4)付記1に記載の乱数生成サーバ装置と、付記2に記載のマスク値復元サーバ装置と、付記3に記載の秘密計算サーバ装置の複数台とが、ネットワークで接続されて成る秘密等号判定システム。
(付記5)2つの被演算子の差の値に関するringのシェアを生成するステップと、
乱数を生成するステップと、
前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するステップと、
前記乱数のbitのシェアを生成するステップと、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
を含む乱数生成サーバ装置での秘密等号判定方法。
(付記6)2つの被演算子の差の値に関するringのシェアを生成するステップと、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力するステップと、
該復元した値のbitのシェアを生成するステップと、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
を含むマスク値復元サーバ装置での秘密等号判定方法。
(付記7)2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
を含む秘密計算サーバ装置での秘密等号判定方法。
(付記8)2つの被演算子の差の値に関するringのシェアを生成する処理と、
乱数を生成する処理と、
前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、
前記乱数のbitのシェアを生成する処理と、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
を乱数生成サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体。
(付記9)2つの被演算子の差の値に関するringのシェアを生成する処理と、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力する処理と、
該復元した値のbitのシェアを生成する処理と、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
をマスク値復元サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体。
(付記10)2つの被演算子の差の値に関するringのシェアを生成する処理と、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
を秘密計算サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体。
(付記11)2つ被演算子を秘密分散して、2つの被演算子に関するringのシェアを生成し、該生成した2つの被演算子に関するringのシェアを複数のサーバ装置へ送信する秘密分散データ生成部と、
前記複数のサーバ装置から受け取った判定結果に基づいて、等号判定の結果を復元する秘密分散データ復元部と、
を備える秘密分散プロキシ装置。
(付記12)乱数を生成する乱数生成部と、
秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成すると共に、前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する秘密分散データ生成部と、
前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するシェア加算部と、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit-conjunction部と、
を備える乱数生成サーバ装置。
(付記13)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成すると共に、復元した値のbitのシェアを生成する秘密分散データ生成部と、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、前記復元した値を出力する秘密分散データ復元部と、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit-conjunction部と、
を備えるマスク値復元サーバ装置。
(付記14)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit-conjunction部と、
を備える秘密計算サーバ装置。
(付記15)付記11に記載の秘密分散プロキシ装置と、付記12に記載の乱数生成サーバ装置と、付記13に記載のマスク値復元サーバ装置と、付記14に記載の秘密計算サーバ装置の複数台とが、ネットワークで接続されて成る秘密等号判定システム。
(付記16)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
乱数を生成する乱数生成部と、
前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信するステップと、
前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するステップと、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
を含む乱数生成サーバ装置での秘密等号判定方法。
(付記17)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力するステップと、
前記復元した値のbitのシェアを生成するステップと、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
を含むマスク値復元サーバ装置での秘密等号判定方法。
(付記18)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
を含む秘密計算サーバ装置での秘密等号判定方法。
(付記19)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
乱数を生成する処理と、
前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する処理と、
前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
を乱数生成サーバ装置のコンピュータに実現させる秘密等号判定プログラムを記録した記録媒体。
(付記20)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力する処理と、
前記復元した値のbitのシェアを生成する処理と、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
をマスク値復元サーバ装置のコンピュータに実現させる秘密等号判定プログラムを記録した記録媒体。
(付記21)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
を秘密計算サーバ装置のコンピュータに実現させる秘密等号判定プログラムを記録した記録媒体。
本発明によれば、たとえば、データベースにおける文字列処理で生じる秘密等号判定を、秘密分散の方法に依らず、通信ラウンド数をO(Log(L))に抑えて実行できる。このため、秘密等号判定や秘密等号判定を用いる上位プロトコルに関して、構成要素の改善により通信量を削減することができる。
 100_0 乱数生成サーバ装置
 101_0 乱数生成部
 102_0 シェア加算部
 103_0 秘密分散データ生成部
 104_0 秘密分散データ復元部
 105_0 判定bit-conjunction部
 106_0 データ記憶部
 110_1 マスク値復元サーバ装置
 113_1 秘密分散データ生成部
 114_1 秘密分散データ復元部
 115_1 判定bit-conjunction部
 116_1 データ記憶部
 110_i 秘密計算サーバ装置
 113_i 秘密分散データ生成部
 114_i 秘密分散データ復元部
 115_i 判定bit-conjunction部
 116_i データ記憶部
 200   秘密分散プロキシ装置
 201   秘密分散データ生成部
 202   秘密分散データ復元部
 210_0 乱数生成サーバ装置
 216_0 データ記憶部
 220_1 マスク値復元サーバ装置
 226_1 データ記憶部
 220_i 秘密計算サーバ装置
 226_i データ記憶部

 

Claims (21)

  1. 乱数を生成する乱数生成部と、
    2つの被演算子の差の値に関するringのシェアを生成すると共に、前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する秘密分散データ生成部と、
    前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するシェア加算部と、
    前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit-conjunction部と、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する秘密分散データ復元部と、
    を備える乱数生成サーバ装置。
  2. 2つの被演算子の差の値に関するringのシェアを生成すると共に、復元した値のbitのシェアを生成する秘密分散データ生成部と、
    前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、前記復元した値を出力する秘密分散データ復元部と、
    前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit-conjunction部と、
    を備え、
    前記秘密分散データ復元部は、前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する、マスク値復元サーバ装置。
  3. 2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と、
    乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit-conjunction部と、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する秘密分散データ復元部と、
    を備える秘密計算サーバ装置。
  4. 請求項1に記載の乱数生成サーバ装置と、請求項2に記載のマスク値復元サーバ装置と、請求項3に記載の秘密計算サーバ装置の複数台とが、ネットワークで接続されて成る秘密等号判定システム。
  5. 2つの被演算子の差の値に関するringのシェアを生成するステップと、
    乱数を生成するステップと、
    前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するステップと、
    前記乱数のbitのシェアを生成するステップと、
    前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
    を含む乱数生成サーバ装置での秘密等号判定方法。
  6. 2つの被演算子の差の値に関するringのシェアを生成するステップと、
    前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力するステップと、
    該復元した値のbitのシェアを生成するステップと、
    前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
    を含むマスク値復元サーバ装置での秘密等号判定方法。
  7. 2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と、
    乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
    を含む秘密計算サーバ装置での秘密等号判定方法。
  8. 2つの被演算子の差の値に関するringのシェアを生成する処理と、
    乱数を生成する処理と、
    前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、
    前記乱数のbitのシェアを生成する処理と、
    前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
    を乱数生成サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体。
  9. 2つの被演算子の差の値に関するringのシェアを生成する処理と、
    前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力する処理と、
    該復元した値のbitのシェアを生成する処理と、
    前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
    をマスク値復元サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体。
  10. 2つの被演算子の差の値に関するringのシェアを生成する処理と、
    乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
    を秘密計算サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体。
  11. 2つ被演算子を秘密分散して、2つの被演算子に関するringのシェアを生成し、該生成した2つの被演算子に関するringのシェアを複数のサーバ装置へ送信する秘密分散データ生成部と、
    前記複数のサーバ装置から受け取った判定結果に基づいて、等号判定の結果を復元する秘密分散データ復元部と、
    を備える秘密分散プロキシ装置。
  12. 乱数を生成する乱数生成部と、
    秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成すると共に、前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する秘密分散データ生成部と、
    前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するシェア加算部と、
    前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit-conjunction部と、
    を備える乱数生成サーバ装置。
  13. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成すると共に、復元した値のbitのシェアを生成する秘密分散データ生成部と、
    前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、前記復元した値を出力する秘密分散データ復元部と、
    前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit-conjunction部と、
    を備えるマスク値復元サーバ装置。
  14. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と、
    乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit-conjunction部と、
    を備える秘密計算サーバ装置。
  15. 請求項11に記載の秘密分散プロキシ装置と、請求項12に記載の乱数生成サーバ装置と、請求項13に記載のマスク値復元サーバ装置と、請求項14に記載の秘密計算サーバ装置の複数台とが、ネットワークで接続されて成る秘密等号判定システム。
  16. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
    乱数を生成する乱数生成部と、
    前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信するステップと、
    前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するステップと、
    前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
    を含む乱数生成サーバ装置での秘密等号判定方法。
  17. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
    前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力するステップと、
    前記復元した値のbitのシェアを生成するステップと、
    前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
    を含むマスク値復元サーバ装置での秘密等号判定方法。
  18. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
    乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
    を含む秘密計算サーバ装置での秘密等号判定方法。
  19. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
    乱数を生成する処理と、
    前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する処理と、
    前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、
    前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
    を乱数生成サーバ装置のコンピュータに実現させる秘密等号判定プログラムを記録した記録媒体。
  20. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
    前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力する処理と、
    前記復元した値のbitのシェアを生成する処理と、
    前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
    をマスク値復元サーバ装置のコンピュータに実現させる秘密等号判定プログラムを記録した記録媒体。
  21. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
    乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
    を秘密計算サーバ装置のコンピュータに実現させる秘密等号判定プログラムを記録した記録媒体。
     

     
PCT/JP2017/043631 2017-12-05 2017-12-05 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体 WO2019111319A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/769,792 US11290456B2 (en) 2017-12-05 2017-12-05 Secret equality determination system, secret equality determination method and secret equality determination program recording medium
PCT/JP2017/043631 WO2019111319A1 (ja) 2017-12-05 2017-12-05 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体
JP2019557897A JP6974804B2 (ja) 2017-12-05 2017-12-05 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/043631 WO2019111319A1 (ja) 2017-12-05 2017-12-05 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体

Publications (1)

Publication Number Publication Date
WO2019111319A1 true WO2019111319A1 (ja) 2019-06-13

Family

ID=66750846

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/043631 WO2019111319A1 (ja) 2017-12-05 2017-12-05 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体

Country Status (3)

Country Link
US (1) US11290456B2 (ja)
JP (1) JP6974804B2 (ja)
WO (1) WO2019111319A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11646876B2 (en) * 2017-07-31 2023-05-09 Koninklijke Philips N.V. Distributing a computation output
JP2022523182A (ja) * 2019-02-22 2022-04-21 インファー,インク. モジュラー整数を使用したセキュアなマルチパーティ計算のための算術
CN118509160A (zh) * 2024-07-19 2024-08-16 蚂蚁科技集团股份有限公司 安全乘法方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150180902A1 (en) * 2013-12-23 2015-06-25 Nokia Corporation Method and apparatus for causing a collaboration of privacy policies for a shared device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9813234B2 (en) * 2015-05-11 2017-11-07 The United States of America, as represented by the Secretery of the Air Force Transferable multiparty computation
EP3506547A1 (en) * 2017-12-28 2019-07-03 Flytxt B.V. Providing security against user collusion in data analytics using random group selection
CN109255247B (zh) * 2018-08-14 2020-08-14 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150180902A1 (en) * 2013-12-23 2015-06-25 Nokia Corporation Method and apparatus for causing a collaboration of privacy policies for a shared device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DAMGARD, I. ET AL.: "Unconditionally Secure Constant-Rounds Multi-party Computation for Equality, Comparison", BITS AND EXPONENTIATION , THEORY OF CRYPTOGRAPHY (TCC 2006, vol. 3878, 5 March 2018 (2018-03-05), pages 285 - 304, Retrieved from the Internet <URL:http://doi.org/10.1007/11681878_15> *
NISHIDE, T. ET AL.: "Multiparty Computation for Interval , Equality, and Comparison Without Bit- Decomposition Protocol", PUBLIC KEY CRYPTOGRAPHY- PKC 2007, LNCS, vol. 4450, 2007, pages 343 - 360, XP047029618, Retrieved from the Internet <URL:http://doi.org/10.1007/978-3-540-71677-8_23> [retrieved on 20180305], doi:10.1007/978-3-540-71677-8_23 *

Also Published As

Publication number Publication date
US11290456B2 (en) 2022-03-29
JP6974804B2 (ja) 2021-12-01
JPWO2019111319A1 (ja) 2020-12-03
US20210176252A1 (en) 2021-06-10

Similar Documents

Publication Publication Date Title
CN111539026B (zh) 针对隐私数据进行安全运算的方法和装置
CN114586313B (zh) 用于签署一信息的系统及方法
WO2020034754A1 (zh) 多方安全计算方法及装置、电子设备
CN111523145B (zh) 针对隐私数据进行安全运算的方法和装置
US9158925B2 (en) Server-aided private set intersection (PSI) with data transfer
CN114175572B (zh) 利用拟群运算对加密数据实行相等和小于运算的系统和方法
JP2015530623A (ja) 2パーティ秘匿関数計算向けの入力整合性検証
CN112865953B (zh) 基于辅助服务器的安全多方计算方法、装置和系统
CN111783129A (zh) 一种保护隐私的数据处理方法及系统
WO2019111319A1 (ja) 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体
CN111555880A (zh) 数据碰撞方法、装置、存储介质及电子设备
WO2019111318A1 (ja) サーバ装置、秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体
US11599681B2 (en) Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program
US20230004356A1 (en) Secure random number generation system, secure computation apparatus, secure random number generation method, and program
Mansouri et al. Learning from failures: Secure and fault-tolerant aggregation for federated learning
Biçer et al. Highly efficient and re-executable private function evaluation with linear complexity
US20220069980A1 (en) Information processing apparatus, secure computation method, and program
JPWO2017038761A1 (ja) 秘密計算システム、秘密計算装置、および、秘密計算方法
CN114499845B (zh) 多方安全计算的方法、系统、装置、存储介质及设备
JP6775231B2 (ja) 計算システム、計算方法及び計算プログラム
Kjamilji Blockchain assisted secure feature selection, training and classifications in cloud and distributed edge IoT environments
Ke et al. Reversible data hiding in encrypted domain with public key embedding mechanism
CN114095157B (zh) 密钥管理方法、装置、计算机设备及可读存储介质
US11811741B2 (en) Information processing system and information processing method
EP4024755B1 (en) Secured performance of an elliptic curve cryptographic process

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: 17934048

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019557897

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17934048

Country of ref document: EP

Kind code of ref document: A1