WO2019039383A1 - シェア生成装置、復元装置、秘密計算システム、シェア生成方法、復元方法、プログラム、および記録媒体 - Google Patents
シェア生成装置、復元装置、秘密計算システム、シェア生成方法、復元方法、プログラム、および記録媒体 Download PDFInfo
- Publication number
- WO2019039383A1 WO2019039383A1 PCT/JP2018/030442 JP2018030442W WO2019039383A1 WO 2019039383 A1 WO2019039383 A1 WO 2019039383A1 JP 2018030442 W JP2018030442 W JP 2018030442W WO 2019039383 A1 WO2019039383 A1 WO 2019039383A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- share
- value
- unit
- checksum
- function
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 104
- 238000012795 verification Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 description 48
- 230000006870 function Effects 0.000 description 33
- 238000004891 communication Methods 0.000 description 19
- 230000015654 memory Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
- G09C1/04—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system with sign carriers or indicators moved relative to one another to positions determined by a permutation code, or key, so as to indicate the appropriate corresponding clear or ciphered text
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Definitions
- the present invention 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.
- the total data amount of the share representing the secret computation result is N times the plaintext data amount. Therefore, if these shares are transmitted as they are, the total communication data amount will also be N times the plaintext data amount.
- An object of the present invention is to provide a technology for generating a share with a small total communication data amount from a share based on the Shamia secret sharing method.
- Each of the share generation devices A i included in the N share generation devices A 0 ,..., A N ⁇ 1 executes the following.
- 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 and less than m
- i ( ⁇ ) i ⁇ 1 mod N
- P m (i) is a function
- the value obtained by multiplying the share [ ⁇ ] i according to the Shamia secret sharing method by the Lagrange coefficient ⁇ (i, i (-) ) and the Lagrange coefficient ⁇ to the share [ ⁇ ] i (-) according to the Shamia secret sharing method The sum of the value obtained by multiplying (i ( ⁇ ), i) is the restored value ⁇ .
- the sum of the value obtained by multiplying the value) is also the recovery value ⁇ .
- 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 restoration apparatus 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 restoration method of the embodiment.
- the secret calculation system 1 of the present embodiment has N share generation devices 11-A 0 ,..., 11-A N-1 and a restoration device 12, and these devices are Internet etc. They can communicate with each other through a network.
- 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 restoring devices.
- Operation unit 113 -A i , secret calculation unit 114 -A i , 115 -A i , share generation unit 116 -A i , storage unit 117 -A i , communication unit 118 -A i , and control unit 119 -A i has, to execute the processes under the control of the control unit 119-a i.
- Information output from the processing unit (site that performs processing) share generator 11-A i are stored in the storage unit 117-A i, is read as necessary is input to the other processing unit.
- the restoration apparatus 12 of the present embodiment includes a communication unit 121, an operation unit 122, a connection unit 123, a storage unit 127, and a control unit 128, and Execute the process
- the information output from each processing unit of the restoration apparatus 12 is stored in the storage unit 127, read out as necessary, and input to another processing unit.
- the value obtained by multiplying the share [ ⁇ ] i according to the relevant Shamia secret sharing method by the Lagrange coefficient ⁇ (i, i ( ⁇ ) ) and the Lagrange to the share [ ⁇ ] i ( ⁇ ) according to the relevant Shamia secret sharing method The sum of the value obtained by multiplying the coefficient ⁇ (i ( ⁇ ), i) is the restored value ⁇ , and the value obtained by multiplying the share [ ⁇ ] i by the Lagrange coefficient ⁇ (i, i (+))
- the sum of the value obtained by multiplying the share [ ⁇ ] i (+) according to the Shamia secret sharing method by the Lagrange coefficient ⁇ (i (+), i) is also the restored value ⁇ .
- ⁇ ⁇ (i, i ( ⁇ )) [ ⁇ ] i + ⁇ (i ( ⁇ ), i) [ ⁇ ] i ( ⁇ )
- ⁇ ⁇ (i, i (+)) [ ⁇ ] i + ⁇ (i (+), i) [ ⁇ ] i (+)
- ⁇ (i, i ( ⁇ )) is a coefficient by which the share [ ⁇ ] i is multiplied when restoring the restored value ⁇ from the share [ ⁇ ] i and the share [ ⁇ ] i ( ⁇ ) i ( ⁇ ), i) is a coefficient by which the share [ ⁇ ] i ( ⁇ ) is multiplied at this time.
- ⁇ (i, i (+)) is a coefficient by which the share [ ⁇ ] i is multiplied when recovering the restored value ⁇ from the share [ ⁇ ] i and the share [ ⁇ ] i (+) +)
- i) are coefficients by which the share [ ⁇ ] i (+) is multiplied at this time.
- i (+) i + 1 mod N
- i ( ⁇ ) i ⁇ 1 mod N.
- Lagrange coefficients ⁇ (i, i ( ⁇ )), ⁇ (i ( ⁇ ), i), ⁇ (i, i (+)), ⁇ (i (+), i) are known Lagrange's It can be easily obtained by an interpolation formula.
- F m means a set whose elements are the original columns of m fields F.
- An example of the set F m is an m-dimensional vector whose elements are elements of m fields F.
- ⁇ means that ⁇ is an element of ⁇ .
- m is an integer of 1 or more.
- m is an integer of 2 or more or an integer of 3 or more.
- the share [x] i may be one transmitted from another device or may be one obtained by performing a secret calculation on a share transmitted from another device.
- the division unit 111-A i (first division unit) reads the share [x] i ⁇ F m of the plaintext x conforming to the above-mentioned Shamia secret sharing method from the storage unit 117-A i .
- the division unit 111 -A i divides and outputs the share [x] i into N shares [x 0 ] i ,..., [X N ⁇ 1 ] i by secret calculation.
- [X j ] i is the share of the plaintext x j according to the above-mentioned Shamia secret sharing method.
- the plaintext x is represented by N pieces of x 0 ⁇ F m (0) ,..., X N-1 ⁇ F m (N-1) .
- the plaintext x is represented by a sequence x 0
- share [x] i is N shares as it is [x 0] I ⁇ F m (0) , ..., [x N-1 ] i ⁇ F m (N-1) may be divided and divided.
- m 1, only one of m (0),..., M (N-1) is 1 and the others are all 0.
- the division unit 111-A i is not necessary to divide the shares [x] i, shared [x 0] i, ..., [x N-1] to any one share of i [x Let i be and output all remaining shares as null values.
- the share [x] i is represented by N shares [x 0 ] i ,..., [X N-1 ] i .
- the share [x] i is represented by a column [x 0 ] i
- the seed acquisition unit 112-A i obtains and outputs a seed s i .
- the data format of the seed s i is not limited, and any value may be used as the seed s i .
- An example of the seed s i is an element of a set F w (i) having elements of the original column of w (i) fields F (s i ⁇ F w (i) ).
- w (i) is an integer of 1 or more and less than m.
- 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 s i that corresponds to a null value Share [x j] i is may be set to a null value (Step S112-A i).
- P m (i ( ⁇ )) (s i ) is a function value obtained by applying a function P m (i ( ⁇ )) to the seed s i .
- P m (i) F w (i (+)) ⁇ F m (i) is a function, and the range of the function P m (i) is an element column of m (i) fields F It belongs to the set F m (i) .
- An example of the set F m (i) is a set of m (i) -dimensional vectors having elements of m (i) fields F as elements.
- the domain of the function P m (i) may be anything.
- the domain of the function P m (i) belongs to a set F w (i (+)) whose elements are the original columns of w (i (+)) fields F.
- w (i (+)) ⁇ m (i) is satisfied (the amount of data of the seed s i is smaller than the amount of data of the function value r i ).
- An example of P m (i) is a pseudorandom number generation function.
- P m (i ( ⁇ )) is a function
- a set F m ( m (i ( ⁇ )) has an element string of m (i ( ⁇ )) fields in the range of the range of the function P m) Belongs to i (-)) .
- the domain of the function P m (i ( ⁇ )) belongs to a set F w (i) whose elements are the original columns of w (i) fields F.
- w (i) ⁇ m (i ( ⁇ )) is satisfied.
- the function value r i corresponding to a null value Share [x j] i is may be set to a null value (Step S113-A i).
- ⁇ i ⁇ (i, i (-)) [x i (-) ] i + r i corresponding to the share [x i (-) ] i which is a null value is set to a null value (step S114) -A i ).
- Calculated zeta i is input to the communication unit 118-A i.
- the communication unit 118-A i (output unit) outputs the calculated value ⁇ i to the share generation device 11-A i ( ⁇ ) .
- the output calculated value ⁇ i is transmitted to the share generation device 11-A i ( ⁇ ) through the network (step S1181-A i ).
- ⁇ i (+) ⁇ (i (+), i) [x i ] i (+) + r i (+) corresponding to the share [x i ( ⁇ ) ] i which is a null value is a null value It is set to.
- the calculated value ⁇ i (+) is received (accepted ) by the communication unit 118 -A i (input unit) and output (step S 1182 -A i ).
- ⁇ ⁇ i (+) ⁇ (i (+), i) [x i ] i (+) + r i (+)
- z i ⁇ (i, i (+)) [x i ] i + ⁇ (i (+), i) [x i ] i (+) + r i (+)
- x i ⁇ (i, i (+)) [x i] i + ⁇ (i (+), i) for a [x i] i (+)
- z i x i + r i (+) It is.
- z i corresponding to the share [x i ] i which is a null value is set to a null value (step S115-A i ).
- Calculated output from the seed s i and secure computing unit 115-A i output from the seed acquisition unit 112-A i z i is input to the share generator 116-A i.
- the share generation unit 116-A i obtains and outputs information including the seed s i and the calculated value z i as the share SS i of the plaintext x in secret sharing.
- Share SS i corresponding to the seed s i and the calculated value z i is a null value is information seed s i and the calculated value z i is set to a null value (Step S116-A i).
- Share SS i output from the share generator 116-A i is input to the communication unit 118-A i.
- the communication unit 118 -A i outputs the share SS i to the restoration device 12.
- the output share SS i is transmitted to the restoration apparatus 12 through the network.
- the size and N of seeds s i do not depend on m.
- the order of the total share size (total share size to be transmitted) for the plaintext data size m is O (N) in this embodiment, where it is O (Nm) in (2, N) -Shamia secret sharing.
- the size of each share is O (m / N).
- the data amount of each share SS i is less than the data amount of the plaintext x (step S118-A i ).
- each i 0, ..., the N-1, the calculated value is included in the share SS i z i and share SS i (+) to include seed s i (+) is inputted to the arithmetic unit 122.
- P m (i) (s i (+) ) is a function value obtained by applying the function P m (i) to the seed s i (+) .
- the function P m (i) is the same as the function defined in step S113-A i .
- step S115-A i z i x i + r i (+).
- the element x i corresponding to the calculated value z i which is a null value and the seed s i (+) is set to a null value (step S122).
- the elements x 0 ,..., X N-1 obtained by the calculation unit 122 are input to the connection unit 123. Connecting portion 123, elements x 0, ..., connecting the x N-1 (bound) the outputs to obtain a restored value x. For example, a row x 0 ?? X x N-1 where x 0 ⁇ F m (0) , ..., x N-1 ⁇ F m (N-1) are arranged is x (step S123).
- the size and N of seeds s i do not depend on m.
- the order of the total share size (total share size to be transmitted) for the plaintext data size m is O (N) in this embodiment, where 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 plaintext x ⁇ F m Can.
- the total amount of communication data can be made smaller than the share according to the Shamia secret sharing method.
- Each share generation device 11 -A i can obtain a small share SS i of the data amount from the share [x] i based on the Shamia secret sharing method without obtaining any information of the plaintext x.
- the restoration device 12 can restore the plaintext x using the N shares SS 0 ,..., SS N ⁇ 1 .
- the second embodiment is a modification of the first embodiment.
- a checksum corresponding to the share is generated when the share is generated, and the checksum is used to verify the share when the plaintext is restored.
- 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 N share generation devices 21-A 0 ,..., 21-A N-1 and a restoration device 22, which are devices such as the Internet etc. They can communicate with each other through a network.
- N in this embodiment is an integer of 3 or more.
- the secret calculation system 2 may have a plurality of restoring devices.
- Information output from the processing unit (site that performs processing) share generation apparatus 21-A i are stored in the storage unit 117-A i, is read as necessary is input to the other processing unit.
- the restoration apparatus 22 includes a communication unit 121, an operation unit 122, a connection unit 123, a restoration unit 224, a verification value generation unit 225, a determination unit 226, a storage unit 127, and a control unit 128. And each process is executed under the control of the control unit 128.
- the information output from each processing unit of the restoration apparatus 22 is stored in the storage unit 127, read out as necessary, and input to another processing unit.
- the sharing unit 215-A i of each share generation device 21-A i is set to an arbitrary value t i ( n ) with the sharing unit 215-A i (-) of the share generation device 21-A i (-).
- -) ⁇ F v is shared, and an arbitrary value t i ⁇ F v is shared with the sharing unit 215-A i (++) of the share generation device 21-A i (++)
- the sharing unit 215-A i and the sharing unit 215-A i (-) obtain the same arbitrary value t i (-)
- the sharing unit 215-A i and the sharing unit 215-A i (++) Is the same arbitrary value t i
- sharing unit 215 -A i and sharing unit 215 -A i (+) obtain the same arbitrary value u i (-)
- the unit 215-A i (-) obtains the same arbitrary value u i (-) .
- Any value ⁇ between the shared portions beta 1 and the shared unit beta 2 is performed by sending the information to identify any value ⁇ or any value ⁇ in the shared section beta 2 from the shared unit beta 1 it may be, may be performed by sending the information to identify any value ⁇ or any value ⁇ in the shared section beta 1 from the shared unit beta 2, sharing the seed with a shared unit beta 1 and share part beta 2
- the arbitrary value ⁇ may be shared by sharing the value and performing the same process using the shared seed value.
- Arbitrary values t i (-) , t i , u i (-) and u i (-) may be random numbers (pseudo random numbers or true random numbers) or values obtained by other processing. It may be present, or it may be a value selected from a plurality of predetermined values.
- the sharing of the arbitrary values t i (-) , t i , u i (-) , u i (-) is triggered by execution of any of the processes in steps S111-A i to S115-A i , And may be triggered by a request from another sharing unit 215-A i (-) , 215-A i (++) , 215-A i (+) , 215-A i (-). It may be performed, may be performed with another opportunity, and may be performed in advance.
- the sharing unit 215-A i outputs the obtained arbitrary values t i (-) , t i , u i (-) , u i (-) (step S215-A i ).
- m (j) shares [(x j ) 0 ] i ,..., [(X j ) m (j) ⁇ 1 ] i are divided into ⁇ F and output.
- Share [x j ] i may be divided into m (j) shares [(x j ) 0 ] i ,..., [(X j ) m (j) -1 ] i ] F as they are. .
- the checksum generation unit 218-A i receives the arbitrary values t i (-) and u i (-) , and shares [(x j ) 0 ] i , ..., [(x j) using the m (j) -1] i, following the checksum c i (-), i and d i (-), to obtain the i outputs.
- [(X ' ⁇ ) j ] i belongs to the set F v [((x ⁇ ) v j ] i , [(x ⁇ ) v j + 1 ] i ,..., [(X ⁇ ) v (j + 1) -1 ] i ) ⁇ F v .
- the checksums c i (-), i and d i (-), i may be calculated on an F-based v-order extension.
- ⁇ 0 j j ⁇ m '(i (-)) ⁇ j ⁇ represents ⁇ 0 + ... + ⁇ m' (i (-))
- ⁇ i (-) ⁇ represents ( ⁇ i (-) ) )
- the checksum generation unit 219-A i (second checksum generation unit) receives the arbitrary value t i , u i ( ⁇ ) and the share [(x j ) 0 ] i ,..., [(X j ) m (j ) ] -1 ] i is used to obtain and output checksums c i, i and d i ( ⁇ ), i as follows.
- ⁇ i ⁇ represents ( ⁇ i ) ⁇
- ⁇ i ( ⁇ ) ⁇ represents ( ⁇ i ( ⁇ ) ) ⁇ .
- the share generation unit 216 -A i is a seed s i , a calculated value z i , an arbitrary value t i ( ⁇ ) , t i , u i ( ⁇ ) , u i ( ⁇ ) , and a checksum c i ( ⁇ Obtain and output information including the i), i , d i (-), i , c i, i , d i (-), i as the share SS i of the plaintext x in secret sharing (step S216-A) i ).
- Share SS i output from the share generator 216-A i is input to the communication unit 118-A i.
- the communication unit 118-A i outputs the share SS i to the restoration device 22.
- the output share SS i is transmitted to the restoration apparatus 22 through the network.
- the size of the seed s i and N, v do not depend on m.
- the order of the total share size (total share size to be transmitted) for the plaintext data size m is O (N) in this embodiment, where it is O (Nm) in (2, N) -Shamia secret sharing.
- the size of each share is O (m / N).
- the data amount of each share SS i is less than the data amount of the plaintext x (step S 218 -A i ).
- the restoration unit 224 performs the check sum d i, i (+) included in the share SS i (+) and the check sum d i, i (++) included in the share SS i (++) as described above.
- Checksum d i ⁇ 0 j j ⁇ m '(i) ⁇ u i j + 1 (x' i ) j ⁇ + u i m '(i) +1 (x' i ) m ' as a share based on the Shamia secret sharing method (I) Restore -1 and output.
- Checksum according to the Shamia secret sharing method of d i 0 0 j j ⁇ m '(i) ⁇ u i j + 1 (x' i j
- the element x i output from the calculation unit 122 is input to the division unit 229.
- the dividing unit 229 divides the element x i ⁇ F m (i) into m (i) subelements (x i ) 0 ,..., (X i ) m (i) -1 ⁇ F and outputs the result.
- the elements x i is m (i) sub-elements (x i) 0, ..., (x i) m (i) -1 Sorting columns (x i) 0
- the verification value generation unit 225 uses the arbitrary value t i , u i and the subelements (x i ) 0 ,..., (X i ) m (i) ⁇ 1 and verifies the verification values v c i and v d i as follows. Obtain and output.
- m '(i) is ceil (m (i) / v)
- (x' i ) j belongs to the set F v ((x i ) v j , (x i ) v j + 1 , ..., (x i ) v (j + 1) -1 ) is ⁇ F v
- the beta i gamma represents a
- step S2262 If it is determined that d i ⁇ vd i in any i, the control unit 128 ends the process in error (step S2263).
- the calculation unit 122 obtains and outputs a restored value x in which the elements x 0 ,..., X N ⁇ 1 are connected (step S123).
- the total communication data amount can be made smaller than the share based on the Shamia secret sharing method.
- Each share generation device 21 -A i can obtain a small share SS i of the data amount from the share [x] i based on the Shamia secret sharing method without obtaining any information of the plaintext x.
- the restoration device 22 can restore the plaintext x using the N shares SS 0 ,..., SS N ⁇ 1 .
- the share SS i includes a checksum
- the restoration device 22 verifies the checksum. Therefore, the restoration device 22 can detect an unauthorized process performed by any of the share generation devices 21- Ai .
- the restoration device 22 verifies two types of checksums c i and d i .
- the restoration device 22 may be configured to verify only one of the checksums c i and d i .
- the process in this case is as follows.
- step S115-A i from step S 111-A i is executed instead of the processing of step S215-A i
- (process I) sharing unit 215-A i of each share generation apparatus 21-A i is Share A sharing unit 215-A i (-) of the generating device 21-A i (-) shares an arbitrary value t i (-) ⁇ F, and a share generating device 21-A i (++) ) to share any value t i ⁇ F between the sharing unit 215-a i (++), or, (process II) sharing unit 215-a i of each share generation apparatus 21-a i is shared generator 21-A i (+) sharing unit 215-A i (+) shares an arbitrary value u i (-) ⁇ F, and a sharing unit of the share generation device 21-A i (-) 215-A i (-) shares an arbitrary value u i (-) ⁇ F. Only process I is performed
- the dividing unit 217-A i executes the process of step S217-A i .
- step S216-A i the following processing is executed depending on whether the process I or process II.
- the share generation unit 116-A i is a seed s i , a calculated value z i , an arbitrary value Information including t i (-) , arbitrary value t i , check sum c i (-), i , and check sum c i, i is obtained and output as a share SS i .
- the share generating unit 116-A i calculates the seed s i , the calculated value Obtain information including a z i , an arbitrary value u i (-) , an arbitrary value u i (-) , a checksum d i (-), i , and a checksum d i (-), i as a share SS i Output. Thereafter, the processing of step S218-A i is performed.
- the restoration unit 224 performs the following process.
- the share SS i includes the check sum c i, i and the share SS i (++) includes the check sum c i, i (++) (process I)
- the restoration unit 224 executes step S2241 and performs the check.
- Sam c i, i and checksum c i, i (++) checksum c i a restore output as share in conformity with Shamir secret sharing method. In this case, the process of step S2242 described above is not performed.
- restoration unit 224 executes step S2242, checksum d i, i (+) and the checksum d i, i (++) to restore the checksum d i as shares in conformity with Shamir secret sharing scheme and outputs. In this case, the process of step S2241 described above is not performed.
- the process of step S2252 described above is not performed.
- the process of step S2251 described above is not performed.
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Description
[第1実施形態]
まず、第1実施形態を説明する。
<構成>
図1に例示するように、本形態の秘密計算システム1はN個のシェア生成装置11-A0,…,11-AN-1および復元装置12を有し、これらの装置はインターネット等のネットワークを通じて互いに通信可能である。ただし、Nは2以上の整数である。例えば、Nは3以上の整数である。Nの一例はN=3である。なお、図1には1個の復元装置12を図示しているが、秘密計算システム1が複数個の復元装置を有していてもよい。
図4を用い、本形態の各シェア生成装置11-Ai(ただし、i=0,…,N-1)(図2)が行うシェア生成方法(シェア変換方法)を説明する。前提として、各シェア生成装置11-Aiの記憶部117-Aiには、シャミア秘密分散法に則った平文x∈Fmのシェア[x]i∈Fmが格納されている。「シェア」とは秘密分散における断片を意味する。実施形態のシャミア秘密分散法は2-out-of-Nしきい値分散方式であり、任意の相違なる2個のシェアが与えられれば復元値(平文)を復元できるが、任意の1個のシェア情報が与えられても復元値の情報はまったく得られない。当該シャミア秘密分散法に則ったシェア[α]iにラグランジュ係数λ(i,i(-))を乗じて得られる値と当該シャミア秘密分散法に則ったシェア[α]i(-)にラグランジュ係数λ(i(-),i)を乗じて得られる値との和は復元値αであり、シェア[α]iにラグランジュ係数λ(i,i(+))を乗じて得られる値と当該シャミア秘密分散法に則ったシェア[α]i(+)にラグランジュ係数λ(i(+),i)を乗じて得られる値との和も復元値αである。すなわち、
α=λ(i,i(-))[α]i+λ(i(-),i)[α]i(-)
α=λ(i,i(+))[α]i+λ(i(+),i)[α]i(+)
を満たす。つまり、λ(i,i(-))はシェア[α]iとシェア[α]i(-)とから復元値αを復元する際にシェア[α]iに乗じられる係数であり、λ(i(-),i)はこの際にシェア[α]i(-)に乗じられる係数である。λ(i,i(+))はシェア[α]iとシェア[α]i(+)とから復元値αを復元する際にシェア[α]iに乗じられる係数であり、λ(i(+),i)はこの際にシェア[α]i(+)に乗じられる係数である。ただし、i(+)=i+1 mod Nであり、i(-)=i-1 mod Nである。このようなラグランジュ係数λ(i,i(-)),λ(i(-),i),λ(i,i(+)),λ(i(+),i)は、周知のラグランジュの補間公式によって容易に求めることができる。Fmはm個の体Fの元の列を要素とする集合を意味する。集合Fmの一例はm個の体Fの元を要素とするm次元ベクトルである。α∈βはαがβの要素であることを意味する。mは1以上の整数である。例えば、mは2以上の整数または3以上の整数である。体Fの例は素数pを法とした剰余(任意のαに対するα mod p)からなる集合であり、この場合の体Fでの演算結果は素数pを法とした剰余として得られる。p≧3であり、例えばp=261-1である。またシェア[x]iは他の装置から送信されたものであってもよいし、他の装置から送信されたシェアに秘密計算を行って得られたものであってもよい。
図5を用い、本形態の復元装置12(図3)が行う復元方法を説明する。
シェア生成装置11-A0,…,11-AN-1から出力されたN個のシェアSS0,…,SSN-1は、復元装置12の通信部121(入力部)で受信され(受け付けられ)、出力される(ステップS121)。
各シェア生成装置11-Ai(ただし、i=0,…,N-1)は、シャミア秘密分散法に則ったシェア[x]iからシードsiおよび計算値zi∈Fm(i)を含むシェアSSiを得て出力する。ここで、シードsiのサイズおよびNはmに依存しない。平文のデータサイズmに関する総シェアサイズ(送信される総シェアサイズ)のオーダーは、(2,N)-シャミア秘密分散ではO(Nm)となるところ、本形態ではO(m)で済む。個々のシェアのサイズはO(m/N)である。例えば、m(i)<mかつw(i)<mとすることで、シェアSS0,…,SSN-1の総データ量を平文x∈Fmのデータ量のN倍未満にすることができる。これにより、シャミア秘密分散法に則ったシェアよりも総通信データ量を小さくできる。各シェア生成装置11-Aiは平文xの情報を一切得ることなく、シャミア秘密分散法に則ったシェア[x]iからデータ量の小さなシェアSSiを得ることができる。復元装置12はN個のシェアSS0,…,SSN-1を用いて平文xを復元できる。
第2実施形態は第1実施形態の変形例である。本形態では、シェア生成の際にシェアに対応するチェックサムを生成し、平文の復元時にチェックサムを用いてシェアを検証する。以下では、第1実施形態で既に説明した事項については第1実施形態と同じ参照番号を用い、説明を簡略化する場合がある。
図1に例示するように、本形態の秘密計算システム2はN個のシェア生成装置21-A0,…,21-AN-1および復元装置22を有し、これらの装置はインターネット等のネットワークを通じて互いに通信可能である。ただし、本形態のNは3以上の整数である。Nの一例はN=3である。なお、図1には1個の復元装置22を図示しているが、秘密計算システム2が複数個の復元装置を有していてもよい。
図4を用い、シェア生成装置21-Ai(図2)が行うシェア生成方法を説明する。まず、シェア生成装置11-Aiに代えてシェア生成装置21-Aiが、第1実施形態で説明したステップS111-AiからS115-Aiの処理を実行する。ただし、本形態ではNおよびmは3以上の整数である。
ci(--),i=Σ0≦j<m’(i(--)){ti(--) j+1[(x’i(--))j]i}+ti(--) m’(i(--))+1[(x’i(--))m’(i(--))-1]i∈Fv
di(--),i=Σ0≦j<m’(i(--)){ui(--) j+1[(x’i(--))j]i}+ui(--) m’(i(--))+1[(x’i(--))m’(i(--))-1]i∈Fv
ただし、δ=0,…,N-1であり、ceilが天井関数であり、m’(i)がceil(m(i)/v)である。[(x’δ)j]iは、集合Fvに属する([(xδ)vj]i,[(xδ)vj+1]i,…,[(xδ)v(j+1)-1]i)∈Fvである。また、j=m’(i)-1について、[(xδ)vj]i,[(xδ)vj+1]i,…,[(xδ)v(j+1)-1]iがv個に満たない場合、[(x’δ)(m’(i)-1)]i=([(xδ)v(m’(i)-1)]i,[(xδ)v(m’(i)-1)+1]i,…,[(xδ)m(i)-1]i,0,…,0)∈Fvとする。チェックサムci(--),iおよびdi(--),iは、Fを基礎体としたv次拡大体上で計算されてもよい。Σ0≦j<m’(i(--)){βj}はβ0+…+βm’(i(--))を表し、βi(--) γは(βi(--))γを表す(ステップS2181-Ai,S2182-Ai)。
ci,i=Σ0≦j<m’(i){ti j+1[(x’i)j]i}+ti m’(i)+1[(x’i)m’(i)-1]i∈Fv
di(-),i=Σ0≦j<m’(i(-)){ui(-) j+1[(x’i(-))j]i}+ui(-) m’(i(-))+1[(x’i(-))m’(i(-))-1]i∈Fv
ただし、βi γは(βi)γを表し、βi(-) γは(βi(-))γを表す。チェックサムci,iおよびdi(-),iは、Fを基礎体としたv次拡大体上で計算されてもよい(ステップS2191-Ai,S2192-Ai)。
図5を用い、本形態の復元装置22(図3)が行う復元方法を説明する。
シェア生成装置21-A0,…,21-AN-1から出力されたN個のシェアSS0,…,SSN-1は、復元装置22の通信部221(入力部)で受信され(受け付けられ)、出力される(ステップS221)。
vci=Σ0≦j<m’(i){ti j+1(x’i)j}+ti m’(i)+1(x’i)m’(i)-1∈Fv
vdi=Σ0≦j<m’(i){ui j+1(x’i)j}+ui m’(i)+1(x’i)m’(i)-1∈Fv
ただし、m’(i)がceil(m(i)/v)であり、(x’ i)jが集合Fvに属する((xi)vj,(xi)vj+1,…,(xi)v(j+1)-1)∈Fvであり、βi γは(βi)γを表す(ステップS2252)。
本形態でも、シャミア秘密分散法に則ったシェアよりも総通信データ量を小さくできる。各シェア生成装置21-Aiは平文xの情報を一切得ることなく、シャミア秘密分散法に則ったシェア[x]iからデータ量の小さなシェアSSiを得ることができる。復元装置22はN個のシェアSS0,…,SSN-1を用いて平文xを復元できる。
第2実施形態では、ステップS2261でci=vciを満たすと判定された場合に、ステップS2262でdi=vdiを満たすかを判定した。しかしながら、すべてのi=0,…,N-1についてci=vciかつdi=vdiを満たす場合にステップS123の処理が実行され、それ以外の場合にステップS2263が実行されるのであれば、その他の判定処理が行われてもよい。
第2実施形態では復元装置22が2種類のチェックサムci,diを検証することとした。しかしながら、復元装置22がチェックサムci,diの何れか一方のみを検証する構成であってもよい。この場合の処理は以下のようになる。
ステップS111-AiからS115-Aiの処理が実行された後、ステップS215-Aiの処理に代えて、(処理I)各シェア生成装置21-Aiの共有部215-Aiがシェア生成装置21-Ai(--)の共有部215-Ai(--)との間で任意値ti(--)∈Fを共有し、かつ、シェア生成装置21-Ai(++)の共有部215-Ai(++)との間で任意値ti∈Fを共有する、または、(処理II)各シェア生成装置21-Aiの共有部215-Aiがシェア生成装置21-Ai(+)の共有部215-Ai(+)との間で任意値ui(--)∈Fを共有し、かつ、シェア生成装置21-Ai(-)の共有部215-Ai(-)との間で任意値ui(-)∈Fを共有する。すべてのi=0,…,N-1について処理Iのみが実行されるか、または、すべてのi=0,…,N-1について処理IIのみが実行される。
ステップS221およびS122の処理が実行された後、復元部224は以下の処理を行う。シェアSSiがチェックサムci,iを含み、かつ、シェアSSi(++)がチェックサムci,i(++)を含む場合(処理I)、復元部224はステップS2241を実行し、チェックサムci,iおよびチェックサムci,i(++)をシャミア秘密分散法に則ったシェアとしてチェックサムciを復元して出力する。この場合、前述したステップS2242の処理は実行されない。
なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
11-Ai,21-Ai シェア生成装置
12,22 復元装置
Claims (15)
- N個のシェア生成装置A0,…,AN-1に含まれるシェア生成装置Aiであって、
Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上m未満の整数であり、i=0,…,N-1であり、j=0,…,N-1であり、i(+)=i+1 mod Nであり、i(-)=i-1 mod Nであり、Pm(i)が関数であり、前記関数Pm(i)の値域がm(i)個の体Fの元の列を要素とする集合Fm(i)に属し、
シャミア秘密分散法に則ったシェア[α]iにラグランジュ係数λ(i,i(-))を乗じて得られる値と前記シャミア秘密分散法に則ったシェア[α]i(-)にラグランジュ係数λ(i(-),i)を乗じて得られる値との和が復元値αであり、前記シェア[α]iにラグランジュ係数λ(i,i(+))を乗じて得られる値と前記シャミア秘密分散法に則ったシェア[α]i(+)にラグランジュ係数λ(i(+),i)を乗じて得られる値との和が前記復元値αであり、
前記シャミア秘密分散法に則った平文xのシェア[x]i∈Fmがm=m(0)+…+m(N-1)および[xj]i∈Fm(j)を満たすN個のシェア[x0]i,…,[xN-1]iによって表現され、
入力されたシードsiの関数値ri=Pm(i(-))(si)∈Fm(i(-))を得る関数演算部と、
前記ラグランジュ係数λ(i,i(-))、シェア[xi(-)]i、および前記関数値riを用いて第1計算値ζi=λ(i,i(-))[xi(-)]i+ri∈Fm(i(-))を得る第1秘密計算部と、
前記第1計算値ζiを前記シェア生成装置Ai(-)に対して出力する出力部と、
第2計算値ζi(+)∈Fm(i)を受け付ける入力部と、
前記ラグランジュ係数λ(i,i(+))、前記シェア[xi]i、および前記第2計算値ζi(+)を用いて第3計算値zi=λ(i,i(+))[xi]i+ζi(+)∈Fm(i)を得る第2秘密計算部と、
前記シードsiおよび前記第3計算値ziを含む情報を、秘密分散における前記平文xのシェアSSiとして得て出力するシェア生成部と、
を有するシェア生成装置。 - 請求項1のシェア生成装置であって、
Nが3以上の整数であり、i(++)=i+2 mod Nであり、i(--)=i-2 mod Nであり、δ=0,…,N-1であり、vが1以上の整数であり、ceilが天井関数であり、前記シェア[xj]iがm(j)個のシェア([(xj)0]i,…,[(xj)m(j)-1]i∈Fに分割でき、m’(i)がceil(m(i)/v)であり、[(x’δ)j]iが集合Fvに属する([(xδ)vj]i,[(xδ)vj+1]i,…,[(xδ)v(j+1)-1]i)∈Fvであり、
シェア生成装置Ai(--)との間で任意値ti(--)∈Fvを共有し、かつ、シェア生成装置Ai(++)との間で任意値ti∈Fvを共有する、および/または、シェア生成装置Ai(+)との間で任意値ui(--)∈Fvを共有し、かつ、シェア生成装置Ai(-)との間で任意値ui(-)∈Fvを共有する共有部と、
前記共有部で前記任意値ti(--)が共有される場合にチェックサムci(--),i=Σ0≦j<m’(i(--)){ti(--) j+1[(x’i(--))j]i}+ti(--) m’(i(--))+1[(x’i(--))m’(i(--))-1]i∈Fvを得、前記共有部で前記任意値ui(--)が共有される場合にチェックサムdi(--),i=Σ0≦j<m’(i(--)){ui(--) j+1[(x’i(--))j]i}+ui(--) m’(i(--))+1[(x’i(--))m’(i(--))-1]i∈Fvを得る第1チェックサム生成部と、
前記共有部で前記任意値tiが共有される場合にチェックサムci,i=Σ0≦j<m’(i){ti j+1[(x’i)j]i}+ti m’(i)+1[(x’i)m’(i)-1]i∈Fvを得、前記共有部で前記任意値ui(-)が共有される場合にチェックサムdi(-),i=Σ0≦j<m’(i(-)){ui(-) j+1[(x’i(-))j]i}+ui(-) m’(i(-))+1[(x’i(-))m’(i(-))-1]i∈Fvを得る第2チェックサム生成部と、を有し、
前記共有部で前記任意値ti(--)および前記任意値tiが共有される場合に、前記シェア生成部が生成する前記シェアSSiは、さらに、前記任意値ti(--)、前記任意値ti、前記チェックサムci(--),i、および前記チェックサムci,iを含み、
前記共有部で前記任意値ui(--)および前記任意値ui(-)が共有される場合に、前記シェア生成部が生成する前記シェアSSiは、さらに、前記任意値ui(--)、前記任意値ui(-)、前記チェックサムdi(--),i、および前記チェックサムdi(-),iを含む、シェア生成装置。 - 請求項1のシェア生成装置であって、
Nが3以上の整数であり、i(++)=i+2 mod Nであり、i(--)=i-2 mod Nであり、δ=0,…,N-1であり、vが1以上の整数であり、ceilが天井関数であり、前記シェア[xj]iがm(j)個のシェア([(xj)0]i,…,[(xj)m(j)-1]i∈Fに分割でき、m’(i)がceil(m(i)/v)であり、[(x’δ)j]iが集合Fvに属する([(xδ)vj]i,[(xδ)vj+1]i,…,[(xδ)v(j+1)-1]i)∈Fvであり、
シェア生成装置Ai(--)との間で任意値ti(--)∈Fvを共有し、シェア生成装置Ai(++)との間で任意値ti∈Fvを共有し、シェア生成装置Ai(+)との間で任意値ui(--)∈Fvを共有し、シェア生成装置Ai(-)との間で任意値ui(-)∈Fvを共有する共有部と、
チェックサムci(--),i=Σ0≦j<m’(i(--)){ti(--) j+1[(x’i(--))j]i}+ti(--) m’(i(--))+1[(x’i(--))m’(i(--))-1]i∈Fvを得、チェックサムdi(--),i=Σ0≦j<m’(i(--)){ui(--) j+1[(x’i(--))j]i}+ui(--) m’(i(--))+1[(x’i(--))m’(i(--))-1]i∈Fvを得る第1チェックサム生成部と、
チェックサムci,i=Σ0≦j<m’(i){ti j+1[(x’i)j]i}+ti m’(i)+1[(x’i)m’(i)-1]i∈Fvを得、チェックサムdi(-),i=Σ0≦j<m’(i(-)){ui(-) j+1[(x’i)j]i}+ui(-) m’(i(-))+1[(x’i)m’(i(-))-1]i∈Fvを得る第2チェックサム生成部と、を有し、
前記シェア生成部が生成する前記シェアSSiは、さらに、前記任意値ti(--)、前記任意値ti、前記任意値ui(--)、前記任意値ui(-)、前記チェックサムci(--),i、前記チェックサムci,i、前記チェックサムdi(--),i、およびチェックサムdi(-),iを含む、シェア生成装置。 - 請求項1から3のいずれかのシェア生成装置であって、
前記シードsiのデータ量は前記関数値riのデータ量よりも小さい、シェア生成装置。 - 請求項1から4のいずれかのシェア生成装置であって、
前記シェアSS0,…,SSN-1の総データ量は、前記平文xのデータ量のN倍未満である、シェア生成装置。 - Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上m未満の整数であり、i=0,…,N-1であり、i(+)=i+1 mod Nであり、Pm(i)が関数であり、前記関数Pm(i)の値域がm(i)個の体Fの元の列を要素とする集合Fm(i)に属し、
N個のシェアSS0,…,SSN-1を受け付ける入力部と、
シェアSSiに含まれた第3計算値zi∈Fm(i)およびシェアSSi(+)に含まれたシードsi(+)を用いて要素xi=zi-Pm(i)(si(+))∈Fm(i)を得る演算部と、
前記演算部で得られた要素x0,…,xN-1によって表現される復元値x∈Fmを得る連結部と、
を有する復元装置。 - 請求項6の復元装置であって、
Nが3以上の整数であり、vが1以上の整数であり、ceilが天井関数であり、前記要素xi∈Fm(i)がm(i)個のサブ要素(xi)0,…,(xi)m(i)-1∈Fに分割でき、m’(i)がceil(m(i)/v)であり、(x’i)jが集合Fvに属する((xi)vj,(xi)vj+1,…,(xi)v(j+1)-1)∈Fvであり、前記シェアSSiは、さらに、任意値ti(--)、任意値ti、チェックサムci(--),i、およびチェックサムci,i、および/または、任意値ui(--)、任意値ui(-)、チェックサムdi(--),i、およびチェックサムdi(-),iを含み、
前記シェアSSiが前記チェックサムci,iを含み、かつ、シェアSSi(++)がチェックサムci,i(++)を含む場合に、前記チェックサムci,iおよび前記チェックサムci,i(++)をシャミア秘密分散法に則ったシェアとしてチェックサムciを復元し、シェアSSi(+)がチェックサムdi,i(+)を含み、かつ、前記シェアSSi(++)がチェックサムdi,i(++)を含む場合に、前記チェックサムdi,i(+)および前記チェックサムdi,i(++)を前記シャミア秘密分散法に則ったシェアとしてチェックサムdiを復元する復元部と、
前記チェックサムciが復元される場合に、検証値vci=Σ0≦j<m’(i){ti j+1(x’i)j}+ti m’(i)+1(x’i)m’(i)-1∈Fvを得、前記チェックサムdiが復元される場合に、検証値vdi=Σ0≦j<m’(i){ui j+1(x’i)j}+ui m’(i)+1(x’i)m’(i)-1∈Fvを得る検証値生成部と、
前記チェックサムciが復元される場合にci=vciを満たすかを判定し、前記チェックサムdiが復元される場合にdi=vdiを満たすかを判定する判定部と、
を有する復元装置。 - 請求項6の復元装置であって、
Nが3以上の整数であり、vが1以上の整数であり、ceilが天井関数であり、前記要素xi∈Fm(i)がm(i)個のサブ要素(xi)0,…,(xi)m(i)-1∈Fに分割でき、m’(i)がceil(m(i)/v)であり、(x’i)jが集合Fvに属する((xi)vj,(xi)vj+1,…,(xi)v(j+1)-1)∈Fvであり、前記シェアSSiは、さらに、任意値ti(--)、任意値ti、チェックサムci(--),i、チェックサムci,i、任意値ui(--)、任意値ui(-)、チェックサムdi(--),i、およびチェックサムdi(-),iを含み、
前記チェックサムci,iおよび前記チェックサムci,i(++)をシャミア秘密分散法に則ったシェアとしてチェックサムciを復元し、前記チェックサムdi,i(+)および前記チェックサムdi,i(++)を前記シャミア秘密分散法に則ったシェアとしてチェックサムdiを復元する復元部と、
検証値vci=Σ0≦j<m’(i){ti j+1(x’i)j}+ti m’(i)+1(x’i)m’(i)-1∈Fvを得、検証値vdi=Σ0≦j<m’(i){ui j+1(x’i)j}+ui m’(i)+1(x’i)m’(i)-1∈Fvを得る検証値生成部と、
ci=vciを満たすかを判定し、di=vdiを満たすかを判定する判定部と、
を有する復元装置。 - 請求項6から8のいずれかの復元装置であって、
前記シードsi(+)のデータ量は前記Pm(i)(si(+))のデータ量よりも小さい、復元装置。 - 請求項6から9のいずれかの復元装置あって、
前記シェアSS0,…,SSN-1の総データ量は、前記平文xのデータ量のN倍未満である、復元装置。 - 復元装置およびN個のシェア生成装置A0,…,AN-1を有し、
Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上m未満の整数であり、i=0,…,N-1であり、j=0,…,N-1であり、i(+)=i+1 mod Nであり、i(-)=i-1 mod Nであり、Pm(i)が関数であり、前記関数Pm(i)の値域がm(i)個の体Fの元の列を要素とする集合Fm(i)に属し、
シャミア秘密分散法に則ったシェア[α]iにラグランジュ係数λ(i,i(-))を乗じて得られる値と前記シャミア秘密分散法に則ったシェア[α]i(-)にラグランジュ係数λ(i(-),i)を乗じて得られる値との和が復元値αであり、前記シェア[α]iにラグランジュ係数λ(i,i(+))を乗じて得られる値と前記シャミア秘密分散法に則ったシェア[α]i(+)にラグランジュ係数λ(i(+),i)を乗じて得られる値との和が前記復元値αであり、
前記シャミア秘密分散法に則った平文xのシェア[x]i∈Fmがm=m(0)+…+m(N-1)および[xj]i∈Fm(j)を満たすN個のシェア[x0]i,…,[xN-1]iによって表現され、
前記N個のシェア生成装置A0,…,AN-1に含まれるシェア生成装置Aiは、
入力されたシードsiの関数値ri=Pm(i(-))(si)∈Fm(i(-))を得る関数演算部と、
前記ラグランジュ係数λ(i,i(-))、シェア[xi(-)]i、および前記関数値riを用いて第1計算値ζi=λ(i,i(-))[xi(-)]i+ri∈Fm(i(-))を得る第1秘密計算部と、
前記第1計算値ζiを前記シェア生成装置Ai(-)に対して出力する出力部と、
第2計算値ζi(+)∈Fm(i)を受け付ける第1入力部と、
前記ラグランジュ係数λ(i,i(+))、前記シェア[xi]i、および前記第2計算値ζi(+)を用いて第3計算値zi=λ(i,i(+))[xi]i+ζi(+)∈Fm(i)を得る第2秘密計算部と、
前記シードsiおよび前記第3計算値ziを含む情報を、秘密分散における前記平文xのシェアSSiとして得て出力するシェア生成部と、を含み、
前記復元装置は、
N個のシェアSS0,…,SSN-1を受け付ける第2入力部と、
シェアSSiに含まれた第3計算値zi∈Fm(i)およびシェアSSi(+)に含まれたシードsi(+)を用いて要素xi=zi-Pm(i)(si(+))∈Fm(i)を得る演算部と、
前記演算部で得られた要素x0,…,xN-1によって表現される復元値x∈Fmを得る連結部と、を含む、秘密計算システム。 - N個のシェア生成装置A0,…,AN-1に含まれるシェア生成装置Aiのシェア生成方法あって、
Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上m未満の整数であり、i=0,…,N-1であり、j=0,…,N-1であり、i(+)=i+1 mod Nであり、i(-)=i-1 mod Nであり、Pm(i)が関数であり、前記関数Pm(i)の値域がm(i)個の体Fの元の列を要素とする集合Fm(i)に属し、
シャミア秘密分散法に則ったシェア[α]iにラグランジュ係数λ(i,i(-))を乗じて得られる値と前記シャミア秘密分散法に則ったシェア[α]i(-)にラグランジュ係数λ(i(-),i)を乗じて得られる値との和が復元値αであり、前記シェア[α]iにラグランジュ係数λ(i,i(+))を乗じて得られる値と前記シャミア秘密分散法に則ったシェア[α]i(+)にラグランジュ係数λ(i(+),i)を乗じて得られる値との和が前記復元値αであり、
前記シャミア秘密分散法に則った平文xのシェア[x]i∈Fmがm=m(0)+…+m(N-1)および[xj]i∈Fm(j)を満たすN個のシェア[x0]i,…,[xN-1]iによって表現され、
関数演算部が、入力されたシードsiの関数値ri=Pm(i(-))(si)∈Fm(i(-))を得る関数演算ステップと、
第1秘密計算部が、前記ラグランジュ係数λ(i,i(-))、シェア[xi(-)]i、および前記関数値riを用いて第1計算値ζi=λ(i,i(-))[xi(-)]i+ri∈Fm(i(-))を得る第1秘密計算ステップと、
出力部が、前記第1計算値ζiを前記シェア生成装置Ai(-)に対して出力する出力ステップと、
入力部が、第2計算値ζi(+)∈Fm(i)を受け付ける入力ステップと、
第2秘密計算部が、前記ラグランジュ係数λ(i,i(+))、前記シェア[xi]i、および前記第2計算値ζi(+)を用いて第3計算値zi=λ(i,i(+))[xi]i+ζi(+)∈Fm(i)を得る第2秘密計算ステップと、
シェア生成部が、前記シードsiおよび前記第3計算値ziを含む情報を、秘密分散における前記平文xのシェアSSiとして得て出力するシェア生成ステップと、
を有するシェア生成方法。 - Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上m未満の整数であり、i=0,…,N-1であり、i(+)=i+1 mod Nであり、Pm(i)が関数であり、前記関数Pm(i)の値域がm(i)個の体Fの元の列を要素とする集合Fm(i)に属し、
入力部が、N個のシェアSS0,…,SSN-1を受け付ける入力ステップと、
演算部が、シェアSSiに含まれた第3計算値zi∈Fm(i)およびシェアSSi(+)に含まれたシードsi(+)を用いて要素xi=zi-Pm(i)(si(+))∈Fm(i)を得る演算ステップと、
連結部が、前記演算部で得られた要素x0,…,xN-1によって表現される復元値x∈Fmを得る連結ステップと、
を有する復元方法。 - 請求項1から5の何れかのシェア生成装置、または、請求項6から10の何れかの復元装置としてコンピュータを機能させるためのプログラム。
- 請求項1から5の何れかのシェア生成装置、または、請求項6から10の何れかの復元装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201880054042.XA CN111052205B (zh) | 2017-08-22 | 2018-08-16 | 份额生成装置、复原装置、秘密计算系统、份额生成方法、复原方法、以及记录介质 |
AU2018321008A AU2018321008B2 (en) | 2017-08-22 | 2018-08-16 | Share generating device, reconstructing device, secure computation system, share generation method, reconstruction method, program, and recording medium |
EP18847949.7A EP3675090B1 (en) | 2017-08-22 | 2018-08-16 | Share generating device, reconstructing device, secure computation system, share generation method, reconstruction method, program, and recording medium |
US16/639,000 US11818254B2 (en) | 2017-08-22 | 2018-08-16 | Share generating device, reconstructing device, secure computation system, share generation method, reconstruction method, program, and recording medium |
JP2019537591A JP6825111B2 (ja) | 2017-08-22 | 2018-08-16 | シェア生成装置、復元装置、秘密計算システム、シェア生成方法、復元方法、プログラム、および記録媒体 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017-159346 | 2017-08-22 | ||
JP2017159346 | 2017-08-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019039383A1 true WO2019039383A1 (ja) | 2019-02-28 |
Family
ID=65439872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/030442 WO2019039383A1 (ja) | 2017-08-22 | 2018-08-16 | シェア生成装置、復元装置、秘密計算システム、シェア生成方法、復元方法、プログラム、および記録媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11818254B2 (ja) |
EP (1) | EP3675090B1 (ja) |
JP (1) | JP6825111B2 (ja) |
CN (1) | CN111052205B (ja) |
AU (1) | AU2018321008B2 (ja) |
WO (1) | WO2019039383A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023233622A1 (ja) * | 2022-06-02 | 2023-12-07 | 日本電信電話株式会社 | 秘密計算装置、秘密計算方法、プログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220271933A1 (en) * | 2021-02-19 | 2022-08-25 | Samsung Electronics Co., Ltd. | System and method for device to device secret backup and recovery |
Citations (4)
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 (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6011848A (en) * | 1994-03-07 | 2000-01-04 | Nippon Telegraph And Telephone Corporation | Method and system for message delivery utilizing zero knowledge interactive proof protocol |
EP1225530B1 (en) * | 2001-01-18 | 2005-10-26 | Nippon Telegraph and Telephone Corporation | Method, apparatus and program for quantitative competition and recording medium having recorded thereon the program |
JP4610176B2 (ja) * | 2003-04-15 | 2011-01-12 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | データ原本性確保方法およびシステム、ならびにデータ原本性確保用プログラム |
WO2006124289A2 (en) * | 2005-05-13 | 2006-11-23 | Temple University - Of The Commonwealth System Of Higher Education | Secret sharing technique with low overhead information content |
US8050410B2 (en) * | 2006-12-08 | 2011-11-01 | Uti Limited Partnership | Distributed encryption methods and systems |
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) |
WO2010123114A1 (ja) * | 2009-04-24 | 2010-10-28 | 日本電信電話株式会社 | 秘密分散システム、分散装置、分散管理装置、取得装置、それらの処理方法、秘密分散方法、プログラム及び記録媒体 |
JP5285778B2 (ja) * | 2009-08-03 | 2013-09-11 | 日本電信電話株式会社 | 関数暗号応用システム及び方法 |
US9922063B2 (en) * | 2009-12-29 | 2018-03-20 | International Business Machines Corporation | Secure storage of secret data in a dispersed storage network |
CN104412539B (zh) * | 2012-07-05 | 2017-05-24 | 日本电信电话株式会社 | 秘密分散系统、数据分散装置、分散数据变换装置、以及秘密分散方法 |
JP5885840B2 (ja) | 2012-07-05 | 2016-03-16 | 日本電信電話株式会社 | 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム |
JP6040320B2 (ja) * | 2013-10-10 | 2016-12-07 | 日本電信電話株式会社 | 秘密並列処理装置、秘密並列処理方法、プログラム |
JP5860557B1 (ja) * | 2015-02-06 | 2016-02-16 | 日本電信電話株式会社 | 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム |
JP5968484B1 (ja) * | 2015-03-18 | 2016-08-10 | 日本電信電話株式会社 | シェア復旧システム、シェア復旧方法、およびプログラム |
JP5872085B1 (ja) * | 2015-03-18 | 2016-03-01 | 日本電信電話株式会社 | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム |
-
2018
- 2018-08-16 AU AU2018321008A patent/AU2018321008B2/en active Active
- 2018-08-16 CN CN201880054042.XA patent/CN111052205B/zh active Active
- 2018-08-16 JP JP2019537591A patent/JP6825111B2/ja active Active
- 2018-08-16 US US16/639,000 patent/US11818254B2/en active Active
- 2018-08-16 WO PCT/JP2018/030442 patent/WO2019039383A1/ja unknown
- 2018-08-16 EP EP18847949.7A patent/EP3675090B1/en active Active
Patent Citations (4)
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 (1)
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 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023233622A1 (ja) * | 2022-06-02 | 2023-12-07 | 日本電信電話株式会社 | 秘密計算装置、秘密計算方法、プログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2019039383A1 (ja) | 2020-09-03 |
CN111052205B (zh) | 2023-03-28 |
AU2018321008A1 (en) | 2020-02-27 |
US20200366466A1 (en) | 2020-11-19 |
EP3675090B1 (en) | 2023-04-26 |
US11818254B2 (en) | 2023-11-14 |
EP3675090A4 (en) | 2021-05-05 |
AU2018321008B2 (en) | 2021-05-20 |
EP3675090A1 (en) | 2020-07-01 |
CN111052205A (zh) | 2020-04-21 |
JP6825111B2 (ja) | 2021-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3096309B1 (en) | Secret calculation method, secret calculation system, sorting device, and program | |
CN107210006B (zh) | 不一致检测方法、检测系统、检测装置以及记录介质 | |
US10002547B2 (en) | Secret calculation method, secret calculation system, random permutation device, and program | |
EP3057078B1 (en) | Secret quotient transfer device, secret quotient transfer method, and program therefor | |
WO2015053184A1 (ja) | 秘密並列処理装置、秘密並列処理方法、プログラム | |
JP7096610B2 (ja) | 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム | |
JP2016146530A (ja) | 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム | |
WO2019039383A1 (ja) | シェア生成装置、復元装置、秘密計算システム、シェア生成方法、復元方法、プログラム、および記録媒体 | |
JP6777816B2 (ja) | 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム | |
US11888977B2 (en) | Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium | |
WO2020188906A1 (ja) | 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム | |
EP3757976B1 (en) | Secret calculation device, secret calculation authentication system, secret calculation method, and program | |
JP5554357B2 (ja) | 演算装置 | |
WO2019039381A1 (ja) | 秘密計算装置、秘密計算方法、プログラム、および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18847949 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019537591 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: 2018321008 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: 2018847949 Country of ref document: EP Effective date: 20200323 |