WO2012121333A1 - 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム - Google Patents

秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム Download PDF

Info

Publication number
WO2012121333A1
WO2012121333A1 PCT/JP2012/055974 JP2012055974W WO2012121333A1 WO 2012121333 A1 WO2012121333 A1 WO 2012121333A1 JP 2012055974 W JP2012055974 W JP 2012055974W WO 2012121333 A1 WO2012121333 A1 WO 2012121333A1
Authority
WO
WIPO (PCT)
Prior art keywords
secret
value
function
calculation
random number
Prior art date
Application number
PCT/JP2012/055974
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 EP12754230.6A priority Critical patent/EP2667370B1/en
Priority to US14/003,637 priority patent/US9064123B2/en
Priority to JP2013503601A priority patent/JP5531154B2/ja
Priority to CN201280011766.9A priority patent/CN103403781B/zh
Publication of WO2012121333A1 publication Critical patent/WO2012121333A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/50Oblivious transfer

Definitions

  • the present invention provides a secret product-sum combination system, a calculation device, a secret product-sum combination method, and a secret product-sum combination method that perform calculation of an expression consisting of multiplication and addition while keeping data secret by secret sharing while maintaining the validity of the calculation result.
  • a secret product-sum combination system a calculation device, a secret product-sum combination method, and a secret product-sum combination method that perform calculation of an expression consisting of multiplication and addition while keeping data secret by secret sharing while maintaining the validity of the calculation result.
  • Non-Patent Document 1 This is a protocol for deriving the result of arithmetic / logical operation by cooperative calculation of 3 parties (3 calculation subjects) without restoring the distributed input value.
  • the secret sum-of-products combination system treats data as a natural number less than a predetermined prime number p.
  • Restoration of confidential data a distributed to X, Y, and Z X transmits a 0 to Y and a 1 to Z.
  • Y sends a 1 to Z and a 2 to X.
  • Z sends a 2 to X and a 0 to Y.
  • X if a 2 received from Y matches a 2 received from Z, a 0 + a 1 + a 2 is calculated to restore a.
  • a 0 + a 1 + a 2 is calculated to restore a.
  • (6) c a ⁇ b secret calculation (multiplication with fraud detection)
  • Shamir method As a secret function calculation that does not include multiplication with fraud detection, there is a secret function calculation based on Shamir's secret sharing of Non-Patent Document 2 (hereinafter referred to as “Shamir method”).
  • the Shamir method requires only half the amount of data compared to the method of Non-Patent Document 1. In the Shamir method, four or more calculation devices may be used. However, as for the Shamir method, there is known a method for detecting fraud only by a method using such a public key encryption method which requires a huge calculation cost (for example, about 1000 times).
  • An object of the present invention is to provide a secret product-sum combination system, a calculation device, a secret product-sum combination method, and a program thereof that can efficiently perform multiplication in a secret function calculation and perform a secret function calculation faster than conventional methods. .
  • the secret product-sum combination system of the present invention is a secret value [A 0 ], which is obtained by encryption or secret sharing of arbitrary values A 0 ,..., A n ⁇ 1 which are n or more and less than p (p is a prime number).
  • each calculation device includes a random number generation unit, a function calculation unit, and a fraud detection unit.
  • [] is a symbol indicating that the value in [] is concealed by encryption or secret sharing, and is a symbol for distinguishing from a value that is not concealed.
  • the present invention when the present invention is applied based on the technology of Non-Patent Document 1, the concealed product-sum combination system can be configured with three computing devices, and when the present invention is applied based on the Shamir method, concealed product-sum combination is possible.
  • the system can consist of any number of computing devices greater than two.
  • the random number generation unit generates a secret value [r] of a random number r of 1 or more and less than p in cooperation with the random number generation unit of two or more other computing devices.
  • the function calculation unit cooperates with the function calculation units of two or more other calculation devices to add or multiply the secret value [A 0 ],..., [A n ⁇ 1 ], or a function f consisting of both.
  • [C] [f ([A 0 ],..., [A n-1 ])]
  • [C ′] [r ⁇ f ([A 0 ],..., [A n -1 ])] is calculated.
  • the fraud detection unit obtains a concealment value [r ⁇ CC ′] in cooperation with the fraud detection units of two or more other computing devices, and if [r ⁇ CC ′] is [0]. [C] is output, and if it is not [0], information indicating fraud detection is output.
  • the multiplication can be efficiently performed in the secret function calculation. It becomes possible to do.
  • the figure which shows the structural example of the concealment sum-of-products combination system 100 The figure which shows the example of a processing flow of the secrecy product-sum calculation system 100. The figure which shows the example of a processing flow of random number generation part 11x, y, z. The figure which shows the structural example of the concealment sum-of-products combination system 200. The figure which shows the example of a processing flow of the secrecy product-sum calculation system 200. The figure which shows the example of a processing flow of random number generation part 21x, y, z.
  • the calculation targeted in the present invention is the constant multiplication, the constant addition, and the concealment for the concealment values [a] and [b] by encryption or secret sharing of arbitrary values a and b of 0 or more and less than p (p is a prime number). Consists of addition and multiplication of values. For example, the calculation is as follows.
  • [ ⁇ a + ⁇ ] ⁇ [a] + ⁇ (constant multiple / constant addition)
  • [a + b] [a] + [b] (addition)
  • [a ⁇ b] [a] ⁇ [b] (multiplication)
  • ⁇ and ⁇ are arbitrary values of 0 or more and less than p.
  • the description of “mod p” is omitted in order to simplify the description. In the description and claims in this specification, the description of “mod p” is omitted to simplify the description.
  • the first equation indicates that the secret value of ( ⁇ a + ⁇ ) can be obtained by multiplying the secret value [a] of a by a constant ⁇ and adding the constant ⁇ .
  • the second equation indicates that the secret value [a + b] of (a + b) can be obtained by adding the secret value [a] of a and the secret value [b] of b.
  • the third equation indicates that the secret value (a ⁇ b) can be obtained by multiplying the secret value [a] of a and the secret value [b] of b.
  • the secret function calculation of Non-Patent Document 1 includes addition, multiplication, constant sum, and constant multiplication. Therefore, although each said formula can be calculated also by the secret function calculation of a nonpatent literature 1, in this invention, the method of calculating more rapidly is shown.
  • the result of the secret calculation performed after multiplying the random number r is compared with the result of multiplying the random number after performing the secret calculation. Since the illegality cannot be performed so that the two calculation results are equal due to the presence of the random number r, the illegality can be detected when the two calculation results are not equal. This is because when addition and multiplication are performed in a domain where the modulus is a prime number p, since the calculation result is a random number when the random number r is applied, the random number r is not applied to the one applied. It is based on the fact that fraud that fits in is not possible.
  • r ( ⁇ [a] + ⁇ ) ⁇ [a ′] + r ⁇ ⁇ (constant multiplication / constant addition)
  • r ([a] + [b]) [a ′] + [b ′] (addition)
  • r ([a] ⁇ [b]) [a ′] ⁇ [b ′] (multiplication)
  • r ([a] ⁇ [b]) [r ⁇ a] ⁇ [b] (multiplication) That is, the value r times the value (secret value [c]) that is originally calculated in parentheses on the left side is calculated by the expression on the right side (secret value [c ′]).
  • fraud that is, the calculation result of the left side and the right side is not [c] and [c ′], but is tampered with [c + u] and [c ′ + v] by adding fraud values u and v.
  • FIG. 1 shows a configuration example of the concealed sum-of-products combination system 100
  • FIG. 1 shows a configuration example of the concealed sum-of-products combination system 100
  • FIG. 1 shows a configuration example of the concealed sum-of-products combination system 100
  • FIG. 1 shows a configuration example of the concealed sum-of-products combination system 100
  • FIG. 1 shows a configuration example of the concealed sum-of-products combination system 100
  • FIG. 1 shows a configuration example of the concealed sum-of-products combination system 100
  • FIG. 1 shows a configuration example of the concealed sum-of-products combination system 100
  • FIG. 1 shows a configuration example of the concealed sum-of-products combination system 100
  • FIG. 1 shows a configuration example of the concealed sum-of-products combination system 100
  • FIG. 1 shows a configuration example of the concealed sum-of-products combination system 100
  • FIG. 1 shows a configuration example of the concealed sum-of-products combination system 100
  • FIG. 1 shows a configuration example of the concealed sum
  • the calculation device 10x includes a random number generation unit 11x, a function calculation unit 12x, and a fraud detection unit 13x
  • the calculation device 10y includes a random number generation unit 11y, a function calculation unit 12y, and a fraud detection unit 13y
  • the calculation device 10z generates a random number.
  • the random number generators 11x, 11y, and 11z cooperate to generate a secret value [r] of a non-zero random number r (a random number randomly selected from an integer of 1 or more and less than p) (S1). Specifically, for example, it is generated as follows (see FIG. 3). First, the random number generation unit 11x generates a non-zero random number r z and shares it with the random number generation unit 11y, the random number generation unit 11y generates a non-zero random number r X and shares it with the random number generation unit 11z, and the random number generation unit 11z Generates a non-zero random number r Y and shares it with the random number generator 11x (S1-1).
  • S11 shown in FIG. 6 is executed instead of S1.
  • the random number generators 11x, 11y, and 11z respectively generate uniform random numbers r X , r Y , and r z (S11-1), and r X , r by the concealment method disclosed in Non-Patent Document 1.
  • the function calculation units 12x, 12y, and 12z cooperate with each other for the input secret values [A 0 ],..., [A n ⁇ 1 ], and the function values that are concealed by the function f including addition or multiplication or both.
  • [C] [f ([A 0 ],..., [A n ⁇ 1 ])]
  • [C ′] [r ⁇ f ([A 0 ],..., [A n ⁇ 1 ])]
  • S2 [C] and [C ′] can be calculated efficiently by performing them in parallel.
  • addition / multiplication combining a secret which is a pair of a constant, a secret value, and a secret value. There are 12 calculations defined.
  • the function f is configured by combining any one or a plurality of twelve calculations once or a plurality of times.
  • the twelve defined calculations are referred to as basic calculations. That is, the function f is a function obtained by combining one basic calculation or a plurality of basic calculations.
  • [a] and [b] indicate secret values for each basic calculation
  • [c] is a secret value of a calculation result not multiplied by a random number r for each basic calculation
  • [c ′] is for each basic calculation.
  • the secret value of the calculation result obtained by multiplying the random number r is shown.
  • [a] and [b] are secret values obtained by encryption or secret sharing of arbitrary values a and b of 0 or more and less than p
  • [a ′] r ⁇ [a]
  • [b ′] r ⁇ [b]. If the function f is composed of a plurality of basic calculations, [c] and [c ′] are calculated for each basic calculation.
  • [A 0 ], [A 1 ], and [A 2 ] are added as the first basic calculation.
  • [A 0 ] is [a]
  • [A 1 ] is [b].
  • [c] and [c ′] are calculated as a result of the first basic calculation.
  • the first result [c], [c ′] is [a]
  • [a ′] [A 2 ] is [b]
  • the addition is performed.
  • [C] and [c ′] which are the results of the above are obtained.
  • the results [c] and [c ′] of the second basic calculation are the function values [C] and [C ′] of the function f.
  • Non-Patent Document 1 the addition / multiplication of the secret function calculation of Non-Patent Document 1 is applied to the five types of addition of the secret values, constant addition / multiple multiplication of the secret values, and addition / multiplication of the constants. Good.
  • the secret pair ( ⁇ ⁇ [a], ⁇ ⁇ [a ′]) obtained by multiplying each of the secret pair ([a], [a ′]) by an arbitrary constant ⁇ of 0 or more and less than p. ) Is ([c], [c ′]).
  • -Addition of secret pairs (([a], [a ']) and ([b], [b'])) ([c], [c ']) [a ′]) and ([b], [b ′])) are function values obtained by a function that adds the secret value [a], the secret value [b], and the secret value [a ′].
  • the secret pair ([a] + [b], [a ′] + [b ′]) obtained by adding the secret value [b ′] is defined as ([c], [c ′]).
  • the addition of the secret pair ([a], [a ′]) and the secret value [b] ([c], [c ′]) is the secret pair ([a], [a ′]) and the secret value [b] ],
  • the secret value [b ′] is obtained by multiplying the secret value [b] and the secret value [r] by multiplication without fraud detection of Non-Patent Document 1,
  • the secret value [b] is added to the secret value [a]
  • the secret value [b ′] is added to the secret value [a ′] ([a] + [b], [a ′] + [b ']) Is defined as ([c], [c']).
  • the multiplication ([c], [c ′]) of the secret pairs (([a], [a ′]) and ([b], [b ′])) is the secret pair (([a], [a ′]) and ([b], [b ′])) are obtained by a function value, the secret value [a] and the secret value [b], the secret value [a ′] and the secret value
  • the secret pair ([a] ⁇ [b], [a ′] ⁇ [b]) obtained by multiplying the value [b] by the fraud detection-free multiplication of Non-Patent Document 1, respectively ((c), [b]).
  • Multiplication of the secret pair ([a], [a ′]) and the secret value [b] ([c], [c ′]) results in the secret pair ([a], [a ′]) and the secret value [b ],
  • the secret value [a] and the secret value [b], and the secret value [a ′] and the secret value [b] are not detected in the non-patent document 1, respectively.
  • the secret pair ([a] ⁇ [b], [a ′] ⁇ [b]) obtained by multiplication by multiplication is defined as ([c], [c ′]).
  • the fraud detectors 13x, 13y, and 13z cooperate to obtain a secret value [r ⁇ CC ′] by the secret function calculation method disclosed in Non-Patent Document 1, and [r ⁇ CC ′] If [0], [C] is output, and if it is not [0], information indicating fraud detection is output (S3).
  • the secret value [r ⁇ C ⁇ C ′] the calculation can be performed more efficiently if the secret value [r] is restored to r. Note that when the basic calculation constituting the function f includes multiplication of the secret pairs (([a], [a ′]) and ([b], [b ′])), [B] and [b ′] in the basic calculation are recorded for each basic calculation.
  • the fraud detection units 13x, 13y, and 13z cooperate with each other in accordance with the secret function calculation method disclosed in Non-Patent Document 1, and the secret value for each [b] and [b ′].
  • [r ⁇ bb ′] is obtained. Even if any [r ⁇ b ⁇ b ′] is not [0], information indicating fraud detection is output without outputting [C] (S3 ′). Note that the non-zeroness of the value of [r ⁇ c ⁇ c ′] is obtained by multiplying the secret pairs (([a], [a ′]) and ([b], [b ′])). It may be executed every time.
  • the efficiency of calculation by the secret product-sum combination system and the secret product-sum calculation method of the present invention configured as described above is compared with the efficiency of calculation with fraud detection in Non-Patent Document 1.
  • the amount of calculation in Non-Patent Document 1 is mostly related to encryption / decryption of communication when random number generation and a physical secure channel cannot be prepared, and the amount of calculation related to encryption / decryption is proportional to the number of communications. Therefore, the efficiency of both can be compared by comparing the number of random numbers generated and the number of communications.
  • the “number of rounds” in the following description is the number of communications that cannot be transmitted and received simultaneously. For example, the number of rounds increases if there are many states in which processing cannot proceed unless some information is received from another computing device.
  • the constant multiple of the secret pair is equivalent to the constant multiple of the secret value (the number of random numbers generated, the number of communications, and the number of rounds are all 0).
  • the constant addition for the secret pair is equivalent to the constant addition for the secret value (the number of random number generations, the number of communications, and the number of rounds are all 0).
  • -Addition between secret pairs is equivalent to addition between secret values (the number of random number generation, the number of communications, and the number of rounds are all 0).
  • the average number of random number generations is 10
  • the average number of communication is 18 times
  • the number of rounds is 4.
  • the average random number generation number is two
  • the average communication number is six
  • the round number is two. Therefore, the number of random number generations is five times
  • the number of communication times is three times
  • the number of rounds is twice as efficient.
  • the average number of random number generations is the average number of random number generations performed by each computing device. For example, if one computing device generates random numbers three times and the other two computing devices do not generate random numbers, the average random number generation count is one.
  • the average random number generation count is 10 times, the average communication count is 18 times, and the round number is 4.
  • the average number of times of random number generation is 2
  • the number of average communications is 4, and the number of rounds is 2. Therefore, the number of random number generation is five times, the number of communication is 4.5 times, and the number of rounds is twice as efficient.
  • the average random number generation count is 10 times, the average communication count is 18 times, and the round number is 4.
  • the average random number generation count is 3
  • the average communication count is 6
  • the round count is 2. Therefore, the number of times of random number generation is approximately three times, the number of communication times is three times, and the number of rounds is twice as efficient.
  • the function f is the exclusive OR (XOR) in the first embodiment, that is, the function value [C] is set to the inputs [A 0 ],..., [A n ⁇ 1 ].
  • a secret value [r] of the random number r is generated.
  • [c i ] [ ⁇ 2 (c i ⁇ 1 ⁇ 1/2) (A i ⁇ 1/2) +1/2]
  • [c ′ i ] [ ⁇ 2 (c ′ i ⁇ 1 ⁇ 1/2) (A i ⁇ 1/2) + r / 2] 5.
  • the secret value [r] is restored and r is obtained. 6).
  • [r ⁇ c n-1 ⁇ c ′ n ⁇ 1 ] is calculated for ([c n ⁇ 1 ], [c ′ n ⁇ 1 ]). If the calculation result is [0], [c n-1 ] is output and the process ends. If it is not [0], information indicating fraud detection is output and the process ends.
  • the above 1 corresponds to S1 in the first embodiment, 2 to 4 correspond to S2, and 5 to 6 correspond to S3.
  • the average random number generation number is 10n times excluding constants
  • the average communication number is 18n times
  • the round number is 4n.
  • the average random number generation number is 2n times
  • the average communication number is 4n times
  • the round number is 2n. Therefore, the number of random number generations is 5 times
  • the average number of communication times is 4.5 times
  • the number of rounds is twice as efficient.
  • the above condition holds for any combination of the algorithms defined in the function calculation units 12x, 12y, and 12z of the first embodiment. That is, if there is at least one fraud in the set element of [[b], [b ′]), it is detected with a probability of 1-1 / (p ⁇ 1) or higher, and if there is no fraud, any secret pair Is detected with a probability of 1-1 / (p-1) or more.
  • the secrecy pair to be output as these Is detected with a probability of 1-1 / (p-1) or more.
  • the configuration based on the secret function calculation including the multiplication with fraud detection shown in Non-Patent Document 1 has been described, but in the third embodiment, the configuration based on the Shamir scheme will be described.
  • the random number generation in the first embodiment is limited to uniform random number generation, so that multiplication with fraud detection becomes unnecessary, and application to the Shamir scheme becomes possible.
  • arithmetic operations can be performed at high speed and safely, and the data amount can be reduced to half compared to the method of Non-Patent Document 1.
  • the secret product-sum combination system of the third embodiment is premised on the Shamir method, the number of calculation devices may be four or more.
  • the fragment a 1 , a 2 , a 3 of the secret value [a] of the data a and the fragment b 1 , b 2 , b 3 of the secret value [b] of the data b are sent to the computing device X (a 1 , b 1 ), (a 2 , b 2 ) are distributed to the computing device Y, and (a 3 , b 3 ) are distributed to the computing device Z.
  • t 1 (the secret can be restored by any two computing devices).
  • the secret values [d 1 ], [d 2 ], and [d 3 ] of d 1 , d 2 , and d 3 are generated by the data concealment method using the Shamir method.
  • the fragment of [d 1 ] is d 1,0 , d 1,1 , d 1,2
  • the fragment of [d 2 ] is d 2,0 , d 2,1 , d 2,2 , [d 3 ] are d 3,0 , d 3,1 and d 3,2 .
  • each calculation device calculates a fragment c j of the product [c] of [a] and [b] by the following equation.
  • the calculation devices X, Y, and Z calculate c 1 , c 2 , and c 3 , respectively.
  • FIG. 4 shows a configuration example of the concealed product-sum combination system 200 based on the Shamir method
  • FIG. 5 shows an example of the processing flow.
  • the concealed product-sum combination system 200 includes q computing devices.
  • q computing devices As in the first embodiment, a case where there are three calculation devices (calculation devices 20x, 20y, and 20z) will be described.
  • the concealed product-sum combination system 200 divides the secret values [A 0 ],..., [A n ⁇ 1 ] by the secret sharing of n arbitrary values A 0 ,.
  • the secret function value [C] [f ([A 0 ],..., By performing the secret function calculation with the function f consisting of addition or multiplication or both in cooperation with the three calculation devices 20x, 20y, and 20z. , [A n-1 ])].
  • the calculation device 20x includes a random number generation unit 21x, a function calculation unit 22x, and a fraud detection unit 23x
  • the calculation device 20y includes a random number generation unit 21y, a function calculation unit 22y, and a fraud detection unit 23y
  • the calculation device 20z generates a random number.
  • the random number generators 21x, 21y, and 21z cooperate to generate a secret value [r] of the uniform random number r (S11). Specifically, for example, it is generated as follows (see FIG. 6). First, a uniform random number r X is the random number generation unit 21x, the random number generation unit 21y is a uniform random number r Y, the random number generation unit 21z generates respectively a uniform random number r Z (S11-1). Subsequently, secret values [r X ], [r Y ], and [r Z ] of r X , r Y , and r Z are generated by the data concealment method using the Shamir method.
  • the fragment of [r X ] is r X, 0 , r X, 1 , r X, 2
  • the fragment of [r Y ] is r Y, 0 , r Y, 1 , r Y, 2
  • the random number generation unit 21x records r X, 0 , r Y, 0 , r Z, 0
  • the random number generation unit 21y records r X, 1 , r Y, 1 , r Z, 1 and generates random numbers.
  • the function calculation units 22x, 22y, and 22z cooperate with each other for the input secret values [A 0 ],..., [A n ⁇ 1 ], and the function values that are concealed by the function f including addition and / or multiplication.
  • [C] [f ([A 0 ],..., [A n ⁇ 1 ])]
  • [C ′] [r ⁇ f ([A 0 ],..., [A n ⁇ 1 ])]
  • [C] and [C ′] can be calculated efficiently by performing them in parallel.
  • addition / multiplication combining a secret which is a pair of a constant, a secret value, and a secret value.
  • the calculation to be defined corresponds to the basic calculation described in the first embodiment. That is, also in the third embodiment, the function f is a function obtained by combining one basic calculation or a plurality of basic calculations.
  • [A 0 ], [A 1 ], and [A 2 ] are added as the first basic calculation.
  • [A 0 ] is [a]
  • [A 1 ] is [b].
  • [c] and [c ′] are calculated as a result of the first basic calculation.
  • the first result [c], [c ′] is [a]
  • [a ′] [A 2 ] is [b]
  • the addition is performed.
  • [C] and [c ′] which are the results of the above are obtained.
  • the results [c] and [c ′] of the second basic calculation are the function values [C] and [C ′] of the function f.
  • the secret pair ( ⁇ ⁇ [a], ⁇ ⁇ [a ′]) obtained by multiplying each of the secret pair ([a], [a ′]) by an arbitrary constant ⁇ of 0 or more and less than p. ) Is ([c], [c ′]).
  • a secret pair ([a] + ⁇ , [a ′] + [r ⁇ ⁇ ]) obtained by adding the secret value [r ⁇ ⁇ ] to ([c], [c ′]).
  • the addition of the secret pair ([a], [a ′]) and the secret value [b] ([c], [c ′]) is the secret pair ([a], [a ′]) and the secret value [b] ],
  • the secret value [b]] is obtained by multiplying the secret value [b] and the secret value [r] by the fraud detection-free multiplication of the secret function calculation method according to the Shamir method. Obtained by adding the secret value [b] to the secret value [a] and the secret value [b ′] to the secret value [a ′] ([a] + [b], [a ′] + [B ′]) is defined as ([c], [c ′]).
  • the multiplication ([c], [c ′]) of the secret pairs (([a], [a ′]) and ([b], [b ′])) is the secret pair (([a], [a ′]) and a function value obtained by multiplying ([b], [b ′])), a secret value [a], a secret value [b], a secret value [a ′′]
  • the secret pairs [[a], [b], [a ′], [b]) obtained by multiplying the secret values [b] by the fraud detection-free multiplication of the secret function calculation method based on the Shamir method, respectively ([[ c] and [c ′]).
  • Multiplication of the secret pair ([a], [a ′]) and the secret value [b] ([c], [c ′]) results in the secret pair ([a], [a ′]) and the secret value [b ],
  • a secret pair ([a] ⁇ [b], [a ′] ⁇ [b]) obtained by multiplication by fraud detection-free multiplication is defined as ([c], [c ′]).
  • the secret value [a] is multiplied by the secret value [b] ([c], [c ′]) is a function value obtained by a function of multiplying the secret value [a] and the secret value [b]. Then, the secret value [a] and the secret value [r] are multiplied by the fraud detection-free multiplication of the secret function calculation method by the Shamir method to obtain the secret value [a ′], and the secret value [a] and the secret value [b] , The secret value [a ′] and the secret value [b], which are obtained by multiplying the data secret method of the Shamir method by fraud detection-free multiplication ([a] ⁇ [b], [a ′] -Let [b]) be ([c], [c ']).
  • the fraud detectors 23x, 23y, and 23z cooperate to obtain the secret value [r ⁇ CC ′] by the secret function calculation method using the Shamir method, and if [r ⁇ CC ′] is [0]. [C] is output, and if it is not [0], information indicating fraud detection is output (S13).
  • the calculation can be performed more efficiently if the secret value [r] is restored to r. Note that when the basic calculation constituting the function f includes multiplication of the secret pairs (([a], [a ′]) and ([b], [b ′])), [B] and [b ′] in the basic calculation are recorded for each basic calculation.
  • the fraud detection units 23x, 23y, and 23z cooperate to calculate the secret value [r ⁇ b ⁇ for each [b] and [b ′] by the secret function calculation method using the Shamir method.
  • b ′] is obtained. Even if any [r ⁇ b ⁇ b ′] is not [0], information indicating fraud detection is output without outputting [C] (S13 ′). Note that the non-zeroness of the value of [r ⁇ c ⁇ c ′] is obtained by multiplying the secret pairs (([a], [a ′]) and ([b], [b ′])). It may be executed every time.
  • Each process in the secret product-sum combination system and the secret product-sum calculation method of the present invention described above is executed not only in time series according to the description, but also in parallel with the processing capability of the apparatus that executes the process or as necessary. Or you may perform separately. Further, the functions of the constituent elements of the concealed product-sum calculation system of the present invention may be merged and divided as necessary. In addition, it can change suitably in the range which does not deviate from the meaning of this invention.
  • the secret product-sum calculation system and the calculation device of each embodiment of the present invention are realized by a computer, the processing contents of the functions of the device and each unit are described by a program.
  • the program is stored in, for example, a hard disk device, and necessary programs and data are read into a RAM (Random Access Memory) at the time of execution.
  • the read program is executed by the CPU, whereby each processing content is realized on the computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

 秘匿関数計算において乗算を効率化し、従来より秘匿関数計算を高速化する。3つ以上の計算装置で協調して、乱数rの秘匿値[r]を生成し、任意の値A、…、An-1の秘匿値[A]、…、[An-1]について、加算及び乗算からなる関数fによる秘匿関数計算を行うことにより、秘匿された関数値[C]=[f([A]、…、[An-1])]、[C']=[r・f([A]、…、[An-1])]を計算し、更に秘匿値[r・C-C']を計算し、[r・C-C']が[0]であれば[C]を出力し、[0]でなければ不正検知を表す情報を出力する。

Description

秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム
 本発明は、秘密分散によりデータを秘匿しつつ、乗算及び加算からなる式の計算を、計算結果の正当性を保ちながら行う秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラムに関する。
 従来、データを秘匿した状態で、計算結果の正当性を保証しつつ乗算及び加算を含む計算を行う技術として、非特許文献1の3パーティ秘匿関数計算がある。これは、分散された入力値を復元することなく、3パーティ(3計算主体)の協調計算によって算術/論理演算の結果を導くプロトコルである。3パーティ秘匿関数計算プロトコルでは、秘匿積和結合システムは、データをある定められた素数p未満の自然数として扱う。データを秘匿するときは、そのデータをaとすれば、aを以下の条件を満たすよう3つに分散する。
 a=a0+a1+a2 mod p
実際には、秘匿積和結合システムは、乱数a1、a2を生成し、a0=a-a1-a2とする。そして3パーティX、Y、Zに対して、Xに(a0、a1)、Yに(a1、a2)、Zに(a2、a0)を送信する。すると、a1、a2が乱数であるため、X、Y、Zのいずれのパーティもaの情報を持たないが、いずれか2パーティが集まればaを復元することができる。
 この秘匿は加法的な分散であるため、可換性を有する。したがって、分散値を加算してから復元しても、復元してから加算しても結果は等しい。すなわち、加算と定数倍は分散したまま通信なしで行うことが可能である。また、乗算も通信及び乱数生成が必要となるが可能である。そのため、論理回路を構成でき、いかなる計算を実行することも可能である。以下、3パーティ秘匿関数計算の具体例を示す。なお、3パーティ秘匿関数計算プロトコルにおいて、計算結果はpで除した余りであるが、記載を簡略化するため、以下、"mod p"の記載を省略する。
(1)X、Y、Zに分散された秘匿データaの復元
 Xは、Yにa0を送信し、Zにa1を送信する。Yは、Zにa1を送信し、Xにa2を送信する。Zは、Xにa2を送信し、Yにa0を送信する。
 Xは、Yから受信したa2とZから受信したa2とが一致していれば、a0+a1+a2を計算してaを復元する。Yは、Xから受信したa0とZから受信したa0とが一致していれば、a0+a1+a2を計算してaを復元する。Zは、Xから受信したa1とYから受信したa1とが一致していれば、a0+a1+a2を計算してaを復元する。
(2)c=a+bの秘密計算
 データbもデータaと同様な方法により、Xに(b0、b1)が、Yに(b1、b2)が、Zに(b2、b0)が、それぞれ分散されて秘匿されているとする。
 このとき、Xは(c0、c1)=(a0+b0、a1+b1)を計算して記録し、Yは(c1、c2)=(a1+b1、a2+b2)を計算して記録し、Zは(c2、c0)=(a2+b2、a0+b0)を計算して記録する。
(3)c=a+αの秘密計算(αは既知の定数)
 Xは、(c0、c1)=(a0+α、a1)を計算して記録し、Zは、(c2、c0)=(a2、a0+α)を計算して記録する。Yの処理は無い。
(4)c=a・αの秘密計算
 Xは、(c0、c1)=(a0・α、a1・α)を計算して記録し、Yは、(c1、c2)=(a1・α、a2・α)を計算して記録し、Zは、(c2、c0)=(a2・α、a0・α)を計算して記録する。
(5)c=a・bの秘密計算(不正検知なし乗算)
 まず、Xは、乱数r1、r2、c0を生成し、c1=(a0+a1)(b0+b1)-r1-r2-c0を計算し、Yに(r1、c1)を、Zに(r2、c0)を送信する。
 続いて、Yは、y=a1・b2+b1・a2+r1を計算し、Zにyを送信する。また、Zは、z=a2・b0+b0・a2+r2を計算し、Yにzを送信する。
 続いて、YとZはそれぞれ、c2=y+z+a2・b2を計算する。
 そして、Xは(c0、c1)を記録し、Yは(c1、c2)を記録し、Zは(c2、c0)を記録する。
(6) c=a・bの秘密計算(不正検知付き乗算)
 上記(5)の方法によりc=a・bの乗算を行った上で、X、Y、Zのそれぞれに対して以下の処理を行う。なお、以下の処理においてPはX、Y、Zのそれぞれを意味し、PがXである場合は、P-はZ、P+はYを意味し、PがYである場合は、P-はX、P+はZを意味し、PがZである場合は、P-はY、P+はXを意味する。
 まず、P-、P+だけで乱数rを生成して共有し、P-、P+はr・a0、r・a1、r・a2をr・aの秘匿値として各パーティに分散する。続いて、上記(5)の方法によりc’=(r・a)・bを計算する。そして、r・c-c’が0であるか否かを確認し、0でないことをもって不正を検知する。
 また、不正検知付き乗算を備えない秘匿関数計算として、非特許文献2のShamirの秘密分散をベースとした秘匿関数計算(以下、「Shamir方式」という。)がある。
千田浩司、濱田浩気、五十嵐大、高橋克己、「軽量検証可能3パーティ秘匿関数計算の再考」、CSS2010、2010年 SecureSCM-Consortium, "D9.2 Security Analysis", Cryptographic Aspects, 2009, p19-26.
 3パーティ秘匿関数計算では乗算は可能であるが、通信及び乱数生成を要する。そのため、乗算が計算処理におけるボトルネックとなり、秘匿関数計算の高速化を阻む要因となっていた。Shamir方式は、非特許文献1の方式と比べ、データ量が半分で済む。また、Shamir方式においては、計算装置が4個以上であっても構わない。しかし、Shamir方式は、莫大な計算コスト(例えば約1000倍程度)のかかる公開鍵暗号方式を用いた方法でしか不正検知を行う方法が知られていない。
 本発明の目的は、秘匿関数計算において乗算を効率化し、従来より高速に秘匿関数計算が可能な秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラムを提供することにある。
 本発明の秘匿積和結合システムは、n個の0以上p未満(pは素数)の任意の値A、…、An-1の暗号化または秘密分散による秘匿値[A]、…、[An-1]について、加算若しくは乗算又はその両方からなる関数fによる秘匿関数計算を3つ以上の計算装置で協調して行うことにより、秘匿された関数値[C]=[f([A]、…、[An-1])]を計算する秘匿積和結合システムであって、各計算装置は乱数生成部と関数計算部と不正検知部とを備える。なお、[]は、[]内の値が暗号化または秘密分散により秘匿されていることを表す記号であり、秘匿されていない値と区別するための記号である。例えば、実際の値が秘密分散されているときには、[]は、[]内に示された実際の値の秘密分散された断片の集合を概念的に示している。そして、本発明の秘匿積和結合システムは、a,b,α,βを0以上p未満の任意の値とするときに、
 [αa+β]=α[a]+β
 [a+b]=[a]+[b]
 [a・b]=[a]・[b]
が成り立つ。また、非特許文献1の技術を基に本発明を適用した場合は、秘匿積和結合システムは3つの計算装置で構成でき、Shamir方式を基に本発明を適用した場合は、秘匿積和結合システムは3つ以上の任意の数の計算装置で構成できる。
 乱数生成部は、他の2つ以上の計算装置の乱数生成部と協調して、1以上p未満の乱数rの秘匿値[r]を生成する。
 関数計算部は、他の2つ以上の計算装置の関数計算部と協調して、前記秘匿値[A]、…、[An-1]について、加算若しくは乗算又はその両方からなる関数fにより、秘匿された関数値[C]=[f([A]、…、[An-1])]、[C’]=[r・f([A]、…、[An-1])]を計算する。
 不正検知部は、他の2つ以上の計算装置の不正検知部と協調して、秘匿値[r・C-C’]を求め、[r・C-C’]が[0]であれば[C]を出力し、[0]でなければ不正検知を表す情報を出力する。
 本発明の秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラムによれば、秘匿関数計算において乗算を効率的に行うことができ、よって、従来より高速に秘匿関数計算をすることが可能となる。
秘匿積和結合システム100の構成例を示す図。 秘匿積和計算システム100の処理フロー例を示す図。 乱数生成部11x、y、zの処理フロー例を示す図。 秘匿積和結合システム200の構成例を示す図。 秘匿積和計算システム200の処理フロー例を示す図。 乱数生成部21x、y、zの処理フロー例を示す図。
 本発明において対象となる計算は、0以上p未満(pは素数)の任意の値a、bの暗号化または秘密分散による秘匿値[a]、[b]に対する、定数倍、定数加算及び秘匿値同士の加算・乗算により構成される。例えば次のような計算である。
  [αa+β]=α[a]+β(定数倍・定数加算)
  [a+b]=[a]+[b](加算)
  [a・b]=[a]・[b](乗算)
ここで、αとβはそれぞれ0以上p未満の任意の値である。また、計算結果はpで除した余りであるが、記載を簡略化するため、"mod p"の記載は省略した。本明細書内の説明および請求項では記載を簡略化するため、"mod p"の記載は省略する。第1式は、(αa+β)の秘匿値を、aの秘匿値[a]に定数αを乗算し、定数βを加算することで求めることができることを示している。第2式は、(a+b)の秘匿値[a+b]を、aの秘匿値[a]とbの秘匿値[b]の加算で求めることができることを示している。第3式は、(a・b)の秘匿値を、aの秘匿値[a]とbの秘匿値[b]の乗算で求めることができることを示している。本発明の秘匿積和結合システムでは、上記の3つの式が成り立つように秘匿化と定数倍、定数加算及び秘匿値同士の加算・乗算が実行できることを前提としている。なお、非特許文献1の秘匿関数計算には、加算、乗算、定数和、定数倍が備えられている。そのため、非特許文献1の秘匿関数計算によっても、上記の各式を計算することができるが、本発明では、より高速に計算する方法を示す。
 本発明では、乱数rを乗じた上で行った秘匿計算の結果と秘匿計算を行った上で乱数を乗じた結果とを比較する。乱数rの存在により2つの計算結果が等しくなるように不正を行うことができないので、2つの計算結果が等しくないことをもって不正を検知できるというものである。これは、加法と乗法が、法を素数pとする領域で行われる場合、乱数rが掛かっている方は計算結果が乱数となるので、乱数rが掛かっていない方と掛かっている方との辻褄が合うような不正はできないことに基づく。
 具体的には、上記の3つの式が成り立つので、0以上p未満の任意の秘匿値[a]、[b]、及び[a’]=r・[a]、[b’]=r・[b]に対して、以下の対応関係が成り立つ。
  r(α[a]+β)=α[a’]+r・β(定数倍・定数加算)
  r([a]+[b])=[a’]+[b’](加算)
  r([a]・[b])=[a’]・[b’](乗算)
  r([a]・[b])=[r・a]・[b](乗算)
すなわち、左辺の( )内の本来計算したい値(秘匿値[c])のr倍の値は、右辺の式で算出される(秘匿値[c’])。これにより、本来計算したい秘匿値[c]に対して、不正がなければ[r・c]=[c’]すなわち[r・c-c’]=[0]となるような[c’]を算出できる。これに対し、不正がある場合、すなわち左辺と右辺の計算結果が[c]と[c’]でなく、不正の値u、vの加算により[c+u]と[c’+v]に改竄された場合、[r(c+u)-c'’-v]=[r(c+u)-r・c-v]=[0]となるには、u、vが[r・u-v]=[0]を満たす必要がある。しかし、rが乱数であるため攻撃者がこれを満たすようにすることができる確率は、rが非零乱数(1≦r≦p-1)である場合は1/(p-1)、rが一様乱数(0≦r≦p-1)である場合は1/pにすぎない。そのため、[c]と[c’]を計算し、[r・c-c’]が[0]かどうかをチェックすることで不正を検知できる。
 図1に秘匿積和結合システム100の構成例を、図2にその処理フロー例をそれぞれ示す。秘匿積和結合システム100は、3つの計算装置10x、10y、10zを備える。秘匿積和結合システム100は、n個の0以上p未満(pは素数)の任意の値A、…、An-1の暗号化または秘密分散による秘匿値[A]、…、[An-1]に対し、加算若しくは乗算又はその両方からなる関数fによる秘匿関数計算を3つの計算装置10x、10y、10zで協調して行うことにより、秘匿された関数値[C]=[f([A]、…、[An-1])]を計算する。
 計算装置10xは乱数生成部11xと関数計算部12xと不正検知部13xとを備え、計算装置10yは乱数生成部11yと関数計算部12yと不正検知部13yとを備え、計算装置10zは乱数生成部11zと関数計算部12zと不正検知部13zとを備える。
 乱数生成部11x、11y、11zは協調して、非零乱数r(1以上p未満の整数からランダムに選ばれた乱数)の秘匿値[r]を生成する(S1)。具体的には例えば次のように生成する(図3参照)。まず、乱数生成部11xが非零乱数rzを生成して乱数生成部11yと共有し、乱数生成部11yが非零乱数rXを生成して乱数生成部11zと共有し、乱数生成部11zが非零乱数rYを生成して乱数生成部11xと共有する(S1-1)。続いて、非特許文献1で開示された秘匿方法によりrX、rY、rZの秘匿値[rX]、[rY]、[rZ]を生成する(S1-2)。そして、非特許文献1の不正検知付き乗算によりこれらを乗算して、秘匿値[r]=[rX・rY・rZ]を生成する(S1-3)。なお、ここでは乱数r,rX,rY,rzが非零乱数である場合を例示したが、一様乱数(0以上p未満の整数からランダムに選ばれた乱数)であっても構わない。一様乱数である場合には、S1の代わりに図6に示すS11を実行する。具体的には、乱数生成部11x、11y、11zがそれぞれ一様乱数rX,rY,rzを生成し(S11-1)、非特許文献1で開示された秘匿方法によりrX、rY、rZの秘匿値[rX]、[rY]、[rZ]を生成し(S11-2)、これらを加算して秘匿値[r]=[rX+rY+rZ]を生成する(S11-3)。
 関数計算部12x、12y、12zは協調して、入力された秘匿値[A]、…、[An-1]について、加算若しくは乗算又はその両方からなる関数fにより、秘匿された関数値[C]=[f([A]、…、[An-1])]、[C’]=[r・f([A]、…、[An-1])]の各計算を行う(S2)。[C]と[C’]の計算は、並行して行うことで効率的に計算することができる。並行して計算するにあたり、定数、秘匿値、及び秘匿値のペアである秘匿ペアを組み合わた加算・乗算を定義する必要がある。定義される計算は12通りある。関数fは12通りの計算のいずれか又は複数が1回または複数回組み合わさって構成される。以下では、関数fの計算と12通りの定義される計算とを区別するときには、定義される12通りの計算を基本計算と呼ぶ。つまり、関数fは、1つの基本計算または複数の基本計算を組み合わせた関数である。
 説明において[a]、[b]は、基本計算ごとの秘匿値を示し、[c]は基本計算ごとの乱数rを乗算していない計算結果の秘匿値、[c’]は基本計算ごとの乱数rを乗算した計算結果の秘匿値を示している。[a]、[b]は、0以上p未満の任意の値a、bの暗号化または秘密分散による秘匿値であり、[a’]=r・[a]、[b’]=r・[b]である。なお、関数fが複数の基本計算で構成される場合には、基本計算ごとに[c]、[c’]を算出する。例えば、[A]と[A]と[A]との加算であれば、1回目の基本計算として、[A]と[A]との加算を行う。1回目の基本計算では[A]が[a]であり、[A]が[b]である。そして、1回目の基本計算の結果として[c]、[c’]を算出する。そして、2回目の基本計算では、1回目の結果[c]、[c’]を[a]、[a’]とし、[A]を[b]として加算を行い、2回目の基本計算の結果である[c]、[c’]を求める。この例の場合、2回の加算の組合せなので、2回目の基本計算の結果[c]、[c’]が、関数fの関数値[C]、[C’]である。
 なお、基本計算のうち、秘匿値同士の加算、秘匿値に対する定数加算・定数倍、定数同士の加算・乗算の5通りについては、非特許文献1の秘匿関数計算の加算・乗算を適用すればよい。ここでは、その他の7通りの基本計算について説明する。
・秘匿ペア([a]、[a’])の定数倍
 ([c]、[c’])が、秘匿ペア([a]、[a’])を定数倍する関数により得られる関数値である場合、秘匿ペア([a]、[a’])のそれぞれに0以上p未満の任意の定数αを乗算して得られた秘匿ペア(α・[a]、α・[a’])を([c]、[c’])とする。
・秘匿ペア([a]、[a’])に対する定数加算
 ([c]、[c’])が、秘匿ペア([a]、[a’])に定数を加算する関数により得られる関数値である場合、秘匿値[r]に0以上p未満の任意の定数βを乗算して秘匿値[r・β]を求め、秘匿値[a]に定数βを、秘匿値[a’]に秘匿値[r・β]をそれぞれ加算して得られた秘匿ペア([a]+β、[a’]+[r・β])を([c]、[c’])とする。
・秘匿ペア同士(([a]、[a’])と([b]、[b’]))の加算
 ([c]、[c’])が、秘匿ペア同士(([a]、[a’])と([b]、[b’]))を加算する関数により得られる関数値である場合、秘匿値[a]に秘匿値[b]を、秘匿値[a’]に秘匿値[b’]をそれぞれ加算して得られた秘匿ペア([a]+[b]、[a’]+[b’])を([c]、[c’])とする。
・秘匿ペア([a]、[a’])と秘匿値[b]の加算
 ([c]、[c’])が、秘匿ペア([a]、[a’])と秘匿値[b]とを加算する関数により得られる関数値である場合、秘匿値[b]と秘匿値[r]とを非特許文献1の不正検知なし乗算により乗算して秘匿値[b’]を求め、秘匿値[a]に秘匿値[b]を、秘匿値[a’]に秘匿値[b’]をそれぞれ加算して得られた([a]+[b]、[a’]+[b’])を([c]、[c’])とする。
・秘匿ペア同士(([a]、[a’])と([b]、[b’]))の乗算
 ([c]、[c’])が、秘匿ペア同士(([a]、[a’])と([b]、[b’]))を乗算する関数により得られる関数値である場合、秘匿値[a]と秘匿値[b]、秘匿値[a’]と秘匿値[b]を、それぞれ非特許文献1の不正検知なし乗算により乗算して得られた秘匿ペア([a]・[b]、[a’]・[b])を([c]、[c’])とする。
・秘匿ペア([a]、[a’])と秘匿値[b]の乗算
 ([c]、[c’])が、秘匿ペア([a]、[a’])と秘匿値[b]とを乗算する関数により得られる関数値である場合、秘匿値[a]と秘匿値[b]、秘匿値[a’]と秘匿値[b]を、それぞれ非特許文献1の不正検知なし乗算により乗算して得られた秘匿ペア([a]・[b]、[a’]・[b])を([c]、[c’])とする。
・秘匿値[a]と秘匿値[b]の乗算
 ([c]、[c’])が、秘匿値[a]と秘匿値[b]とを乗算する関数により得られる関数値である場合、秘匿値[a]と秘匿値[r]とを非特許文献1の不正検知なし乗算により乗算して秘匿値[a’]を求め、秘匿値[a]と秘匿値[b]、秘匿値[a’]と秘匿値[b]を、それぞれ非特許文献1の不正検知なし乗算により乗算して得られた秘匿ペア([a]・[b]、[a’]・[b])を([c]、[c’])とする。
 不正検知部13x、13y、13zは協調して、非特許文献1で開示された秘匿関数計算方法により、秘匿値[r・C-C’]を求め、[r・C-C’]が[0]であれば[C]を出力し、[0]でなければ不正検知を表す情報を出力する(S3)。秘匿値[r・C-C’]を計算する際には、秘匿値[r]をrに復元した上で行うと、計算をより効率的に行うことができる。なお、関数fを構成する基本計算の中に秘匿ペア同士(([a]、[a’])と([b]、[b’]))との乗算が含まれている場合には、その基本計算ごとに、その基本計算での[b]、[b’]を記録しておく。そして、ステップS3の処理に先立ち、不正検知部13x、13y、13zが協調して非特許文献1で開示された秘匿関数計算方法により、それぞれの[b]、[b’]に対して秘匿値[r・b-b’]を求める。そして、いずれかの[r・b-b’]が[0]でない場合にも、[C]を出力せずに不正検知を表す情報を出力する(S3’)。なお、[r・c-c']の値の非零性の確認は、秘匿ペア同士(([a]、[a’])と([b]、[b’]))との乗算を行うごとに実行してもよい。
 以上のように構成した本発明の秘匿積和結合システム、秘匿積和計算方法による演算の効率を非特許文献1の不正検知つき演算の効率と比較する。非特許文献1における計算量は、ほとんどが乱数生成及び物理的セキュアチャネルを用意できない場合の通信の暗号化・復号に係るものであり、暗号化・復号に係る計算量は通信回数に比例する。そのため、乱数生成回数と通信回数を比較することで両者の効率を比較することができる。なお、以下の説明中の「ラウンド数」とは、同時には送受信できない通信の回数である。例えば、他の計算装置から何らかの情報を受信した後でなければ処理を進められないような状態が多いと、ラウンド数が多くなる。
・本発明においては、全体として乱数生成のオーバーヘッドがある。
・秘匿ペアの定数倍は秘匿値の定数倍と同等(乱数生成回数、通信回数、ラウンド数いずれも0)。
・秘匿ペアに対する定数加算は、秘匿値に対する定数加算に対して同等(乱数生成回数、通信回数、ラウンド数いずれも0)。
・秘匿ペア同士の加算は、秘匿値同士の加算と同等(乱数生成回数、通信回数、ラウンド数いずれも0)。
・秘匿ペアと秘匿値の加算に関しては、本発明の場合、不正検知なし乗算1回のオーバーヘッドがある。
・秘匿ペア同士の乗算に関しては、非特許文献1の場合、平均乱数生成回数が10回、平均通信回数が18回、ラウンド数が4である。これに対し、本発明の場合、不正検知なし乗算2回と不正検知の際の復元1回で済み、平均乱数生成回数が2回、平均通信回数が6回、ラウンド数が2である。従って、乱数生成回数が5倍、通信回数が3倍、ラウンド数が2倍効率的になっている。なお、平均乱数生成回数とは、各計算装置が行う乱数生成の回数の平均である。例えば、1つの計算装置が3回乱数を生成し、他の2つの計算装置は乱数を生成しなかった場合、平均乱数生成回数は1回である。
・秘匿ペアと秘匿値の乗算に関しても、非特許文献1の場合、平均乱数生成回数が10回、平均通信回数が18回、ラウンド数が4である。これに対し、本発明の場合、不正検知なし乗算2回で済み、平均乱数生成回数が2回、平均通信回数が4回、ラウンド数が2である。従って、乱数生成回数が5倍、通信回数が4.5倍、ラウンド数が2倍効率的になっている。
・秘匿値と秘匿値の乗算に関しても、非特許文献1の場合、平均乱数生成回数が10回、平均通信回数が18回、ラウンド数が4である。これに対し、本発明の場合、不正検知なし乗算3回で済み、平均乱数生成回数が3回、平均通信回数が6回、ラウンド数が2である。従って、乱数生成回数が約3倍、通信回数が3倍、ラウンド数が2倍効率的になっている。
 以上より、本発明の場合、乗算以外において非特許文献1と同等もしくは非効率となる部分があるが、秘匿関数計算において主にボトルネックとなる乗算について大きく効率化されるため、全体として非特許文献1よりも効率的に計算を行うことができる。
 実施例2では、実施例1において関数fが排他的論理和(XOR)、すなわち、入力[A]、…、[An-1]に対し、関数値[C]を
Figure JPOXMLDOC01-appb-M000001

により計算する具体例を示す。なお、排他的論理和に限らず、加算と乗算のみで表される関数であれば、実施例1の構成により効率的に計算を行うことが可能である。
 ベースとなる秘匿計算は、非特許文献1の方法を用いる。まず、XORは次式のように変形することができる。
Figure JPOXMLDOC01-appb-M000002
そのため、以下のように計算することができる。
1.乱数rの秘匿値[r]を生成する。
2.各i(i=0, …,n-1)について、[A-1/2]を計算する。
3.非特許文献1の不正検知なし乗算により、[c'0]=[r(A-1/2)]を計算する。また、[c0]=[A-1/2]とおく。
4.i=1からi=n-1まで、(a)、(b)を繰り返す。
 (a) [ci]=[-2(ci-1-1/2)(A-1/2)+1/2]
 (b) [c'i]=[-2(c'i-1-1/2)(A-1/2)+r/2]
5.秘匿値[r]を復元し、rを得る。
6.([cn-1],[c'n-1])に対して、[r・cn-1-c'n-1]を計算する。計算結果が[0]ならば、[cn-1]を出力して終了し、[0]でなければ不正検知を表す情報を出力して終了する。
 なお、上記の1は実施例1のS1に、2~4はS2に、5~6はS3にそれぞれ相当する。
 非特許文献1の方法で同じ計算を行う場合、乗算をn-1回行い、平均乱数生成回数は定数を除いて10n回、平均通信回数は18n回、ラウンド数は4nとなる。これに対し、本実施例では不正検知なし乗算2回ずつでよいため、平均乱数生成回数は2n回、平均通信回数は4n回、ラウンド数は2nである。そのため、乱数生成回数は5倍、平均通信回数は4.5倍、ラウンド数は2倍効率的になっている。
<参考:不正検知の証明>
 秘匿ペアは、加算及び乗算の結果に対応しているため、秘匿ペアごとに不正がなかった場合の正しい計算結果が1つ存在する。この不正がない場合の結果がaであるような秘匿ペアの集合をPaと書く。
補題
 rを非零乱数を表す変数とするとき、秘匿ペア([c]、[c’])∈Paが、([a+u]、[r・a+v])で表されれば、[r・c-c’]=[0]をチェックすることで、1-1/(p-1)以上の確率で不正検知できる(u、vは不正値)。
証明
 不正がない場合は、不正を検知できる必要がないため、不正値u、vについてu≠0またはv≠0と仮定してよい。
 u≠0のとき、[r・c-c’]=[r(a+u)-r・a-v]=[r・u-v]となり、rが1以上p未満の一様な乱数でかつx≠0であるため、[r・u-v]=[0]となる確率、すなわち不正が検出されない確率は、攻撃者から見て1/(p-1)である。逆に検出される確率は、1-1/(p-1)である。
 u=0のとき、v≠0でなければならず、[r・u-v]≠[0]であるため、必ず不正が検出される。
 上記のような([a+u]、[r・a+v])の集合をRa(={([a+u]、[r・a+v])|u,v∈Z/pZ})と書く。次に、実施例1の関数計算部12x、12y、12zにおいて定義した算法(12通りのいずれか)を行った回数kに関する帰納法により、次の条件を示す。
 条件:([b]、[b’])の集合について不正があれば、1-1/(p-1)以上の確率で検知され、そうでなければ上記算法によって生成されるPaに属する秘匿ペアがすべてRaに属する。
 k=0のとき、([b]、[b’])は生成されておらず不存在であるため、条件は満たされている。
 k=m+1のとき、k=mまでで条件が成り立つと仮定すると、m+1回目の演算について、それぞれ以下が成り立つ。
 ・秘匿ペアの定数倍:
  ([a+u]、[r・a+v])∈Raと仮定すれば
    (α[a+u]、α[r・a+v])=
      ([α・a+α・u]、[r・α・a+α・v])∈Rαa
 ・秘匿ペアに対する定数加算:
  ([a+u]、[r・a+v])∈Raと仮定すれば
    ([a+u]+β、[r・a+v]+[r・β])=
      ([a+β+u]、[r(a+β)+v])∈Ra+β
 ・秘匿ペア同士の加算
  ([a+u]、[r・a+v])∈Ra、([b+u’]、[r・b+v’])∈Rbと仮定すれば、
    ([a+u]+[a’+u’]、[r・a+v]+[r・b+v’])=
      ([a+b+u+u’]、[r(a+b)+v+v’])∈Ra+b
 ・秘匿ペアと秘匿値の加算
  秘匿ペア同士の加算と同じ。
 ・秘匿ペア同士の乗算
  ([a+u]、[r・a+v])∈Ra、([b+u’]、[r・b+v’])∈Rbと仮定すれば、v’=0が成り立つ場合、
 ([a+u][b+u’]、[r・a+v][b+v’])=
 ([a・b+a・u’+b・u+u・u’]、[r・a・b+r・a・v’+b・v+v・v’])∈Rab
 ・秘匿ペアと秘匿値の乗算
  ([a+u]、[r・a+v])∈Raで、[b]が秘匿値のとき、
    ([a+u][b]、[r・a+v][b])=
      ([a・b+b・u]、[r・a・b+b・v])∈Rab
 ・秘匿値と秘匿値の乗算
  [a]、[b]が秘匿値のとき、
    ([a][b]、[r・a][b])=([a・b]、[r・a・b])∈Rab
 このとき、([b]、[b’])の集合のm番目の要素までに不正があれば、仮定より1-1/(p-1)以上の確率で検知され、条件を満たす。m+1番目が秘匿ペア同士の乗算であった場合に、([b]、[b’])の集合に([b+u’]、[r・b+v’])に加わるが、仮定よりこの秘匿ペアはRbに属するため、これに対する不正があった場合、1-1/(p-1)以上の確率で検知される。([b+u’]、[r・b+v’])に対する不正がない場合、v’=0であるから、上記各演算に関する性質より、m+1番目の演算結果の秘匿ペアはPaに属せばRaに属する。
 よって、帰納法の仮定より、上記条件は実施例1の関数計算部12x、12y、12zにおいて定義した算法の任意の組み合わせについて成り立つ。すなわち、([b]、[b’])の集合の要素に不正が一つでもあれば1-1/(p-1)以上の確率で検知され、不正が一つもなければ任意の秘匿ペアの不正は1-1/(p-1)以上の確率で検知される。
 結論として、([b]、[b’])の集合の要素の不正検知処理、及び出力となる秘匿ペア[c]、[c’]の不正検知処理を行えば、これら出力となる秘匿ペアの不正は1-1/(p-1)以上の確率で検知される。
 実施例1では、非特許文献1に示される不正検知付き乗算を備える秘匿関数計算を基礎とする構成を説明したが、実施例3では、Shamir方式を前提とした構成を説明する。当該実施例3では、実施例1における乱数生成を一様乱数生成に限定することで不正検知付き乗算を不要にし、Shamir方式への適用を可能にする。これにより、高速かつ安全に算術演算を行うことが可能となり、かつ、非特許文献1の方式と比べデータ量を半分に抑えることができる。更に、実施例3の秘匿積和結合システムはShamir方式を前提としているので、計算装置が4個以上であっても構わない。
 Shamir方式によるデータの秘匿方法及び復元方法を説明する。Shamir方式においては、計算装置がq個(q≧3)であるとき、その全部又は一部であるt+1個の計算装置で秘密を復元できる。ここで、Jを選択されたt+1個の計算装置の番号iの集合とする。Jに属するt+1個の計算装置でデータs(0≦s≦p-1)を秘匿するには、一様乱数をt個(r1, …,rt)を生成し、各i番目の計算装置に、si=s+r1・i+…+rt・itを分散する。このようにt+1個の計算装置に分散されたデータsの秘匿値[s](t+1個の断片siの集合)は、各計算装置に分散された断片siから、次式を計算することにより復元できる。
Figure JPOXMLDOC01-appb-M000003
 Shamir方式は、秘匿が加法的な分散であるため、可換性から、分散値を加算してから復元しても、復元してから加算しても結果は等しい。すなわち、加算と定数倍は、分散したまま通信なしで行うことが可能である。また、乗算も、通信及び乱数生成が必要となるが可能である。したがって、上述の
  [αa+β]=α[a]+β(定数倍・定数加算)
  [a+b]=[a]+[b](加算)
  [a・b]=[a]・[b](乗算)
の3つの式を成り立たせることができる。そのため、論理回路を構成でき、いかなる計算を実行することも可能である。以下、データa、bが、それぞれ3個の計算装置X、Y、Zに分散されて秘匿されている場合(q=3)のShamir方式による秘匿関数計算の具体例を示す。すなわち、データaの秘匿値[a]の断片a1、a2、a3とデータbの秘匿値[b]の断片b1、b2、b3は、計算装置Xに(a1、b1)が、計算装置Yに(a2、b2)が、計算装置Zに(a3、b3)が、それぞれ分散されている。なお、t=1(いずれか2個の計算装置で秘密を復元可能)とする。
(1)c=a+bの秘匿関数計算
 各計算装置が、[a]と[b]との和である[c]の断片cj(j=1、…、q)を、cj=aj+bjにより計算することにより得る。この例では、q=3である。そして、計算装置Xがc1=a1+b1を計算し、計算装置Yにおいてc2=a2+b2を計算し、計算装置Zがc3=a3+b3を計算する。
(2)c=a+αの秘匿関数計算(αは既知の定数)
 各計算装置が、[a]と定数αとの和である[c]の断片cjをcj=aj+αにより計算することにより得る。この例では、計算装置Xがc1=a1+αを計算し、計算装置Yがc2=a2+αを計算し、計算装置Zがc3=a3+αを計算する。
(3)c=a・αの秘匿関数計算
 各計算装置が、[a]と定数αとの積である[c]の断片cjをcj=aj・αにより計算することにより得る。この例では、計算装置Xがc1=a1・αを計算し、計算装置Yがc2=a2・αを計算し、計算装置Zがc3=a3・αを計算する。
(4)c=a・bの秘匿関数計算(不正検知なし乗算)
 [a]と[b]との積[c]は、次のように求める。
 (i)各計算装置が、di=ai・bi(i=1、…、2t+1)を計算する。この例では、計算装置Xがd0=a0・b0を計算し、計算装置Yがd1=a1・b1を計算し、計算装置Zがd2=a2・b2を計算する。
 (ii) 上記のShamir方式によるデータの秘匿方法によりd1、d2、d3の秘匿値[d1]、[d2]、[d3]を生成する。この例では、[d1]の断片をd1,0、d1,1、d1,2、[d2]の断片をd2,0、d2,1、d2,2、[d3]の断片をd3,0、d3,1、d3,2とする。そして、計算装置Xがd1,0、d2,0、d3,0を記録し、計算装置Yがd1,1、d2,1、d3,1を記録し、計算装置Zがd1,2、d2,2、d3,2を記録することで、d1、d2、d3を秘匿する。
 (iii) 各計算装置が、[a]と[b]との積[c]の断片cjを、次式により計算して得る。この例では、計算装置X、Y、Zがそれぞれc1、c2、c3を計算する。
Figure JPOXMLDOC01-appb-M000004
 図4に、Shamir方式に基づく秘匿積和結合システム200の構成例を、図5にその処理フロー例を示す。秘匿積和結合システム200は、q個の計算装置を備える。ここでは、実施例1と同様、計算装置が3個の場合(計算装置20x、20y、20z)で説明する。
 秘匿積和結合システム200は、n個の0以上p未満の任意の値A、…、An-1の秘密分散による秘匿値[A]、…、[An-1]に対し、加算若しくは乗算又はその両方からなる関数fによる秘匿関数計算を3つの計算装置20x、20y、20zで協調して行うことにより、秘匿された関数値[C]=[f([A]、…、[An-1])]を計算する。
 計算装置20xは乱数生成部21xと関数計算部22xと不正検知部23xとを備え、計算装置20yは乱数生成部21yと関数計算部22yと不正検知部23yとを備え、計算装置20zは乱数生成部21zと関数計算部22zと不正検知部23zとを備える。
 乱数生成部21x、21y、21zは協調して、一様乱数rの秘匿値[r]を生成する(S11)。具体的には例えば次のように生成する(図6参照)。まず、乱数生成部21xが一様乱数rXを、乱数生成部21yが一様乱数rYを、乱数生成部21zが一様乱数rZをそれぞれ生成する(S11-1)。続いて、上記のShamir方式によるデータの秘匿方法によりrX、rY、rZの秘匿値[rX]、[rY]、[rZ]を生成する。具体的には[rX]の断片をrX,0、rX,1、rX,2、[rY]の断片をrY,0、rY,1、rY,2、[rZ]の断片をrZ,0、rZ,1、rZ,2とする。そして、乱数生成部21xがrX,0、rY,0、rZ,0を記録し、乱数生成部21yがrX,1、rY,1、rZ,1を記録し、乱数生成部21zがrX,2、rY,2、rZ,2を記録する(S11-2)。このように断片を分散して記録することで秘匿する。そして、乱数生成部21xがr0=rX,0+rY,0+rZ,0を計算し、乱数生成部21yがr1=rX,1+rY,1+rZ,1を計算し、乱数生成部21zがr2=rX,2+rY,2+rZ,2を計算することで、秘匿値[r]の断片r0、r1、r2を得る(S11-3)。
 関数計算部22x、22y、22zは協調して、入力された秘匿値[A]、…、[An-1]について、加算若しくは乗算又はその両方からなる関数fにより、秘匿された関数値[C]=[f([A]、…、[An-1])]、[C’]=[r・f([A]、…、[An-1])]の各計算を行う(S12)。[C]と[C’]の計算は、並行して行うことで効率的に計算することができる。並行して計算するにあたり、定数、秘匿値、及び秘匿値のペアである秘匿ペアを組み合わた加算・乗算を定義する必要がある。なお、定義すべき計算が、実施例1で説明した基本計算に相当する。つまり、実施例3でも関数fは、1つの基本計算または複数の基本計算を組み合わせた関数である。
 定義すべき加算・乗算のうち、秘匿値同士の加算、秘匿値に対する定数加算・定数乗算については、上記のShamir方式の秘匿関数計算方法の加算・乗算を適用すればよい。そこで、ここでは、その他の計算について説明する。説明において[a]、[b]は、0以上p未満の任意の値a、bの暗号化または秘密分散による秘匿値であり、[a’]=r・[a]、[b’]=r・[b]であるとする。なお、関数fが複数の基本計算で構成される場合には、基本計算ごとに[c]、[c’]を算出する。例えば、[A]と[A]と[A]との加算であれば、1回目の基本計算として、[A]と[A]との加算を行う。1回目の基本計算では[A]が[a]であり、[A]が[b]である。そして、1回目の基本計算の結果として[c]、[c’]を算出する。そして、2回目の基本計算では、1回目の結果[c]、[c’]を[a]、[a’]とし、[A]を[b]として加算を行い、2回目の基本計算の結果である[c]、[c’]を求める。この例の場合、2回の加算の組合せなので、2回目の基本計算の結果[c]、[c’]が、関数fの関数値[C]、[C’]である。
・秘匿ペア([a]、[a’])の定数倍
 ([c]、[c’])が、秘匿ペア([a]、[a’])を定数倍する関数により得られる関数値である場合、秘匿ペア([a]、[a’])のそれぞれに0以上p未満の任意の定数αを乗算して得られた秘匿ペア(α・[a]、α・[a’])を([c]、[c’])とする。
・秘匿ペア([a]、[a’])に対する定数加算
 ([c]、[c’])が、秘匿ペア([a]、[a’])に定数を加算する関数により得られる関数値である場合、秘匿値[r]に0以上p未満の任意の定数βを乗算して秘匿値[r・β]を求め、秘匿値[a]に定数βを、秘匿値[a’]に秘匿値[r・β]をそれぞれ加算して得られた秘匿ペア([a]+β、[a’]+[r・β])を([c]、[c’])とする。
・秘匿ペア同士(([a]、[a’])と([b]、[b’]))の加算
 ([c]、[c’])が、秘匿ペア同士(([a]、[a’])と([b]、[b’]))を加算する関数により得られる関数値である場合、秘匿値[a]に秘匿値[b]を、秘匿値[a’]に秘匿値[b’]をそれぞれ加算して得られた秘匿ペア([a]+[b]、[a’]+[b’])を([c]、[c’])とする。
・秘匿ペア([a]、[a’])と秘匿値[b]の加算
 ([c]、[c’])が、秘匿ペア([a]、[a’])と秘匿値[b]とを加算する関数により得られる関数値である場合、秘匿値[b]と秘匿値[r]とをShamir方式による秘匿関数計算方法の不正検知なし乗算により乗算して秘匿値[b’]を求め、秘匿値[a]に秘匿値[b]を、秘匿値[a’]に秘匿値[b’]をそれぞれ加算して得られた([a]+[b]、[a’]+[b’])を([c]、[c’])とする。
・秘匿ペア同士(([a]、[a’])と([b]、[b’]))の乗算
 ([c]、[c’])が、秘匿ペア同士(([a]、[a’])と([b]、[b’]))を乗算する関数により得られる関数値である場合、秘匿値[a]と秘匿値[b]、秘匿値[a’']と秘匿値[b]を、それぞれShamir方式による秘匿関数計算方法の不正検知なし乗算により乗算して得られた秘匿ペア([a]・[b]、[a’]・[b])を([c]、[c’])とする。
・秘匿ペア([a]、[a’])と秘匿値[b]の乗算
 ([c]、[c’])が、秘匿ペア([a]、[a’])と秘匿値[b]とを乗算する関数により得られる関数値である場合、秘匿値[a]と秘匿値[b]、秘匿値[a’]と秘匿値[b]を、それぞれShamir方式による秘匿関数計算方法の不正検知なし乗算により乗算して得られた秘匿ペア([a]・[b]、[a’]・[b])を([c]、[c’])とする。
・秘匿値[a]と秘匿値[b]の乗算
 ([c]、[c’])が、秘匿値[a]と秘匿値[b]とを乗算する関数により得られる関数値である場合、秘匿値[a]と秘匿値[r]とをShamir方式による秘匿関数計算方法の不正検知なし乗算により乗算して秘匿値[a’]を求め、秘匿値[a]と秘匿値[b]、秘匿値[a’]と秘匿値[b]を、それぞれShamir方式によるデータの秘匿方法の不正検知なし乗算により乗算して得られた秘匿ペア([a]・[b]、[a’]・[b])を([c]、[c’])とする。
 不正検知部23x、23y、23zは協調して、Shamir方式による秘匿関数計算方法により、秘匿値[r・C-C’]を求め、[r・C-C’]が[0]であれば[C]を出力し、[0]でなければ不正検知を表す情報を出力する(S13)。秘匿値[r・C-C’]を計算する際には、秘匿値[r]をrに復元した上で行うと、計算をより効率的に行うことができる。なお、関数fを構成する基本計算の中に秘匿ペア同士(([a]、[a’])と([b]、[b’]))との乗算が含まれている場合には、その基本計算ごとに、その基本計算での[b]、[b’]を記録しておく。そして、ステップS3の処理に先立ち、不正検知部23x、23y、23zが協調してShamir方式による秘匿関数計算方法により、それぞれの[b]、[b’]に対して秘匿値[r・b-b’]を求める。そして、いずれかの[r・b-b’]が[0]でない場合にも、[C]を出力せずに不正検知を表す情報を出力する(S13’)。なお、[r・c-c']の値の非零性の確認は、秘匿ペア同士(([a]、[a’])と([b]、[b’]))との乗算を行うごとに実行してもよい。
 以上説明した本発明の秘匿積和結合システム、秘匿積和計算方法における各処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本発明の秘匿積和計算システムの各構成要素の機能は必要に応じ、併合・分割しても構わない。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。本発明の各実施例の秘匿積和計算システム、計算装置をコンピュータによって実現する場合、装置及びその各部が有す機能の処理内容はプログラムによって記述される。そのプログラムは、例えば、ハードディスク装置に格納されており、実行時には必要なプログラムやデータがRAM(Random Access Memory)に読み込まれる。その読み込まれたプログラムがCPUにより実行されることにより、コンピュータ上で各処理内容が実現される。

Claims (10)

  1.  pを素数とし、n個の0以上p未満の任意の値A、…、An-1の暗号化または秘密分散による秘匿値[A]、…、[An-1]について、加算若しくは乗算又はその両方からなる関数fによる秘匿関数計算を3つ以上の計算装置で協調して行うことにより、秘匿された関数値[C]を[C]=[f([A]、…、[An-1])]のように計算する秘匿積和結合システムであって、
     []は、値が暗号化または秘密分散により秘匿されていることを表す記号であり、
     当該秘匿積和結合システムは、a、b、α、βを0以上p未満の任意の値とするときに、
     [αa+β]=α[a]+β
     [a+b]=[a]+[b]
     [a・b]=[a]・[b]
    が成り立ち、
     前記計算装置は、
     他の2つの計算装置の乱数生成部と協調して、0以上p未満の乱数rの秘匿値[r]を生成する乱数生成部と、
     他の2つの計算装置の関数計算部と協調して、前記秘匿値[A]、…、[An-1]について、加算若しくは乗算又はその両方からなる関数fにより、秘匿された関数値[C]=[f([A]、…、[An-1])]、[C’]=[r・f([A]、…、[An-1])]を計算する関数計算部と、
     他の2つの計算装置の不正検知部と協調して、秘匿値[r・C-C’]を求め、[r・C-C’]が[0]であれば[C]を出力し、[0]でなければ不正検知を表す情報を出力する不正検知部と、
    を備える
    ことを特徴とする秘匿積和結合システム。
  2.  請求項1に記載の秘匿積和結合システムであって、
     前記関数計算部は、
     [a’]=r・[a]、[b’]=r・[b]であるとき、
     ([c]、[c’])が、秘匿ペア([a]、[a’])を定数α倍する関数により得られる関数値である場合、秘匿ペア([a]、[a’])のそれぞれに定数αを乗算して得られた秘匿ペア(α・[a]、α・[a’])を([c]、[c’])とし、
     ([c]、[c’])が、秘匿ペア([a]、[a’])に定数βを加算する関数により得られる関数値である場合、秘匿値[r]に定数βを乗算して秘匿値[r・β]を求め、秘匿値[a]に定数βを、秘匿値[a’]に秘匿値[r・β]をそれぞれ加算して得られた秘匿ペア([a]+β、[a’]+[r・β])を([c]、[c’])とし、
     ([c]、[c’])が、秘匿ペア同士(([a]、[a’])と([b]、[b’]))を加算する関数により得られる関数値である場合、秘匿値[a]に秘匿値[b]を、秘匿値[a’]に秘匿値[b’]をそれぞれ加算して得られた秘匿ペア([a]+[b]、[a’]+[b’])を([c]、[c’])とし、
     ([c]、[c’])が、秘匿ペア([a]、[a’])と秘匿値[b]とを加算する関数により得られる関数値である場合、秘匿値[b]と秘匿値[r]とを乗算して秘匿値[b’]を求め、秘匿値[a]に秘匿値[b]を、秘匿値[a’]に秘匿値[b’]をそれぞれ加算して得られた([a]+[b]、[a’]+[b’])を([c]、[c’])とし、
     ([c]、[c’])が、秘匿ペア同士(([a]、[a’])と([b]、[b’]))を乗算する関数により得られる関数値である場合、秘匿値[a]と秘匿値[b]、秘匿値[a']と秘匿値[b]を、それぞれ乗算して得られた秘匿ペア([a]・[b]、[a’]・[b])を([c]、[c’])とし、
     ([c]、[c’])が、秘匿ペア([a]、[a’])と秘匿値[b]とを乗算する関数により得られる関数値である場合、秘匿値[a]と秘匿値[b]、秘匿値[a’]と秘匿値[b]を、それぞれ乗算して得られた秘匿ペア([a]・[b]、[a’]・[b])を([c]、[c’])とし、
     ([c]、[c’])が、秘匿値[a]と秘匿値[b]とを乗算する関数により得られる関数値である場合、秘匿値[a]と秘匿値[r]とを乗算して秘匿値[a’]を求め、秘匿値[a]と秘匿値[b]、秘匿値[a’]と秘匿値[b]を、それぞれ乗算して得られた秘匿ペア([a]・[b]、[a’]・[b])を([c]、[c’])とし、
     前記不正検知部は、([c]、[c’])が秘匿ペア同士(([a]、[a’])と([b]、[b’]))を乗算する関数により得られる関数値である場合には、更に、他の2つの計算装置の不正検知部と協調して秘匿値[r・b-b’]を求め、[r・b-b’]が0でない場合にも、[C]を出力せずに不正検知を表す情報を出力する
    ことを特徴とする秘匿積和結合システム。
  3.  請求項1又は2に記載の秘匿積和結合システムであって、
     秘匿関数計算を協調して行う前記計算装置は、計算装置X、計算装置Y、及び計算装置Zの3つであり、
     計算装置Xの乱数生成部は、1以上p未満の乱数rzを生成して計算装置Yの乱数生成部と共有し、
     計算装置Yの乱数生成部は、1以上p未満の乱数rXを生成して計算装置Zの乱数生成部と共有し、
     計算装置Zの乱数生成部は、1以上p未満の乱数rYを生成して計算装置Xの乱数生成部と共有し、
     前記3つの計算装置の各乱数生成部は協調して、秘匿値[rX]、[rY]、[rZ]を生成し、これらを乗算して秘匿値[r]=[rX・rY・rZ]を生成する
    ことを特徴とする秘匿積和結合システム。
  4.  請求項1又は2に記載の秘匿積和結合システムであって、
     秘匿関数計算を協調して行う前記計算装置は、計算装置X、計算装置Y、及び計算装置Zの3つであり、
     計算装置Xの乱数生成部は、0以上p未満の乱数rzを生成して計算装置Yの乱数生成部と共有し、
     計算装置Yの乱数生成部は、0以上p未満の乱数rXを生成して計算装置Zの乱数生成部と共有し、
     計算装置Zの乱数生成部は、0以上p未満の乱数rYを生成して計算装置Xの乱数生成部と共有し、
     前記3つの計算装置の各乱数生成部は協調して、秘匿値[rX]、[rY]、[rZ]を生成し、これらを乗算して秘匿値[r]=[rX+rY+rZ]を生成する
    ことを特徴とする秘匿積和結合システム。
  5.  pを素数とし、n個の0以上p未満の任意の値A、…、An-1の暗号化または秘密分散による秘匿値[A]、…、[An-1]について、加算若しくは乗算又はその両方からなる関数fによる秘匿関数計算を3つ以上の計算装置で協調して行うことにより、秘匿された関数値[C]を[C]=[f([A]、…、[An-1])]のように計算する秘匿積和結合システムを構成する前記計算装置であって、
     []は、値が暗号化または秘密分散により秘匿されていることを表す記号であり、
     前記秘匿積和結合システムは、a、b、α、βを0以上p未満の任意の値とするときに、
     [αa+β]=α[a]+β
     [a+b]=[a]+[b]
     [a・b]=[a]・[b]
    が成り立ち、
     他の2つの計算装置の乱数生成部と協調して、0以上p未満の乱数rの秘匿値[r]を生成する乱数生成部と、
     他の2つの計算装置の関数計算部と協調して、前記秘匿値[A]、…、[An-1]について、加算若しくは乗算又はその両方からなる関数fにより、秘匿された関数値[C]=[f([A]、…、[An-1])]、[C’]=[r・f([A]、…、[An-1])]を計算する関数計算部と、
     他の2つの計算装置の不正検知部と協調して、秘匿値[r・C-C’]を求め、[r・C-C’]が[0]であれば[C]を出力し、[0]でなければ不正検知を表す情報を出力する不正検知部と、
    を備える計算装置。
  6.  pを素数とし、n個の0以上p未満の任意の値A、…、An-1の暗号化または秘密分散による秘匿値[A]、…、[An-1]について、加算若しくは乗算又はその両方からなる関数fによる秘匿関数計算を3つ以上の計算装置で協調して行うことにより、秘匿された関数値[C]を[C]=[f([A]、…、[An-1])]のように計算する秘匿積和結合方法であって、
     []は、値が暗号化または秘密分散により秘匿されていることを表す記号であり、
     当該秘匿積和結合方法では、a、b、α、βを0以上p未満の任意の値とするときに、
     [αa+β]=α[a]+β
     [a+b]=[a]+[b]
     [a・b]=[a]・[b]
    が成り立ち、
     前記3つの計算装置で協調して、0以上p未満の乱数rの秘匿値[r]を生成する乱数生成ステップと、
     前記3つの計算装置で協調して、前記秘匿値[A]、…、[An-1]について、加算若しくは乗算又はその両方からなる関数fにより、秘匿された関数値[C]=[f([A]、…、[An-1])]、[C’]=[r・f([A]、…、[An-1])]を計算する関数計算ステップと、
     前記3つの計算装置で協調して、秘匿値[r・C-C’]を求め、[r・C-C’]が[0]であれば[C]を出力し、[0]でなければ不正検知を表す情報を出力する不正検知ステップと、
    を実行する秘匿積和結合方法。
  7.  請求項6に記載の秘匿積和結合方法であって、
     前記関数計算ステップは、
     [a’]=r・[a]、[b’]=r・[b]であるとき、
     ([c]、[c’])が、秘匿ペア([a]、[a’])を定数α倍する関数により得られる関数値である場合、秘匿ペア([a]、[a’])のそれぞれに定数αを乗算して得られた秘匿ペア(α・[a]、α・[a’])を([c]、[c’])とし、
     ([c]、[c’])が、秘匿ペア([a]、[a’])に定数βを加算する関数により得られる関数値である場合、秘匿値[r]に定数βを乗算して秘匿値[r・β]を求め、秘匿値[a]に定数βを、秘匿値[a’]に秘匿値[r・β]をそれぞれ加算して得られた秘匿ペア([a]+β、[a’]+[r・β])を([c]、[c’])とし、
     ([c]、[c’])が、秘匿ペア同士(([a]、[a’])と([b]、[b’]))を加算する関数により得られる関数値である場合、秘匿値[a]に秘匿値[b]を、秘匿値[a']に秘匿値[b']をそれぞれ加算して得られた秘匿ペア([a]+[b]、[a’]+[b’]) を([c]、[c’])とし、
     ([c]、[c’])が、秘匿ペア([a]、[a’])と秘匿値[b]とを加算する関数により得られる関数値である場合、秘匿値[b]と秘匿値[r]とを乗算して秘匿値[b’]を求め、秘匿値[a]に秘匿値[b]を、秘匿値[a’]に秘匿値[b’]をそれぞれ加算して得られた([a]+[b]、[a’]+[b’])を([c]、[c’])とし、
     ([c]、[c’])が、秘匿ペア同士(([a]、[a’])と([b]、[b’]))を乗算する関数により得られる関数値である場合、秘匿値[a]と秘匿値[b]、秘匿値[a']と秘匿値[b]を、それぞれ乗算して得られた秘匿ペア([a]・[b]、[a’]・[b])を([c]、[c’])とし、
     ([c]、[c’])が、秘匿ペア([a]、[a’])と秘匿値[b]とを乗算する関数により得られる関数値である場合、秘匿値[a]と秘匿値[b]、秘匿値[a’]と秘匿値[b]を、それぞれ乗算して得られた秘匿ペア([a]・[b]、[a’]・[b])を([c]、[c’])とし、
     ([c]、[c’])が、秘匿値[a]と秘匿値[b]とを乗算する関数により得られる関数値である場合、秘匿値[a]と秘匿値[r]とを乗算して秘匿値[a’]を求め、秘匿値[a]と秘匿値[b]、秘匿値[a’]と秘匿値[b]を、それぞれ乗算して得られた秘匿ペア([a]・[b]、[a’]・[b])を([c]、[c’])とし、
     前記不正検知ステップは、([c]、[c’])が秘匿ペア同士(([a]、[a’])と([b]、[b’]))を乗算する関数により得られる関数値である場合には、更に、前記3つの計算装置で協調して秘匿値[r・b-b’]を求め、[r・b-b’]が0でない場合にも、[C]を出力せずに不正検知を表す情報を出力する
    ことを特徴とする秘匿積和結合方法。
  8.  請求項6又は7に記載の秘匿積和結合方法であって、
     秘匿関数計算を協調して行う前記計算装置は、計算装置X、計算装置Y、及び計算装置Zの3つであり、
     前記乱数生成ステップは、
     計算装置Xが1以上p未満の乱数rzを生成して計算装置Yと共有し、計算装置Yが1以上p未満の乱数rXを生成して計算装置Zと共有し、計算装置Zが1以上p未満の乱数rYを生成して計算装置Xと共有する断片共有サブステップと、
     前記3つの計算装置で協調して、秘匿値[rX]、[rY]、[rZ]を生成する断片秘匿サブステップと、
     前記3つの計算装置で協調して、秘匿値[rX]、[rY]、[rZ]を乗算することにより、秘匿値[r]=[rX・rY・rZ]を生成する断片結合サブステップと、
    を実行する
    ことを特徴とする秘匿積和結合方法。
  9.  請求項6又は7に記載の秘匿積和結合方法であって、
     秘匿関数計算を協調して行う前記計算装置は、計算装置X、計算装置Y、及び計算装置Zの3つであり、
     前記乱数生成ステップは、
     計算装置Xが0以上p未満の乱数rzを生成して計算装置Yと共有し、計算装置Yが0以上p未満の乱数rXを生成して計算装置Zと共有し、計算装置Zが0以上p未満の乱数rYを生成して計算装置Xと共有する断片共有サブステップと、
     前記3つの計算装置で協調して、秘匿値[rX]、[rY]、[rZ]を生成する断片秘匿サブステップと、
     前記3つの計算装置で協調して、秘匿値[rX]、[rY]、[rZ]を乗算することにより、秘匿値[r]=[rX+rY+rZ]を生成する断片結合サブステップと、
    を実行する
    ことを特徴とする秘匿積和結合方法。
  10.  請求項1乃至4のいずれかに記載の秘匿積和結合システム又は請求項5記載の計算装置としてコンピュータを機能させるためのプログラム。
PCT/JP2012/055974 2011-03-10 2012-03-08 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム WO2012121333A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP12754230.6A EP2667370B1 (en) 2011-03-10 2012-03-08 Secure product-sum combination system, computing apparatus, secure product-sum combination method and program therefor
US14/003,637 US9064123B2 (en) 2011-03-10 2012-03-08 Secure product-sum combination system, computing apparatus, secure product-sum combination method and program therefor
JP2013503601A JP5531154B2 (ja) 2011-03-10 2012-03-08 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム
CN201280011766.9A CN103403781B (zh) 2011-03-10 2012-03-08 隐匿积和结合系统、计算装置、隐匿积和结合方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011053284 2011-03-10
JP2011-053284 2011-03-10
JP2011-142715 2011-06-28
JP2011142715 2011-06-28

Publications (1)

Publication Number Publication Date
WO2012121333A1 true WO2012121333A1 (ja) 2012-09-13

Family

ID=46798288

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/055974 WO2012121333A1 (ja) 2011-03-10 2012-03-08 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム

Country Status (5)

Country Link
US (1) US9064123B2 (ja)
EP (1) EP2667370B1 (ja)
JP (1) JP5531154B2 (ja)
CN (1) CN103403781B (ja)
WO (1) WO2012121333A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294959A (zh) * 2013-05-29 2013-09-11 南京信息工程大学 一种抗统计分析的文本信息隐藏方法
WO2014112548A1 (ja) * 2013-01-17 2014-07-24 日本電信電話株式会社 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
WO2017038761A1 (ja) * 2015-08-31 2017-03-09 日本電気株式会社 秘密計算システム、秘密計算装置、および、秘密計算方法
WO2019176520A1 (ja) * 2018-03-12 2019-09-19 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム、および記録媒体

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2947814B1 (en) * 2013-01-17 2018-03-14 Nippon Telegraph and Telephone Corporation Tampering detection device, tampering detection method, and program
CN104618332B (zh) * 2014-12-30 2017-10-24 桂林电子科技大学 基于符号边值二叉决策图的安全两方计算方法和系统
JP5968484B1 (ja) * 2015-03-18 2016-08-10 日本電信電話株式会社 シェア復旧システム、シェア復旧方法、およびプログラム
JP6467063B2 (ja) * 2015-10-13 2019-02-06 日本電信電話株式会社 秘密認証符号付加装置、秘密認証符号付加方法、およびプログラム
US10657847B2 (en) * 2015-10-13 2020-05-19 Nippon Telegraph And Telephone Corporation Secret random number synthesizing device, secret random number synthesizing method, and program
JP6541048B2 (ja) * 2016-07-06 2019-07-10 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP6534778B2 (ja) * 2016-07-06 2019-06-26 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
US11200346B2 (en) * 2016-07-06 2021-12-14 Nippon Telegraph And Telephone Corporation Secure computation for reading multiple elements from a secure text array
WO2018034079A1 (ja) * 2016-08-18 2018-02-22 日本電気株式会社 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム
US11163895B2 (en) * 2016-12-19 2021-11-02 Mitsubishi Electric Corporation Concealment device, data analysis device, and computer readable medium
EP3573041A4 (en) * 2017-01-18 2020-06-03 Nippon Telegraph And Telephone Corporation METHOD FOR SAFE CALCULATION, SYSTEM FOR SAFE CALCULATION, DEVICE FOR SAFE CALCULATION AND PROGRAM
CN110199339B (zh) * 2017-01-20 2022-07-12 日本电信电话株式会社 秘密计算系统、秘密计算装置、秘密计算方法、记录介质
EP3573040B1 (en) * 2017-01-20 2021-07-21 Nippon Telegraph and Telephone Corporation Secure computation system, secure computation device, secure computation method, and program
US11456862B2 (en) * 2017-07-05 2022-09-27 Nippon Telegraph And Telephone Corporation Secure computation system, secure computation apparatus, secure computation method, and recording medium
EP3686870B1 (en) * 2017-09-21 2022-07-27 Nippon Telegraph And Telephone Corporation Secure reading apparatus, secure writing apparatus, method thereof, and program
WO2019059069A1 (ja) * 2017-09-21 2019-03-28 日本電信電話株式会社 秘密読み書き装置、秘密読み書き方法、およびプログラム
JP6973636B2 (ja) * 2018-05-08 2021-12-01 日本電信電話株式会社 安全性評価装置、安全性評価方法、およびプログラム
AU2019352310B2 (en) * 2018-10-04 2022-07-28 Nippon Telegraph And Telephone Corporation Secret sigmoid function calculation system, secret logistic regression calculation system, secret sigmoid function calculation apparatus, secret logistic regression calculation apparatus, secret sigmoid function calculation method, secret logistic regression calculation method and program
CN111857649B (zh) * 2020-06-22 2022-04-12 复旦大学 一种用于隐私保护机器学习的定点数编码及运算系统
CN112688779B (zh) * 2021-03-09 2021-07-13 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0373990A (ja) * 1989-05-18 1991-03-28 Toshiba Corp 分散型情報処理装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1218284C (zh) * 1997-01-28 2005-09-07 松下电器产业株式会社 信息复原型署名装置
JP2007124612A (ja) * 2006-06-14 2007-05-17 Chiba Univ 鍵生成プログラム
AU2007351552B2 (en) * 2006-11-07 2010-10-14 Security First Corporation Systems and methods for distributing and securing data
WO2008056667A1 (fr) * 2006-11-10 2008-05-15 Laputa, Inc. Système de gestion d'informations et système de cryptage

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0373990A (ja) * 1989-05-18 1991-03-28 Toshiba Corp 分散型情報処理装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
D. BOGDANOV ET AL.: "Sharemind: a framework for fast privacy- preserving computations", CRYPTOLOGY EPRINT ARCHIVE, 3 July 2008 (2008-07-03), XP061002901, Retrieved from the Internet <URL:http://eprint.iacr.org/2008/289> [retrieved on 20120326] *
HIROSHI IGARASHI ET AL.: "Keiryo Kensho Kano 3 Party Hitoku Kansu Keisan no Koritsuka Oyobi kore o Mochiita Secure na Database Shori", 2011 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY YOKOSHU, 25 January 2011 (2011-01-25), pages 2C3 - 6, XP008172391 *
KOJI CHIDA; KOKI HAMADA; DAI IKARASHI; KATSUMI TAKAHASHI: "A Three-Party Secure Function Evaluation with Lightweight Verifiability Revisited", CSS2010, 2010
SECURE SCM-CONSORTIUM: "D9.2 Security Analysis", CRYPTOGRAPHIC ASPECTS, 2009, pages 19 - 26
See also references of EP2667370A4

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112548A1 (ja) * 2013-01-17 2014-07-24 日本電信電話株式会社 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
JP6016948B2 (ja) * 2013-01-17 2016-10-26 日本電信電話株式会社 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
CN103294959A (zh) * 2013-05-29 2013-09-11 南京信息工程大学 一种抗统计分析的文本信息隐藏方法
CN103294959B (zh) * 2013-05-29 2015-11-25 南京信息工程大学 一种抗统计分析的文本信息隐藏方法
WO2017038761A1 (ja) * 2015-08-31 2017-03-09 日本電気株式会社 秘密計算システム、秘密計算装置、および、秘密計算方法
US10924270B2 (en) 2015-08-31 2021-02-16 Nec Corporation Secret calculation system, secret calculation apparatus, and secret calculation method
WO2019176520A1 (ja) * 2018-03-12 2019-09-19 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム、および記録媒体
JPWO2019176520A1 (ja) * 2018-03-12 2021-02-12 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム、および記録媒体
AU2019233029B2 (en) * 2018-03-12 2021-07-22 Nippon Telegraph And Telephone Corporation Secure computation apparatus, secure computation method, program, and recording medium

Also Published As

Publication number Publication date
CN103403781B (zh) 2016-01-20
EP2667370A4 (en) 2015-03-04
EP2667370A1 (en) 2013-11-27
CN103403781A (zh) 2013-11-20
EP2667370B1 (en) 2016-12-07
US9064123B2 (en) 2015-06-23
US20130339728A1 (en) 2013-12-19
JPWO2012121333A1 (ja) 2014-07-17
JP5531154B2 (ja) 2014-06-25

Similar Documents

Publication Publication Date Title
JP5531154B2 (ja) 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム
Bonawitz et al. Practical secure aggregation for privacy-preserving machine learning
Asharov et al. More efficient oblivious transfer and extensions for faster secure computation
WO2020034754A1 (zh) 多方安全计算方法及装置、电子设备
Wang et al. Privacy-preserving public auditing for data storage security in cloud computing
US7770032B2 (en) Secure logging for irrefutable administration
CN106664205B (zh) 生成数字签名的系统和方法、非瞬时计算机可读存储介质
JP6016948B2 (ja) 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
Yu et al. Remote data possession checking with enhanced security for cloud storage
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及系统
US20220094519A1 (en) Preserving aggregation using homomorphic encryption and trusted execution environment, secure against malicious aggregator
WO2012102203A1 (ja) 秘匿積和計算方法、秘匿積和計算システム、計算装置、及びそれらのプログラム
EP4167213B1 (en) Secret computation method, secret computation system, secret computation apparatus, and program
WO2020165932A1 (ja) 情報処理装置、秘密計算方法及びプログラム
Hu et al. Enabling cloud storage auditing with key-exposure resilience under continual key-leakage
Rong et al. Toward fault-tolerant and secure frequent itemset mining outsourcing in hybrid cloud environment
Martínez Padilla et al. Security evaluation of Tree Parity Re-keying Machine implementations utilizing side-channel emissions
Li et al. A (w, t, n)-weighted threshold dynamic quantum secret sharing scheme with cheating identification
Mujeerulla et al. Demerits of Elliptic Curve Cryptosystem with Bitcoin Curves Using Lenstra–Lenstra–Lovasz (LLL) Lattice Basis Reduction
CN114398662B (zh) 基于安全多方计算的隐私保护机器学习推理方法及系统
Xu et al. BDACD: Blockchain-based decentralized auditing supporting ciphertext deduplication
CN113987594B (zh) 一种区块链签名管理方法及装置
KR20240045231A (ko) 디지털 서명 셰어의 생성
Jiang et al. Federated Learning-Based Privacy Protection for IoT-based Smart Healthcare Systems
WO2019039381A1 (ja) 秘密計算装置、秘密計算方法、プログラム、および記録媒体

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

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2012754230

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012754230

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2013503601

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14003637

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE