WO2019039380A1 - シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体 - Google Patents

シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体 Download PDF

Info

Publication number
WO2019039380A1
WO2019039380A1 PCT/JP2018/030439 JP2018030439W WO2019039380A1 WO 2019039380 A1 WO2019039380 A1 WO 2019039380A1 JP 2018030439 W JP2018030439 W JP 2018030439W WO 2019039380 A1 WO2019039380 A1 WO 2019039380A1
Authority
WO
WIPO (PCT)
Prior art keywords
share
function value
unit
function
mod
Prior art date
Application number
PCT/JP2018/030439
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 EP18847443.1A priority Critical patent/EP3675088B1/en
Priority to US16/640,092 priority patent/US11374743B2/en
Priority to AU2018320433A priority patent/AU2018320433B2/en
Priority to CN201880053740.8A priority patent/CN111052204B/zh
Priority to JP2019537588A priority patent/JP6885467B2/ja
Publication of WO2019039380A1 publication Critical patent/WO2019039380A1/ja
Priority to US17/742,632 priority patent/US11888977B2/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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

Definitions

  • the present invention relates to encryption technology, and more particularly to secret calculation technology.
  • One of the secret sharing schemes is the Shamir secret sharing scheme (see, for example, Non-Patent Document 1).
  • the secret computing device can perform secret computation using the share obtained according to the Shamia secret sharing method as it is. However, if this share is secretly distributed to N secret computing devices, the total data amount of the share will be on the order of N times the plaintext data amount. Therefore, if this share is sent as it is to N secret computing devices, the total communication data amount will also be on the order of N times the plaintext data amount.
  • An object of the present invention is to create a share that has a smaller total communication data volume than a share based on the Shamia secret sharing method and can be converted into a share based on the Shamia secret sharing method, or follows the Shamia secret sharing method It is an object of the present invention to provide a technology for converting a share whose total communication data amount is smaller than a share into a share according to the Shamia secret sharing method.
  • N is an integer of 2 or more
  • m is an integer of 1 or more
  • m (i) is an integer of 0 or more
  • i is 0, ..., N-1
  • P is a function
  • the range of the function P belongs to a set F m whose elements are the original columns of m fields F, and P (s 0 ),..., P (s N-1 ) ⁇ F m is the seed s 0 ,.
  • Each share conversion device A i included in the N share conversion devices A 0 ,..., A N-1 receives the share SS i , and an arbitrary value t i with another share conversion device A i-1 mod N Share ⁇ F m (i) and share element y i according to the Shamia secret sharing method as share [y i ] i-1 mod N of share conversion device A i-1 mod N with arbitrary value t i
  • the share generation device can generate a share whose total communication data amount is smaller than the share based on the Shamia secret sharing method and which can be converted into a share based on the Shamia secret sharing method.
  • the share conversion device can convert a share whose total communication data amount is smaller than a share based on the Shamia secret sharing method into a share based on the Shamia secret sharing method.
  • FIG. 1 is a block diagram illustrating the configuration of the secret calculation system of the embodiment.
  • FIG. 2 is a block diagram illustrating the functional configuration of the share generation device according to the embodiment.
  • FIG. 3 is a block diagram illustrating the functional configuration of the share conversion device of the embodiment.
  • FIG. 4 is a flowchart for explaining the share generation method of the embodiment.
  • FIG. 5 is a flowchart for explaining the share conversion method of the embodiment.
  • the secret calculation system 1 of this embodiment includes a share generation device 11 and N share conversion devices 12-A 0 ,..., 12-A N-1 , and these devices are the Internet etc. Can communicate with each other through
  • N is an integer of 2 or more.
  • N is an integer of 3 or more.
  • the secret calculation system 1 may have a plurality of share generation devices.
  • the share generation device 11 of this embodiment includes a seed generation unit 111, an operation unit 112, a division unit 113, a share generation unit 116, a communication unit 117, a storage unit 118, and a control unit 119. Each process is executed under the control of the control unit 119. Information output from each processing unit (part performing the process) of the share generation device 11 is stored in the storage unit 118, read out as necessary, and input to another processing unit.
  • a i secret calculation unit 1206 -A i , calculation unit 1207 -A i , Shamia conversion unit 1208 -A i , share generation unit 1209 -A i , storage unit 1210 -A i , and control unit 1211 -A i and performs the processes under the control of the control unit 1211-a i.
  • Information output from the respective processing units share converter 12-A i are stored in the storage unit 1210-A i, is read as necessary is input to the other processing unit.
  • the seed generation unit 111 obtains and outputs N seeds s 0 ,..., S N ⁇ 1 .
  • An example of each seed s 0 ,..., S N ⁇ 1 is an element of a set F w having elements of the original column of w fields F (s 0 ,..., S N ⁇ 1 ⁇ F w ).
  • means that ⁇ is an element of ⁇ .
  • w is an integer of 1 or more.
  • F w is a body F.
  • An example of the field F is a set of modulo primes p (.alpha. Mod p for any .alpha.).
  • the “arbitrary value” may be a random number (pseudo random number or true random number), may be a value selected from a plurality of preset values, or may be a value obtained by another process. It is also good.
  • the seed generation unit 111 generates N random numbers and outputs them as seeds s 0 ,..., S N ⁇ 1 (step S111).
  • the plaintext x ⁇ F m targeted for secret sharing and the seeds s 0 ,..., S N ⁇ 1 output from the seed generation unit 111 are input to the calculation unit 112.
  • m is an integer of 1 or more.
  • m is an integer of 2 or more or an integer of 3 or more.
  • P is a function.
  • the range of the function P belongs to a set F m whose elements are the original columns of m fields F.
  • An example of the set F m is a set of m-dimensional vectors having elements of m fields F as elements.
  • the domain of the function P may be anything, for example, the domain of the function P belongs to the set F w .
  • w ⁇ m.
  • An example of the function P is a pseudorandom number generation function.
  • P (s 0), ..., P (s N-1) ⁇ F m seed s 0, ..., the function value of s N-1 (e.g., pseudo-random number) is.
  • F m ⁇ 2 ⁇ F m is a linear function of transferring two original set F m in one original set F m (function with linearity).
  • y x ⁇ e ⁇ F m .
  • a value obtained by an operation represented by an expression in which a part or all of the terms in xe are multiplied by a constant may be y, or some or all of the terms in xe may be replaced by an inverse element
  • the value obtained by the operation represented by the equation may be y, or an equation in which some or all of the terms in x ⁇ e are replaced with an inverse element, and further some or all of the terms are multiplied by a constant
  • the value obtained by the operation represented may be y, or the value obtained by the operation represented by the equation to which the constant term is added may be y.
  • the function value e f (P (s 0 ),..., P (s N-1 )) is a function value of the function value P (s 0 ),..., P (s N-1 ) ⁇ F m .
  • Fm ⁇ n ⁇ F m is a linear function that transfers the elements of n sets F m to the elements of one set F m .
  • P (s 0) + ... + P (s N-1) of the part or a value obtained through calculation constants to all terms represented by multiplying obtained equation may be e
  • P (s 0) A value obtained by an operation represented by an expression in which a part or all of the terms in part of or. +. + P (s N-1 ) is replaced by an inverse element may be e, or P (s 0 ) +.
  • a value obtained by an operation represented by an expression in which some or all terms of s N-1 ) are replaced with an inverse element, and further some or all terms are multiplied by a constant may be e.
  • the value obtained by the operation represented by the equation to which the constant term is added may be e (step S112).
  • the function value y ⁇ F m is input to the dividing unit 113.
  • the division unit 113 divides the function value y into N elements y 0 ,..., Y N ⁇ 1 and outputs the result.
  • i 0,..., N ⁇ 1
  • y i ⁇ F m (i) and m (i) is an integer of 0 or more (for example, m (i) is an integer of 1 or more)
  • m is a multiple of N
  • the function value y is represented by elements y 0 ⁇ F m (0) ,..., Y N-1 ⁇ F m (N-1) (eg, a sequence of y 0 ,..., Y N -1 ). For example, the function value y is expressed by a row y 0 ......
  • Y y N-1 in which y 0 ⁇ F m (0) , ..., y N -1 ⁇ F m (N-1) are arranged.
  • m 1
  • the dividing unit 113 does not have to divide the function value y, and any one element of the elements y 0 ,..., Y N-1 is set as the function value y, and all the remaining elements are set as null values. It outputs (step S113).
  • the elements y 0 ,..., Y N ⁇ 1 output from the division unit 113 and the seeds s 0 ,..., S N ⁇ 1 output from the seed generation unit 111 are input to the share generation unit 116.
  • Information that is assigned to 0,..., N ⁇ 1) and includes the elements y i and N ⁇ 1 seeds s d for d ⁇ ⁇ 0,..., N ⁇ 1 ⁇ and d ⁇ i is a plaintext in secret sharing Obtain and output as the share SS i of x.
  • Each share SS i may contain other information, but does not contain element y d and seed s i for d ⁇ ⁇ 0,..., N ⁇ 1 ⁇ and d ⁇ i.
  • the information including the element yi ⁇ F 0 which is a null value and N ⁇ 1 seeds s d indicates that the element yi is a null value, and N ⁇ 1 seeds s d Means included information.
  • the information including the elements y i ⁇ F 0 which are null values and the N ⁇ 1 seeds s d includes the N ⁇ 1 seeds s d but does not substantially include the elements y i .
  • the size and N of the seeds s 1 ,..., S N ⁇ 1 do not depend on m.
  • the order of the total share size for the plaintext data size m is O (N) in the present embodiment, whereas it is O (Nm) in (2, N) -Shamia secret sharing.
  • the size of each share is O (m / N).
  • the total data amount of the shares SS 0 ,..., SS N ⁇ 1 is less than N times the data amount of the plaintext x.
  • the data amount of each share SS i is less than the data amount of the plaintext x (step S116).
  • Each share SS i output from the share generation unit 116 is input to the communication unit 117.
  • Each output share SS i is transmitted to each share conversion device 12 -A i through the network.
  • share SS 0 is transmitted to the shared converters 12-A 0
  • share SS 1 is transmitted to the shared converting apparatus 12-A 1
  • ⁇ , share SS N-1 are shared converter 12-A N- It is transmitted to 1 (step S117).
  • each share converters 12-A i of the present embodiment will be described share conversion method performed.
  • the share SS i including the element y i output from the share generation device 11 and N ⁇ 1 seeds s d for d ⁇ ⁇ 0,..., N ⁇ 1 ⁇ and d ⁇ i is the share conversion device 12 -A i (received) by the communication unit 1201-A i (first input unit) of FIG.
  • the received share SS i is stored in the storage unit 1210 -A i (step S 1210 -A i ).
  • the sharing unit 1202-A i shares an arbitrary value t i ⁇ F m (i) with the sharing unit 1202-A i-1 mod N of another share conversion device 12-A i-1 mod N. That is, the sharing unit 1202-A i and the sharing unit 1202-A i-1 mod N obtain the same arbitrary value t i .
  • any value t i in both transmits the information specifying any value t i or any value t i from the shared unit 1202-A i in the shared part 1202-A i-1 mod N may be shared, shared Part 1202-A i-1 mod N may transmit information for specifying an arbitrary value t i or an arbitrary value t i to the sharing part 1202-A i so that both may share the arbitrary value t i or the sharing part
  • the shared seed value is shared between the 1202-A i and the shared unit 1202-A i-1 mod N, and the two perform the same process using the shared seed value so that the arbitrary value t i is shared. It is also good.
  • the arbitrary value t i may be a random number (pseudo random number or true random number), may be a value obtained by another process, or is a value selected from a plurality of predetermined values. May be The sharing of the arbitrary value t i ⁇ F m (i) may be performed when step S1210-A i is executed, or the request from the other sharing unit 1202-A i-1 mod N may be shared. It may be performed as a trigger, may be performed at another trigger, or may be performed in advance. The sharing unit 1202-A i outputs the obtained arbitrary value t i . If the element y i is a null value, the arbitrary value t i is also set to a null value (step S1202-A i ).
  • Any value t i output from contained in shared SS i elements y i and sharing unit 1202-A i are inputted to the secret distribution unit 1203-A i.
  • Share [y i ] u ⁇ F m (i) (Shamir share) is obtained and output.
  • the arbitrary value t i be the share [y i ] i-1 mod N of the share conversion device 12-A i-1 mod N.
  • the Shamia secret sharing method is a 2-out-of-N threshold value distribution method, and if two different shares are given, the plaintext can be restored, but one arbitrary share information is given. However, plaintext information can not be obtained at all.
  • the secret sharing unit 1203-A i sets an arbitrary value t i as a share [y i ] i-1 mod N of the share conversion device 12-A i-1 mod N , and uses the Lagrange interpolation formula.
  • the communication unit 1201-A i (first output unit) transmits the share [y i ] d obtained by the secret sharing unit 1203-A i to the other N ⁇ 1 share conversion devices 12-A d (where d ⁇ ⁇ Output (send) to 0,..., N ⁇ 1 ⁇ and d ⁇ i).
  • the communication unit 1201-A i (second input unit) likewise receives the output (transmission) has been shared [y d] i from other share converters 12-A d (accepted) (step S1203-A i ).
  • the share [y i ] i of the share conversion device 12-A i output from the secret sharing unit 1203-A i and the other share conversion device 12-A d (where d ⁇ ⁇ 0, ..., N-1 ⁇ )
  • the share [y d ] i transmitted from d ⁇ i) is input to the secret calculation unit 1206-A i (first secret calculation unit).
  • Secret calculation unit 1206 -A i combines (concatenates) shares [y 0 ] i ,..., [Y N-1 ] i according to known secret calculation to obtain and output share [y] i ⁇ F m .
  • Share [y] i is the share of the function value y according to the Shamia secret sharing method.
  • the function value y is a combination of N elements y 0 , ..., y N -1 .
  • ... Y N-1 where y 0 ⁇ F m (0) ,..., Y N ⁇ 1 ⁇ F m (N ⁇ 1) are arranged is y.
  • a share [y] i ⁇ F m by combining the shares [y 0 ] i ,..., [Y N-1 ] i according to the Shamia secret sharing method by secret calculation for example, the share [y 0 ] i ,..., [y N -1 ] Let i be a column of share [y].
  • the share [y] is expressed by a share [y 0 ] i ⁇ F m (0) ,..., [Y N-1 ] i ⁇ F m (N-1) .
  • [Y N-1 ] i in which the shares [y 0 ] i ,..., [Y N-1 ] i are arranged is the share [y] (step S1206-A i ).
  • the N ⁇ 1 seeds s d included in the share SS i are input to the calculation unit 1207 -A i .
  • the operation unit 1207-A i obtains and outputs N ⁇ 1 function values P (s d ) dF m (for example, pseudo random numbers) of N ⁇ 1 seeds s d (where d ⁇ ⁇ 0 , ..., N-1 ⁇ and d ⁇ i).
  • the function P used for this operation is the same as the function P for obtaining the function value y in the operation unit 112 of the share generation device 11.
  • N-1 function values P (s d ) for d ⁇ i) are function values P (s 0 ),..., N of N seeds s 0 ,.
  • the Shamia conversion unit 1208 -A i is a share of the function value e according to the Shamia secret sharing method according to a known Shamia conversion method using the set SET i which is the (2, N) -replicated secret sharing share of the function value e e] Convert to i and output.
  • the share [y] i output from the secret calculation unit 1206 -A i and the share [e] i output from the Shamia conversion unit 1208 -A i are transmitted to the share generation unit 1209 -A i (first share generation unit) It is input.
  • the share generation unit 1209-A i obtains and outputs share [y + e] i by secret calculation using share [y] i and share [e] i .
  • the share generation device 11 sets information including the element y i ⁇ F m (i) and d ⁇ ⁇ 0,..., N ⁇ 1 ⁇ and N ⁇ 1 seeds s d for d ⁇ i as a share SS i Output to the share converter 12-A i .
  • the total amount of communication data can be made smaller than the share according to the Shamia secret sharing method.
  • Each share conversion device 12-A i can convert the share SS i into a share [x] i according to the Shamia secret sharing method. In this way, secret calculation can be performed.
  • the second embodiment is a modification of the first embodiment.
  • a checksum corresponding to the share is generated at the time of share generation, and the share is verified using the checksum at the time of share conversion.
  • the same reference numerals as in the first embodiment may be used for the items already described in the first embodiment to simplify the description.
  • the secret calculation system 2 of this embodiment has a share generation device 21 and N share conversion devices 22-A 0 ,..., 22-A N-1 , and these devices are the Internet etc. Can communicate with each other through Although one share generation device 21 is illustrated in FIG. 1, the secret calculation system 2 may have a plurality of share generation devices.
  • the share generation device 21 includes a seed generation unit 111, an operation unit 112, a division unit 113, an arbitrary value generation unit 214, a checksum generation unit 215, a share generation unit 216, and a communication unit 117. , Storage unit 118, and control unit 119, and executes each processing under the control of control unit 119.
  • the information output from each processing unit is stored in the storage unit 118, read out as necessary, and input to another processing unit.
  • the arbitrary value generation unit 214 obtains and outputs N arbitrary values r 0 , ..., r N-1 ⁇ F v belonging to the set F v .
  • An example of the set F v is an extension field of the extension degree v based on the field F.
  • the “arbitrary value” may be a random number (pseudo random number or true random number), or may be a value selected from a plurality of preset values.
  • the arbitrary value generation unit 214 generates N random numbers and outputs them as arbitrary values r 0 ,..., R N-1 (step S214).
  • each element y i ⁇ F m (i) can be divided into m (i) subelements (y i ) 0 ,..., (Y i ) m (i) -1 ⁇ F.
  • each element y i is the sub-element (y i) 0, ..., (y i) m (i) -1 Sorting columns (y i) 0
  • m '(i) is ceil (m (i) / v)
  • (y' i ) j belongs to the set F v ((y i ) v j , (y i ) v j + 1 , ..., (y i ) V (j + 1) -1 ) ⁇ F v
  • ceil is a ceiling function
  • m '(i) is ceil (m (i) / v) (that is, m' (i) is a minimum integer not less than m (i) / v).
  • the elements y 0 ,..., Y N ⁇ 1 output from the division unit 113, the seeds s 0 ,..., S N ⁇ 1 output from the seed generation unit 111, and the arbitrary value r 0 output from the arbitrary value generation unit 214 , R N ⁇ 1 and the checksums c 0 ,..., C N ⁇ 1 output from the checksum generation unit 215 are input to the share generation unit 216.
  • the share generator 216 generates N ⁇ 1 seeds s d for elements y i , d ⁇ ⁇ 0,..., N ⁇ 1 ⁇ and d ⁇ i, d ⁇ ⁇ 0,.
  • the information including the value r d and the checksum c i-1 mod N is obtained and output as the share SS i of the plaintext x in secret sharing.
  • Each share SS i may contain other information, but an element y d for d ⁇ ⁇ 0,..., N ⁇ 1 ⁇ and d ⁇ i, a seed s i , an arbitrary value r i and c 0 ,. c N-1 does not contain any checksum other than c i-1 mod N.
  • the size of seeds s 1 ,..., S N ⁇ 1 and N, v do not depend on m.
  • the order of the total share size for the plaintext data size m is O (N) in the present embodiment, whereas it is O (Nm) in (2, N) -Shamia secret sharing.
  • the size of each share is O (m / N).
  • the total data amount of the shares SS 0 ,..., SS N ⁇ 1 is less than N times the data amount of the plaintext x.
  • the data amount of each share SS i is less than the data amount of the plaintext x (step S216).
  • Each share SS i obtained by the share generation unit 216 is input to the communication unit 117.
  • Each output share SS i is transmitted to each share conversion device 22 -A i through the network.
  • share SS 0 is transmitted to the shared converter 22-A
  • share SS 1 is transmitted to the shared converter 22-A 1
  • ⁇ ⁇ ⁇ , share SS N-1 are shared converter 22-A N- It is transmitted to 1 (step S217).
  • each share converter 22-A i of the present embodiment will be described share generation method performed.
  • the share SS i including N ⁇ 1 arbitrary values r d for d ⁇ i and the checksum c i ⁇ 1 mod N is the communication unit 1201-A i of the share conversion device 22 -A i (FIG. 3) 1 input unit) (accepted).
  • the received share SS i is stored in the storage unit 1210 -A i (step S 2210 -A i ).
  • each share converter 22-A i instead of the share conversion device 12-A i performs the processing of steps S1202-A i and S1203-A i described in the first embodiment.
  • element y d can be divided into m (d) subelements (y d ) 0 ,..., (Y i ) m (d) ⁇ 1 .
  • (Y ' d ) j belongs to the set F v ((y d ) v j , (y d ) v j + 1 ,..., (Y d ) v (j + 1) -1 ) ⁇ F v , and m' (d) is ceil (m (d) / v)).
  • the share [c d ] i is input to the communication unit 1201-A i .
  • the communication unit 1201-A i (second output unit) transmits a share [c d ] i (where d ⁇ ⁇ 0,..., N ⁇ 1 ⁇ and d ⁇ i) to another share conversion device 22-A d + 1 mod N
  • the output shared [c d] i via the network is sent to the shared converter 22-A d + 1 mod N , it is received by the share converter 22-A d + 1mod communication unit 1201-A of N d + 1 mod N, the storage unit 1210- Ad + 1 mod N is stored.
  • Verifying unit 2205-A d + 1 mod N verifies whether the checksum c d and share [c d] i is in the correct relationship.
  • the verification unit 2205-Ad + 1 mod N verifies whether or not the input N shares [c d ] 0 ,... [C d ] N-1 are consistent with each other (verification 1: match) Verification), and further, any two shares [c d ] i ′ and [c d ] i ”of the N shares [c d ] 0 , ... [c d ] N-1 that have been input.
  • [c i-1 mod N] d is output from the other share converter 22-A d, is received by the communication unit 1201-A i (second input unit) (accepted), the storage unit It is stored in 1210-A i .
  • the included checksum c i-1 mod N is input to the verification unit 2205-A i .
  • the verification unit 2205-A i verifies whether the checksum c i-1 mod N and the share [c i-1 mod N ] d have a correct relationship.
  • the verification unit 2205-A i of this embodiment has the correct relationship that the input checksum c i-1 mod N , share [c i-1 mod N ] d , and share [c i-1 mod N ] i are correct To verify. For example, the verification unit 2205-A i determines whether or not the input N shares [c i-1 mod N ] 0 ,..., [C i-1 mod N ] N-1 have consistency with each other.
  • Verification Verification 1: Integrity verification
  • Verification 2 Verification 1: Integrity verification
  • any two shares of the input N shares [ci -1 mod N ] 0 , ..., [ci -1 mod N ] N-1 Restored from [c i-1 mod N ] i ' and [c i-1 mod N ] i " (where i', i" ⁇ ⁇ 0, ..., N-1 ⁇ and i ' ⁇ i ") Verify that the value matches the checksum c i-1 mod N.
  • the integrity verification may be any two shares [c i-1 mod N ] i ′ and [c i-1 modN] other shares using interpolation formula Lagrange from i "[c i-1 mod N] i '''( However, i ''' ⁇ ⁇ 0 , ..., N-1 ⁇ and i''' ⁇ i "and i '' a ' ⁇ i') the calculation result by calculating [b i-1 mod N] i 'and, [b i-1 mod N ] i''''' and the N shares input to the verification unit 2205-a i [c i- 1 mod N] 0, ..., [c i-1 mod N ] It is a process to verify whether [ci -1 mod N ] i ''' included in N-1 matches each other.
  • each share converter each share converter in place of the 12-A i 22-A i is, steps S1206-A i described in the first embodiment from the process is terminated by executing the processing of S1209-a i.
  • the control unit 1211-A i causes an error process ends (step S2206-A i).
  • the total communication data amount can be made smaller than the share according to the Shamia secret sharing method.
  • each share conversion device 22 -A i can convert the share SS i into a share [x] i according to the Shamia secret sharing method.
  • the share SS i since the share SS i includes a checksum and performs verification processing at the time of share conversion, illegal processing performed by the share generation device 21 and / or share conversion device 22 -A i is detected. it can.
  • the present invention is not limited to the above-described embodiment.
  • the various processes described above may be performed not only in chronological order according to the description, but also in parallel or individually depending on the processing capability of the apparatus that executes the process or the necessity. It goes without saying that other modifications can be made as appropriate without departing from the spirit of the present invention.
  • the share generation device and / or the share conversion device may be part of a secret calculation device that performs secret calculation, or may be a separate device from the secret calculation device.
  • Each of the above-described devices 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 RAM (random-access memory) and a ROM (read-only memory). Is configured by executing a predetermined program.
  • the computer may have one processor or memory, or may have a plurality of processors or memory.
  • This program may be installed in a computer or may be stored in advance in a ROM or the like.
  • an electronic circuit circuitry
  • a part or all of the processing units are configured using an electronic circuit that realizes a processing function without using a program. May be
  • the electronic circuit that constitutes one device may include a plurality of CPUs.
  • the processing content of the function that each device should have is described by a program.
  • the above processing functions are realized on a computer by executing this program on a computer.
  • the program describing the processing content can be recorded in a computer readable recording medium.
  • An example of a computer readable recording medium is a non-transitory recording medium. Examples of such recording media are magnetic recording devices, optical disks, magneto-optical recording media, semiconductor memories and the like.
  • This program is distributed, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD, a CD-ROM or the like recording the program. Furthermore, this program may be stored in a storage device of a server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first temporarily stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. At the time of execution of processing, this computer reads a program stored in its own storage device and executes processing in accordance with the read program. As another execution form of this program, the computer may read the program directly from the portable recording medium and execute processing in accordance with the program, and further, each time the program is transferred from the server computer to this computer Alternatively, processing may be performed sequentially according to the received program.
  • the configuration described above is also executed by a so-called ASP (Application Service Provider) type service that realizes processing functions only by executing instructions and acquiring results from the server computer without transferring the program to this computer. Good.
  • ASP Application Service Provider
  • At least a part of these processing functions may be realized by hardware.
  • the inventions relating to the “share generation method” and the “share conversion method” fall under the “invention of a method for producing an object” defined in Article 2, Section 3, Item 3 of the Patent Act.
  • the shares obtained by the "share generation method” and the “share conversion method” correspond to the "program etc.” defined in the fourth paragraph of the same Article. For example, such a share is given a header, an extension, etc. for subsequent processing, and a computer that processes these shares a process using each share while referring to the header, the extension, etc. attached to the share. Run.

