WO2017018285A1 - 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム - Google Patents

秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム Download PDF

Info

Publication number
WO2017018285A1
WO2017018285A1 PCT/JP2016/071221 JP2016071221W WO2017018285A1 WO 2017018285 A1 WO2017018285 A1 WO 2017018285A1 JP 2016071221 W JP2016071221 W JP 2016071221W WO 2017018285 A1 WO2017018285 A1 WO 2017018285A1
Authority
WO
WIPO (PCT)
Prior art keywords
secret
query
secret sharing
value
sharing value
Prior art date
Application number
PCT/JP2016/071221
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 EP16830390.7A priority Critical patent/EP3330880B1/en
Priority to CN201680042855.8A priority patent/CN107851164B/zh
Priority to US15/745,595 priority patent/US10867018B2/en
Publication of WO2017018285A1 publication Critical patent/WO2017018285A1/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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
    • 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
    • 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

Definitions

  • the present invention relates to information security technology applying cryptographic technology, and in particular, relates to secret calculation technology.
  • VSS Verifiable secret sharing
  • Non-Patent Document 1 There is a verifiable secret sharing method (VSS: Verifiable secret sharing) as a technique for detecting falsification of secret sharing values (for example, Non-Patent Document 1).
  • the secret calculation device stores the secret sharing value of the target data that is the target of the secret calculation, and the secret calculation device uses the secret sharing value of these target data and corresponds to the input query or the secret sharing value of the query.
  • An object of the present invention is to store a secret sharing value of target data to be subjected to secret calculation in a secret calculation device, and the secret calculation device uses the secret sharing value of these target data to input an input query or secret sharing of a query. It is to prevent fraud due to tampering when performing a secret calculation according to a value.
  • the secret calculation device stores the secret sharing value of the target data that is the target of the secret calculation, and inputs a query requesting the secret calculation or the secret sharing value of the query.
  • the secret computing device verifies the integrity of the secret sharing value of the target data and the integrity of the query or the secret sharing value of the query, and passes the integrity verification using the secret sharing value of the target data that passed the integrity verification.
  • the secret calculation corresponding to the query or the secret sharing value of the query is performed to obtain the secret sharing value of the calculation result, and the secret sharing value of the calculation result is output.
  • the secret sharing value of the target data that is the target of the secret calculation is stored in the secret calculation device, and the secret calculation device uses the secret sharing value of these target data and responds to the input query or the secret sharing value of the query.
  • the secret calculation device uses the secret sharing value of these target data and responds to the input query or the secret sharing value of the query.
  • FIG. 1 is a block diagram illustrating a functional configuration of a secret calculation system according to the embodiment.
  • FIG. 2A is a block diagram illustrating a functional configuration of the secret computing device according to the embodiment.
  • FIG. 2B is a block diagram illustrating a functional configuration of the consistency verification unit according to the embodiment.
  • FIG. 3 is a block diagram illustrating a functional configuration of the analyzer according to the embodiment.
  • FIG. 4 is a sequence diagram illustrating the processing of the embodiment.
  • a secret calculation system includes a registration device that outputs a secret sharing value of target data to be a secret calculation, a plurality of secret calculation devices, and an analysis that requests a secret calculation using a secret sharing value of a query or a query Have the device.
  • Each of the secret computing devices stores the secret sharing value of the target data sent from the registration device, and further receives the query or the secret sharing value of the query sent from the analysis device.
  • the secret computing device verifies the integrity of the secret sharing value of the target data and the integrity of the query or the secret sharing value of the query, and passes the integrity verification using the secret sharing value of the target data that passed the integrity verification.
  • the secret calculation corresponding to the query or the secret sharing value of the query is performed to obtain the secret sharing value of the calculation result, and the secret sharing value of the calculation result is output.
  • the secret sharing value of the target data is falsified between the registration device, the registration device and the secret calculation device, or between the analysis device or the analysis device and the secret calculation device. Even if the secret sharing value is falsified, it is possible to prevent an unauthorized result from being output from the secret computing device due to the falsification.
  • the secret calculation device belonging to the “common part” of the “second set” including the query that has passed the above or the input of the secret sharing value of the query outputs the secret sharing value of the operation result.
  • At least one of the “first set” and the “second set” may be a true subset of the “whole set” having a plurality of secret computing devices as elements. Thereby, it is possible to reduce the amount of processing when the integrity verification fails.
  • “common part” is also a true subset of “whole set”.
  • the secret calculation can be executed only with the secret calculation device of the true subset of the “whole set” (case 1), and the secret calculation is not performed unless the secret calculation device of the “whole set” cooperates.
  • cases (case 2) where execution is not possible.
  • the secret calculation can be performed only by the “common part”, but in the case of “Case 2”, the secret calculation cannot be performed only by the “common part”, and the consistency verification is performed.
  • the secret computing device belonging to the “common part” has the secret sharing value of the target data of the secret computing device belonging to the “complementary set” of the “common part” (the set obtained by removing the “common part” from the “whole set”) and At least one of the query or the secret sharing value of the query may be restored.
  • the secret sharing value of the target data and the secret sharing value of the query or query may be restored, or only the secret sharing value of the target data and the secret sharing value of the query or query are restored. May be. Thereby, even in the case of “Case 2”, the secret calculation can be performed only by the “common part”.
  • the secret computing device belonging to the “common part” may output the secret sharing value of the operation result . Accordingly, calculation and communication of the secret sharing value of the calculation result can be prevented even though the necessary number of “secret sharing values of the calculation result” cannot be obtained.
  • the number of elements of the “common part” is less than the number of secret sharing values necessary for restoring the operation result of the secret computing device belonging to the “common part”, storing the secret sharing value of the target data, and / or Alternatively, the query or the secret sharing value of the query may be input again, or the process may end with an error.
  • the integrity verification performed by a plurality of secret computing devices fails, the “data” (the secret sharing value of the target data or the secret sharing value of the query or query) of any of those secret computing devices You can tell that it has been tampered with, but you don't know which "data” has been tampered with. Therefore, when the integrity verification of the secret sharing value of the target data in the “first subset” of the “whole set” fails, the true subset of the “first subset” is changed to a new “first part”. A recursive process for verifying the consistency of the secret sharing value of the target data may be performed as a “set”.
  • the “first subset” may be divided into a plurality of true subsets, and each true subset may be a new “first subset”, or any true subset of the “first subset” Only a new “first subset” may be used.
  • the integrity verification of the query or the secret sharing value of the query in the “second subset” of the “entire set” fails, the true subset of the “second subset” is changed to the new “first subset”.
  • a recursive process for verifying the consistency of a query or a secret sharing value of a query as “two subsets” may be performed.
  • the “second subset” may be divided into a plurality of true subsets, and each true subset may be a new “second subset”, or any true subset of the “second subset” Only a new “second subset” may be used.
  • first set and / or “second set” can be efficiently identified.
  • the consistency verification fails in the “third subset”, but the consistency verification passes in the new “third subset”, it is included in the “third subset” before the update.
  • the “data” of the secret computing device that is not included in the new “third subset” is falsified. Therefore, a new consistency check is performed on a set excluding this secret computing device, and if it is passed, the set may be a “first set” and / or a “second set”.
  • the number of elements of the “first set” and / or “second set” can be increased, and the number of secret computing devices belonging to the “common part” can be increased.
  • the secret computing device may collectively perform the verification of the secret sharing value of the target data and the consistency of the query or the secret sharing value of the query. For example, consistency verification may be performed on information including a secret sharing value of target data and a query or a secret sharing value of a query. As a result, the consistency verification process can be made more efficient. In this case, consistency verification of information in which the information including the secret sharing value of the target data and the query or the secret sharing value of the query is disturbed may be performed. Accordingly, at least one of the target data and the query can be prevented from leaking in the process of consistency verification.
  • the secret computing device obtains a composite value s of a plurality of arbitrary values obtained as a subset of the “whole set” (whole set or a true subset thereof), the function value of the combined value s is used as a coefficient, and the target data And a linear combination value [c] i of values including at least one of the secret sharing value and the query or the secret sharing value of the query, and the secret sharing value [d] i corresponding to the linear combination value [c] i Consistency verification may be performed by delivering to a computing device.
  • the secret calculation system 1 of this embodiment includes a registration device 11, N secret calculation devices 12-1 to 12-(N ⁇ 1), and an analysis device 13.
  • N is an integer greater than or equal to 2, for example, an integer greater than or equal to 3.
  • the registration device 11 and the secret computing devices 12-1,..., 12- (N-1) are configured to be able to communicate through an insecure network such as the Internet.
  • the secret computing devices 12-1,..., 12- (N-1) and the analyzing device 13 are configured to be able to communicate through an insecure network.
  • an example in which there is one registration device 11 and one analysis device 13 is shown, but at least one of these may exist.
  • the consistency verification unit 123-n includes, for example, an arbitrary value setting unit 1231-n, a synthesis unit 1232-n, a linear combination unit 1233-n, and a verification unit 1236-n.
  • the consistency verification unit 123-n may further include a disturbance value setting unit 1234-n and a disturbance unit 1235-n.
  • the secret computing device 12-n executes each process under the control of the control unit 120-n. Data obtained by each part of the secret computing device 12-n is stored in a temporary memory (not shown), read out as necessary, and used for each processing.
  • the analysis device 13 includes a control unit 130, an analysis request unit 131, an output unit 132, an input unit 133, a storage unit 134, and a falsification detection restoration unit 135.
  • Each device is, for example, a general-purpose or dedicated computer including a processor (hardware processor) such as a CPU (central processing unit) and a memory such as a random-access memory (RAM) and a read-only memory (ROM). It is configured by executing the program.
  • the computer may include a single processor and memory, or may include a plurality of processors and memory.
  • This program may be installed in a computer, or may be recorded in a ROM or the like in advance.
  • some or all of the processing units are configured using an electronic circuit that realizes a processing function without using a program, instead of an electronic circuit (circuitry) that realizes a functional configuration by reading a program like a CPU. May be.
  • An electronic circuit constituting one device may include a plurality of CPUs.
  • the processing in this embodiment includes “registration processing”, “storage processing”, and “analysis processing”.
  • registration processing “registration processing”
  • storage processing “storage processing”
  • analysis processing the processing of this embodiment will be described with reference to FIG.
  • the registration device 11 secretly distributes each of the target data b 0 ,..., B M ⁇ 1 to be subjected to secret calculation, and N secret sharing values [b 0 ] 0 ,. 0 ] N ⁇ 1 ,..., [B M ⁇ 1 ] 0 ,..., [B M ⁇ 1 ] N ⁇ 1 are generated.
  • M is an integer greater than or equal to 1 (for example, M is an integer greater than or equal to 2)
  • Secret sharing in this embodiment is performed according to the (K, N) threshold secret sharing scheme.
  • the original data plain text
  • the information of the original data is obtained from the secret sharing value of K ⁇ 1 or less. I cannot get it at all.
  • a specific example of the (K, N) threshold secret sharing scheme is Shamir's secret sharing scheme (for example, Reference 1 “A. Shamir,“ How to Share a Secret ”, Communications of the ACM, November 1979, Volume 22). , Number 11, pp.612-613.), Or a modified method thereof.
  • the secret sharing values [b 0 ] n ,..., [B M ⁇ 1 ] n of the target data are input to the input unit 121-n of the secret computing device 12-n (FIG. 2A) and stored in the storage unit 122-n. (Step S11).
  • the consistency verification may be performed by Non-Patent Document 1 or other known methods, or by a method described later.
  • the tampering of the secret sharing values [b 0 ] n ,..., [B M ⁇ 1 ] n of the target data performed between the registration device 11 or the registration device 11 and the secret computing device 12-n is detected. Is done.
  • Step S12 If this consistency verification is successful, [b 0 ] n ,..., [B M ⁇ 1 ] n are held in the storage unit 122-n. On the other hand, if the consistency verification fails, [b 0 ] n ,..., [B M ⁇ 1 ] n are deleted from the storage unit 122-n, and the process returns to step S11 or ends with an error. (Step S12).
  • each secret computing device 12-n holds the secret sharing values [b 0 ] n ,..., [B M ⁇ 1 ] n of the target data in the storage unit 122-n.
  • the analysis request unit 131 of the analysis device 13 generates and outputs a query for requesting a secret calculation or a secret sharing value of the query.
  • the query may represent the contents of the calculation requesting the secret calculation, or may represent the data to be calculated.
  • J is an integer of 1 or more.
  • [Q 0 ] n ,..., [Q J ⁇ 1 ] n are input to the input unit 121-n of the secret computing device 12-n (FIG. 2A) and stored in the storage unit 122-n (step S14). .
  • [q j ] n can be regarded as a secret sharing value to perform consistency verification.
  • the secret calculation unit 124-n of the secret calculation device 12-n performs the integrity verification from the storage unit 122-n.
  • [B 0 ] n ,..., [B M ⁇ 1 ] n and [q 0 ] n ,..., [Q J ⁇ 1 ] n are read.
  • the secret calculation unit 124-n uses [b 0 ] n ,..., [B M ⁇ 1 ] n that has passed the consistency verification, and [q 0 ] n ,. 1 ]
  • Secret calculation according to n is performed to obtain secret sharing values [r 0 ] n ,..., [R W ⁇ 1 ] n as operation results.
  • W is an integer greater than or equal to 1 (for example, W is an integer greater than or equal to 2).
  • a secret calculation with falsification detection for example, Reference 2 “Igarashi Univ., Koji Senda, Hiroki Hirota, Ryo Kikuchi,“ A highly efficient n ⁇ 2k-1 malicious model on secret-distribution-based multi-party computation. (See “In SCIS2013, 2013.”, etc.) to obtain a secret sharing value [r 0 ] n ,..., [R W ⁇ 1 ] n of the operation result. Tampering by K-1 or less secret computing devices 12-n in this calculation process can be detected here.
  • this secret calculation is executed again or the process is terminated with an error. If tampering is not detected, the secret sharing values [r 0 ] n ,..., [R W ⁇ 1 ] n as the operation results are sent to the output unit 125-n (step S16).
  • the secret sharing values [r 0 ] n ,..., [R W ⁇ 1 ] n of the calculation result are input to the input unit 133 of the analyzer 13 (FIG. 3) and stored in the storage unit 134.
  • the falsification detection / restoration unit 135 performs falsification detection / restoration (see, for example, Reference 2), and restores and outputs the calculation results r 0 ,..., R W ⁇ 1 . Tampering between the secret computing device 12-n or the secret computing device 12-n and the analyzing device 13 is detected here. When tampering is detected, the process after step S16 is executed again or the process is terminated with an error. If tampering is not detected, calculation results r 0 ,..., R W ⁇ 1 are output (step S18).
  • Y is an integer greater than or equal to 1
  • I is an integer greater than K and less than or equal to N (N ⁇ I> K.
  • N ⁇ I ⁇ 2), ⁇ 0,..., I ⁇ 1 ⁇ ⁇ ⁇ 0, ..., N-1 ⁇ is satisfied.
  • the query or the secret sharing value [q 0 ] i ,..., [Q J ⁇ 1 ] i (Y J in this case).
  • the arbitrary value setting unit 1231-i of the consistency verification unit 123-i of the secret computing device 12-i selects the arbitrary value s i .
  • Examples of the arbitrary value s i are pseudo random numbers, random numbers, or constants.
  • the arbitrary value s i is stored in the storage unit 122-i and sent to the output unit 125-i (step S1201).
  • the arbitrary value s i is output from the output unit 125-i and delivered to another secret computing device 12-i ′ (where i′ ⁇ ⁇ 0,..., I ⁇ 1 ⁇ and i ′ ⁇ i) (step S1202).
  • the arbitrary value s i ′ delivered from the other secret computing device 12-i ′ is input to the input unit 121-i and stored in the storage unit 122-i (step S1203).
  • g ( ⁇ ) represents a function value of ( ⁇ ). As long as the composite value s is uniquely determined for the arbitrary values s 0 ,..., S I ⁇ 1 , any g (•) may be used.
  • the composite value s is stored in the storage unit 122-i (step S1204).
  • the linear combination value [c] i is stored in the storage unit 122-i (step S1205).
  • the verification unit 1236-i outputs the secret sharing value [d] i corresponding to the linear combination value [c] i read from the storage unit 122-i.
  • the linear combination value [c] i may be used as the secret sharing value [d] i
  • the function value of [c] i may be used as the secret sharing value [d] i .
  • the disturbance value setting unit 1234-i obtains the random number secret sharing value [R] i and the disturbance unit 1235-i random secret sharing value [R] i and linearly combined value as input [c] i, random secret variance [R] secret sharing value linear combination value [c] i was perturbed by i to obtain [d] i Also good.
  • [C ⁇ R] i is a cR secret sharing value according to the (K, N) threshold secret sharing scheme.
  • the secret sharing value [d] i is stored in the storage unit 122-i and sent to the output unit 125-i (step S1206).
  • the secret sharing value [d] i is output from the output unit 125-i and is delivered to another secret computing device 12-i ′ (where i′ ⁇ ⁇ 0,..., I ⁇ 1 ⁇ and i ′ ⁇ i). (Step S1207).
  • the secret sharing value [d] i ′ delivered from the other secret computing device 12-i ′ is input to the input unit 121-i and stored in the storage unit 122-i (step S1208).
  • the verification unit 1236-n reads K secret sharing values [d] f (0) ,..., [D] f (K-1) from the storage unit 122-i, and performs other Igulation by Lagrange interpolation.
  • the verification unit 1236-n receives [d] f (K) ,..., [D] f (N ⁇ 1) input from the storage unit 122-i in step S1208 and D f ( K) ,..., D f (N ⁇ 1) are read and compared.
  • the verifying unit 1236-n determines [a 0 ] i ,. Y-1 ] Outputs a result indicating that the consistency verification of i has passed (step S1211).
  • the verifying unit 1236-n determines whether [a 0 ] i ,..., [A Y ⁇ 1 ] i is consistent. A result indicating that the verification fails is output (step S1212).
  • This specific example of consistency verification is efficient because consistency verification of [a 0 ] i ,..., [A Y ⁇ 1 ] i can be executed collectively. Also, when using the secret sharing value [d] i obtained by disturbing the linear combination value [c] i with the random secret sharing value [R] i , [a 0 ] i ,..., [A Y ⁇ 1 ] It is possible to prevent the restoration value information of i from leaking.
  • the secret computing device belonging to the “common part” of the “first set” and the “second set” outputs the secret sharing value of the operation result.
  • At least one of the “first set” and the “second set” may be a true subset of the “whole set” having a plurality of secret computing devices as elements.
  • the secret calculation system 2 of this embodiment includes a registration device 11, N secret calculation devices 22-1,..., 22- (N ⁇ 1), and an analysis device 13.
  • the processing of this embodiment also includes “registration processing”, “storage processing”, and “analysis processing”.
  • registration processing “registration processing”
  • storage processing “storage processing”
  • analysis processing the processing of this embodiment will be described with reference to FIG.
  • the registration device 11 and the secret calculation device 22-n execute the process of step S11 described in the first embodiment.
  • [B M ⁇ 1 ] n consistency verification of the target data secret sharing values [b 0 ] n ,.
  • this consistency verification fails, [b 0 ] n ,..., [B M ⁇ 1 ] n are not deleted from the storage unit 122-n.
  • the consistency of the variance [b 0 ] v ( ⁇ ) ,..., [B M ⁇ 1 ] v ( ⁇ ) is verified.
  • This is not limited to integrity verification method in the subset S 1.
  • the set S 1 is selected, and consistency verification is performed on the selected true subset S 1 .
  • Subset S 1 is selected according to predetermined criteria. It subset for subsets S 1 is may be a new subset S 1, to the complement of the subset S 1 is may be a new subset S 1, subset the union of the subset and the complement of the S 1 is may be a new subset S 1. A specific example will be described later.
  • step S22 if the integrity verification does not pass even if the true subset S 1 is updated a predetermined number of times, if the integrity verification is performed on the predetermined true subset S 1 and all fail, or If the number of elements of the true subset S 1 is less than K, [b 0 ] n ,..., [B M ⁇ 1 ] n is deleted from the storage unit 122-n, and the process returns to step S11. Then, the process ends with an error (step S22).
  • Step S22 Even in the storage process, the same consistency verification as step S22 may be performed periodically or at a predetermined opportunity.
  • the secret sharing values [b 0 ] n ,..., [B M ⁇ 1 ] n of the target data are stored in the storage unit 122-n.
  • step S23 the integrity verification does not pass even if the true subset S 1 is updated a predetermined number of times, if the integrity verification is performed on the predetermined true subset S 1 and all fail, or If the number of elements of the true subset S 1 is less than K, [b 0 ] n ,..., [B M ⁇ 1 ] n is deleted from the storage unit 122-n, and the process returns to step S11. Then, the process ends with an error (step S23).
  • the analysis device 13 and the secret calculation device 22-n execute the process of step S14 described in the first embodiment.
  • [Q 0 ] n ,..., [Q J ⁇ 1 ] n consistency verification is performed.
  • [q 0 ] n ,..., [Q J ⁇ 1 ] n are not deleted from the storage unit 122-n.
  • Subset S 2 is selected according to predetermined criteria.
  • True subset may be a new subset S 2 of subset S 2, to the complement of the subset S 2 may be a new subset S 2, subset the union of the subset with complement of S 2 may be a new subset S 2.
  • the query or the secret sharing value of the query is [q 0 ] n ,..., [Q J ⁇ 1 ] n is stored in the storage unit 122-n Retained.
  • the integrity verification does not pass even if the true subset S 2 is updated a predetermined number of times, if the integrity verification is performed for the predetermined true subset S 2 and all fail, or pass If the number of elements in the true subset S 2 is less than K, [q 0 ] n ,..., [Q J ⁇ 1 ] n are deleted from the storage unit 122-n, and the process returns to step S14. Alternatively, the process ends with an error (step S25).
  • step S 12 N pieces of secure computing apparatuses 22-0, ..., 22- (N- 1) is The same process as step S16 described in the first embodiment is performed (FIGS. 7A and 7B).
  • a pass is consistent validation in subset S 1 at step S22 and S23, if the consistency verification of true subset S 2 was passed in step S25, the subset S 1
  • the secret calculation unit 22- ⁇ (where ⁇ ⁇ 0,..., N ⁇ 1 ⁇ ) belonging to the “common part (S 12 )” with the true subset S 2 performs consistency verification.
  • step S26 a secret calculation with tampering detection (for example, Reference 2) is used (step S26). Thereafter, the analysis device 13 and the secret calculation device 22-n execute the same processing as steps S17 and S18 described in the first embodiment. However, "intersection (S 12)" If the number of elements is equal to or greater than the number K of the secret sharing value required to restore the operation result only in step S26 in, S17, processing of S18 is executed, otherwise The process may be terminated with an error.
  • the secret of the target data is set as a new “first subset (S 1 )” as a true subset of the “first subset (U or S 1 )” Recursive processing for verifying the consistency of the variance [b 0 ] v ( ⁇ ) ,..., [B M ⁇ 1 ] v ( ⁇ ) is performed.
  • S 1 and S 2 are generalized to a subset S.
  • the consistency verification unit 223-e ( ⁇ ) determines whether the continuation condition for the consistency verification is satisfied (step S2204). Examples of the continuation condition are “the number of updates of the subset S is not more than a predetermined number”, “consistency verification of the predetermined subset has not been completed”, and the like. If the consistency verification continuation condition is not satisfied, the consistency verification unit 223-e ( ⁇ ) terminates the process with an error (step S2208). On the other hand, when the consistency verification continuation condition is satisfied, the consistency verification unit 223-e ( ⁇ ) updates the set system SET by replacing the subset S with the true subset. For example, in the example of FIG.
  • the consistency verification unit 223-e ( ⁇ ) has the number of elements
  • of the subset S that has passed the consistency verification. N S determines whether or K (step S2206). If the number of elements
  • step S2201 of the process of FIG. 6A is replaced with S2211
  • step S2205 is replaced with step S2215.
  • step S2215 the consistency verifying unit 223-e ( ⁇ ) sets the subset S to the union A + B of the true subset A ⁇ S of S and the true subset B ⁇ C S of S's complement C S. Replace with.
  • the union A + B is a set obtained by shifting the subset S.
  • SET: ⁇ SS 1-2 , SS 1-3 ⁇
  • SS 1-2 is replaced with the union set SS 1-4
  • SS 1-3 is Replaced by set SS 1-5 .
  • SET: ⁇ SS 1-4 , SS 1-5 , SS 1-6 , SS 1-7 ⁇
  • SS 1-4 is replaced with the union set SS 1-8
  • SS 1-5 is replaced with union set SS 1-9
  • SS 1-6 is replaced with union set SS 1-10
  • SS 1-7 is replaced with union set SS 1-11 .
  • the secret computing device belonging to the “common part” of the “first set” and the “second set” is the secret sharing value of the target data of the secret computing device belonging to the complement of the “common part” and Restore at least one of the query or the secret sharing value of the query and perform a secret calculation.
  • the secret calculation system 3 of this embodiment includes a registration device 11, N secret calculation devices 32-1,..., 32- (N ⁇ 1), and an analysis device 13.
  • the processing of this embodiment also includes “registration processing”, “storage processing”, and “analysis processing”.
  • registration processing “registration processing”
  • storage processing “storage processing”
  • analysis processing the processing of this embodiment will be described with reference to FIG.
  • registration process The registration device 11 and the secret calculation device 32-n execute the process of step S11 described in the first embodiment. Next, the secret computing device 32-n executes the process of step S22 described in the second embodiment.
  • the secret computing device 32-n executes the process of step S23 described in the second embodiment.
  • the analysis device 13 and the secret calculation device 22-n execute the process of step S14 described in the first embodiment.
  • the secret computing device 32-n executes the process of step S25 described in the second embodiment.
  • the secret computing device 32- ⁇ ′ uses these and restores [b 0 ] ⁇ ,..., [B M ⁇ 1 ] ⁇ and [q 0 ] ⁇ ,..., [Q J ⁇ 1 ] ⁇ by Lagrange interpolation. Then, it is stored in the storage unit 122- ⁇ ′ (step S35).
  • a secret calculation with tampering detection for example, Reference 2 is used (step S36). Thereafter, the analysis device 13 and the secret calculation device 32-n execute the same processing as steps S17 and S18 described in the first embodiment. However, [r 0 ] ⁇ ,..., [R W ⁇ 1 ] ⁇ may be sent to the analyzer 13 or may not be sent.
  • steps S35, S36, S17, and S18 are executed only when the number of elements of the “common part (S 12 )” is equal to or greater than the number K of secret sharing values necessary for restoring the operation result.
  • the process may be terminated with an error.
  • the secret calculation system 4 of this embodiment includes a registration device 11, N secret calculation devices 42-1,..., 42-(N ⁇ 1), and an analysis device 13.
  • the processing of this embodiment also includes “registration processing”, “storage processing”, and “analysis processing”.
  • registration processing “registration processing”
  • storage processing “storage processing”
  • analysis processing the processing of this embodiment will be described with reference to FIG.
  • registration process The registration device 11 and the secret calculation device 42-n execute the processes of steps S11 and S12 described in the first embodiment. However, in this embodiment, the process of step S12 may be omitted.
  • Storage process The secret computing device 42-n executes the process of step S13 described in the first embodiment. However, in this embodiment, the consistency verification process in step S13 may be omitted.
  • the analysis device 13 and the secret calculation device 42-n execute the process of step S14 described in the first embodiment.
  • the consistency verification unit 423-n summarizes the consistency verification for [b 0 ] n ,..., [B M ⁇ 1 ] n , [q 0 ] n , ..., [q J ⁇ 1 ] n. Do it.
  • information including the secret sharing value of the target data and the query or the secret sharing value of the query may be verified for consistency of information. If this consistency verification is successful, [b 0 ] n ,..., [B M ⁇ 1 ] n , [q 0 ] n ,..., [Q J ⁇ 1 ] n are held in the storage unit 122-n.
  • each device may exchange information via a portable recording medium.
  • at least some of the devices may exchange information via a non-portable recording medium. That is, the combination which consists of a part of these apparatuses may be the same apparatus.
  • each operation described above may be an operation on a finite field, an operation on an extension field, an operation on a ring, or an operation on another algebraic system. It may be.
  • a secret calculation without a falsification detection function may be performed instead of the secret calculation with falsification detection.
  • a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium are a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.
  • This program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads a program stored in its own recording device and executes a process according to the read program. As another execution form of the program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and each time the program is transferred from the server computer to the computer. The processing according to the received program may be executed sequentially.
  • the above-described processing may be executed by a so-called ASP (Application Service Provider) type service that does not transfer a program from the server computer to the computer but implements a processing function only by the execution instruction and result acquisition. Good.
  • ASP Application Service Provider
  • the processing functions of the apparatus are realized by executing a predetermined program on a computer, but at least a part of these processing functions may be realized by hardware.

Landscapes

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

Abstract

秘密計算装置には、秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算を要求するクエリまたはクエリの秘密分散値が入力される。秘密計算装置は、対象データの秘密分散値の整合性検証およびクエリまたはクエリの秘密分散値の整合性検証を行い、整合性検証に合格した対象データの秘密分散値を用い、整合性検証に合格したクエリまたはクエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得、演算結果の秘密分散値を出力する。

Description

秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
 本発明は、暗号技術を応用した情報セキュリティ技術に関し、特に、秘密計算技術に関する。
 秘密分散値の改ざんを検知する技術として、検証可能秘密分散法(VSS: Verifiable secret sharing)がある(例えば、非特許文献1)。
岡本龍明,山本博資,「現代暗号-シリーズ/情報科学の数学」,産業図書株式会社,1998年6月30日,第2刷,pp.217-219.
 しかし、秘密計算装置に秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算装置がこれらの対象データの秘密分散値を用い、入力されたクエリまたはクエリの秘密分散値に応じた秘密計算を行う場合に、改ざんによる不正を防止する方法は知られていない。
 本発明の課題は、秘密計算装置に秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算装置がこれらの対象データの秘密分散値を用い、入力されたクエリまたはクエリの秘密分散値に応じた秘密計算を行う場合に、改ざんによる不正を防止することである。
 秘密計算装置には、秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算を要求するクエリまたはクエリの秘密分散値が入力される。秘密計算装置は、対象データの秘密分散値の整合性検証およびクエリまたはクエリの秘密分散値の整合性検証を行い、整合性検証に合格した対象データの秘密分散値を用い、整合性検証に合格したクエリまたはクエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得、演算結果の秘密分散値を出力する。
 これにより、秘密計算装置に秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算装置がこれらの対象データの秘密分散値を用い、入力されたクエリまたはクエリの秘密分散値に応じた秘密計算を行う場合に、改ざんによる不正を防止できる。