Abstract

シェア生成装置は、N個のシードs,…,sN-1を得、平文x∈Fおよび関数値eの関数値y=g(x,e)∈Fを得、要素yとd∈{0,…,N-1}かつd≠iについてのN-1個のシードsとを含む情報を、秘密分散における平文xのシェアSSとして得て出力する。ただし、関数値yはm=m(0)+…+m(N-1)を満たす要素y∈Fm(0),…,yN-1∈Fm(N-1)によって表現される。

Description

シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体
 本発明は、暗号技術に関し、特に秘密計算技術に関する。
 秘密分散方式の一つにシャミア(Shamir)秘密分散法がある(例えば、非特許文献1等参照)。
A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.
 秘密計算装置は、シャミア秘密分散法に則って得られたシェアをそのまま用いて秘密計算を行うことができる。しかし、このシェアがN個の秘密計算装置に秘密分散される場合、シェアの総データ量は平文のデータ量のN倍のオーダーになってしまう。そのため、このシェアをそのままN個の秘密計算装置に送信したのでは、総通信データ量も平文のデータ量のN倍のオーダーとなってしまう。
 本発明の目的は、シャミア秘密分散法に則ったシェアよりも総通信データ量が小さく、かつシャミア秘密分散法に則ったシェアに変換可能なシェアを生成する技術、またはシャミア秘密分散法に則ったシェアよりも総通信データ量が小さいシェアをシャミア秘密分散法に則ったシェアに変換する技術を提供することである。
 シェア生成装置は、N個のシードs,…,sN-1を得、平文x∈Fおよび関数値eの関数値y=g(x,e)∈Fを得、要素y∈Fm(i)とd∈{0,…,N-1}かつd≠iについてのN-1個のシードsとを含む情報を、秘密分散における平文xのシェアSSとして得て出力する。ただし、Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上の整数であり、i=0,…,N-1であり、Pが関数であり、関数Pの値域がm個の体Fの元の列を要素とする集合Fに属し、P(s),…,P(sN-1)∈Fがシードs,…,sN-1の関数値であり、e=f(P(s),…,P(sN-1))∈Fが関数値P(s),…,P(sN-1)∈Fの関数値であり、関数値yがm=m(0)+…+m(N-1)を満たす要素y∈Fm(0),…,yN-1∈Fm(N-1)によって表現される。
 N個のシェア変換装置A,…,AN-1に含まれる各シェア変換装置AはシェアSSを受け付け、他のシェア変換装置Ai-1 mod Nとの間で任意値t∈Fm(i)を共有し、任意値tをシェア変換装置Ai-1 mod Nのシェア[yi-1 mod Nとしてシャミア秘密分散法に則って要素yを秘密分散することで各シェア変換装置Aのシェア[y∈Fm(i)を得て出力し、シェア[yを受け付け、シードsの関数値P(s)∈Fを得、N個のシードs,…,sN-1の関数値P(s),…,P(sN-1)に対する関数値e=f(P(s),…,P(sN-1))∈Fのシェアである、d∈{0,…,N-1}かつd≠iについての関数値P(s)の集合SETを、シャミア秘密分散法に則った関数値eのシェア[e]に変換し、シェア[y,…,[yN-1によって表現されるシェア[y]およびシェア[e]を用いた秘密計算により、シャミア秘密分散法に則ったx=g-1(y,e)のシェア[x]を得る。ただし、u=0,…,N-1であり、シェア[y]は平文xおよび関数値eに対する関数値y=g(x,e)∈Fのシェアである。
 シェア生成装置は、シャミア秘密分散法に則ったシェアよりも総通信データ量が小さく、かつシャミア秘密分散法に則ったシェアに変換可能なシェアを生成できる。シェア変換装置は、シャミア秘密分散法に則ったシェアよりも総通信データ量が小さいシェアをシャミア秘密分散法に則ったシェアに変換できる。
図1は実施形態の秘密計算システムの構成を例示したブロック図である。 図2は実施形態のシェア生成装置の機能構成を例示したブロック図である。 図3は実施形態のシェア変換装置の機能構成を例示したブロック図である。 図4は実施形態のシェア生成方法を説明するためのフロー図である。 図5は実施形態のシェア変換方法を説明するためのフロー図である。
 以下、図面を参照して本発明の実施形態を説明する。
 [第1実施形態]
 まず、第1実施形態を説明する。
 <構成>
 図1に例示するように、本形態の秘密計算システム1はシェア生成装置11およびN個のシェア変換装置12-A,…,12-AN-1を有し、これらの装置はインターネット等のネットワークを通じて互いに通信可能である。ただし、Nは2以上の整数である。例えば、Nは3以上の整数である。Nの一例はN=3である。なお、図1には1個のシェア生成装置11を図示しているが、秘密計算システム1が複数個のシェア生成装置を有していてもよい。
 図2に例示するように、本形態のシェア生成装置11は、シード生成部111、演算部112、分割部113、シェア生成部116、通信部117、記憶部118、および制御部119を有し、制御部119の制御のもとで各処理を実行する。シェア生成装置11の各処理部(処理を行う部位)から出力された情報は記憶部118に格納され、必要に応じて読み出されて他の処理部に入力される。
 図3に例示するように、各シェア変換装置12-A(ただし、i=0,…,N-1)は、通信部1201-A、共有部1202-A、秘密分散部1203-A、秘密計算部1206-A、演算部1207-A、シャミア変換部1208-A、シェア生成部1209-A、記憶部1210-A、および制御部1211-Aを有し、制御部1211-Aの制御のもとで各処理を実行する。シェア変換装置12-Aの各処理部から出力された情報は記憶部1210-Aに格納され、必要に応じて読み出されて他の処理部に入力される。
 <シェア生成方法>
 図4を用い、本形態のシェア生成装置11が行うシェア生成方法を説明する。なお、「シェア」とは秘密分散における断片を意味する。
 まずシード生成部111(図2)は、N個のシードs,…,sN-1を得て出力する。シードs,…,sN-1のデータ形式に限定はなく、どのような値をシードs,…,sN-1としてもよい。各シードs,…,sN-1の一例はw個の体Fの元の列を要素とする集合Fの元である(s,…,sN-1∈F)。ただし、α∈βはαがβの要素であることを意味する。wは1以上の整数である。w=1の場合、Fは体Fである。体Fの例は素数pを法とした剰余(任意のαに対するα mod p)からなる集合であり、この場合の体Fでの演算結果は素数pを法とした剰余として得られる。p≧3であり、例えばp=261-1である。シードs(ただし、i=0,…,N-1)は任意値であってもよいし、他の処理で得られた出力値であってもよい。「任意値」は乱数(擬似乱数または真正乱数)であってもよいし、予め設定された複数の値から選択された値であってもよいし、他の処理で得られた値であってもよい。例えば、シード生成部111は、N個の乱数を生成し、それらをシードs,…,sN-1として出力する(ステップS111)。
 秘密分散対象の平文x∈Fおよびシード生成部111から出力されたシードs,…,sN-1は演算部112に入力される。ただし、mは1以上の整数である。例えば、mは2以上の整数または3以上の整数である。演算部112は、平文x∈Fおよび関数値e=f(P(s),…,P(sN-1))∈Fの関数値y=g(x,e)∈Fを得て出力する。ただし、Pは関数である。関数Pの値域はm個の体Fの元の列を要素とする集合Fに属する。集合Fの一例はm個の体Fの元を要素とするm次元ベクトルの集合である。関数Pの定義域はどのようなものであってもよいが、例えば、関数Pの定義域は集合Fに属する。例えばw<mである。関数Pの例は擬似乱数生成関数である。P(s),…,P(sN-1)∈Fはシードs,…,sN-1の関数値(例えば、擬似乱数)である。g:Fm×2→Fは2個の集合Fの元を1個の集合Fの元に移す線形関数(線形性を持つ関数)である。例えば、y=x-e∈Fである。しかし、これは本発明を限定しない。例えばx-eの一部または全部の項に定数が乗じられた式によって表される演算によって得られる値をyとしてもよいし、x-eの一部または全部の項が逆元に置換された式によって表される演算によって得られる値をyとしてもよいし、x-eの一部または全部の項を逆元に置換し、さらに一部または全部の項に定数が乗じられた式によって表される演算によって得られる値をyとしてもよいし、さらに定数項が加えられた式によって表される演算によって得られる値をyとしてもよい。関数値e=f(P(s),…,P(sN-1))は関数値P(s),…,P(sN-1)∈Fの関数値である。f:Fm×n→Fはn個の集合Fの元を1個の集合Fの元に移す線形関数である。例えば、e=f(P(s),…,P(sN-1))=Σ0≦i<NP(s)=P(s)+…+P(sN-1)∈Fである。しかし、これは本発明を限定しない。例えば、P(s)+…+P(sN-1)の一部または全部の項に定数が乗じられた式によって表される演算によって得られる値をeとしてもよいし、P(s)+…+P(sN-1)の一部または全部の項が逆元に置換された式によって表される演算によって得られる値をeとしてもよいし、P(s)+…+P(sN-1)の一部または全部の項を逆元に置換し、さらに一部または全部の項に定数が乗じられた式によって表される演算によって得られる値をeとしてもよいし、さらに定数項が加えられた式によって表される演算によって得られる値をeとしてもよい(ステップS112)。
 関数値y∈Fは分割部113に入力される。分割部113は、関数値yをN個の要素y,…,yN-1に分割して出力する。ただし、i=0,…,N-1についてy∈Fm(i)であり、m(i)が0以上の整数であり(例えば、m(i)は1以上の整数であり)、m≧Nであり、m=m(0)+…+m(N-1)を満たす。例えば、mがNの倍数である場合にはm(0)=…=m(N-1)=m/Nとしてもよい。しかし、mがNの倍数であるか否かにかかわらず、m(0),…,m(N-1)がすべて同一でなくてもよい。例えば、m(0),…,m(N-1)の少なくとも一部が0であってもよい。ただしγ∈Fはヌル値を表す。m(i)=0の場合、y∈Fm(i)はヌル値である。関数値yは要素y∈Fm(0),…,yN-1∈Fm(N-1)(例えば、y,…,yN-1の列)によって表現される。例えば、関数値yはy∈Fm(0),…,yN-1∈Fm(N-1)を並べた列y|…|yN-1で表現される。m=1の場合、m(0),…,m(N-1)の何れか1個のみが1であり、他はすべて0である。このような場合、分割部113は関数値yを分割する必要はなく、要素y,…,yN-1の何れか1個の要素を関数値yとし、残りの要素を全てヌル値として出力する(ステップS113)。
 分割部113から出力された要素y,…,yN-1およびシード生成部111から出力されたシードs,…,sN-1はシェア生成部116に入力される。シェア生成部116は、要素yとd∈{0,…,N-1}かつd≠iについてのN-1個のシードsとを各シェア変換装置12-A(ただし、i=0,…,N-1)に割り当て、要素yとd∈{0,…,N-1}かつd≠iについてのN-1個のシードsとを含む情報を、秘密分散における平文xのシェアSSとして得て出力する。なお、i≠0かつi≠N-1の場合、d∈{0,…,N-1}かつd≠iについてのN-1個のシードsはシードs,…,si-1,si+1,…,sN-1である。i=0の場合、d∈{0,…,N-1}かつd≠iについてのN-1個のシードsはシードs,…,sN-1である。i=N-1の場合、d∈{0,…,N-1}かつd≠iについてのN-1個のシードsはシードs,…,sN-2である。各シェアSSは各シェア変換装置12-A(ただし、i=0,…,N-1)のシェアである。各シェアSSは他の情報を含んでもよいが、d∈{0,…,N-1}かつd≠iについての要素yおよびシードsを含まない。なお、ヌル値である要素y∈FとN-1個のシードsとを含む情報とは、要素yがヌル値であることを示し、かつN-1個のシードsを含む情報を意味する。ヌル値である要素y∈FとN-1個のシードsとを含む情報は、N-1個のシードsを含むが実質的には要素yを含まない。シードs,…,sN-1のサイズおよびNはmに依存しない。平文のデータサイズmに関する総シェアサイズのオーダーは、(2,N)-シャミア秘密分散ではO(Nm)となるところ、本形態ではO(m)で済む。個々のシェアのサイズはO(m/N)である。例えば、シェアSS,…,SSN-1の総データ量は平文xのデータ量のN倍未満である。例えば、各シェアSSのデータ量は平文xのデータ量未満である(ステップS116)。
 シェア生成部116から出力された各シェアSSは通信部117に入力される。通信部117は、各シェアSSを各シェア変換装置12-A(ただし、i=0,…,N-1)に対して出力する。出力された各シェアSSはネットワークを通じて各シェア変換装置12-Aに送信される。すなわち、シェアSSはシェア変換装置12-Aに送信され、シェアSSはシェア変換装置12-Aに送信され、・・・、シェアSSN-1はシェア変換装置12-AN-1に送信される(ステップS117)。
 <シェア変換方法>
 図5を用い、本形態の各シェア変換装置12-Aが行うシェア変換方法を説明する。
 シェア生成装置11から出力された要素yとd∈{0,…,N-1}かつd≠iについてのN-1個のシードsとを含むシェアSSはシェア変換装置12-A(図3)の通信部1201-A(第1入力部)に受信される(受け付けられる)。受信されたシェアSSは記憶部1210-Aに格納される(ステップS1210-A)。
 共有部1202-Aは、他のシェア変換装置12-Ai-1 mod Nの共有部1202-Ai-1 mod Nとの間で任意値t∈Fm(i)を共有する。すなわち、共有部1202-Aと共有部1202-Ai-1 mod Nとは同一の任意値tを得る。共有部1202-Aから任意値tまたは任意値tを特定する情報を共有部1202-Ai-1 mod Nに送信して両者で任意値tが共有されてもよいし、共有部1202-Ai-1 mod Nから任意値tまたは任意値tを特定する情報を共有部1202-Aに送信して両者で任意値tが共有されてもよいし、共有部1202-Aと共有部1202-Ai-1 mod Nとで共有シード値を共有しておき、両者が共有シード値を用いた同一の処理を実行することで任意値tが共有されてもよい。任意値tは、乱数(擬似乱数または真正乱数)であってもよいし、他の処理で得られた値であってもよいし、予め定められた複数の値から選択された値であってもよい。任意値t∈Fm(i)の共有は、ステップS1210-Aが実行されたことを契機として行われてもよいし、他の共有部1202-Ai-1 mod Nからの要求を契機として行われてもよいし、その他の契機で行われてもよいし、予め行われていてもよい。共有部1202-Aは得た任意値tを出力する。要素yがヌル値である場合には任意値tもヌル値に設定される(ステップS1202-A)。
 シェアSSに含まれた要素yおよび共有部1202-Aから出力された任意値tは秘密分散部1203-Aに入力される。秘密分散部1203-Aは、シャミア(Shamir)秘密分散法に則って要素yを秘密分散することで各シェア変換装置12-A(ただし、u=0,…,N-1)のシェア[y∈Fm(i)(Shamirシェア)を得て出力する。ただし、任意値tをシェア変換装置12-Ai-1 mod Nのシェア[yi-1 mod Nとする。実施形態のシャミア秘密分散法は2-out-of-Nしきい値分散方式であり、任意の相違なる2個のシェアが与えられれば平文を復元できるが、任意の1個のシェア情報が与えられても平文の情報はまったく得られない。2-out-of-Nしきい値分散方式の場合、秘密分散対象の要素yと1つのシェア[yi-1 mod N=tとが定まれば他のシェアを求めることができる。例えば、秘密分散部1203-Aは、任意値tをシェア変換装置12-Ai-1 mod Nのシェア[yi-1 mod Nとし、ラグランジェ(Lagrange)の補間公式を用いて要素yとシェア[yi-1 mod N=tと他のシェア[yu’∈Fm(i)(ただし、u’∈{0,…,N-1}かつu’≠i-1 mod N)との間に成り立つ方程式を特定し(例えば、当該方程式の各項の係数を特定し)、それを解くことで他のシェア[yu’∈Fm(i)を生成する。通信部1201-A(第1出力部)は秘密分散部1203-Aで得たシェア[yを他のN-1個のシェア変換装置12-A(ただし、d∈{0,…,N-1}かつd≠i)に対して出力(送信)する。ただし、シェア変換装置12-Aとシェア変換装置12-Ai-1 mod Nとは既にシェア[yi-1 mod N=tを共有しているため(ステップS1202-A)、シェア変換装置12-Ai-1 mod Nへのシェア[yi-1 mod N=tの更なる送信が省略されてもよい。要素yがヌル値である場合にはシェア[yもヌル値に設定される。通信部1201-A(第2入力部)は、同様に他のシェア変換装置12-Aから出力(送信)されたシェア[yを受信する(受け付ける)(ステップS1203-A)。
 秘密分散部1203-Aから出力されたシェア変換装置12-Aのシェア[yおよび他のシェア変換装置12-A(ただし、d∈{0,…,N-1}かつd≠i)から送信されたシェア[yは秘密計算部1206-A(第1秘密計算部)に入力される。秘密計算部1206-Aは、公知の秘密計算によってシェア[y,…,[yN-1を結合(連結)してシェア[y]∈Fを得て出力する。シェア[y]はシャミア秘密分散法に則った関数値yのシェアである。関数値yはN個の要素y,…,yN-1を結合したものである。例えば、y∈Fm(0),…,yN-1∈Fm(N-1)を並べた列y|…|yN-1がyである。秘密計算によって、シャミア秘密分散法に則ったシェア[y,…,[yN-1を結合してシェア[y]∈Fを得るには、例えばシェア[y,…,[yN-1の列をシェア[y]とすればよい。すなわち、シェア[y]はシェア[y∈Fm(0),…,[yN-1∈Fm(N-1)によって表現される。例えば、シェア[y,…,[yN-1を並べた列[y|…|[yN-1がシェア[y]である(ステップS1206-A)。
 シェアSSに含まれたN-1個のシードsは演算部1207-Aに入力される。演算部1207-Aは、N-1個のシードsのN-1個の関数値P(s)∈F(例えば、擬似乱数)を得て出力する(ただし、d∈{0,…,N-1}かつd≠i)。この演算に用いられる関数Pは、シェア生成装置11の演算部112で関数値yを得るための関数Pと同一である。d∈{0,…,N-1}かつd≠iについてのN-1個の関数値P(s)の集合SET(すなわち、集合SETはd∈{0,…,N-1}かつd≠iについてのN-1個の関数値P(s)を要素として持つ)は、N個のシードs,…,sN-1の関数値P(s),…,P(sN-1)に対する関数値e=f(P(s),…,P(sN-1))∈Fのシェアである。つまり、少なくとも2個の互いに異なる集合SETi’およびSETi”(ただし、i’,i”∈{0,…,N-1}かつi’≠i”)があれば、関数値e=f(P(s),…,P(sN-1))を復元できる。すなわち、集合SETは関数値eの(2,N)-複製秘密分散シェアである(ステップS1207-A)。
 d∈{0,…,N-1}かつd≠iについてのN-1個の関数値P(s)の集合SETはシャミア変換部1208-Aに入力される。シャミア変換部1208-Aは、関数値eの(2,N)-複製秘密分散シェアである集合SETを、公知のシャミア変換方法によって、シャミア秘密分散法に則った関数値eのシェア[e]に変換して出力する。(2,N)-複製秘密分散シェアをシャミア秘密分散法に則ったシェアに変換する方法としては、例えば、「Ronald Cramer, Ivan Damgard, Yuval Ishai: Share Conversion, Pseudorandom Secret-Sharing and Applications to Secure Computation. TCC 2005: 342-362」(参考文献1)に記載された方法を例示できる(ステップS1208-A)。
 秘密計算部1206-Aから出力されたシェア[y]およびシャミア変換部1208-Aから出力されたシェア[e]は、シェア生成部1209-A(第1シェア生成部)に入力される。前述のように、シェア[y]は平文xおよび関数値eに対する関数値y=g(x,e)∈Fのシャミア秘密分散法に則ったシェアである。ここでy=g(x,e)に対してx=g-1(y,e)∈Fを満たす関数をg-1:Fm×2→Fと定義する。例えば、y=x-eの場合、x=y+eである。シェア生成部1209-Aは、シェア[y]およびシェア[e]を用いた秘密計算により、シャミア秘密分散法に則ったx=g-1(y,e)のシェア[x]∈Fを得て出力する。例えば、x=y+eの場合、シェア生成部1209-Aは、シェア[y]およびシェア[e]を用いた秘密計算により、シェア[y+e]を得て出力する。シャミア秘密分散法に則ったシェアを用いた秘密計算は、例えば、「Michael Ben-Or, Shafi Goldwasser, Avi Wigderson: Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation (Extended Abstract). STOC 1988: 1-10」(参考文献2)に記載されている(ステップS1209-A)。
 <本形態の特徴>
 シェア生成装置11は、要素y∈Fm(i)およびd∈{0,…,N-1}かつd≠iについてのN-1個のシードsを含む情報をシェアSSとして各シェア変換装置12-Aに出力する。これにより、シャミア秘密分散法に則ったシェアよりも総通信データ量を小さくできる。各シェア変換装置12-AはシェアSSをシャミア秘密分散法に則ったシェア[x]に変換できる。これにより、秘密計算を行うことができる。
 [第2実施形態]
 第2実施形態は第1実施形態の変形例である。本形態では、シェア生成の際にシェアに対応するチェックサムを生成し、シェア変換の際にチェックサムを用いてシェアを検証する。以下では、第1実施形態で既に説明した事項については第1実施形態と同じ参照番号を用い、説明を簡略化する場合がある。
 <構成>
 図1に例示するように、本形態の秘密計算システム2はシェア生成装置21およびN個のシェア変換装置22-A,…,22-AN-1を有し、これらの装置はインターネット等のネットワークを通じて互いに通信可能である。図1には1個のシェア生成装置21を図示しているが、秘密計算システム2が複数個のシェア生成装置を有していてもよい。
 図2に例示するように、本形態のシェア生成装置21は、シード生成部111、演算部112、分割部113、任意値生成部214、チェックサム生成部215、シェア生成部216、通信部117、記憶部118、および制御部119を有し、制御部119の制御のもとで各処理を実行する。各処理部から出力された情報は記憶部118に格納され、必要に応じて読み出されて他の処理部に入力される。
 図3に例示するように、各シェア変換装置22-A(ただし、i=0,…,N-1)は、通信部1201-A、共有部1202-A、秘密分散部1203-A、シェア生成部2204-A、検証部2205-A、秘密計算部1206-A、演算部1207-A、シャミア変換部1208-A、シェア生成部1209-A、記憶部1210-A、および制御部1211-Aを有し、制御部1211-Aの制御のもとで各処理を実行する。各処理部から出力された情報は記憶部1210-Aに格納され、必要に応じて読み出されて他の処理部に入力される。
 <シェア生成方法>
 図4を用い、シェア生成装置21が行うシェア生成方法を説明する。まず、シェア生成装置11に代えてシェア生成装置21が、第1実施形態で説明したステップS111からS113の処理を実行する。
 次に、任意値生成部214が、集合Fに属するN個の任意値r,…,rN-1∈Fを得て出力する。ただし、vは1以上の整数である。vがm以下である(例えば、vがmよりも小さい)ほうがデータ量の削減効果が大きい。例えばv=1である。集合Fの一例は体Fを基礎体とした拡大次数vの拡大体である。「任意値」は乱数(擬似乱数または真正乱数)であってもよいし、予め設定された複数の値から選択された値であってもよい。例えば、任意値生成部214は、N個の乱数を生成し、それらを任意値r,…,rN-1として出力する(ステップS214)。
 分割部113から出力された要素y,…,yN-1および任意値生成部214から出力された任意値r,…,rN-1はチェックサム生成部215に入力される。ここで、各要素y∈Fm(i)はm(i)個のサブ要素(y,…,(ym(i)-1∈Fに分割可能である。例えば、各要素yはサブ要素(y,…,(ym(i)-1を並べた列(y|…|(ym(i)-1で表現される。また、m’(i)がceil(m(i)/v)であり、(y’が集合Fに属する((yvj,(yvj+1,…,(yv(j+1)-1)∈Fである。ただし、ceilは天井関数であり、m’(i)はceil(m(i)/v)(すなわち、m’(i)はm(i)/v以上の最小の整数)である。また、j=m’(i)-1について、(y’v(m’(i)-1),(yv(m’(i)-1)+1,…,(yvm’(i)-1がv個に満たない場合、(y’m’(i)-1=((yv(m’(i)-1),(yv(m’(i)-1)+1,…,(ym(i)-1,0,…,0)∈Fとする。チェックサム生成部215は、要素y,…,yN-1および任意値r,…,rN-1を用い、各シェアSSに対応するチェックサムc=Σ0≦j<m’(i)-1{(y’j  j+1}+(y’m’(i)-1 m’(i)+1∈Fを得て出力する(ステップS215)。
 分割部113から出力された要素y,…,yN-1、シード生成部111から出力されたシードs,…,sN-1、任意値生成部214から出力された任意値r,…,rN-1、および、チェックサム生成部215から出力されたチェックサムc,…,cN-1はシェア生成部216に入力される。シェア生成部216は、要素y、d∈{0,…,N-1}かつd≠iについてのN-1個のシードs、d∈{0,…,N-1}かつd≠iについてのN-1個の任意値r、およびチェックサムci-1 mod Nを各シェア変換装置22-A(ただし、i=0,…,N-1)に割り当て、要素y、d∈{0,…,N-1}かつd≠iについてのN-1個のシードs、d∈{0,…,N-1}かつd≠iについてのN-1個の任意値r、およびチェックサムci-1 mod Nを含む情報を、秘密分散における平文xのシェアSSとして得て出力する。各シェアSSは各シェア変換装置22-A(ただし、i=0,…,N-1)のシェアである。各シェアSSは他の情報を含んでもよいが、d∈{0,…,N-1}かつd≠iについての要素y、シードs、任意値r、およびc,…,cN-1のうちci-1 mod N以外のチェックサムを含まない。シードs,…,sN-1のサイズおよびN,vはmに依存しない。平文のデータサイズmに関する総シェアサイズのオーダーは、(2,N)-シャミア秘密分散ではO(Nm)となるところ、本形態ではO(m)で済む。個々のシェアのサイズはO(m/N)である。例えば、シェアSS,…,SSN-1の総データ量は平文xのデータ量のN倍未満である。例えば、各シェアSSのデータ量は平文xのデータ量未満である(ステップS216)。
 シェア生成部216で得られた各シェアSSは通信部117に入力される。通信部117は、各シェアSSを各シェア変換装置22-A(ただし、i=0,…,N-1)に対して出力する。出力された各シェアSSはネットワークを通じて各シェア変換装置22-Aに送信される。すなわち、シェアSSはシェア変換装置22-Aに送信され、シェアSSはシェア変換装置22-Aに送信され、・・・、シェアSSN-1はシェア変換装置22-AN-1に送信される(ステップS217)。
 <シェア変換方法>
 図5を用い、本形態の各シェア変換装置22-Aが行うシェア生成方法を説明する。
 シェア生成装置21から出力された要素y、d∈{0,…,N-1}かつd≠iについてのN-1個のシードs、d∈{0,…,N-1}かつd≠iについてのN-1個の任意値r、およびチェックサムci-1 mod Nを含むシェアSSはシェア変換装置22-A(図3)の通信部1201-A(第1入力部)に受信される(受け付けられる)。受信されたシェアSSは記憶部1210-Aに格納される(ステップS2210-A)。
 次に、各シェア変換装置12-Aに代えて各シェア変換装置22-Aが、第1実施形態で説明したステップS1202-AおよびS1203-Aの処理を実行する。
 シェアSSに含まれた任意値rおよび通信部1201-Aで受信されたシェア[y(ただし、d∈{0,…,N-1}かつd≠i)(ステップS1203-A)はシェア生成部2204-A(第2シェア生成部)に入力される。シェア生成部2204-Aは、任意値rおよびシェア[yを用いた秘密計算(秘密計算による公開値倍算、および加算)により、シャミア秘密分散法に則ったチェックサムc=Σ0≦j<m’(d)-1{(y’ j+1}+(y’m’(d)-1 m’(d)+1∈Fのシェア[cを得て出力する。前述のように要素yはm(d)個のサブ要素(y,…,(ym(d)-1に分割できる。(y’が集合Fに属する((yvj,(yvj+1,…,(yv(j+1)-1)∈Fであり、m’(d)はceil(m(d)/v))である。また、j=m’(i)-1について、(yv(m’(d)-1),(yv(m’(d)-1)+1,…,(yvm’(d)-1がv個に満たない場合、(y’m’(d)-1=((yv(m’(d)-1),(yv(m’(d)-1)+1,…,(ym(d)-1,0,…,0)∈Fとする。シャミア秘密分散法に則ったシェアを用いて秘密計算による公開値倍算、および加算を行う方法は、例えば、参考文献2(3ページのLemma)に記載されている(ステップS2204-A)。
 シェア[cは通信部1201-Aに入力される。通信部1201-A(第2出力部)はシェア[c(ただし、d∈{0,…,N-1}かつd≠i)を他のシェア変換装置22-Ad+1 mod Nに対して出力する。出力されたシェア[cはネットワークを介してシェア変換装置22-Ad+1 mod Nに送信され、シェア変換装置22-Ad+1mod Nの通信部1201-Ad+1 mod Nで受信され、記憶部1210-Ad+1 mod Nに格納される。当該シェア[c、シェア生成部2204-Ad+1 mod Nで生成されたシェア[cd+1 mod N、シェアSSd+1 mod Nに含まれたチェックサムcは検証部2205-Ad+1 mod Nに入力される。検証部2205-Ad+1 mod Nは、チェックサムcとシェア[cが正しい関係にあるかを検証する。本形態の検証部2205-Ad+1 mod Nは、チェックサムcとN個のシェア[c,…,[cN-1が正しい関係にあるかを検証する。例えば、検証部2205-Ad+1 mod Nは、入力されたN個のシェア[c,…[cN-1が互いに整合性を持つか否かを検証し(検証1:整合性検証)、さらに、入力されたN個のシェア[c,…[cN-1の何れか2個のシェア[ci’および[ci”(ただし、i’,i”∈{0,…,N-1}かつi’≠i”)から復元された値(実施形態のシャミア秘密分散法は2-out-of-Nしきい値分散方式である)とチェックサムcとが互いに一致するかを検証する(検証2:同一性検証)。整合性検証は、例えば、何れか2個のシェア[ci’および[ci”からラグランジェの補間公式を用いて他のシェア[ci’’’(ただし、i’’’∈{0,…,N-1}かつi’’’≠i”かつi’’’≠i’)を計算してその計算結果を[bi’’’とし、[bi’’’と検証部2205-Ad+1 mod Nに入力されたN個のシェア[c,…[cN-1に含まれる[ci’’’とが互いに一致するかを検証する処理である。すべてのi’’’について[bi’’’=[ci’’’が成り立てば整合性検証は合格であり、そうでなければ整合性検証は不合格である。また、同一性検証では、2個のシェア[ci’および[ci”から復元された値とチェックサムcとが互いに一致すれば同一性検証は合格であり、そうでなければ同一性検証は不合格である。整合性検証および同一性検証の両方に合格すれば検証合格であり、そうでない場合に検証不合格である。
 同様に、他のシェア変換装置22-Aから出力されたシェア[ci-1 mod Nは、通信部1201-A(第2入力部)で受信され(受け付けられ)、記憶部1210-Aに格納される。他のシェア変換装置22-Aから出力されたシェア[ci-1 mod N、シェア生成部2204-Aで生成されたシェア[ci-1 mod N、シェアSSに含まれたチェックサムci-1 mod Nは検証部2205-Aに入力される。検証部2205-Aは、チェックサムci-1 mod Nとシェア[ci-1 mod Nとが正しい関係にあるかを検証する。本形態の検証部2205-Aは、入力されたチェックサムci-1 mod N、シェア[ci-1 mod N、およびシェア[ci-1 mod Nが正しい関係にあるかを検証する。例えば、検証部2205-Aは、入力されたN個のシェア[ci-1 mod N,…,[ci-1 mod NN-1が互いに整合性を持つか否かを検証し(検証1:整合性検証)、さらに、入力されたN個のシェア[ci-1 mod N,…,[ci-1 mod NN-1の何れか2個のシェア[ci-1 mod Ni’および[ci-1 mod Ni”(ただし、i’,i”∈{0,…,N-1}かつi’≠i”)から復元された値がチェックサムci-1 mod Nに一致するかを検証する(検証2:同一性検証)。整合性検証は、例えば、何れか2個のシェア[ci-1 mod Ni’および[ci-1 modNi”からラグランジェの補間公式を用いて他のシェア[ci-1 mod Ni’’’(ただし、i’’’∈{0,…,N-1}かつi’’’≠i”かつi’’’≠i’)を計算してその計算結果を[bi-1 mod Ni’’’とし、[bi-1 mod Ni’’’と検証部2205-Aに入力されたN個のシェア[ci-1 mod N,…,[ci-1 mod NN-1に含まれる[ci-1 mod Ni’’’とが互いに一致するかを検証する処理である。すべてのi’’’について[bi-1 mod Ni’’’=[ci-1 mod Ni’’’が成り立てば整合性検証は合格であり、そうでなければ整合性検証は不合格である。また、同一性検証では、2個のシェア[ci-1 mod Ni’および[ci-1 mod Ni”から復元された値とチェックサムci-1 mod Nとが互いに一致すれば同一性検証は合格であり、そうでなければ同一性検証は不合格である。整合性検証および同一性検証の両方に合格すれば検証合格であり、そうでない場合に検証不合格である(ステップS2205-A)。
 検証部2205-Aで検証合格であると判定された場合、各シェア変換装置12-Aに代えて各シェア変換装置22-Aが、第1実施形態で説明したステップS1206-AからS1209-Aの処理を実行して処理を終了する。一方、検証部2205-Aで検証不合格であると判定された場合、制御部1211-Aは処理をエラー終了させる(ステップS2206-A)。
 <本形態の特徴>
 本形態でもシャミア秘密分散法に則ったシェアよりも総通信データ量を小さくできる。また、各シェア変換装置22-AはシェアSSをシャミア秘密分散法に則ったシェア[x]に変換できる。さらに、本形態ではシェアSSがチェックサムを含み、シェア変換の際に検証処理を行うことにしたため、シェア生成装置21および/またはシェア変換装置22-Aで行われた不正な処理を検知できる。
 なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、シェア生成装置および/またはシェア変換装置は、秘密計算を行う秘密計算装置の一部であってもよいし、秘密計算装置とは別個の装置であってもよい。
 上記の各装置は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
 上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
 このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
 コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されるのではなく、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
 「シェア生成方法」および「シェア変換方法」に係る発明は、特許法第2条第3項第3号に規定された「物を生産する方法の発明」に該当する。また、「シェア生成方法」および「シェア変換方法」によって得られるシェアは、同条第4項に規定された「プログラム等」に該当する。例えば、このようなシェアにはその後の処理のためヘッダや拡張子等が付され、これらを処理するコンピュータはシェアに付されたヘッダや拡張子等を参照しつつ、各シェアを用いた処理を実行する。
1,2 秘密計算システム
11,21 シェア生成装置
12-A,22-A シェア変換装置

Claims (13)

  1.  Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上の整数であり、i=0,…,N-1であり、Pが関数であり、前記関数Pの値域がm個の体Fの元の列を要素とする集合Fに属し、
     N個のシードs,…,sN-1を得るシード生成部と、
     P(s),…,P(sN-1)∈Fが前記シードs,…,sN-1の関数値であり、e=f(P(s),…,P(sN-1))∈Fが前記関数値P(s),…,P(sN-1)∈Fの関数値であり、平文x∈Fおよび前記関数値eの関数値y=g(x,e)∈Fを得る演算部と、
     前記関数値yがm=m(0)+…+m(N-1)を満たす要素y∈Fm(0),…,yN-1∈Fm(N-1)によって表現され、要素y∈Fm(i)とd∈{0,…,N-1}かつd≠iについてのN-1個の前記シードsとを含む情報を、秘密分散における前記平文xのシェアSSとして得て出力するシェア生成部と、
    を有するシェア生成装置。
  2.  請求項1のシェア生成装置であって、
     vが1以上の整数であり、ceilが天井関数であり、前記要素yがm(i)個のサブ要素(y,…,(ym(i)-1∈Fに分割でき、m’(i)がceil(m(i)/v)であり、(y’が集合Fに属する((yvj,(yvj+1,…,(yv(j+1)-1)∈Fであり、
     前記集合Fに属するN個の任意値r,…,rN-1∈Fを得る任意値生成部と、
     チェックサムc=Σ0≦j<m’(i)-1{(y’j  j+1}+(y’m’(i)-1  m’(i)+1∈Fを得るチェックサム生成部と、を有し、
     前記シェア生成部が生成する前記シェアSSは、さらにd∈{0,…,N-1}かつd≠iについてのN-1個の前記任意値rと前記チェックサムci-1 mod Nとを含む、シェア生成装置。
  3.  請求項1または2のシェア生成装置であって、
     前記シェアSS,…,SSN-1の総データ量は、前記平文xのデータ量のN倍未満である、シェア生成装置。
  4.  請求項1から3の何れかに記載のシェア生成装置であって、
     前記関数値eはe=Σ0≦i<NP(s)∈Fであり、前記関数値yはy=x-e∈Fである、シェア生成装置。
  5.  N個のシェア変換装置A,…,AN-1に含まれるシェア変換装置Aであって、
     Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上の整数であり、i=0,…,N-1であり、u=0,…,N-1であり、Pが関数であり、前記関数Pの値域がm個の体Fの元の列を要素とする集合Fに属し、
     d∈{0,…,N-1}かつd≠iについてのN-1個のシードsと集合Fm(i)に属する要素y∈Fm(i)とを含むシェアSSを受け付ける第1入力部と、
     他のシェア変換装置Ai-1 mod Nとの間で任意値t∈Fm(i)を共有する共有部と、
     前記任意値tを前記シェア変換装置Ai-1 mod Nのシェア[yi-1 mod Nとしてシャミア秘密分散法に則って前記要素yを秘密分散することで各シェア変換装置Aのシェア[y∈Fm(i)を得て出力する秘密分散部と、
     シェア[yを受け付ける第2入力部と、
     前記シードsの関数値P(s)∈Fを得る演算部と、
     N個のシードs,…,sN-1の関数値P(s),…,P(sN-1)に対する関数値e=f(P(s),…,P(sN-1))∈Fのシェアである、d∈{0,…,N-1}かつd≠iについてのN-1個の前記関数値P(s)の集合SETを、シャミア秘密分散法に則った前記関数値eのシェア[e]に変換するシャミア変換部と、
     シェア[y,…,[yN-1によって表現されるシェア[y]が平文xおよび前記関数値eに対する関数値y=g(x,e)∈Fのシェアであり、前記シェア[y]および前記シェア[e]を用いた秘密計算により、シャミア秘密分散法に則ったx=g-1(y,e)のシェア[x]を得る第1シェア生成部と、
    を有するシェア変換装置。
  6.  請求項5のシェア変換装置であって、
     vが1以上の整数であり、ceilが天井関数であり、前記要素yがm(d)個のサブ要素(y,…,(ym(d)-1に分割でき、m’(d)がceil(m(d)/v)であり、(y’が集合Fに属する((yvj,(yvj+1,…,(yv(j+1)-1)∈Fであり、
     前記第1入力部が受け付ける前記シェアSSは、さらに集合Fに属するd∈{0,…,N-1}かつd≠iについてのN-1個の任意値r∈Fとチェックサムci-1 mod N∈Fとを含み、
     前記任意値rおよび前記シェア[yを用いた秘密計算により、シャミア秘密分散法に則ったチェックサムc=Σ0≦j<m’(d)-1{(y’j  j+1}+(y’m’(d)-1  m’(d)+1∈Fのシェア[cを得る第2シェア生成部と、
     前記シェア[cを他のシェア変換装置Ad+1 mod Nに対して出力する第2出力部と、
     シェア[ci-1 mod Nを受け付ける第2入力部と、
     前記チェックサムci-1 mod Nと前記シェア[ci-1 mod Nとが正しい関係にあるかを検証する検証部と、
    を有するシェア変換装置。
  7.  請求項5または6のシェア変換装置であって、
     前記シェアSS,…,SSN-1の総データ量は、前記平文xのデータ量のN倍未満である、シェア変換装置。
  8.  請求項5から7の何れかのシェア変換装置であって、
     前記関数値eはe=Σ0≦i<NP(s)∈Fであり、前記関数値yはy=x-e∈Fである、シェア変換装置。
  9.  Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上の整数であり、i=0,…,N-1であり、u=0,…,N-1であり、Pが関数であり、前記関数Pの値域がm個の体Fの元の列を要素とする集合Fに属し、
     シェア生成装置とN個のシェア変換装置A,…,AN-1とを有し、
     前記シェア生成装置は、
     N個のシードs,…,sN-1を得るシード生成部と、
     P(s),…,P(sN-1)∈Fが前記シードs,…,sN-1の関数値であり、e=f(P(s),…,P(sN-1))∈Fが前記関数値P(s),…,P(sN-1)∈Fの関数値であり、平文x∈Fおよび前記関数値eの関数値y=g(x,e)∈Fを得る演算部と、
     前記関数値yがm=m(0)+…+m(N-1)を満たす要素y∈Fm(0),…,yN-1∈Fm(N-1)によって表現され、要素y∈Fm(i)とd∈{0,…,N-1}かつd≠iについてのN-1個の前記シードsとを含む情報を、秘密分散における前記平文xのシェアSSとして得て出力するシェア生成部と、を含み、
     前記シェア変換装置A,…,AN-1に含まれるシェア変換装置Aは、
     前記シェアSSを受け付ける第1入力部と、
     他のシェア変換装置Ai-1 mod Nとの間で任意値t∈Fm(i)を共有する共有部と、
     前記任意値tを前記シェア変換装置Ai-1 mod Nのシェア[yi-1 mod Nとしてシャミア秘密分散法に則って前記要素yを秘密分散することで各シェア変換装置Aのシェア[y∈Fm(i)を得て出力する秘密分散部と、
     前記他のシェア変換装置Aから出力されたシェア[yを受け付ける第2入力部と、
     前記シードsの関数値P(s)∈Fを得る演算部と、
     N個のシードs,…,sN-1の関数値P(s),…,P(sN-1)に対する関数値e=f(P(s),…,P(sN-1))∈Fのシェアである、d∈{0,…,N-1}かつd≠iについてのN-1個の前記関数値P(s)の集合SETを、シャミア秘密分散法に則った前記関数値eのシェア[e]に変換するシャミア変換部と、
     シェア[y,…,[yN-1によって表現されるシェア[y]が平文xおよび前記関数値eに対する関数値y=g(x,e)∈Fのシェアであり、前記シェア[y]および前記シェア[e]を用いた秘密計算により、シャミア秘密分散法に則ったx=g-1(y,e)のシェア[x]を得る第1シェア生成部と、を含む、秘密計算システム。
  10.  Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上の整数であり、i=0,…,N-1であり、Pが関数であり、前記関数Pの値域がm個の体Fの元の列を要素とする集合Fに属し、
     シード生成部が、N個のシードs,…,sN-1を得るシード生成ステップと、
     P(s),…,P(sN-1)∈Fが前記シードs,…,sN-1の関数値であり、e=f(P(s),…,P(sN-1))∈Fが前記関数値P(s),…,P(sN-1)∈Fの関数値であり、演算部が、平文x∈Fおよび前記関数値eの関数値y=g(x,e)∈Fを得る演算ステップと、
     前記関数値yがm=m(0)+…+m(N-1)を満たす要素y∈Fm(0),…,yN-1∈Fm(N-1)によって表現され、シェア生成部が、要素y∈Fm(i)とd∈{0,…,N-1}かつd≠iについてのN-1個の前記シードsとを含む情報を、秘密分散における前記平文xのシェアSSとして得て出力するシェア生成ステップと、
    を有するシェア生成方法。
  11.  N個のシェア変換装置A,…,AN-1に含まれるシェア変換装置Aのシェア変換方法であって、
     Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上の整数であり、i=0,…,N-1であり、u=0,…,N-1であり、Pが関数であり、前記関数Pの値域がm個の体Fの元の列を要素とする集合Fに属し、
     第1入力部が、d∈{0,…,N-1}かつd≠iについてのN-1個のシードsと集合Fm(i)に属する要素y∈Fm(i)とを含むシェアSSを受け付ける第1入力ステップと、
     共有部が、他のシェア変換装置Ai-1 mod Nとの間で任意値t∈Fm(i)を共有する共有ステップと、
     秘密分散部が、前記任意値tを前記シェア変換装置Ai-1 mod Nのシェア[yi-1 mod Nとしてシャミア秘密分散法に則って前記要素yを秘密分散することで各シェア変換装置Aのシェア[y∈Fm(i)を得て出力する秘密分散ステップと、
     第2入力部が、シェア[yを受け付ける第2入力ステップと、
     演算部が、前記シードsの関数値P(s)∈Fを得る演算ステップと、
     シャミア変換部が、N個のシードs,…,sN-1の関数値P(s),…,P(sN-1)に対する関数値e=f(P(s),…,P(sN-1))∈Fのシェアである、d∈{0,…,N-1}かつd≠iについてのN-1個の前記関数値P(s)の集合SETを、シャミア秘密分散法に則った前記関数値eのシェア[e]に変換するシャミア変換ステップと、
     シェア[y,…,[yN-1によって表現されるシェア[y]が平文xおよび前記関数値eに対する関数値y=g(x,e)∈Fのシェアであり、第1シェア生成部が、前記シェア[y]および前記シェア[e]を用いた秘密計算により、シャミア秘密分散法に則ったx=g-1(y,e)のシェア[x]を得る第1シェア生成ステップと、
    を有するシェア変換方法。
  12.  請求項1から4の何れかのシェア生成装置、または請求項5から8の何れかのシェア変換装置としてコンピュータを機能させるためのプログラム。
  13.  請求項1から4の何れかのシェア生成装置、または請求項5から8の何れかのシェア変換装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
PCT/JP2018/030439 2017-08-22 2018-08-16 シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体 WO2019039380A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP18847443.1A EP3675088B1 (en) 2017-08-22 2018-08-16 Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium
US16/640,092 US11374743B2 (en) 2017-08-22 2018-08-16 Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium
AU2018320433A AU2018320433B2 (en) 2017-08-22 2018-08-16 Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium
CN201880053740.8A CN111052204B (zh) 2017-08-22 2018-08-16 份额生成装置、份额变换装置、秘密计算系统、它们的方法及记录介质
JP2019537588A JP6885467B2 (ja) 2017-08-22 2018-08-16 シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体
US17/742,632 US11888977B2 (en) 2017-08-22 2022-05-12 Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017159345 2017-08-22
JP2017-159345 2017-08-22

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/640,092 A-371-Of-International US11374743B2 (en) 2017-08-22 2018-08-16 Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium
US17/742,632 Division US11888977B2 (en) 2017-08-22 2022-05-12 Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium

Publications (1)

Publication Number Publication Date
WO2019039380A1 true WO2019039380A1 (ja) 2019-02-28

Family

ID=65438897

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/030439 WO2019039380A1 (ja) 2017-08-22 2018-08-16 シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体

Country Status (6)

Country Link
US (2) US11374743B2 (ja)
EP (1) EP3675088B1 (ja)
JP (1) JP6885467B2 (ja)
CN (1) CN111052204B (ja)
AU (1) AU2018320433B2 (ja)
WO (1) WO2019039380A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2620988A (en) * 2022-07-29 2024-01-31 Pqshield Ltd Method and apparatus for storing/recovering a plurality of secret shares

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137516A (ja) * 2013-01-18 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 分散管理装置、復元装置、パーティ装置、およびプログラム
WO2015053185A1 (ja) * 2013-10-10 2015-04-16 日本電信電話株式会社 秘密商転移装置、秘密ビット分解装置、秘密モジュラス変換装置、秘密商転移方法、秘密ビット分解方法、秘密モジュラス変換方法、プログラム
JP2015135380A (ja) * 2014-01-16 2015-07-27 日本電信電話株式会社 シェア変換システム、シェア変換方法、プログラム
JP2016178550A (ja) * 2015-03-20 2016-10-06 日本電気株式会社 秘密情報分散システム、情報処理装置および情報処理プログラム

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US32014A (en) * 1861-04-09 Charles f
US916A (en) * 1838-09-12 Henry g
US82016A (en) * 1868-09-08 Improvement in fire-proof safes
US12014A (en) * 1854-11-28 Improvement in binding-guides for sewing-machines
US32007A (en) * 1861-04-09 Iprovement in sewing-machines
US61998A (en) * 1867-02-12 Improvement in skates
US62005A (en) * 1867-02-12 John s
US72017A (en) * 1867-12-10 William b
US32020A (en) * 1861-04-09 Head for screws and tacks
US82017A (en) * 1868-09-08 Improvement in hammee and mallet
US12019A (en) * 1854-12-05 Steam-boiler
US62018A (en) * 1867-02-12 Self and abraham emanitel
US809A (en) * 1838-06-27 Improved mode of changing the poles of electro-magnets
US82011A (en) * 1868-09-08 Improvement in fanning-mills
US52018A (en) * 1866-01-16 Window-shade
US62004A (en) * 1867-02-12 children
US102014A (en) * 1870-04-19 Improved boot-jack and brush
US5764765A (en) * 1993-09-09 1998-06-09 British Telecommunications Public Limited Company Method for key distribution using quantum cryptography
US6748083B2 (en) * 2000-04-28 2004-06-08 The Regents Of The University Of California Method and apparatus for free-space quantum key distribution in daylight
JP4292835B2 (ja) * 2003-03-13 2009-07-08 沖電気工業株式会社 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
US7581093B2 (en) * 2003-12-22 2009-08-25 Nortel Networks Limited Hitless manual cryptographic key refresh in secure packet networks
US7437081B2 (en) * 2004-11-01 2008-10-14 Magiq Technologies, Inc System and method for providing two-way communication of quantum signals, timing signals, and public data
US7826749B2 (en) * 2005-09-19 2010-11-02 The Chinese University Of Hong Kong Method and system for quantum key distribution over multi-user WDM network with wavelength routing
US7889868B2 (en) * 2005-09-30 2011-02-15 Verizon Business Global Llc Quantum key distribution system
US7940757B2 (en) * 2006-02-23 2011-05-10 Cisco Technology, Inc. Systems and methods for access port ICMP analysis
EP2245789B1 (en) * 2008-01-25 2014-08-20 QinetiQ Limited Quantum cryptography apparatus
US8345861B2 (en) * 2008-08-22 2013-01-01 Red Hat, Inc. Sharing a secret using polynomial division over GF(Q)
US7995765B2 (en) * 2008-08-28 2011-08-09 Red Hat, Inc. Sharing a secret using hyperplanes over GF(q)
US20110206204A1 (en) * 2008-10-17 2011-08-25 Dmitry Ivanovich Sychev Methods and devices of quantum encoding on dwdm (roadm) network and fiber optic links .
GB0819665D0 (en) * 2008-10-27 2008-12-03 Qinetiq Ltd Quantum key dsitribution
KR101351012B1 (ko) * 2009-12-18 2014-01-10 한국전자통신연구원 다자간 양자 통신에서의 사용자 인증 방법 및 장치
US9237098B2 (en) * 2012-07-03 2016-01-12 Cisco Technologies, Inc. Media access control (MAC) address summation in Datacenter Ethernet networking
JP5885840B2 (ja) * 2012-07-05 2016-03-16 日本電信電話株式会社 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム
JP6030925B2 (ja) * 2012-11-12 2016-11-24 ルネサスエレクトロニクス株式会社 半導体装置及び情報処理システム
US10560265B2 (en) * 2013-06-08 2020-02-11 Quantumctek Co., Ltd. Mobile secret communications method based on quantum key distribution network
US10002547B2 (en) * 2014-01-17 2018-06-19 Nippon Telegraph And Telephone Corporation Secret calculation method, secret calculation system, random permutation device, and program
KR101776137B1 (ko) * 2014-10-30 2017-09-19 에스케이 텔레콤주식회사 양자 키 분배 시스템에서 복수의 장치에 키를 공급하는 장치 및 방법
JP5860557B1 (ja) * 2015-02-06 2016-02-16 日本電信電話株式会社 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム
CN105991285B (zh) * 2015-02-16 2019-06-11 阿里巴巴集团控股有限公司 用于量子密钥分发过程的身份认证方法、装置及系统
JP5872085B1 (ja) * 2015-03-18 2016-03-01 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5968484B1 (ja) 2015-03-18 2016-08-10 日本電信電話株式会社 シェア復旧システム、シェア復旧方法、およびプログラム
JP5872084B1 (ja) * 2015-03-18 2016-03-01 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5864004B1 (ja) * 2015-03-18 2016-02-17 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP6400513B2 (ja) * 2015-03-18 2018-10-03 株式会社東芝 量子鍵配送装置、量子鍵配送方法およびプログラム
CN106301769B (zh) * 2015-06-08 2020-04-10 阿里巴巴集团控股有限公司 量子密钥输出方法、存储一致性验证方法、装置及系统
US11588783B2 (en) * 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US9960465B2 (en) * 2015-07-30 2018-05-01 Lg Chem, Ltd. Battery pack
KR101860234B1 (ko) * 2016-12-20 2018-05-21 엘에스산전 주식회사 듀얼 포트 스위치의 링크 속도 설정 방법
US10476794B2 (en) * 2017-07-30 2019-11-12 Mellanox Technologies Tlv Ltd. Efficient caching of TCAM rules in RAM
US10673883B2 (en) * 2018-05-14 2020-06-02 Cisco Technology, Inc. Time synchronization attack detection in a deterministic network
US11212294B2 (en) * 2018-09-12 2021-12-28 Grid7 LLC Data packet security with expiring time-based hash message authentication codes (HMACs)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137516A (ja) * 2013-01-18 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 分散管理装置、復元装置、パーティ装置、およびプログラム
WO2015053185A1 (ja) * 2013-10-10 2015-04-16 日本電信電話株式会社 秘密商転移装置、秘密ビット分解装置、秘密モジュラス変換装置、秘密商転移方法、秘密ビット分解方法、秘密モジュラス変換方法、プログラム
JP2015135380A (ja) * 2014-01-16 2015-07-27 日本電信電話株式会社 シェア変換システム、シェア変換方法、プログラム
JP2016178550A (ja) * 2015-03-20 2016-10-06 日本電気株式会社 秘密情報分散システム、情報処理装置および情報処理プログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A. SHAMIR: "How to Share a Secret", COMMUNICATIONS OF THE ACM, vol. 22, no. 11, November 1979 (1979-11-01), pages 612 - 613, XP000565227, DOI: 10.1145/359168.359176
MICHAEL BEN-ORSHAFI GOLDWASSERAVI WIGDERSON, COMPLETENESS THEOREMS FOR NON-CRYPTOGRAPHIC FAULT-TOLERANT DISTRIBUTED COMPUTATION (EXTENDED ABSTRACT). STOC, 1988, pages 1 - 10
RONALD CRAMERIVAN DAMGARDYUVAL ISHAI, SHARE CONVERSION, PSEUDORANDOM SECRET-SHARING AND APPLICATIONS TO SECURE COMPUTATION. TCC, 2005, pages 342 - 362
See also references of EP3675088A4

Also Published As

Publication number Publication date
US20210135849A1 (en) 2021-05-06
JPWO2019039380A1 (ja) 2020-09-03
EP3675088A1 (en) 2020-07-01
AU2018320433B2 (en) 2021-03-25
US20220278829A1 (en) 2022-09-01
CN111052204A (zh) 2020-04-21
AU2018320433A1 (en) 2020-02-27
CN111052204B (zh) 2023-05-02
EP3675088B1 (en) 2022-11-02
US11374743B2 (en) 2022-06-28
US11888977B2 (en) 2024-01-30
JP6885467B2 (ja) 2021-06-16
EP3675088A4 (en) 2021-04-28

Similar Documents

Publication Publication Date Title
US10002547B2 (en) Secret calculation method, secret calculation system, random permutation device, and program
US10003460B2 (en) Secret quotient transfer device, secret bit decomposition device, secret modulus conversion device, secret quotient transfer method, secret bit decomposition method, secret modulus conversion method, and programs therefor
US10074293B2 (en) Secret calculation method, secret calculation system, sorting device, and program
JP6016948B2 (ja) 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
JP6040320B2 (ja) 秘密並列処理装置、秘密並列処理方法、プログラム
JP6632959B2 (ja) 検証システム、検証方法及び検証プログラム
JP2016173532A (ja) 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
US20220413807A1 (en) Secure random number generation system, secure computation apparatus, secure random number generation method, and program
JP6777816B2 (ja) 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム
US11888977B2 (en) Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium
JP6825111B2 (ja) シェア生成装置、復元装置、秘密計算システム、シェア生成方法、復元方法、プログラム、および記録媒体
WO2020188906A1 (ja) 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
JP5314449B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
US20230004356A1 (en) Secure random number generation system, secure computation apparatus, secure random number generation method, and program
JP5227764B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
WO2023243141A1 (ja) 連合学習システム及び連合学習方法
JP6881588B2 (ja) 秘密計算装置、秘密計算方法、プログラム、および記録媒体
CN117114875A (zh) 一种证券交易对账方法、系统、电子设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18847443

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019537588

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018320433

Country of ref document: AU

Date of ref document: 20180816

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2018847443

Country of ref document: EP

Effective date: 20200323