図1は、実施形態の秘密計算システムの機能構成を例示したブロック図である。 図2Aは、実施形態の秘密計算装置の機能構成を例示したブロック図である。図2Bは、実施形態の整合性検証部の機能構成を例示したブロック図である。 図3は、実施形態の分析装置の機能構成を例示したブロック図である。 図4は、実施形態の処理を例示したシーケンス図である。 図5は、実施形態の整合性検証処理を例示したフロー図である。 図6Aおよび図6Bは、実施形態の処理を例示したフロー図である。 図7Aおよび図7Bは、実施形態の処理を例示するための概念図である。 図8Aおよび図8Bは、実施形態の処理を例示するための概念図である。 図9Aおよび図9Bは、実施形態の処理を例示するための概念図である。 図10Aおよび図10Bは、実施形態の処理を例示するための概念図である。
 以下、本発明の実施形態を説明する。
 [概要]
 まず、実施形態の概要を説明する。
 実施形態の秘密計算システムは、秘密計算の対象となる対象データの秘密分散値を出力する登録装置、複数個の秘密計算装置、およびクエリまたはクエリの秘密分散値を用いて秘密計算を要求する分析装置を有する。秘密計算装置のそれぞれには、登録装置から送られた対象データの秘密分散値が格納され、さらに分析装置から送られたクエリまたはクエリの秘密分散値が入力される。秘密計算装置は、対象データの秘密分散値の整合性検証およびクエリまたはクエリの秘密分散値の整合性検証を行い、整合性検証に合格した対象データの秘密分散値を用い、整合性検証に合格したクエリまたはクエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得、演算結果の秘密分散値を出力する。これにより、登録装置、登録装置から秘密計算装置までの間、または秘密計算装置で対象データの秘密分散値が改ざんされたり、分析装置、または分析装置から秘密計算装置までの間でクエリまたはクエリの秘密分散値が改ざんされたりしても、その改ざんによって秘密計算装置から不正な結果が出力されることを防止できる。
 何れかの整合性検証が不合格であった場合、すべての対象データの秘密分散値の秘密計算装置への格納、および/または、すべてのクエリまたはクエリの秘密分散値の秘密計算装置への入力をやり直してもよい。あるいは、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の両方の整合性検証が合格であった一部の秘密計算装置のみが演算結果の秘密分散値を出力してもよい。後者の場合、複数個の秘密計算装置のうち整合性検証に合格した対象データの秘密分散値を格納するものを要素とする「第1集合」と、複数個の秘密計算装置のうち整合性検証に合格したクエリまたはクエリの秘密分散値が入力されたものを要素とする「第2集合」と、の「共通部分」に属する秘密計算装置が演算結果の秘密分散値を出力する。「第1集合」および「第2集合」の少なくとも一方は、複数個の秘密計算装置を要素とする「全体集合」の真部分集合であってもよい。これにより、整合性検証が不合格であった場合の処理量を削減できる。
 「第1集合」および「第2集合」の少なくとも一方が「全体集合」の真部分集合である場合、「共通部分」も「全体集合」の真部分集合である。秘密計算の内容によっては「全体集合」の真部分集合の秘密計算装置のみで秘密計算を実行できる場合(ケース1)もあれば、「全体集合」の秘密計算装置が協力しなければ秘密計算を実行できない場合(ケース2)もある。「ケース1」の場合には「共通部分」のみで秘密計算を行うことができるが、「ケース2」の場合には「共通部分」のみで秘密計算を行うことができず、整合性検証が不合格であった秘密計算装置と協力して秘密計算を行ったのでは、不正な結果が得られる可能性がある。そのため、「共通部分」に属する秘密計算装置が、「共通部分」の「補集合」(「全体集合」から「共通部分」を取り除いた集合)に属する秘密計算装置の対象データの秘密分散値およびクエリまたはクエリの秘密分散値の少なくとも一方を復元してもよい。秘密計算の内容に応じ、対象データの秘密分散値およびクエリまたはクエリの秘密分散値が復元されてもよいし、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の何れかのみが復元されてもよい。これにより、「ケース2」の場合であっても「共通部分」のみで秘密計算を行うことができる。
 「共通部分」の要素数が演算結果を復元するために必要な秘密分散値の個数以上である場合に、「共通部分」に属する秘密計算装置が演算結果の秘密分散値を出力してもよい。これにより、演算結果を復元するために必要な個数の「演算結果の秘密分散値」が得られないにもかかわらず、演算結果の秘密分散値の計算および通信が行われることと防止できる。「共通部分」に属する秘密計算装置が「共通部分」の要素数が演算結果を復元するために必要な秘密分散値の個数未満である場合には、対象データの秘密分散値の格納、および/または、クエリまたはクエリの秘密分散値の入力をやり直すか、エラー終了してもよい。
 複数の秘密計算装置で行った整合性検証が不合格であった場合、それらの何れかの秘密計算装置の「データ」(対象データの秘密分散値、または、クエリもしくはクエリの秘密分散値)に改ざんがあったことは分かるが、どの「データ」が改ざんされたかは分からない。そのため、「全体集合」の「第1部分集合」での対象データの秘密分散値の整合性検証が不合格であった場合、「第1部分集合」の真部分集合を新たな「第1部分集合」として対象データの秘密分散値の整合性検証を行う再帰処理を行ってもよい。例えば、「第1部分集合」を複数の真部分集合に分割し、各真部分集合をそれぞれ新たな「第1部分集合」としてもよいし、「第1部分集合」の何れかの真部分集合のみを新たな「第1部分集合」としてもよい。同様に、「全体集合」の「第2部分集合」でのクエリまたはクエリの秘密分散値の整合性検証が不合格であった場合、「第2部分集合」の真部分集合を新たな「第2部分集合」としてクエリまたはクエリの秘密分散値の整合性検証を行う再帰処理を行ってもよい。例えば、「第2部分集合」を複数の真部分集合に分割し、各真部分集合をそれぞれ新たな「第2部分集合」としてもよいし、「第2部分集合」の何れかの真部分集合のみを新たな「第2部分集合」としてもよい。これにより、上述の「第1集合」および/または「第2集合」を効率的に特定できる。
 「全体集合」の「第3部分集合」での対象データの秘密分散値の整合性検証が不合格であった場合、「第3部分集合」の真部分集合と「第3部分集合」の補集合(「全体集合」から「第3部分集合」を取り除いた集合)の部分集合との和集合を新たな「第3部分集合」として対象データの秘密分散値の整合性検証を行う再帰処理を行ってもよい。同様に、「全体集合」の「第4部分集合」でのクエリまたはクエリの秘密分散値の整合性検証が不合格であった場合、「第4部分集合」の真部分集合と「第4部分集合」の補集合(「全体集合」から「第4部分集合」を取り除いた集合)の部分集合との和集合を新たな「第4部分集合」としてクエリまたはクエリの秘密分散値の整合性検証を行う再帰処理を行ってもよい。これによっても、上述の「第1集合」および/または「第2集合」を効率的に特定できる。特に、「第3部分集合」で整合性検証が不合格であるが、新たな「第3部分集合」で整合性検証が合格であった場合、更新前の「第3部分集合」には含まれるが新たな「第3部分集合」には含まれない秘密計算装置の「データ」に改ざんがあることが分かる。そのため、この秘密計算装置を除いた集合で新たに整合性検証を行い、それが合格であれば、その集合を「第1集合」および/または「第2集合」としてもよい。これにより、「第1集合」および/または「第2集合」の要素数を増加させ、「共通部分」に属する秘密計算装置の数を増加させることができる。
 秘密計算装置が、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の整合性検証をまとめて行ってもよい。例えば、対象データの秘密分散値およびクエリまたはクエリの秘密分散値を含む情報を対象として整合性検証が行われてもよい。これにより、整合性検証の処理を効率化できる。この場合、対象データの秘密分散値およびクエリまたはクエリの秘密分散値を含む情報を撹乱させた情報の整合性検証を行ってもよい。これにより、整合性検証の過程で、対象データおよびクエリの少なくとも一方が漏洩することを防止できる。
 整合性検証方式に限定はない。例えば、非特許文献1に開示された方式が用いられてもよいし、その他の方式が用いられてもよい。例えば、秘密計算装置が「全体集合」の部分集合(全体集合またはその真部分集合)で得られた複数個の任意値の合成値sを得、合成値sの関数値を係数とし、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の少なくとも一方を含む値の線形結合値[c]を得、線形結合値[c]に応じた秘密分散値[d]を他の秘密計算装置に配送して整合性検証を行ってもよい。これにより、複数のデータの整合性検証をまとめて実行できるため、処理を効率化できる。この際、秘密計算装置が乱数秘密分散値[R]を得、乱数秘密分散値[R]で線形結合値[c]を撹乱させた秘密分散値[d]を得てもよい。これにより、整合性検証の過程で、対象データおよびクエリの少なくとも一方が漏洩することを防止できる。
 以降、図面を参照しつつ、各実施形態を説明する。
 [第1実施形態]
 第1実施形態を説明する。
 <構成>
 図1に例示するように、本形態の秘密計算システム1は、登録装置11、N個の秘密計算装置12-1,…,12-(N-1)、および分析装置13を有する。ただし、Nは2以上の整数であり、例えば3以上の整数である。登録装置11と秘密計算装置12-1,…,12-(N-1)とは、インターネット等の安全ではないネットワークを通じて通信可能に構成されている。同様に、秘密計算装置12-1,…,12-(N-1)と分析装置13とは、安全ではないネットワークを通じて通信可能に構成されている。なお、説明の便宜上、登録装置11および分析装置13がそれぞれ1個存在する例を示すが、これらの少なくとも一方が複数個存在していてもよい。
 図2Aに例示するように、本形態の秘密計算装置12-n(ただし、n=0,…,(N-1))は、例えば、制御部120-n、入力部121-n、記憶部122-n、整合性検証部123-n、秘密計算部124-n、および出力部125-nを有する。図2Bに例示するように、整合性検証部123-nは、例えば、任意値設定部1231-n、合成部1232-n、線形結合部1233-n、および検証部1236-nを有する。整合性検証部123-nは、さらに撹乱値設定部1234-nおよび撹乱部1235-nを有していてもよい。秘密計算装置12-nは、制御部120-nの制御のもとで各処理を実行する。秘密計算装置12-nの各部で得られたデータは、図示していない一時メモリに格納され、必要に応じて読み出されて各処理に利用される。図3に例示するように、分析装置13は、制御部130、分析依頼部131、出力部132、入力部133、記憶部134、および改ざん検知復元部135を有する。各装置は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
 <処理>
 本形態の処理は「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
 「登録処理」
 登録処理では、登録装置11が、秘密計算の対象となる対象データb,…,bM-1のそれぞれを秘密分散し、N個ずつの秘密分散値[b,…,[bN-1,…,[bM-1,…,[bM-1N-1を生成する。ただし、Mは1以上の整数であり(例えば、Mは2以上の整数)、対象データb(ただし、m=0,…,M-1)のN個の秘密分散値を[b,…,[bN-1と表記する。本形態の秘密分散は(K,N)しきい値秘密分散方式に則って行われる。(K,N)しきい値秘密分散方式では、K個以上の秘密分散値を集めれば元データ(平文)を完全に復元できるが、K-1以下の秘密分散値からは元データの情報が全く得られない。(K,N)しきい値秘密分散方式の具体例は、Shamirの秘密分散方式(例えば、参考文献1「A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.」等参照)、またはその変形方式である。対象データの秘密分散値[b,…,[bM-1(ただし、n=0,…,N-1)は、それぞれ秘密計算装置12-nに送られる。対象データの秘密分散値[b,…,[bM-1は、秘密計算装置12-n(図2A)の入力部121-nに入力され、記憶部122-nに格納される(ステップS11)。
 対象データの秘密分散値[b,…,[bM-1が記憶部122-nに格納されると、N個の秘密計算装置12-n(ただし、n=0,…,N-1)の整合性検証部123-nが互いに通信し、対象データの秘密分散値[b,…,[bM-1の整合性検証を行う。整合性検証は非特許文献1その他の公知方式によって行われてもよいし、後述する方式によって行われてもよい。これにより、登録装置11、または登録装置11から秘密計算装置12-nまでの間で行われた対象データの秘密分散値[b,…,[bM-1の改ざんが検知される。この整合性検証が合格であった場合、[b,…,[bM-1が記憶部122-nに保持される。一方、この整合性検証が不合格であった場合、[b,…,[bM-1が記憶部122-nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS12)。
 「保管処理」
 保管処理では、各秘密計算装置12-nが対象データの秘密分散値[b,…,[bM-1を記憶部122-nに保持する。この間、定期的または所定の契機で、N個の秘密計算装置12-n(ただし、n=0,…,N-1)の整合性検証部123-nが互いに通信し、対象データの秘密分散値[b,…,[bM-1の整合性検証を行ってもよい。これにより、秘密計算装置12-nで行われた対象データの秘密分散値[b,…,[bM-1の改ざんが検知される。この整合性検証が合格であった場合、[b,…,[bM-1が記憶部122-nに保持される。一方、この整合性検証が不合格であった場合、[b,…,[bM-1が記憶部122-nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS13)。
 「分析処理」
 分析処理では、まず分析装置13の分析依頼部131が、秘密計算を要求するクエリまたはクエリの秘密分散値を生成して出力する。クエリは秘密計算を要求する演算内容を表してもよいし、演算対象のデータを表してもよい。本形態では、分析依頼部131が出力するクエリまたはクエリの秘密分散値を[q,…,[qJ-1(ただし、n=0,…,N-1)と表現する。ただし、Jは1以上の整数である。[q(ただし、j=0,…,J-1)がクエリそのもの(元データ)である場合、[q=…=[qN-1である。[q(ただし、j=0,…,J-1)がクエリの秘密分散値である場合、[q,…,[qN-1は、クエリqのN個の秘密分散値である。出力部132は、クエリまたはクエリの秘密分散値[q,…,[qJ-1(ただし、n=0,…,N-1)を出力し、これらはそれぞれ秘密計算装置12-nに送られる。[q,…,[qJ-1は、秘密計算装置12-n(図2A)の入力部121-nに入力され、記憶部122-nに格納される(ステップS14)。
 クエリまたはクエリの秘密分散値[q,…,[qJ-1が記憶部122-nに格納されると、N個の秘密計算装置12-n(ただし、n=0,…,N-1)の整合性検証部123-nが互いに通信し、クエリまたはクエリの秘密分散値[q,…,[qJ-1の整合性検証を行う。ここで、[qがクエリそのものであったとしても、[qを秘密分散値とみなして整合性検証を行うことができる。これにより、分析装置13、または分析装置13から秘密計算装置12-nまでの間で行われた[q,…,[qJ-1の改ざんが検知される。この整合性検証が合格である場合、[q,…,[qJ-1が記憶部122-nに保持される。一方、この整合性検証が不合格である場合、[q,…,[qJ-1が記憶部122-nから削除され、処理をステップS14に戻すか、エラー終了させる(ステップS15)。
 [q,…,[qJ-1の整合性検証が合格の場合、秘密計算装置12-nの秘密計算部124-nは、記憶部122-nから、整合性検証に合格した[b,…,[bM-1および[q,…,[qJ-1を読み込む。秘密計算部124-nは、整合性検証に合格した[b,…,[bM-1を用い、整合性検証に合格した[q,…,[qJ-1に応じた秘密計算を行って演算結果の秘密分散値[r,…,[rW-1を得る。ただし、Wは1以上の整数である(例えば、Wは2以上の整数)。本形態では、改ざん検知付秘密計算(例えば、参考文献2「五十嵐大, 千田浩司, 濱田浩気, 菊池亮, “非常に高効率なn≧2k-1 malicious モデル上秘密分散ベースマルチパーティ計算の構成法”, In SCIS2013, 2013.」等参照)によって秘密計算を行って演算結果の秘密分散値[r,…,[rW-1を得る。この計算過程でのK-1個以下の秘密計算装置12-nによる改ざんは、ここで検知できる。改ざんが検知された場合、この秘密計算を再び実行させるか、処理をエラー終了させる。改ざんが検知されなかった場合、演算結果の秘密分散値[r,…,[rW-1が出力部125-nに送られる(ステップS16)。出力部125-n(ただし、n=0,…,N-1)は、演算結果の秘密分散値[r,…,[rW-1を出力し、これらは分析装置13に送られる(ステップS17)。
 演算結果の秘密分散値[r,…,[rW-1は、分析装置13(図3)の入力部133に入力され、記憶部134に格納される。演算結果の秘密分散値[r,…,[rW-1(ただし、n=0,…,N-1)は改ざん検知復元部135に送られる。改ざん検知復元部135はこれらの改ざん検知復元を行い(例えば、参考文献2参照)、演算結果r,…,rW-1を復元して出力する。秘密計算装置12-nまたは秘密計算装置12-nから分析装置13までの間での改ざんはここで検知される。改ざんが検知された場合、このステップS16以降の処理を再び実行させるか、処理をエラー終了させる。改ざんが検知されなかった場合、演算結果r,…,rW-1が出力される(ステップS18)。
 <整合性検証の具体例>
 図5を用いて整合性検証の具体例を示す。以下では、I個の秘密計算装置12-0~12-(I-1)が協力し、[a,…,[aY-1(ただし、i=0,…,I-1)の整合性検証を行う場合に一般化して説明する。ただし、Yは1以上の整数であり、IはKよりも大きく、N以下の整数であり(N≧I>K。例えば、N≧I≧2)、{0,…,I-1}⊆{0,…,N-1}を満たす。[a,…,[aY-1の例は、対象データの秘密分散値[b,…,[bM-1(この場合にはY=M)、クエリまたはクエリの秘密分散値[q,…,[qJ-1(この場合にはY=J)である。
 まず、秘密計算装置12-i(図2B)の整合性検証部123-iの任意値設定部1231-iが、任意値sを選択する。任意値sの例は、擬似乱数、乱数、または定数である。任意値sは記憶部122-iに格納されるとともに、出力部125-iに送られる(ステップS1201)。任意値sは出力部125-iから出力され、他の秘密計算装置12-i’(ただし、i’∈{0,…,I-1}かつi’≠i)に配送される(ステップS1202)。他の秘密計算装置12-i’から配送された任意値si’は入力部121-iに入力され、記憶部122-iに格納される(ステップS1203)。合成部1232-iは、記憶部122-iから任意値s,…,sI-1を読み込み、任意値s,…,sI-1の合成値s:=g(s,…,sI-1)を得る。ただし、「α:=β」は、αをβと定義することを意味する。g(・)は(・)の関数値を表す。任意値s,…,sI-1に対して合成値sが一義的に定まるのであれば、どのようなg(・)が用いられてもよい。例えば、s:=s+…+sI-1などの任意値s,…,sI-1の線形結合を合成値sとしてもよいし、s:=s×…×sI-1などの任意値s,…,sI-1の積を合成値sとしてもよい。合成値sは記憶部122-iに格納される(ステップS1204)。
 線形結合部1233-iは、記憶部122-iから合成値sおよび[a,…,[aY-1を読み込み、合成値sの関数値を係数z(ただし、y=0,…,Y-1)とし、[a,…,[aY-1(ただし、i=0,…,I-1)の線形結合値[c]:=z[a+…+zY-1[aY-1を得る。係数zは合成値sとyとによって定まる値z:=h(s,y)であってもよいし、合成値sのみに対して定まる値z:=h(s)であってもよい。ただし、h(・)は(・)の関数値を表す。例えば、z:=sy+1であってもよいし、z:=s2y+1であってもよいし、z:=sであってもよい。線形結合値[c]は記憶部122-iに格納される(ステップS1205)。
 検証部1236-iは、記憶部122-iから読み込んだ線形結合値[c]に応じた秘密分散値[d]を出力する。例えば、線形結合値[c]をそのまま秘密分散値[d]としてもよいし、[c]の関数値を秘密分散値[d]としてもよい。整合性検証部123-iが撹乱値設定部1234-iおよび撹乱部1235-iを含む場合、撹乱値設定部1234-iが乱数秘密分散値[R]を得、撹乱部1235-iが乱数秘密分散値[R]および線形結合値[c]を入力とし、乱数秘密分散値[R]で線形結合値[c]を撹乱させた秘密分散値[d]を得てもよい。例えば、撹乱値設定部1234-iが、生成した擬似乱数または乱数を乱数秘密分散値[R]とし、秘密計算によって[d]:=[c-R]を得てもよい。ただし、[c-R]は(K,N)しきい値秘密分散方式に則ったc-Rの秘密分散値である。秘密分散値[d]は記憶部122-iに格納されるとともに、出力部125-iに送られる(ステップS1206)。
 秘密分散値[d]は出力部125-iから出力され、他の秘密計算装置12-i’(ただし、i’∈{0,…,I-1}かつi’≠i)に配送される(ステップS1207)。他の秘密計算装置12-i’から配送された秘密分散値[d]i’は入力部121-iに入力され、記憶部122-iに格納される(ステップS1208)。
 検証部1236-nは、記憶部122-iからK個の秘密分散値[d]f(0),…,[d]f(K-1)を読み込み、ラグランジュ(Lagrange)補間によって他のI-K個の秘密分散値Df(K):=[d]f(K),…,Df(I-1):=[d]f(I-1)を復元し、記憶部122-iに格納する。なお、{f(0),…,f(I-1)}={0,…,I-1}を満たし、例えば、f(i)=iである(ステップS1209)。
 検証部1236-nは、記憶部122-iから、ステップS1208で入力された[d]f(K),…,[d]f(N-1)と、ステップS1209で復元されたDf(K),…,Df(N-1)とを読み込み、これらを比較する。ここで、すべてのp=K,…,I-1についてDf(p)=[d]f(p)であるならば、検証部1236-nは、[a,…,[aY-1の整合性検証が合格である旨の結果を出力する(ステップS1211)。一方、何れかのpについてDf(p)≠[d]f(p)であるならば、検証部1236-nは、[a,…,[aY-1の整合性検証が不合格である旨の結果を出力する(ステップS1212)。
 この整合性検証の具体例では、[a,…,[aY-1の整合性検証をまとめて実行できるため効率がよい。また、乱数秘密分散値[R]で線形結合値[c]を撹乱させた秘密分散値[d]を用いる場合には、ステップS1209で[a,…,[aY-1の復元値の情報が漏洩することを防止できる。
 [第2実施形態]
 第2実施形態では、前述の「第1集合」と「第2集合」との「共通部分」に属する秘密計算装置が演算結果の秘密分散値を出力する。「第1集合」および「第2集合」の少なくとも一方は、複数個の秘密計算装置を要素とする「全体集合」の真部分集合であってもよい。以下では、既に説明した事項との相違点を中心に説明し、説明済みの事項についてはそれと同じ参照番号を流用して説明を簡略化する。
 <構成>
 図1に例示するように、本形態の秘密計算システム2は、登録装置11、N個の秘密計算装置22-1,…,22-(N-1)、および分析装置13を有する。図2Aに例示するように、本形態の秘密計算装置22-n(ただし、n=0,…,(N-1))は、例えば、制御部120-n、入力部121-n、記憶部122-n、整合性検証部223-n、秘密計算部224-n、および出力部125-nを有する。
 <処理>
 本形態の処理も「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
 「登録処理」
 まず、登録装置11と秘密計算装置22-nとが、第1実施形態で説明したステップS11の処理を実行する。次に、第1実施形態のステップS12で説明したように、N個の秘密計算装置22-n(ただし、n=0,…,N-1)の整合性検証部223-nが互いに通信し、対象データの秘密分散値[b,…,[bM-1の整合性検証を行う。ただし、本形態では、この整合性検証が不合格であっても、記憶部122-nから[b,…,[bM-1が削除されない。代わりに、N個の秘密計算装置22-n(ただし、n=0,…,N-1)からなる集合の真部分集合Sが選択され、真部分集合Sに属するNS1個(ただし、NS1>K)の秘密計算装置22-v(η)(ただし、η=0,…,NS1-1)の整合性検証部223-v(η)が互いに通信し、対象データの秘密分散値[bv(η),…,[bM-1v(η)の整合性検証を行う。なお、{v(0),…,v(NS1-1)}={0,…,NS1-1}を満たし、例えば、v(η)=ηである。この真部分集合Sでの整合性検証方法にも限定はない。例えば、非特許文献1の方法で整合性検証が行われてもよいし、I:=NS1とし、i:=v(η)とし、([a,…,[aY-1):=([bv(η),…,[bM-1v(η))とし、前述のステップS1201~S1212の方法で整合性検証が行われてもよい。真部分集合Sに属するNS1個の秘密計算装置22-v(η)(ただし、η=0,…,NS1-1)での整合性検証が不合格である場合、別の真部分集合Sが選択され、選択された真部分集合Sでの整合性検証が実行される。真部分集合Sは、予め定められた基準に従って選択される。真部分集合Sの真部分集合が新たな真部分集合Sとされてもよいし、真部分集合Sの補集合が新たな真部分集合Sとされてもよいし、真部分集合Sの真部分集合と補集合との和集合が新たな真部分集合Sとされてもよい。この具体例は後述する。N個の秘密計算装置22-n(ただし、n=0,…,N-1)からなる全体集合Uでの整合性検証が合格であった場合、その旨の情報が記憶部122-n(ただし、n=0,…,N-1)に格納される。真部分集合Sでの整合性検証が合格であった場合、その旨の情報が記憶部122-n(ただし、n=0,…,N-1)に格納される。全体集合Uまたは真部分集合Sでの整合性検証が合格であった場合、対象データの秘密分散値[b,…,[bM-1が記憶部122-nに保持される。一方、真部分集合Sを所定回数更新しても整合性検証が合格にならなかった場合、所定の真部分集合Sについて整合性検証を行ってすべて不合格であった場合、または合格となった真部分集合Sの要素数がK未満であった場合、[b,…,[bM-1が記憶部122-nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS22)。
 「保管処理」
 保管処理でも、定期的または所定の契機で、ステップS22と同じ整合性検証が行われてもよい。N個の秘密計算装置22-n(ただし、n=0,…,N-1)からなる全体集合Uでの整合性検証が合格であった場合、その旨の情報が記憶部122-n(ただし、n=0,…,N-1)に格納される。真部分集合Sでの整合性検証が合格であった場合、その旨の情報が記憶部122-n(ただし、n=0,…,N-1)に格納される。全体集合Uまたは真部分集合Sでの整合性検証が合格であった場合、対象データの秘密分散値[b,…,[bM-1が記憶部122-nに保持される。一方、真部分集合Sを所定回数更新しても整合性検証が合格にならなかった場合、所定の真部分集合Sについて整合性検証を行ってすべて不合格であった場合、または合格となった真部分集合Sの要素数がK未満であった場合、[b,…,[bM-1が記憶部122-nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS23)。
 「分析処理」
 まず、分析装置13と秘密計算装置22-nとが、第1実施形態で説明したステップS14の処理を実行する。次に、第1実施形態のステップS15で説明したように、N個の秘密計算装置22-n(ただし、n=0,…,N-1)の整合性検証部223-nが互いに通信し、クエリまたはクエリの秘密分散値を[q,…,[qJ-1の整合性検証を行う。ただし、本形態では、この整合性検証が不合格であっても、記憶部122-nから[q,…,[qJ-1が削除されない。代わりに、N個の秘密計算装置22-n(ただし、n=0,…,N-1)からなる集合の真部分集合Sが選択され、真部分集合Sに属するNS2個(ただし、NS2>K)の秘密計算装置22-u(ι)(ただし、ι=0,…,NS2-1)が互いに通信し、[qu(ι),…,[qJ-1u(ι)の整合性検証を行う。なお、{u(0),…,u(NS2-1)}={0,…,NS2-1}を満たし、例えば、u(ι)=ιである。この真部分集合Sでの整合性検証方法にも限定はない。例えば、非特許文献1の方法で整合性検証が行われてもよいし、I=NS2とし、i=u(ι)とし、([a,…,[aY-1)=([qu(ι),…,[qJ-1u(ι))とし、前述のステップS1201~S1212の方法で整合性検証が行われてもよい。真部分集合Sに属するNS2個の秘密計算装置22-u(ι)(ただし、ι=0,…,NS2-1)での整合性検証が不合格である場合、別の真部分集合Sが選択され、選択された真部分集合Sでの整合性検証が実行される。真部分集合Sは、予め定められた基準に従って選択される。真部分集合Sの真部分集合が新たな真部分集合Sとされてもよいし、真部分集合Sの補集合が新たな真部分集合Sとされてもよいし、真部分集合Sの真部分集合と補集合との和集合が新たな真部分集合Sとされてもよい。N個の秘密計算装置22-n(ただし、n=0,…,N-1)からなる全体集合Uでの整合性検証が合格であった場合、その旨の情報が記憶部122-n(ただし、n=0,…,N-1)に格納される。真部分集合Sでの整合性検証が合格であった場合、その旨の情報が記憶部122-n(ただし、n=0,…,N-1)に格納される。全体集合Uまたは真部分集合Sでの整合性検証が合格であった場合、クエリまたはクエリの秘密分散値を[q,…,[qJ-1が記憶部122-nに保持される。一方、真部分集合Sを所定回数更新しても整合性検証が合格にならなかった場合、所定の真部分集合Sについて整合性検証を行ってすべて不合格であった場合、または、合格となった真部分集合Sの要素数がK未満であった場合、[q,…,[qJ-1が記憶部122-nから削除され、処理をステップS14に戻すか、エラー終了させる(ステップS25)。
 全体集合Uまたは真部分集合Sでの整合性検証が合格であった場合、N個の秘密計算装置22-0,…,22-(N-1)のうち、ステップS22,23での整合性検証に合格した対象データの秘密分散値[b,…,[bM-1を格納する秘密計算装置を要素とする「第1集合(UまたはS)」と、ステップS25での整合性検証に合格したクエリまたはクエリの秘密分散値[q,…,[qJ-1が入力された秘密計算装置を要素とする「第2集合(UまたはS)」と、の「共通部分(S12)」に属する秘密計算装置22-κ(ただし、κ∈{0,…,N-1})が秘密計算を行う。例えば、ステップS22,23,25で全体集合Uでの整合性検証が合格であった場合、U=S12となり、N個の秘密計算装置22-0,…,22-(N-1)が第1実施形態で説明したステップS16と同一の処理を行う(図7Aおよび7B)。例えば、ステップS22,23で真部分集合Sでの整合性検証が合格であり、ステップS25で真部分集合Sでの整合性検証が合格であったのであれば、真部分集合Sと真部分集合Sとの「共通部分(S12)」に属する秘密計算装置22-κ(ただし、κ∈{0,…,N-1})の秘密計算部224-κが、整合性検証に合格した[bκ,…,[bM-1κを用い、整合性検証に合格した[qκ,…,[qJ-1κに応じた秘密計算を行って演算結果の秘密分散値[rκ,…,[rW-1κを得る。本形態でも、改ざん検知付秘密計算(例えば、参考文献2)が用いられる(ステップS26)。その後、分析装置13と秘密計算装置22-nとが、第1実施形態で説明したステップS17およびS18と同じ処理を実行する。ただし、「共通部分(S12)」の要素数が演算結果を復元するために必要な秘密分散値の個数K以上である場合のみにステップS26,S17,S18の処理が実行され、そうでない場合に処理をエラー終了させてもよい。
 <整合性検証対象となる真部分集合の更新例>
 ステップS22,S23,S25で説明した整合性検証対象となる真部分集合の更新例を説明する。更新例1では、「全体集合(U)」の「第1部分集合(UまたはS)」での対象データの秘密分散値[bv(η),…,[bM-1v(η)の整合性検証が不合格であった場合、「第1部分集合(UまたはS)」の真部分集合を新たな「第1部分集合(S)」として対象データの秘密分散値[bv(η),…,[bM-1v(η)の整合性検証を行う再帰処理を行う。また、「全体集合(U)」の「第2部分集合(UまたはS)」でのクエリまたはクエリの秘密分散値[qu(ι),…,[qJ-1u(ι)の整合性検証が不合格であった場合、「第2部分集合(UまたはS)」の真部分集合を新たな「第2部分集合(S)」としてクエリまたはクエリの秘密分散値の整合性検証を行う再帰処理を行う。更新例2では、「全体集合(U)」の「第3部分集合(UまたはS)」での対象データの秘密分散値[bv(η),…,[bM-1v(η)の整合性検証が不合格であった場合、「第3部分集合(UまたはS)」の真部分集合と「第3部分集合(UまたはS)」の補集合の部分集合との和集合を新たな「第3部分集合S」として対象データの秘密分散値[bv(η),…,[bM-1v(η)の整合性検証を行う再帰処理を行う。「全体集合(U)」の「第4部分集合(UまたはS)」でのクエリまたはクエリの秘密分散値[qu(ι),…,[qJ-1u(ι)の整合性検証が不合格であった場合、「第4部分集合(UまたはS)」の真部分集合と「第4部分集合(UまたはS)」の補集合の部分集合との和集合を新たな「第4部分集合S」としてクエリまたはクエリの秘密分散値[qu(ι),…,[qJ-1u(ι)の整合性検証を行う再帰処理を行う。以下では、SおよびSを部分集合Sに一般化して説明する。
 ≪更新例1≫
 図6Aに例示するように、更新例1では、まずN個の秘密計算装置22-n(ただし、n=0,…,N-1)の整合性検証部223-nが、N個の秘密計算装置22-nの全体集合Uを集合系SETの元として設定する(SET:={U})(ステップS2201)。集合系SETの元である部分集合S∈SET(初期値は全体集合U)に属するN個(ただし、N>K)個の秘密計算装置22-e(ν)(ただし、ν=0,…,N-1)の整合性検証部223-e(ν)が互いに通信し、データ(対象データの秘密分散値、またはクエリもしくはクエリの秘密分散値)の整合性検証を行う。なお、{e(0),…,e(N-1)}={0,…,N-1}を満たし、例えば、e(ν)=νである(ステップS2202)。ここで、整合性検証に合格する部分集合Sが存在しないならば(ステップS2203)、整合性検証部223-e(ν)は整合性検証の継続条件を満たすかを判定する(ステップS2204)。継続条件の例は、「部分集合Sの更新回数が所定数以下である」「所定の部分集合の整合性検証が終了していない」などである。ここで、整合性検証の継続条件を満たさない場合、整合性検証部223-e(ν)は処理をエラー終了させる(ステップS2208)。一方、整合性検証の継続条件を満たす場合、整合性検証部223-e(ν)は、部分集合Sをその真部分集合に置換して集合系SETを更新する。例えば、図8Aの例では、SET:={SS1-1}のときに、部分集合S=SS1-1がその真部分集合SS1-2およびSS1-3に置換され、SET:={SS1-2,SS1-3}に更新される。図8Bの例では、SET:={SS1-2,SS1-3}のときに、SS1-2がその真部分集合SS1-4およびSS1-5に置換され、SS1-3がその真部分集合SS1-6およびSS1-7に置換される。集合系SETの更新後、ステップS2202に戻る(ステップS2205)。一方、ステップS2202で整合性検証に合格した部分集合Sが存在したならば(ステップS2203)、整合性検証部223-e(ν)は整合性検証に合格した部分集合Sの要素数|S|=NがK以上かを判定する(ステップS2206)。整合性検証に合格した何れかの部分集合Sの要素数|S|がK以上であれば、整合性検証部223-e(ν)はその部分集合Sを表す情報を出力する(ステップS2207)。そうでなければ、整合性検証部223-e(ν)は処理をエラー終了させる(ステップS2208)。
 ≪更新例2≫
 図6Bに例示するように、更新例2では、図6Aの処理のステップS2201がS2211に置換され、ステップS2205がステップS2215に置換される。ステップS2211では、N個の秘密計算装置22-n(ただし、n=0,…,N-1)の整合性検証部223-nが、全体集合Uの真部分集合を集合系SETの元として設定する(SET:={S}(ただし、S⊂U))(ステップS2211)。ステップS2215では、整合性検証部223-e(ν)が、部分集合SをSの真部分集合A⊂Sと、Sの補集合Cの真部分集合B⊂Cと、の和集合A+Bに置換する。例えば、和集合A+Bは部分集合Sをシフトさせた集合である。例えば、図9Aおよび図9Bの例では、SET:={SS1-2,SS1-3}のときに、SS1-2が和集合SS1-4に置換され、SS1-3が和集合SS1-5に置換される。図9Aおよび図9Bの例では、SET:={SS1-4,SS1-5,SS1-6,SS1-7}のときに、SS1-4が和集合SS1-8に置換され、SS1-5が和集合SS1-9に置換され、SS1-6が和集合SS1-10に置換され、SS1-7が和集合SS1-11に置換される。
 [第3実施形態]
 第2実施形態では、「第1集合」と「第2集合」との「共通部分」に属する秘密計算装置が、「共通部分」の補集合に属する秘密計算装置の対象データの秘密分散値およびクエリまたはクエリの秘密分散値の少なくとも一方を復元し、秘密計算を行う。
 <構成>
 図1に例示するように、本形態の秘密計算システム3は、登録装置11、N個の秘密計算装置32-1,…,32-(N-1)、および分析装置13を有する。図2Aに例示するように、本形態の秘密計算装置32-n(ただし、n=0,…,(N-1))は、例えば、制御部120-n、入力部121-n、記憶部122-n、整合性検証部223-n、秘密計算部324-n、出力部125-n、および分散値復元部326-n、を有する。
 <処理>
 本形態の処理も「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
 「登録処理」
 登録装置11と秘密計算装置32-nとが、第1実施形態で説明したステップS11の処理を実行する。次に、秘密計算装置32-nが、第2実施形態で説明したステップS22の処理を実行する。
 「保管処理」
 秘密計算装置32-nが、第2実施形態で説明したステップS23の処理を実行する。
 「分析処理」
 まず、分析装置13と秘密計算装置22-nとが、第1実施形態で説明したステップS14の処理を実行する。次に、秘密計算装置32-nが、第2実施形態で説明したステップS25の処理を実行する。
 全体集合Uまたは真部分集合Sでの整合性検証が合格であった場合、前述の「第1集合(UまたはS)」と「第2集合(UまたはS)」との「共通部分(S12)」に属する秘密計算装置32-κ(ただし、κ∈{0,…,N-1})の分散値復元部326-κが互いに通信を行い、「共通部分(S12)」の補集合に属する秘密計算装置32-θ(ただし、θ∈{0,…,N-1}かつθ≠κ)の対象データの秘密分散値[bθ,…,[bM-1θおよびクエリまたはクエリの秘密分散値[qθ,…,[qJ-1θを復元する。この復元は、例えばラグランジュ補間によって行われる。例えば、「共通部分(S12)」に属する信頼できる特定の秘密計算装置32-κ’の分散値復元部326-κ’に対し、「共通部分(S12)」に属するその他の秘密計算装置32-κの分散値復元部326-κが[bκ,…,[bM-1κおよび[qκ,…,[qJ-1κを送る。秘密計算装置32-κ’は、これらを用い、ラグランジュ補間によって、[bθ,…,[bM-1θおよび[qθ,…,[qJ-1θを復元し、記憶部122-κ’に格納する(ステップS35)。
 「共通部分(S12)」に属する秘密計算装置32-κ(ただし、κ∈{0,…,N-1})は、整合性検証に合格した[bκ,…,[bM-1κを用い、整合性検証に合格した[qκ,…,[qJ-1κに応じた秘密計算を行って演算結果の秘密分散値[rκ,…,[rW-1κを得る。復元された[bθ,…,[bM-1θおよび[qθ,…,[qJ-1θを保持する秘密計算装置32-κは、さらに、復元された[bθ,…,[bM-1θを用い、復元された[qκ,…,[qJ-1κに応じた秘密計算を行って演算結果の秘密分散値[rθ,…,[rW-1θを得る。本形態でも、改ざん検知付秘密計算(例えば、参考文献2)が用いられる(ステップS36)。その後、分析装置13と秘密計算装置32-nとが、第1実施形態で説明したステップS17およびS18と同じ処理を実行する。ただし、[rθ,…,[rW-1θは、分析装置13に送られてもよいし、送られなくてもよい。「共通部分(S12)」の要素数が演算結果を復元するために必要な秘密分散値の個数K以上である場合のみにステップS35,S36,S17,S18の処理が実行され、そうでない場合に処理をエラー終了させてもよい。
 [第4実施形態]
 第4実施形態では、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の整合性検証をまとめて行う。
 <構成>
 図1に例示するように、本形態の秘密計算システム4は、登録装置11、N個の秘密計算装置42-1,…,42-(N-1)、および分析装置13を有する。図2Aに例示するように、本形態の秘密計算装置42-n(ただし、n=0,…,(N-1))は、例えば、制御部120-n、入力部121-n、記憶部122-n、整合性検証部423-n、秘密計算部124-n、および出力部125-nを有する。
 <処理>
 本形態の処理も「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
 「登録処理」
 登録装置11と秘密計算装置42-nとが、第1実施形態で説明したステップS11およびS12の処理を実行する。ただし、本形態ではステップS12の処理が省略されてもよい。
 「保管処理」
 秘密計算装置42-nが、第1実施形態で説明したステップS13の処理を実行する。ただし、本形態ではステップS13での整合性検証の処理が省略されてもよい。
 「分析処理」
 まず、分析装置13と秘密計算装置42-nとが、第1実施形態で説明したステップS14の処理を実行する。次に、N個の秘密計算装置42-n(ただし、n=0,…,N-1)の整合性検証部423-nが互いに通信し、対象データの秘密分散値[b,…,[bM-1およびクエリまたはクエリの秘密分散値を[q,…,[qJ-1の整合性検証をまとめて行う。すなわち、整合性検証部423-nは、[b,…,[bM-1,[q,…,[qJ-1を対象として整合性検証をまとめて行う。例えば、整合性検証部423-nは、I:=Nとし、i:=nとし、Y:=M+Jとし、([a,…,[aY-1):=([b,…,[bM-1,[q,…,[qJ-1)とし、前述のステップS1201~S1212の方法で整合性検証を行う。この場合も、対象データの秘密分散値およびクエリまたはクエリの秘密分散値を含む情報([b,…,[bM-1,[q,…,[qJ-1)を撹乱させた情報の整合性検証が行われてもよい。この整合性検証が合格である場合、[b,…,[bM-1,[q,…,[qJ-1が記憶部122-nに保持される。一方、この整合性検証が不合格である場合、[b,…,[bM-1,[q,…,[qJ-1が記憶部122-nから削除され、ステップS11の処理に戻すか、処理をエラー終了させる(ステップS45)。その後、第1実施形態のステップS16~S18の処理が実行される。
 なお、第2実施形態または第3実施形態のステップS25の整合性検証に代え、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の整合性検証がまとめて行われてもよい。すなわち、N個の秘密計算装置42-nの整合性検証部423-nでの整合性検証が不合格であった場合、N個の秘密計算装置42-n(ただし、n=0,…,N-1)からなる集合の真部分集合Sに属する秘密計算装置42-u(ι)の整合性検証部423-u(ι)が、[bu(ι),…,[bM-1u(ι),[qu(ι),…,[qJ-1u(ι)を対象として整合性検証を行ってもよい。
 [その他の変形例等]
 なお、本発明は上述の実施の形態に限定されるものではない。例えば、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。また、上述した各演算は有限体上の演算であってもよいし、拡大体上の演算であってもよいし、環上の演算であってもよいし、その他の代数系上での演算であってもよい。また、改ざん検知付秘密計算に代えて、改ざん検知機能を持たない秘密計算が行われてもよい。
 上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
 上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
 このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
 上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
1~4 秘密計算システム
11 登録装置
12-n~42-n 秘密計算装置
13 分析装置

Claims (17)

  1.  複数個の秘密計算装置を有し、
     前記秘密計算装置のそれぞれは、
     秘密計算の対象となる対象データの秘密分散値を格納する記憶部と、
     前記秘密計算を要求するクエリまたは前記クエリの秘密分散値が入力される入力部と、
     前記対象データの秘密分散値の整合性検証および前記クエリまたは前記クエリの秘密分散値の整合性検証を行う整合性検証部と、
     整合性検証に合格した前記対象データの秘密分散値を用い、整合性検証に合格した前記クエリまたは前記クエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得る秘密計算部と、
     前記演算結果の秘密分散値を出力する出力部と、
    を有する秘密計算システム。
  2.  請求項1の秘密計算システムであって、
     前記複数個の秘密計算装置のうち整合性検証に合格した前記対象データの秘密分散値を格納するものを要素とする第1集合と、前記複数個の秘密計算装置のうち整合性検証に合格した前記クエリまたは前記クエリの秘密分散値が入力されたものを要素とする第2集合と、の共通部分に属する前記秘密計算装置の前記出力部が前記演算結果の秘密分散値を出力し、
     前記第1集合および前記第2集合の少なくとも一方が、前記複数個の秘密計算装置を要素とする全体集合の真部分集合である、秘密計算システム。
  3.  請求項2の秘密計算システムであって、
     前記共通部分に属する前記秘密計算装置は、前記共通部分の補集合に属する秘密計算装置の前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値の少なくとも一方を復元する復元部を有する、秘密計算システム。
  4.  請求項2または3の秘密計算システムであって、
     前記共通部分に属する前記秘密計算装置の前記出力部は、前記共通部分の要素数が前記演算結果を復元するために必要な秘密分散値の個数以上である場合に、前記演算結果の秘密分散値を出力する、秘密計算システム。
  5.  請求項2から4の何れかの秘密計算システムであって、
     前記整合性検証部が、前記全体集合の第1部分集合での前記対象データの秘密分散値の整合性検証が不合格であった場合、前記第1部分集合の真部分集合を前記第1部分集合として前記対象データの秘密分散値の整合性検証を行う第1再帰処理を行う、および/または、前記全体集合の第2部分集合での前記クエリまたは前記クエリの秘密分散値の整合性検証が不合格であった場合、前記第2部分集合の真部分集合を前記第2部分集合として前記クエリまたは前記クエリの秘密分散値の整合性検証を行う第2再帰処理を行う、秘密計算システム。
  6.  請求項2から5の何れかの秘密計算システムであって、
     前記整合性検証部が、前記全体集合の第3部分集合での前記対象データの秘密分散値の整合性検証が不合格であった場合、前記第3部分集合の真部分集合と前記第3部分集合の補集合の部分集合との和集合を前記第3部分集合として前記対象データの秘密分散値の整合性検証を行う第3再帰処理を行う、および/または、前記全体集合の第4部分集合での前記クエリまたは前記クエリの秘密分散値の整合性検証が不合格であった場合、前記第4部分集合の真部分集合と前記第4部分集合の補集合の部分集合との和集合を前記第4部分集合として前記クエリまたは前記クエリの秘密分散値の整合性検証を行う第4再帰処理を行う、秘密計算システム。
  7.  請求項1から6の何れかの秘密計算システムであって、
     前記整合性検証部は、前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値の整合性検証をまとめて行う、秘密計算システム。
  8.  請求項7の秘密計算システムであって、
     前記整合性検証部は、前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値を含む情報を撹乱させた情報の整合性検証を行う、秘密計算システム。
  9.  請求項1から8の何れかの秘密計算システムであって、
     前記整合性検証部は、
     前記複数個の秘密計算装置を要素とする全体集合の部分集合で得られた複数個の任意値の合成値sを得る合成部と、
     前記合成値sの関数値を係数とし、前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値の少なくとも一方を含む値の線形結合値[c]を得る線形結合部と、
     前記線形結合値[c]に応じた秘密分散値[d]を他の秘密計算装置に配送して整合性検証を行う検証部と、を含む、秘密計算システム。
  10.  請求項9の秘密計算システムであって、
     前記整合性検証部は、
     乱数秘密分散値[R]を得る撹乱値設定部と、
     前記乱数秘密分散値[R]で前記線形結合値[c]を撹乱させた前記秘密分散値[d]を得る撹乱部と、を含む、秘密計算システム。
  11.  秘密計算の対象となる対象データの秘密分散値を格納する記憶部と、
     前記秘密計算を要求するクエリまたは前記クエリの秘密分散値が入力される入力部と、
     前記対象データの秘密分散値の整合性検証および前記クエリまたは前記クエリの秘密分散値の整合性検証を行う整合性検証部と、
     整合性検証に合格した前記対象データの秘密分散値を用い、整合性検証に合格した前記クエリまたは前記クエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得る秘密計算部と、
     前記演算結果の秘密分散値を出力する出力部と、
    を有する秘密計算装置。
  12.  請求項11の秘密計算装置であって、
     前記整合性検証部は、前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値の整合性検証をまとめて行う、秘密計算装置。
  13.  請求項12の秘密計算装置であって、
     前記整合性検証部は、前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値を含む情報を撹乱させた情報の整合性検証を行う、秘密計算装置。
  14.  請求項11から13の何れかの秘密計算装置であって、
     前記整合性検証部は、
     複数個の任意値の合成値sを得る合成部と、
     前記合成値sの関数値を係数とし、前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値の少なくとも一方を含む値の線形結合値[c]を得る線形結合部と、
     前記線形結合値[c]に応じた秘密分散値[d]を他の秘密計算装置に配送して整合性検証を行う検証部と、を含む、秘密計算装置。
  15.  請求項14の秘密計算装置であって、
     前記整合性検証部は、
     乱数秘密分散値[R]を得る撹乱値設定部と、
     前記乱数秘密分散値[R]で前記線形結合値[c]を撹乱させた前記秘密分散値[d]を得る撹乱部と、を含む、秘密計算装置。
  16. 秘密計算の対象となる対象データの秘密分散値を記憶部に格納し、
     前記秘密計算を要求するクエリまたは前記クエリの秘密分散値を受け付け、
     前記対象データの秘密分散値の整合性検証および前記クエリまたは前記クエリの秘密分散値の整合性検証を行い、
     整合性検証に合格した前記対象データの秘密分散値を用い、整合性検証に合格した前記クエリまたは前記クエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得、
     前記演算結果の秘密分散値を出力する、
    を有する秘密計算方法。
  17.  請求項11から15のいずれかの秘密計算装置としてコンピュータを機能させるためのプログラム。
PCT/JP2016/071221 2015-07-27 2016-07-20 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム WO2017018285A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP16830390.7A EP3330880B1 (en) 2015-07-27 2016-07-20 Secure computation system, secure computation device, secure computation method, and program
CN201680042855.8A CN107851164B (zh) 2015-07-27 2016-07-20 秘密计算系统、秘密计算装置、秘密计算方法和存储介质
US15/745,595 US10867018B2 (en) 2015-07-27 2016-07-20 Secure computation system, secure computation device, secure computation method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-147774 2015-07-27
JP2015147774A JP6034927B1 (ja) 2015-07-27 2015-07-27 秘密計算システム、秘密計算装置、およびプログラム

Publications (1)

Publication Number Publication Date
WO2017018285A1 true WO2017018285A1 (ja) 2017-02-02

Family

ID=57419916

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/071221 WO2017018285A1 (ja) 2015-07-27 2016-07-20 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム

Country Status (5)

Country Link
US (1) US10867018B2 (ja)
EP (1) EP3330880B1 (ja)
JP (1) JP6034927B1 (ja)
CN (1) CN107851164B (ja)
WO (1) WO2017018285A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5957126B1 (ja) * 2015-06-24 2016-07-27 日本電信電話株式会社 秘密計算装置、秘密計算方法、およびプログラム
GB2561727A (en) 2016-02-23 2018-10-24 Nchain Holdings Ltd Blockchain-based exchange with tokenisation
EP3420517B1 (en) 2016-02-23 2022-07-06 nChain Holdings Limited A method and system for the secure transfer of entities on a blockchain
SG11201805472RA (en) 2016-02-23 2018-07-30 Nchain Holdings Ltd Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
SG10202011641RA (en) 2016-02-23 2021-01-28 Nchain Holdings Ltd Tokenisation method and system for implementing exchanges on a blockchain
EP3754901A1 (en) 2016-02-23 2020-12-23 Nchain Holdings Limited Blockchain implemented counting system and method for use in secure voting and distribution
AU2017223129A1 (en) * 2016-02-23 2018-07-12 nChain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
CN113595726A (zh) 2016-02-23 2021-11-02 区块链控股有限公司 用于控制和分发数字内容的区块链实现的方法
CA3227439A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
EP3860037A1 (en) 2016-02-23 2021-08-04 Nchain Holdings Limited Cryptographic method and system for secure extraction of data from a blockchain
CA3013182A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
KR101999188B1 (ko) 2016-02-23 2019-07-11 엔체인 홀딩스 리미티드 비밀 공유를 위한 타원 곡선 암호를 사용하는 개인용 장치 보안
KR20180114942A (ko) 2016-02-23 2018-10-19 엔체인 홀딩스 리미티드 분산형 해시 테이블 및 블록체인을 사용하여 컴퓨터 소프트웨어를 보호하기 위한 방법 및 시스템
EP3420668B1 (en) 2016-02-23 2023-08-23 nChain Licensing AG Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts
SG10202011640TA (en) 2016-02-23 2021-01-28 Nchain Holdings Ltd System and method for controlling asset-related actions via a blockchain
US11042358B2 (en) * 2016-08-18 2021-06-22 Nec Corporation Secure computation system, secure computation method, secure computation apparatus, distribution information generation apparatus, and methods and programs therefor
CN110800034B (zh) * 2017-07-05 2023-05-02 日本电信电话株式会社 秘密计算系统、秘密计算装置、秘密计算方法、程序以及记录介质
WO2019124260A1 (ja) 2017-12-18 2019-06-27 日本電信電話株式会社 秘密計算システム及び方法
IL280057A (en) 2021-01-10 2022-08-01 Google Llc Maintaining privacy in machine learning classification
US20220271933A1 (en) * 2021-02-19 2022-08-25 Samsung Electronics Co., Ltd. System and method for device to device secret backup and recovery

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120002811A1 (en) * 2010-06-30 2012-01-05 The University Of Bristol Secure outsourced computation
US20120070000A1 (en) * 2010-09-22 2012-03-22 Alcatel-Lucent Usa Inc Securing Two-Party Computation Against Malicious Adversaries
US20120233460A1 (en) * 2011-03-09 2012-09-13 Microsoft Corporation Server-aided multi-party protocols
WO2014052113A1 (en) * 2012-09-28 2014-04-03 Alcatel Lucent Input consistency verification for two-party secure function evaluation
JP2014137474A (ja) * 2013-01-17 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 改ざん検知装置、改ざん検知方法、およびプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5625692A (en) * 1995-01-23 1997-04-29 International Business Machines Corporation Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing
JP3910538B2 (ja) * 2001-03-16 2007-04-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 潜在的に非同期式のネットワーク中でシークレットを検証可能に共有する方法
US7187772B2 (en) * 2001-08-31 2007-03-06 Hewlett-Packard Development Company, L.P. Anonymous transactions based on distributed processing
AU2007351552B2 (en) * 2006-11-07 2010-10-14 Security First Corporation Systems and methods for distributing and securing data
EP2242032B1 (en) * 2008-01-21 2013-10-02 Nippon Telegraph and Telephone Corporation Secure computing system, secure computing method, secure computing apparatus and program therefor
US8527758B2 (en) * 2009-12-09 2013-09-03 Ebay Inc. Systems and methods for facilitating user identity verification over a network
JP5379914B2 (ja) * 2010-07-23 2013-12-25 日本電信電話株式会社 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体
CN103309902A (zh) * 2012-03-16 2013-09-18 多玩娱乐信息技术(北京)有限公司 一种社交网络中用户信息存储和查找的方法和装置
CN104429019B (zh) * 2012-07-05 2017-06-20 日本电信电话株式会社 秘密分散系统、数据分散装置、分散数据变换装置以及秘密分散方法
JP6008316B2 (ja) * 2012-08-24 2016-10-19 パナソニックIpマネジメント株式会社 秘密分散装置および秘密分散プログラム
US9111071B2 (en) * 2012-11-05 2015-08-18 Sap Se Expression rewriting for secure computation optimization
JP2016502377A (ja) * 2013-01-08 2016-01-21 バーイラン ユニバーシティー 安全計算を用いて安全性を提供する方法
US9286488B2 (en) * 2013-03-13 2016-03-15 Northrop Grumman Systems Corporation System and method for secure database queries
US9747456B2 (en) * 2013-03-15 2017-08-29 Microsoft Technology Licensing, Llc Secure query processing over encrypted data
US10114851B2 (en) * 2014-01-24 2018-10-30 Sachet Ashok Shukla Systems and methods for verifiable, private, and secure omic analysis
EP3218800B1 (en) * 2014-11-12 2023-06-07 David CEREZO SANCHEZ Secure multiparty computation on spreadsheets
WO2016178291A1 (ja) * 2015-05-07 2016-11-10 日本電気株式会社 秘密計算データ利用システムと方法と装置並びにプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120002811A1 (en) * 2010-06-30 2012-01-05 The University Of Bristol Secure outsourced computation
US20120070000A1 (en) * 2010-09-22 2012-03-22 Alcatel-Lucent Usa Inc Securing Two-Party Computation Against Malicious Adversaries
US20120233460A1 (en) * 2011-03-09 2012-09-13 Microsoft Corporation Server-aided multi-party protocols
WO2014052113A1 (en) * 2012-09-28 2014-04-03 Alcatel Lucent Input consistency verification for two-party secure function evaluation
JP2014137474A (ja) * 2013-01-17 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 改ざん検知装置、改ざん検知方法、およびプログラム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
KOJI CHIDA ET AL.: "Cloud Bussiness o Sasaeru Security Kiban Gijutsu", NTT GIJUTSU JOURNAL, vol. 26, no. 3, 1 March 2014 (2014-03-01), pages 67 - 70, XP 009501765 *
MASANORI SHIMURA ET AL.: "Relational Algebra in Multi-party Protocol to Enable Structual Operation in Secret Shared Databases", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 51, no. 9, 15 September 2010 (2010-09-15), pages 1563 - 1578, XP 055350216 *
NAOTO KIRIBUCHI ET AL.: "Teisu Round Kanzen Icchi Kensaku no tameno Himitsu Keisan Protocol [Constant-rounds Secure Computation for Exact Match Retrieval]", 2014 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY KOEN RONBUNSHU, 21 January 2014 (2014-01-21), pages 1 - 7, XP009508708 *
RYO KIKUCHI ET AL.: "Kaizan Kenchi Kinotsuki no Jitsuyoteki na Himitsu Keisan System MEVAL 2", 2015 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY KOEN RONBUNSHU, 20 January 2015 (2015-01-20), pages 1 - 8 *
See also references of EP3330880A4 *

Also Published As

Publication number Publication date
EP3330880A4 (en) 2019-02-20
JP2017028617A (ja) 2017-02-02
US10867018B2 (en) 2020-12-15
EP3330880B1 (en) 2020-02-26
JP6034927B1 (ja) 2016-11-30
CN107851164B (zh) 2021-06-08
US20180225431A1 (en) 2018-08-09
EP3330880A1 (en) 2018-06-06
CN107851164A (zh) 2018-03-27

Similar Documents

Publication Publication Date Title
JP6034927B1 (ja) 秘密計算システム、秘密計算装置、およびプログラム
Tan et al. A survey on proof of retrievability for cloud data integrity and availability: Cloud storage state-of-the-art, issues, solutions and future trends
Chen Using algebraic signatures to check data possession in cloud storage
EP3605944B1 (en) Documenting timestamps within a blockchain
KR20160030874A (ko) 행렬 인수분해에 기초한 등급 기여 사용자들에게로의 추천을 프라이버시-보호하기 위한 방법 및 시스템
KR20160041028A (ko) 프라이버시 보호 행렬 분해를 위한 방법 및 시스템
CN111556120A (zh) 基于区块链的数据处理方法、装置、存储介质及设备
EP3239963B1 (en) Secret falsification detection system, secret computation apparatus, secret falsification detecting method, and program
JP7201848B2 (ja) 時間データの取得または操作を防止しながらネットワークデータのシーケンスを生成すること
JP7155437B2 (ja) 暗号化されたネットワーク値の集約
JP2022177209A (ja) 複数の集約サーバを使用してデータ操作を防止すること
Bezuidenhout et al. Permissionless blockchain systems as pseudo-random number generators for decentralized consensus
Hwang et al. Data error locations reported by public auditing in cloud storage service
Mishra et al. Enabling efficient deduplication and secure decentralized public auditing for cloud storage: A redactable blockchain approach
KR20220140759A (ko) 분류 정확도를 향상시키기 위한 기계 학습 모델링 데이터의 처리
Wei et al. Dynamic data integrity auditing for secure outsourcing in the cloud
CN111143381B (zh) 用于更新多层块链式结构中的信任点的方法及装置
Wei et al. Efficient dynamic replicated data possession checking in distributed cloud storage systems
Duan et al. Practical distributed privacy-preserving data analysis at large scale
CN114143311A (zh) 一种基于区块链的隐私保护方案聚合方法及装置
CN116830181A (zh) 服务提供系统
Jiang et al. Dordis: Efficient Federated Learning with Dropout-Resilient Differential Privacy
CN111162970B (zh) 在区块链系统中测试去中心化应用服务器的方法及装置
Gorke et al. Cloud storage file recoverability
Ronge Security and Privacy of Cryptocurrency Signatures

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15745595

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016830390

Country of ref document: EP