WO2019039381A1 - 秘密計算装置、秘密計算方法、プログラム、および記録媒体 - Google Patents
秘密計算装置、秘密計算方法、プログラム、および記録媒体 Download PDFInfo
- Publication number
- WO2019039381A1 WO2019039381A1 PCT/JP2018/030440 JP2018030440W WO2019039381A1 WO 2019039381 A1 WO2019039381 A1 WO 2019039381A1 JP 2018030440 W JP2018030440 W JP 2018030440W WO 2019039381 A1 WO2019039381 A1 WO 2019039381A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- secret
- processing
- information
- matrix
- round
- Prior art date
Links
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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- 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
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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 a secret computation technique for block ciphers.
- AES Advanced Encryption Standard
- CTR mode one of the encryption usage modes for encrypting plaintext every predetermined length block.
- An object of the present invention is to efficiently perform a round process that repeats element replacement, row cyclic shift, column linear sum, and round key addition by secret calculation.
- B is an integer of 1 or more
- R is an integer of 3 or more
- S is an integer of 2 or more
- U S 2
- F is a finite field.
- b 0, ..., B-1
- the first round processing includes processing P 1 , 4 and processing P 1 , 4 are S elements of one column of S ⁇ S matrix consisting of elements of the round key k 1 ⁇ F U of the first round S counter values i b, 0 ,..., I b, S ⁇ 1 Are respectively added to obtain a matrix M b, 1,4 .
- the jth round processing includes processing P j, 1 , processing P j, 2 , processing P j, 3 and processing P j, 4, and processing P j, 1 is a matrix M b, j-1,4
- the process P j, 2 includes the process of replacing each element to obtain the matrix M b, j, 1 , and the process P j, 2 cyclically shifts each element of the matrix M b, j, 1 row by row to generate the matrix M b, j, 2 includes the obtaining process
- process P j, 3 is a matrix M b, j, 2 of matrix M b of the linear sum of the S component of each column is S number of elements of the column to obtain a j, 3 treatment hints
- process P j, 4 is a matrix M b, j, 3 of the matrix M b by adding each element of the round key k j of the j-th round in each element, j, a 4 to obtain treated.
- Table M (i 0, ..., i S-1) to the counter value i b, 0, ..., i b, M obtained by substituting S-1 (i b, 0 , ..., i b, S-1) Is a matrix M b, ⁇ , ⁇ where M b, 2,1 ,..., M b, 3,2 .
- a round process that repeats element replacement, row cyclic shift, column linear sum, and round key addition can be efficiently performed by secret calculation.
- FIG. 1 is a block diagram illustrating a secret calculation system of the embodiment.
- FIG. 2 is a block diagram illustrating the functional configuration of the secret computing device of the embodiment.
- FIG. 3A is a block diagram illustrating a functional configuration of a table generation unit of the embodiment.
- FIG. 3B is a block diagram illustrating the functional configuration of the round processing unit of the embodiment.
- FIG. 4 is a conceptual diagram for explaining the entire process of the embodiment.
- FIG. 5 is a conceptual diagram for explaining ordinary block encryption.
- FIG. 6 is a flowchart for explaining the encryption process of the embodiment.
- FIG. 7 is a flowchart for explaining the details of the table generation process of the embodiment.
- FIG. 8 is a flowchart for explaining the details of the round processing of the embodiment.
- FIG. 9 is a flowchart for explaining the details of the round processing of the embodiment.
- the secret computing system 1 of this embodiment has N secret computing devices 10-0 to 10- (N-1).
- N is an integer of 1 or more.
- N ⁇ 2 when performing a secret calculation using a share obtained by secret sharing, N ⁇ 2, and when performing a secret calculation using a homomorphic ciphertext, N ⁇ 1.
- N ⁇ 2 when performing a secret calculation using a share obtained by secret sharing, N ⁇ 2, and when performing a secret calculation using a homomorphic ciphertext, N ⁇ 1.
- the secret computing devices 10-0 to 10- (N-1) are configured to be communicable through the network.
- the secret computing device 10-n executes each process under the control of the control unit 1051-n. Data obtained by each process is stored in a memory (not shown). The data stored in the memory is read out as needed and used for each process.
- the table generation unit 1010-n has a secret calculation unit 1011-n and a control unit 1012-n.
- the round processing unit 1030-n includes a secret calculation unit 1031-n and a control unit 1032-n.
- plaintext block P 0, ..., confidential information P B-1 ⁇ F U ⁇ P 0 ⁇ , ..., ⁇ P B-1 ⁇ ⁇ ⁇ F U ⁇ and the addition by the secure computing (e.g., exclusive OR) Do.
- B is an integer of 1 or more
- R is an integer of 3 or more
- S is an integer of 2 or more
- U S 2
- F is a finite field.
- An example of a finite field F is a base field based extension field.
- An example of the basic field is a set of remainders modulo a prime number, and the operation result in the basic field is obtained as a remainder modulo the prime number.
- F is an extension field GF (2 8 ) which is an eight-order extension of a base field of order 2.
- 256 values can be represented by the extension field GF (2 8 ).
- F ⁇ means a set having elements of ⁇ finite fields F as elements. Further, ⁇ means that ⁇ belongs to ⁇ . ⁇ means a set to which secret information ⁇ of ⁇ belongs.
- the normal block encryption process includes 1 to R + 1 rounds of round processing.
- a block encryption process in which AES is implemented in CTR mode is a process of 1 to 11 rounds when the key length is 128 bits, and a process of 1 to 13 rounds when the key length is 192 bits.
- the length is 256 bits, 1 to 15 rounds of processing are included, respectively.
- the round processing of the first round includes addition processing P 1,4 (processing P 1,4 ).
- the addition process P 1,4 is performed on S elements of S columns of one column of an S ⁇ S matrix consisting of elements of the round key k 1 1F U of the first round S counter values i b, 0 ,. , S ⁇ 1 are added to obtain a matrix M b, 1,4 .
- the addition process P 1, 4 corresponds to AddRoundKey of the first round.
- replacement processing P j, 1 (processing P j, 1 ) that performs element replacement and shift processing P j, which performs row cyclic shift 2 (process P j, 2 ), mixed process P j, 3 (process P j, 3 ) performing linear sum of columns, and addition process P j, 4 (process P j, 4 ) performing addition of round key And.
- the replacement process P j, 1 corresponds to SubBytes
- the shift process P j, 2 corresponds to ShiftRows
- the mixed process P j, 3 corresponds to MixCoumns
- the addition process P j, 4 corresponds to AddRoundKey Do.
- the permutation process P j, 1 includes a process of permuting each element of the matrix M b, j-1,4 to obtain the matrix M b, j, 1 .
- the permutation process P j, 1 is a process for replacing each element of the matrix M b, j -1 , 4 according to a predetermined procedure (for example, S-box) to obtain the matrix M b, j, 1 It is.
- the multiplicative inverse operation is performed on the extension field GF (2 8 ) by the irreducible polynomial x 8 + x 4 + x 3 + x + 1 for each element of the matrix M b, j-1,4 and further affine transformation
- Each element is replaced according to the result and the matrix M b, j, 1 is obtained
- the shift process P j, 2 includes a process of cyclically shifting each element of the matrix M b, j, 1 row by row to obtain the matrix M b, j, 2 .
- the mixing process P j, 3 includes a process of obtaining a matrix M b, j, 3 in which the linear sum of S elements of each column of the matrix M b, j, 2 is S elements of the column. The coefficients of each term of these linear sums differ from row to row.
- Addition process P j, 4 comprises a matrix M b, j, 3 of the matrix M b by adding each element of the round key k j of the j-round to each element, the process of obtaining the j, 4.
- the round process of the R + 1th round includes a replacement process PR + 1 , 1 for replacing elements, a shift process PR + 1 , 2 for cyclic shift of rows, and an addition process PR + 1 , 4 for adding round keys .
- the second round of permutation processing P 2,1 substitutes each element of the matrix M b, 1,4 according to a predetermined procedure to obtain a matrix M b, j, 1 .
- This process is performed for each element of the matrix M b, 1,4 . Therefore, the replacement process of each element can be expressed by the function f s : F ⁇ F.
- the matrix M b, 2,1 is as follows.
- the second round shift process P2,2 is a process of cyclically shifting the elements of the matrix M b, 2,1 row by row to obtain the matrix M b, 2,2 .
- the following matrix M b, 2,2 is obtained by cyclically shifting the ⁇ + 1'th row of the matrix M b, 2,1 in equation (3) in the left direction by ⁇ elements.
- the second round mixed processing P 2,3 is processing for obtaining a matrix M b, 2,3 in which the linear sum of S elements of each column of the matrix M b, 2,2 is S elements of the corresponding column. It is.
- the mixing process P2,3 is performed on the matrix Mb, 2,2 of the equation (4), for example, the following is obtained.
- the matrices M b, 2, 4 and the permutation obtained by the addition process P 2 , 4 and obtained by the process P 3, 1 matrix M b, 3, 1 also variable i i 0, ..., a univariate function value for i S-1 can be generalized as a table with the elements.
- the matrix M b, 3,2 is as follows.
- Substituting..., I b and S ⁇ 1 gives matrices M (i b, 0 ,..., I b, S ⁇ 1 ) in each block b.
- the elements of the table M (i 0 ,..., I S-1 ) can be regarded as univariate function values or constants.
- variable i i 0 a matrix obtained, ..., can not express the univariate function values as a table with the elements for i S-1 (multivariable function value (The table has an element), and the size of the table increases.
- the secret information ⁇ M (i 0 ,..., I S ⁇ 1 ) ⁇ of the table M (i 0 ,..., I S ⁇ 1 ) having one- variable function values for 1 as elements is obtained.
- Table M (i 0, ..., i S-1) to the counter value i b, 0, ..., i b, M obtained by substituting S-1 (i b, 0 , ..., i b, S-1) Is the matrix M b, ⁇ , ⁇ .
- the secret computing device 10-n is configured to receive the secret information ⁇ ib, 0 ⁇ ,..., ⁇ Ib, S-1 ⁇ and the secret information ⁇ of the counter values i b, 0 , ..., i b, S-1.
- M (i 0, ..., i S-1) using a ⁇ , b 0 by secure computing, ..., obtained matrix M b for B-1, gamma, confidential information mu ⁇ M b, gamma, and mu ⁇ .
- secure computing apparatus 10-n are either round key k 2, ..., confidential information and confidential information of k R + 1 ⁇ M b, ⁇ , ⁇ used by secure computing, by executing the remaining processing to obtain
- the secret information may be a share (secret sharing value) according to the secret sharing scheme, or a ciphertext according to the homomorphic cryptography (cipher text such as RSA cryptography or ElGamal cryptography).
- secret sharing scheme for example, Koji Chida, Hiroki Shibata, Igarashi Univ., Katsuya Takahashi, "Reconsideration of lightweight verifiable three-party secret function calculation", CSS 2010, 2010 (Reference 2), "Michael Ben-Or, Shafi Goldwasser, Avi Wigderson: Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation (Extended Abstract). STOC 1988: 1-10" (reference 3), etc. ing.
- the secure computing unit 1011-n table generation unit 1010-n is, the counter value i b, 0, ..., i b, S-1 variable i 0, ..., a i S-1, the control unit 1012-n Using the secret information of the round keys k 1 ,..., K R that are required under the control of, and any processing P ⁇ , ⁇ from addition processing P 1,4 (where P ⁇ , ⁇ is P 2,1 ,..., P 3 , 2 ) is executed by secret calculation (step S1011-n) to obtain confidential information ⁇ M (i 0 ,..., I S ⁇ 1 ) ⁇ .
- the secret calculation unit 1011-n of the table generation unit 1010-n changes the counter values i b, 0 , ..., i b, S-1 as variables.
- i 0 ,..., i S ⁇ 1 and secret information ⁇ k 1 ⁇ , ⁇ k 2 ⁇ be used to calculate the addition process P 1 , 4 of the first round and the replacement process P 2 , 1 of the second round , And obtain and output the confidential information of the matrix obtained by the permutation process P 2 , 1 as the confidential information ⁇ M (i 0 ,..., I S -1 ) ⁇ (for example, the confidential information of equation (3)) .
- the secret calculation unit 1011-n of the table generation unit 1010-n changes the counter values i b, 0 , ..., i b, S-1 as variables.
- the secret calculation unit 1011-n of the table generation unit 1010-n changes the counter values i b, 0 , ..., i b, S-1 as variables.
- Counter value i b ', 0, ..., i b', S-1 the counter value i 0,0, ..., i 0, is a value obtained by applying a predetermined rule on the S-1 .
- the counter value i b'-1,0, ..., i b'-1 the value is represented by S-1 i b'-1,0 ... i b'-1, a predetermined value S-1 (e.g. , 1)
- S-1 e.g. , 1
- the round processing unit 1030-n uses the secret information and the secret information ⁇ M b, ⁇ , ⁇ ⁇ of any round key k 2 ,..., K R + 1 to perform the remaining process by the secret calculation (step S1031 b-n).
- Post-processing is performed to obtain confidential information ⁇ M b, ⁇ , MU ⁇ of the matrix M b, ⁇ , MU obtained by execution.
- the round processing unit 1030-n is the secret information ⁇ k 3 ⁇ , ...
- the third round mixed processing P 3,3 to the R round addition processing P R, 4 is executed by secret calculation, and further, the R + 1 round replacement processing P R + 1, 1, shift processing P R + 1, 2, addition processing P R + l, 4 to run resulting matrix M b, confidential information ⁇ M b, R + 1,4 ⁇ of R + l, 4 outputs to obtain.
- the confidential information ⁇ M (i 0 ,..., I S ⁇ 1 ) ⁇ of the table M (i 0 ,..., I S ⁇ 1 ) is generated, and the confidential information ⁇ M (i 0 ,
- the size of the table M (i 0 ,..., I S-1 ) can be expressed by a data amount equal to or less than U times F, and each block b using confidential information ⁇ M (i 0 ,..., I S-1 ) ⁇
- M b, ⁇ , ⁇ is M b, 3,1 or M b, 3,2
- the communication necessary for the secret calculation of the two permutation processes P 2,1 , P 2,2 It can be reduced.
- the second embodiment is a modification of the first embodiment, in which a checksum for performing tampering detection is generated to perform tampering detection.
- the table M (i 0, ..., i S-1) encryption information ⁇ M (i 0, ..., i S-1) ⁇ of the data volume handled by the preprocessing for obtaining a is small.
- the amount of data processed in the post-stage processing performed after the pre-stage processing becomes significantly large.
- checksums are generated in different ways according to these differences. This enables safe and efficient encryption.
- differences from the first embodiment will be mainly described, and the matters already described will be simplified using the same reference numerals.
- the secret computing system 2 of this embodiment has N secret computing devices 20-0 to 20- (N-1).
- N is an integer of 1 or more.
- the secret computing devices 20-0 to 20- (N-1) are configured to be able to communicate through the network.
- the secret computing device 20-n executes each process under the control of the control unit 1051-n. Data obtained by each process is stored in a memory (not shown). The data stored in the memory is read out as needed and used for each process.
- the table generation unit 2010-n includes a secret calculation unit 1011-n, a control unit 1012-n, a random number generation unit 2015-n, and a checksum update unit 2016-n.
- the round processing unit 2030-n includes a secret calculation unit 1031-n, a control unit 1032-n, a dummy block generation unit 2035a-n, a concealment unit 2035b-n, and a combination unit 2035c-n, It has a random substitution unit 2036-n and a checksum updating unit 2037 and 2038.
- checksums are generated by different methods in the pre-stage processing with a small amount of processing data and the post-stage processing with a very large amount of processing data. That is, the table generation unit 2010 generates a first checksum for detecting tampering in the pre-stage processing according to the first method, and the round processing unit 2030 generates a second checksum for detecting tampering in the post-stage processing. Generate a checksum according to the second method.
- the first method is a method in which the level of security does not depend on the amount of data of the restoration value of the confidential information that is the target of tampering detection.
- the second method is a method in which the level of security depends on the data amount of the restoration value of the confidential information that is the target of tampering detection.
- the second method safety when the data amount of the restored value of the confidential information is a falsification detection target is alpha 1 is the amount of data restored value of confidential information is a falsification detection target is alpha 2
- This method is higher than the safety of However, ⁇ 1 is larger than ⁇ 2 .
- the second method is a method in which the security is higher as the data amount of the restoration value of the confidential information to be tampered with is larger.
- the methods of References 6 and 7 assume that dummy blocks can be calculated without being concealed. However, in the present embodiment, the dummy block is also processed as the secret information. Therefore, in the present embodiment, any one of the dummy blocks is set as the processing requiring dummy block, and the checksum for the processing requiring dummy block is generated by the third method. This will ensure higher security.
- the third method is a method in which the level of security does not depend on the data amount of the restoration value of the confidential information that is the target of tampering detection. For example, the third method is the same as the first method.
- the systems of References 4 and 5 are adopted as the first system will be described.
- step S2010-n The details of step S2010-n are illustrated using FIG.
- the secret information in this example is a share according to the secret sharing scheme.
- the pre-processing includes secret calculation using secret information in accordance with T types of secret sharing schemes meth 0 , ..., meth T-1 .
- the secret calculation is each secret calculation performed in the process of step S1010-n described above.
- a specific example of a method of generating secret information ⁇ r t ⁇ is disclosed in reference 5. For example, first, each of the random number generation units 2015-n of the secret calculation device 20-n generates a random number r ' n ⁇ F.
- any of the secure computing apparatuses 20-1 ⁇ 20- (N-1) also without knowing the random number r t, can be a random number generation unit 2015-n to obtain confidential information of the random number r t ⁇ r t ⁇ (Step S2015-n).
- the checksum updating unit 2016-n initializes C1 , t included in the first checksum to null (empty set).
- the first checksum may be composed of only C1 , t , or may be composed of C1 , t and other information (step S2016-n).
- the checksum update unit 2016-n When a plurality of pieces of secret information are used for secret calculation Com ⁇ , the checksum update unit 2016-n generates a randomized dispersion value for each piece of secret information , and updates C 1, t by adding them (step S2016a). -N).
- Secret calculation unit 1011-n executes secret calculation Com ⁇ (step S 1011-n).
- the checksum update unit 2016-n obtains the secret information ⁇ h w r t ⁇ by secret calculation using the secret information ⁇ h w ⁇ and the secret information ⁇ r t ⁇ .
- the secret calculation result includes a plurality of pieces of secret information
- the checksum updating unit 2016-n generates a randomized dispersion value for each piece of secret information , and updates C 1, t by the addition thereof (step S2016 b-n) ).
- steps S2016a-n to S2016b-n is performed until ⁇ pieces of secret calculation Com 0 ,..., Com ⁇ 1 are executed and confidential information ⁇ M (i 0 ,..., I S ⁇ 1 ) ⁇ is obtained.
- Step S1020-n The second embodiment is the same as the first embodiment except that the secret computing device 20-n executes in place of the secret computing device 10-n.
- the round processing unit 2030-n is any one of a round key k 2, ..., k R + 1 of the confidential information and confidential information ⁇ M b, ⁇ , ⁇ used by secure computing, remaining processing
- the post- stage processing is performed to obtain the confidential information ⁇ M b, ⁇ , MU ⁇ of the matrix M b, ⁇ , MU obtained by executing the following.
- the round processing unit 2030-n generates a second checksum for detecting tampering in the post-stage processing according to the second method.
- the method of changing the method of the reference documents 6 and 7 is adopted as the second method.
- Step S2030-n A specific example of step S2030-n will be described using FIG. 8 and FIG.
- the secret information in this example is a share according to the secret sharing scheme.
- the dummy block generator 2035a-n may, Y-number of dummy blocks D 0, ..., confidential information D Y-1 ⁇ F U ⁇ D 0 ⁇ , ..., and generates and outputs ⁇ D Y-1 ⁇ .
- Y p-B.
- p is a prime number larger than B.
- One of the dummy blocks D 0 ,..., D Y ⁇ 1 is set as the processing-required dummy block DP.
- the number of processing-required dummy blocks DP may be one, or two or more. Requiring processing dummy block dummy block other than DP D y 'is a public value.
- the dummy block generation unit 2035 a-n conceals the dummy block D y ′ which is a public value by a method having legitimacy to obtain the confidential information ⁇ D y ′ ⁇ .
- the process-required dummy block DP may be a public value or may not be a public value. In the former case, the dummy block generation unit 2035a-n conceals the dummy block DP, which is a public value, to obtain concealment information ⁇ DP ⁇ .
- the round processing unit 2030-n uses the secret information of any necessary round key k 2 ,..., K R + 1 and the secret information ⁇ DP ⁇ of the processing-required dummy block DP to generate a matrix M DP, ⁇ , MU
- the dummy post-processing to obtain the confidential information ⁇ M DP, ⁇ , MU ⁇ of ⁇ circle over (1) ⁇ is performed.
- the matrices M DP, ⁇ , and MU are processing results obtained by performing the above-described residual processing on the processing-required dummy block DP.
- a third checksum for detecting tampering in the dummy post-processing is generated according to the third method.
- the third method is a method in which the security does not depend on the data amount of the restoration value of the confidential information to be subjected to the dummy post-processing.
- the third scheme may or may not be the same as the first scheme.
- an example is shown in which the third method and the first method are identical to each other.
- the checksum updating unit 2038-n initializes C 3, t included in the third checksum to null (empty set).
- the third checksum may be composed only of C3 , t , or may be composed of C3 , t and other information (step S2038-n).
- ⁇ ′ is an integer of 1 or more.
- the checksum updating unit 2038 -N generates secret information ⁇ d ⁇ r t ⁇ by secret calculation using the secret information ⁇ d ⁇ ⁇ and the secret information ⁇ r t ⁇ .
- the secret calculation unit 1031-n executes the secret calculation Com3 ′ ′ (step S2031a-n).
- Secure computing Com3 [psi 'by the execution of, confidential information which is secret calculation results in line with the secret sharing scheme meth t ⁇ h' w ⁇ are obtained.
- the checksum updating unit 2038-n obtains the secret information ⁇ h ′ w r t ⁇ by secret calculation using the secret information ⁇ h ′ w ⁇ and the secret information ⁇ r t ⁇ .
- the checksum updating unit 2038-n generates a randomized dispersion value for each of the secret information , and updates C 3, t by adding them (step S 2038 b-n) ).
- steps S2038a-n to S2038b-n is repeated until ⁇ 'pieces of secret calculations Com3 0 ,..., Com3 -1'-1 are executed and secret information ⁇ M DP, ⁇ , MU ⁇ is obtained.
- the processing of steps S2038a-n to S2038b-n is repeated until the R + 1 round is completed.
- ⁇ ′ 0,..., ⁇ ′ ⁇ 1, and ⁇ 3 ⁇ ′ > is a randomized dispersion value.
- the checksum updating unit 2037-n initializes C 2, A 2, C 2, ⁇ _q , C 2, D contained in the second checksum to null (empty set).
- the second checksum is C 2, A, C 2, ⁇ _q, may be composed of only C 2, D, C 2, A, C 2, is composed of Pai_q, and C 2, D and other information (Step S2037-n).
- the random replacement unit 2036-n generates secret information ⁇ q ⁇ of random replacement information ⁇ q representing the content of random replacement.
- the random permutation information ⁇ q is information representing a random cyclic shift (step S2036-n).
- the combining unit 2035c-n uses these, and secret information of the non-randomized sequence A ⁇ F UB consisting of elements of the matrices M 0, ⁇ , ⁇ ,..., M B ⁇ 1, ⁇ , ⁇ according to secret calculation ⁇ and Y number of dummy blocks D 0, ..., confidential information ⁇ D 0 of D Y-1 ⁇ F U ⁇ , ..., ⁇ D Y-1 ⁇ and the bound secret information ⁇ a
- D ⁇ ⁇ a
- ⁇ represents a bond (linkage) between ⁇ and ⁇ (Step S2035 c-n).
- the random substitution unit 2036-n uses the secret information ⁇ q ⁇ and the secret information ⁇ A
- D to obtain a randomized sequence ⁇ q ⁇ q (A
- Secret information ⁇ q ⁇ ⁇ q (A
- D) ⁇ of U (B + Y) is obtained by secret calculation and output. This process is executed for each q 0,..., Q-1 (step S2036b-n).
- Secret calculation unit 1031-n uses secret information ⁇ A ⁇ and sets secret information ⁇ M b, ⁇ , ⁇ ⁇ corresponding to U elements of matrix M b, ⁇ , ⁇ constituting non-randomized sequence A. Perform the secret calculation of each sub-process Sub ⁇ . That is, the secure computing unit 1031-n, each secret information ⁇ M b, ⁇ , ⁇ executes secure computing for each sub-processing Sub theta respect.
- the secret calculation unit 1031-n applies the remaining process to each of the matrices M b, ⁇ , ⁇ that form the non-randomized sequence A, and obtains secret information ⁇ M b, b of the matrices M b, ⁇ , MU obtained . Obtain ⁇ , MU ⁇ .
- the secret calculation unit 1031-n obtains secret information ⁇ q, b ′ ′, ⁇ , MU ⁇ ⁇ ⁇ F U ⁇ , which is the secret calculation result of each sub-process Sub ⁇ .
- dummy block D y e.g., dummy block D y except requiring processing dummy block DP
- the operation result D y of each sub-process sub theta, gamma obtain MU ⁇ F U (step S2031b-n).
- the concealing unit 2035b-n conceals the operation results D y, ⁇ , and MU by a method having legitimacy, obtains and outputs concealment information ⁇ D y, ⁇ , MU ⁇ (step S2035 b-n).
- Checksum update unit 2037-n is confidential information ⁇ M b, ⁇ , MU ⁇ confidential information is a secret calculation results of each sub-processing Sub theta obtained in the process for obtaining a ⁇ M b, ⁇ , ⁇ , MU ⁇ Update C 2, A with ⁇ ⁇ F U ⁇ .
- A ( C0, 2, A , ..., CB -1, 2, A )
- the checksum updating unit 2037-n generates ( C0, 2, A
- ⁇ _q (C 0,2, ⁇ _q ,..., C B + Y ⁇ 1, 2, ⁇ _q )
- the checksum updating unit 2037-n updates C 2, D with confidential information ⁇ D y, ⁇ , ⁇ , MU ⁇ ⁇ ⁇ F U ⁇ of the calculation result of each sub-process Sub ⁇ .
- D ( C0,2, D , ..., CY -1,2, D )
- the checksum updating unit 2037-n calculates ( C0,2, D
- steps S2031b-n to S2037d-n is executed for all of the sub-processings Sub 0 ,..., Sub 1 . Thereafter, the checksum updating unit 2037-n outputs a second checksum including C 2, A 2, C 2, ⁇ _q , C 2, D.
- Step S1041-n The second embodiment is the same as the first embodiment except that the secret computing device 20-n executes in place of the secret computing device 10-n.
- the legitimacy verification unit 2043-n verifies the legitimacy of C 1, t and C 3, t as described in References 4 and 5.
- Further validity verifying unit 2043-n is, ⁇ 0 r t ⁇ , ..., using ⁇ ⁇ -1 r t ⁇ , the secure computing, ⁇ 0 r t, ..., of the sum of ⁇ ⁇ -1 r t Secret information ⁇ 0 r t +... + ⁇ ⁇ ⁇ 1 r t ⁇ is determined.
- the legitimacy verification unit 2043-n uses secret information ⁇ r t ( ⁇ 0 +... + ⁇ ⁇ ⁇ 1 ) ⁇ and ⁇ 0 r t +... + ⁇ ⁇ ⁇ 1 r t ⁇ to calculate DC 1 by secret calculation.
- T r t ( ⁇ 0 +...
- the secret information ⁇ DC 1, t ⁇ is obtained to restore DC 1, t .
- ⁇ 3 0 ⁇ , ..., ⁇ 3 ⁇ '-1 ⁇ and ⁇ r t ⁇ of ⁇ 3 ⁇ '-1 ⁇ , ⁇ 3 ⁇ '-1 r t ⁇ > by secret calculation, ⁇ 3 0 , ... obtains the concealment information of the results obtained by multiplying the r t to the sum of ⁇ 3 ⁇ '-1 ⁇ r t ( ⁇ 3 0 + ... + ⁇ 3 ⁇ -1) ⁇ .
- Further validity verifying unit 2043-n is, ⁇ 3 0 r t ⁇ , ..., using ⁇ 3 ⁇ '-1 r t ⁇ , the secure computing, ⁇ 3 0 r t, ..., of ⁇ 3 ⁇ '-1 r t Secret information ⁇ 3 0 r t +... + ⁇ 3 ⁇ ′ ⁇ 1 r t ⁇ of the sum is obtained.
- Step S2044-n The second checksum and the secret information ⁇ q ⁇ including C 2, A 2, C 2, ⁇ _ q , C 2, D are input to the validity verification unit 2044-n.
- the legitimacy verification unit 2044-n verifies the legitimacy of C 2, A 2, C 2, ⁇ _ q , C 2, D as described in References 5 and 6. That is, the legitimacy verification unit 2044-n releases the secret information ⁇ q ⁇ to obtain the random substitution information ⁇ q , and uses ⁇ q , C 2, A 2, C 2, ⁇ _ q , C 2, D, and a secret.
- the legitimacy verification unit 2044-n calculates secret information ⁇ ran ⁇ of random number ran and ⁇ ' b ", q, 0 ⁇ ,..., ⁇ B ' b", q, M "-1 ⁇ by secret calculation.
- the product-sum operation is performed, and as a result, ⁇ is disclosed to obtain ⁇ If the ⁇ is 0, the validity verification unit 2044-n determines that there is no falsification in the post-processing, otherwise the post-processing It is determined that the
- the round processing that repeats element replacement, row cyclic shift, column linear sum, and round key addition can be efficiently performed by secret calculation.
- a first checksum for detecting tampering in the pre-stage processing is generated according to the first method, and a second checksum for detecting tampering in the post-stage processing according to the second method. Generated.
- the amount of processing data is much larger in the post-stage processing than in the pre-stage processing.
- the second method is a method in which the security is higher as the amount of processing data is larger, and is suitable for detection of tampering in the subsequent processing.
- the amount of processing data is small, so the efficiency is low even if the second method is used.
- communication with high security can be efficiently realized by changing the checksum generation method between the pre-stage processing and the post-stage processing.
- Randomized variance values may be generated for up to secret calculations that require communication (eg, secret calculation of Multiplication Inverse of SubBytes), and C 1, t may be updated.
- a randomized dispersion value may be generated before and after each secret calculation performed in step S1020-n, and C1 , t may be updated. That is, in step S1020-n, the secret used in making the secure computing using confidential information ⁇ a lambda ⁇ conforming to secret sharing scheme meth t, and confidential information ⁇ a lambda ⁇ and confidential information ⁇ r t ⁇
- One may obtain ⁇ r t ⁇ > and update C 1, t by the addition of the randomized variance value ⁇ a ⁇ > .
- step S1020-n when secret information ⁇ h w ⁇ , which is the result of secret calculation according to the secret sharing scheme meth t , is obtained in step S1020-n, the secret information ⁇ h w ⁇ and the secret information ⁇ r t ⁇ are used.
- the first checksum including C 1, t may be updated by obtaining ⁇ h w r t ⁇ > and updating C 1, t by adding a randomized variance value ⁇ h w >.
- a checksum may be generated and verified to detect tampering in step S1041-n. This checksum is preferably generated in accordance with the second scheme.
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
[第1実施形態]
まず、第1実施形態を説明する。
<構成>
図1に例示するように、本形態の秘密計算システム1はN個の秘密計算装置10-0~10-(N-1)を有する。Nは1以上の整数である。例えば、秘密分散によって得られたシェアを用いて秘密計算を行う場合にはN≧2であり、準同型暗号文を用いて秘密計算を行う場合にはN≧1である。N≧2の場合、秘密計算装置10-0~10-(N-1)はネットワークを通じて通信可能に構成される。
図4および図5に例示するように、本形態の秘密計算装置10-nは、1,…,R+1ラウンド目のラウンド鍵k1,…,kR+1∈FUの秘匿情報{k1},…,{kR+1}∈{FU}、および各ブロックb=0,…,B-1のカウンタ値ib,0,…,ib,S-1∈Fの秘匿情報{ib,0},…,{ib,S-1}∈{F}を用い、秘密計算により、各ブロックb=0,…,B-1でブロック暗号化を行う。次に秘密計算装置10-nは、各ブロックb=0,…,B-1のブロック暗号化で得られた秘匿情報と、暗号化対象の平文PをB個のブロックに分割して得られた平文ブロックP0,…,PB-1∈FUの秘匿情報{P0},…,{PB-1}∈{FU}とを秘密計算によって加算(例えば、排他的論理和)する。ただし、Bは1以上の整数であり、Rは3以上の整数であり、Sは2以上の整数であり、U=S2であり、Fは有限体である。有限体Fの例は基礎体に基づく拡大体である。基礎体の例は素数を法とした剰余からなる集合であり、当該基礎体での演算結果は当該素数を法とした剰余として得られる。例えば、Fは位数2の基礎体を8次拡大した拡大体GF(28)である。例えば、基礎体の元が2バイトのデータである場合、拡大体GF(28)の元は1バイト(=8ビット)のデータとなる。この場合、拡大体GF(28)によって256通りの値を表現できる。Fαはα個の有限体Fの元を要素とする集合を意味する。また、α∈βはαがβに属することを意味する。{β}はα∈βの秘匿情報{α}が属する集合を意味する。
本形態のブロック暗号化では、表を用い、通常のブロック暗号化処理を効率化する。図5に例示するように、通常のブロック暗号化処理は、1~R+1ラウンドのラウンド処理を含む。例えば、AESをCTRモードで実装したブロック暗号化処理は、鍵長が128ビットの場合には1~11ラウンドの処理を、鍵長が192ビットの場合には1~13ラウンドの処理を、鍵長が256ビットの場合には1~15ラウンドの処理をそれぞれ含む。
本形態のブロック暗号化の特徴を説明する。前述のように、1ラウンド目の加算処理P1,4では、ラウンド鍵k1の要素からなるS×S行列の1つの列のS個の要素にS個のカウンタ値ib,0,…,ib,S-1をそれぞれ加算して行列Mb,1,4を得る。S=4、U=16、ラウンド鍵k1=(k1,0,…,k1,15)の場合、行列Mb,1,4は例えば以下のようになる。
ただし、n0,…,n11∈Fは任意値である。n0=…=n11=0であってもよい。AESではn0,…,n11はnonceに相当する。
ここで、f1,0,…,f1,11は全ブロックb=0,…,B-1に共通であるため定数とみなせ、f1,12(i3),…,f1,15(i0)は変数i=i0,…,i3に対する一変数関数値である。つまり、各ブロックb=0,…,B-1の行列Mb,2,1は、変数i=i0,…,i3に対する一変数関数値を要素に持つ表M(i0,…,i3)として一般化できる。このことはS=4の場合のみならず、その他のSの場合も同様である。すなわち、各ブロックb=0,…,B-1の行列Mb,2,1は、変数i=i0,…,iS-1に対する一変数関数値を要素に持つ表として一般化できる。
ただし、
である。x0,…,x11は全ブロックb=0,…,B-1で共通であるため定数とみなせ、x12,…,x15は変数i=i0,…,iS-1に対する一変数関数値である。そのため、式(5)は以下のように変形できる。
ただし、f2,s(i)(ただし、s=0,…,S-1、i=i0,…,iS-1)は一変数関数値である。つまり、行列Mb,2,3も、変数i=i0,…,iS-1に対する一変数関数値を要素に持つ表として一般化できる。
すなわち、行列Mb,2,1,…,Mb,3,2は変数i=i0,…,iS-1に対する一変数関数値を要素に持つ表として一般化できる。ここで、変数i=i0,…,iS-1に対する一変数関数値を要素に持つ表M(i0,…,iS-1)に、各ブロックbのカウンタ値ib,0,…,ib,S-1を代入すると、各ブロックbでの行列M(ib,0,…,ib,S-1)が得られる。表M(i0,…,iS-1)の要素は一変数関数値または定数とみなせる。そのため、表M(i0,…,iS-1)の各要素は有限体Fの元のデータ量以下で表現でき、表M(i0,…,iS-1)全体はそのU倍のデータ量以下で表現できる。例えば、S=4であり、有限体FがGF(28)であってその元のとり得る値の数が256通りである場合、表M(i0,…,iS-1)の各要素のとり得る値の数は256通り以下となり、表全体では1バイト×256通り×16個=4096バイト以下のデータ量となる。一方、3ラウンド目の混合処理P3,3以降では、得られる行列を変数i=i0,…,iS-1に対する一変数関数値を要素に持つ表として表現できず(多変数関数値を要素に持つ表となってしまい)、表のサイズが大きくなってしまう。
図6から図11を用い、処理の詳細を説明する。
≪前提≫
前提として、初期記憶部1001-nにラウンド鍵k1,…,kR+1の秘匿情報{k1},…,{kR+1}、カウンタ値i0,0,…,i0,S-1の秘匿情報{i0,0},…,{i0,S-1}、平文ブロックP0,…,PB-1の秘匿情報{P0},…,{PB-1}が格納されているものとする。秘匿情報は、秘密分散方式に則ったシェア(秘密分散値)であってもよいし、準同型暗号方式に則った暗号文(RSA暗号方式やElGamal暗号方式などの暗号文)であってもよい。なお、秘密分散方式に則った秘匿情報を用いた秘密計算の方法は、例えば、千田浩司、濱田浩気、五十嵐大、高橋克巳、“軽量検証可能3パーティ秘匿関数計算の再考”,CSS2010,2010年(参考文献2)、「Michael Ben-Or, Shafi Goldwasser, Avi Wigderson: Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation (Extended Abstract). STOC 1988: 1-10」(参考文献3)等に記載されている。
表生成部1010-nは、何れかのラウンド鍵k1,…,k3の秘匿情報を用い、秘密計算により、変数i=i0,…,iS-1に対する一変数関数値を要素に持つ表M(i0,…,iS-1)の秘匿情報{M(i0,…,iS-1)}を得る前段処理を行う。ただし、表M(i0,…,iS-1)にカウンタ値ib,0,…,ib,S-1を代入したM(ib,0,…,ib,S-1)が何れかの行列Mb,γ,μ=Mb,2,1,…,Mb,3,2となる。すなわち、表生成部1010-nの秘密計算部1011-nが、カウンタ値ib,0,…,ib,S-1を変数i0,…,iS-1とし、制御部1012-nの制御の下、必要となるラウンド鍵k1,…,kRの秘匿情報を用い、加算処理P1,4から何れかの処理Pγ,μ(ただし、Pγ,μはP2,1,…,P3,2の何れか)までを秘密計算によって実行して(ステップS1011-n)、秘匿情報{M(i0,…,iS-1)}を得る。例えば、Mb,γ,μ=Mb,2,1の場合、表生成部1010-nの秘密計算部1011-nは、カウンタ値ib,0,…,ib,S-1を変数i0,…,iS-1とし、秘匿情報{k1},{k2}を用い、1ラウンド目の加算処理P1,4と2ラウンド目の置換処理P2,1とを秘密計算によって実行し、置換処理P2,1によって得られる行列の秘匿情報を秘匿情報{M(i0,…,iS-1)}として得て出力する(例えば、式(3)の秘匿情報)。例えば、Mb,γ,μ=Mb,3,1の場合、表生成部1010-nの秘密計算部1011-nは、カウンタ値ib,0,…,ib,S-1を変数i0,…,iS-1とし、秘匿情報{k1},{k2},{k3}を用い、1ラウンド目の加算処理P1,4、2ラウンド目の置換処理P2,1、シフト処理P2,2、混合処理P2,3、加算処理P2,4、3ラウンド目の置換処理P3,1を秘密計算によって実行し、置換処理P3,1によって得られる行列の秘匿情報を秘匿情報{M(i0,…,iS-1)}として得て出力する。例えば、Mb,γ,μ=Mb,3,2の場合、表生成部1010-nの秘密計算部1011-nは、カウンタ値ib,0,…,ib,S-1を変数i0,…,iS-1とし、秘匿情報{k1},{k2},{k3}を用い、1ラウンド目の加算処理P1,4、2ラウンド目の置換処理P2,1、シフト処理P2,2、混合処理P2,3、加算処理P2,4、3ラウンド目の置換処理P3,1、シフト処理P3,2を秘密計算によって実行し、シフト処理P3,2によって得られる行列の秘匿情報を秘匿情報{M(i0,…,iS-1)}として得て出力する(例えば、式(8)の秘匿情報)。秘匿情報{M(i0,…,iS-1)}は表記憶部1002-nに格納される。
カウンタ更新部1003-nは、初期記憶部1001-nに格納されたカウンタ値i0,0,…,i0,S-1の秘匿情報{i0,0},…,{i0,S-1}を用い、秘密計算によって、ブロックb’=2,…,B-1のカウンタ値ib’,0,…,ib’,S-1の秘匿情報{ib’,0},…,{ib’,S-1}を得て出力する。カウンタ値ib’,0,…,ib’,S-1は、カウンタ値i0,0,…,i0,S-1に予め定められた規則を適用することで得られる値である。例えば、カウンタ値ib’-1,0,…,ib’-1,S-1によって表現される値ib’-1,0…ib’-1,S-1を所定値(例えば、1)だけ増加させた値ib’-1,0…ib’-1,S-1+1を表現する値をカウンタ値ib’,0,…,ib’,S-1とする。表計算部1020-nは、初期記憶部1001-nから読み出したか、または、カウンタ更新部1003-nから出力された秘匿情報{ib,0},…,{ib,S-1}、および表記憶部1002-nから読み出した秘匿情報{M(i0,…,iS-1)}を用い、秘密計算によって、b=0,…,B-1について、行列Mb,γ,μの秘匿情報{Mb,γ,μ}={M(ib,0,…,ib,S-1)}を得て出力する。
ラウンド処理部1030-nは、何れかのラウンド鍵k2,…,kR+1の秘匿情報および秘匿情報{Mb,γ,μ}を用い、秘密計算(ステップS1031b-n)により、残存処理を実行して得られる行列Mb,Γ,MUの秘匿情報{Mb,Γ,MU}を得る後段処理を行う。残存処理は、j=2,…,Rについての置換処理Pj,1、シフト処理Pj,2、混合処理Pj,3、および加算処理Pj,4のうち、処理Pγ,μよりも後に行われる各処理を含む処理である。処理Pγ,μは、表計算部1020-nで得られた秘匿情報{Mb,γ,μ}={M(ib,0,…,ib,S-1)}に対応する。例えば、Mb,γ,μ=Mb,3,2かつΓ=R+1,MU=4の場合、ラウンド処理部1030-nは、秘匿情報{k3},…{kR+1}および秘匿情報{Mb,3,2}を用い、秘密計算により、3ラウンド目の混合処理P3,3からRラウンド目の加算処理PR,4までを実行し、さらにR+1ラウンド目の置換処理PR+1,1、シフト処理PR+1,2、加算処理PR+1,4を実行して得られる行列Mb,R+1,4の秘匿情報{Mb,R+1,4}を得て出力する。
加算部1041-nは、各ブロックb=0,…,B-1について、秘匿情報{Mb,R+1,4}および秘匿情報{Pb}を入力とし、秘密計算によってCb=Mb,R+1,4+Pb∈FUの秘匿情報{Cb}を得て出力する。
以上のように、本形態では表M(i0,…,iS-1)の秘匿情報{M(i0,…,iS-1)}を生成し、秘匿情報{M(i0,…,iS-1)}を用いて秘密計算によって各ブロックb=0,…,B-1の秘匿情報{Mb,γ,μ}を得る。表M(i0,…,iS-1)のサイズはFのU倍のデータ量以下で表現でき、秘匿情報{M(i0,…,iS-1)}を用いて各ブロックb=0,…,B-1の処理を行うことで演算量を削減できる。さらに、Mb,γ,μがMb,3,1またはMb,3,2である場合には、2回の置換処理P2,1,P2,2の秘密計算に必要な通信を削減できる。このように、本形態では、要素の置換と行の巡回シフトと列の線形和とラウンド鍵の加算とを繰り返すラウンド処理を秘密計算によって効率的に実行できる。
第2実施形態は第1実施形態の変形例であり、改ざん検知を行うためのチェックサムを生成し、改ざん検知を行う。ただし、前述のように、表M(i0,…,iS-1)の秘匿情報{M(i0,…,iS-1)}を得るまでの前段処理で処理されるデータ量は小さい。一方、前段処理の後に行われる後段処理で処理されるデータ量は格段に大きくなる。本形態では、これらの違いに応じ、異なる方式でチェックサムを生成する。これにより、安全に効率的な暗号化を行うことができる。以下では第1実施形態との相違点を中心に説明し、既に説明した事項については、同じ参照番号を用いて説明を簡略化する。
図1に例示するように、本形態の秘密計算システム2はN個の秘密計算装置20-0~20-(N-1)を有する。Nは1以上の整数である。N≧2の場合、秘密計算装置20-0~20-(N-1)はネットワークを通じて通信可能に構成される。
本形態では、処理データ量が小さい前段処理と処理データ量が格段に大きくなる後段処理とで互いに異なる方式によってチェックサムを生成する。すなわち、表生成部2010が、前段処理での改ざんを検知するための第1チェックサムを第1方式に則って生成し、ラウンド処理部2030が、後段処理での改ざんを検知するための第2チェックサムを第2方式に則って生成する。ここで、第1方式は、改ざん検知対象である秘匿情報の復元値のデータ量に、安全性の高さが依存しない方式である。第1方式の例としては、「Dai Ikarashi, Ryo Kikuchi, Koki Hamada, and Koji Chida, “Actively Private and Correct MPC Scheme in t < n/2 from Passively Secure Schemes with Small Overhead,” Cryptology ePrint Archive, Report 2014/304, 2014.(参考文献4)」および国際公開第WO/2016/104476号(参考文献5)に記載された方式を例示できる。一方、第2方式は、改ざん検知対象である秘匿情報の復元値のデータ量に、安全性の高さが依存する方式である。すなわち、第2方式は、改ざん検知対象である秘匿情報の復元値のデータ量がα1であるときの安全性が、改ざん検知対象である秘匿情報の復元値のデータ量がα2であるときの安全性よりも高い方式である。ただし、α1がα2よりも大きい。例えば、第2方式は、改ざん検知対象である秘匿情報の復元値のデータ量が多いほど安全性が高い方式である。第2方式の例としては、「五十嵐大,菊池亮,濱田浩気,千田浩司,“少パーティ数の秘密分散ベース秘密計算における効率的なmaliciousモデル上SIMD計算の構成法,”コンピュータセキュリティシンポジウム2013論文集 2013(4), 793-800, 2013-10-14(参考文献6)」および国際公開第WO/2015/053184号(参考文献7)に記載された方式を例示できる。ただし、参考文献6,7には明記されていないが、さらなる高速化のためにはランダム置換としてランダム巡回シフト(ランダムローテーション)が用いられることが望ましい。同様に、参考文献6,7には明記されていないが、さらなる高速化のためには、生成されるダミーブロックの個数Yとブロック数Bとの合計がブロック数Bよりも大きな素数pであることが望ましい。すなわち、Y=p-Bであることが望ましい。より好ましくは、pがブロック数Bよりも大きな最小の素数であることが望ましい。また、参考文献6,7の方式は、ダミーブロックが秘匿化されずに計算可能であることを前提としている。しかし、本形態ではダミーブロックも秘匿情報として処理される。そのため、本形態ではダミーブロックの何れかを要処理ダミーブロックとし、要処理ダミーブロックに対するチェックサムを第3方式によって生成する。これによってより高い安全性を担保する。なお、第3方式は、改ざん検知対象である秘匿情報の復元値のデータ量に、安全性の高さが依存しない方式である。例えば、第3方式は第1方式と同じ方式である。
図6から図11を用い、処理の詳細を説明する。
≪前提≫
第1実施形態と同じである。
第1実施形態と同様、表生成部2010-nは、何れかのラウンド鍵k1,…,k3の秘匿情報を用い、秘密計算により、変数i=i0,…,iS-1に対する一変数関数値を要素に持つ表M(i0,…,iS-1)の秘匿情報{M(i0,…,iS-1)}を得る前段処理を行う。さらに本形態では、表生成部2010-nが当該前段処理での改ざんを検知するための第1チェックサムを第1方式に則って生成する。以下に、第1方式として参考文献4,5の方式を採用した例を示す。
図7を用いてステップS2010-nの詳細を例示する。この例の秘匿情報は秘密分散方式に則ったシェアである。前段処理はT種類の秘密分散方式meth0,…,methT-1に則った秘匿情報を用いた秘密計算を含む。当該秘密計算は前述のステップS1010-nの過程で実行される各秘密計算である。
秘密計算装置10-nに代えて秘密計算装置20-nが実行する以外、第1実施形態と同じである。
第1実施形態と同様、ラウンド処理部2030-nは、何れかのラウンド鍵k2,…,kR+1の秘匿情報および秘匿情報{Mb,γ,μ}を用い、秘密計算により、残存処理を実行して得られる行列Mb,Γ,MUの秘匿情報{Mb,Γ,MU}を得る後段処理を行う。さらに本形態では、ラウンド処理部2030-nが当該後段処理での改ざんを検知するための第2チェックサムを第2方式に則って生成する。以下に、第2方式として参考文献6,7の方式の変更方式を採用した例を示す。
図8および図9を用いてステップS2030-nの具体例を説明する。この例の秘匿情報は秘密分散方式に則ったシェアである。
まず、ダミーブロック生成部2035a-nは、Y個のダミーブロックD0,…,DY-1∈FUの秘匿情報{D0},…,{DY-1}を生成して出力する。ただし、Yは1以上の整数であり、y=0,…,Y-1である。前述のように、好ましくはY=p-Bである。ただし、pはBより大きな素数である。ダミーブロックD0,…,DY-1のうち何れかが要処理ダミーブロックDPとされる。要処理ダミーブロックDPは1個であってもよいし、2個以上であってもよい。要処理ダミーブロックDP以外のダミーブロックDy’は公開値である。ダミーブロック生成部2035a-nは、公開値であるダミーブロックDy’を、正当性を持つ方法で秘匿して秘匿情報{Dy’}を得る。要処理ダミーブロックDPは公開値であってもよいし、公開値でなくてもよい。前者の場合、ダミーブロック生成部2035a-nが、公開値であるダミーブロックDPを秘匿して秘匿情報{DP}を得る。後者の場合、ダミーブロック生成部2035a-nは、例えば、前述の秘匿情報{M(i0,…,iS-1)}と任意のカウンタ値idp,0,…,idp,S-1の秘匿情報{idp,0},…,{idp,S-1}とを用い、秘密計算によって秘匿情報{M(idp,0,…,idp,S-1)}を得、秘匿情報{DP}={M(idp,0,…,idp,S-1)}を得る(ステップS2035-n)。
秘密計算装置10-nに代えて秘密計算装置20-nが実行する以外、第1実施形態と同じである。
同期部2042-nは、すべての秘密計算装置20-1~20-(N-1)でのすべての秘密計算が終了するまで待機する同期処理を実行する。N=1の場合には同期処理は実行されない。
正当性検証部2043-nには、C1,t=<φ0>,…,<φΔ-1>を含む第1チェックサムおよびC3,t=<φ30>,…,<φ3Δ’-1>を含む第3チェックサムが入力される。正当性検証部2043-nは、参考文献4,5に記載されているように、C1,tおよびC3,tの正当性を検証する。
正当性検証部2044-nには、C2,A,C2,Π_q,C2,Dを含む第2チェックサムおよび秘匿情報{πq}が入力される。正当性検証部2044-nは、参考文献5,6に記載されているように、C2,A,C2,Π_q,C2,Dの正当性を検証する。すなわち、正当性検証部2044-nは、秘匿情報{πq}を公開してランダム置換情報πqを得、πq,C2,A,C2,Π_q,C2,Dを用い、秘密計算によって、C2,Π_qの復元値から、πqに従ってC2,A|C2,Dをランダム置換した列の復元値を減じた列の秘匿情報{ζq}={ζ0,q},…,{ζB+Y-1,q}を得る。正当性検証部2044-nは、秘匿情報{ζq}={ζ0,q},…,{ζB+Y-1,q}の各要素{ζb”,q}(ただし、b”=0,…,B+Y-1)を{FU}の元ごとに分割し、{ζ’b”,q,0},…,{ζ’b”,q,M”-1}∈{FU}の列を得る。ただし、M”は正の整数である。{FU}に満たない要素には{0}がパディングされる。正当性検証部2044-nは、秘密計算によって、乱数ranの秘匿情報{ran}と{ζ’b”,q,0},…,{ζ’b”,q,M”-1}との積和演算を行い、その結果{ζ}を公開してζを得る。正当性検証部2044-nは、ζが0であれば後段処理に改ざんが無かったと判定し、そうでなければ後段処理に改ざんがあったと判定する。
第1実施形態と同様、本形態でも要素の置換と行の巡回シフトと列の線形和とラウンド鍵の加算とを繰り返すラウンド処理を秘密計算によって効率的に実行できる。特に本形態では、前段処理での改ざんを検知するための第1チェックサムを第1方式に則って生成し、後段処理での改ざんを検知するための第2チェックサムを第2方式に則って生成した。前段処理に比べて後段処理では処理データ量が格段に多い。第2方式は処理データ量が多いほど安全性が高い方式であり、後段処理での改ざんを検知に適している。一方、前段処理では処理データ量が少ないため、第2方式を用いても効率が悪い。本形態では、前段処理と後段処理とでチェックサムの生成方式を変更することで、安全性の高い通信を効率よく実現できる。なお、前段処理で改ざんが検知された場合にはすべての処理が破棄される。一方、後段処理で改ざんが検知された場合にはすべての処理が破棄されてもよいし、後段処理のみが破棄されてもよい。
第2実施形態では、Ψ個の秘密計算Com0,…,ComΨ-1のすべてについてランダム化分散値が生成され、C1,tが更新される例を説明した(図7)。しかしながら、Ψ個の秘密計算Com0,…,ComΨ-1の一部のみについてランダム化分散値が生成され、C1,tが更新されてもよい。例えば、Ψ個の秘密計算Com0,…,ComΨ-1のうち、通信を必要とする最後の秘密計算までについてランダム化分散値が生成され、C1,tが更新されてもよい。例えば、秘匿情報{M(i0,…,iS-1)}が秘匿情報{Mb,3,1}または{Mb,3,2}である場合に、置換処理P3,1の通信を必要とする秘密計算(例えば、SubBytesの乗法逆元演算の秘密計算)までについてランダム化分散値が生成され、C1,tが更新されてもよい。
なお、本発明は上述の実施形態に限定されるものではない。上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
10-n,20-n 秘密計算装置
Claims (11)
- Bが1以上の整数であり、Rが3以上の整数であり、Sが2以上の整数であり、U=S2であり、Fが有限体であり、b=0,…,B-1であり、r=1,…,Rであり、j=2,…,Rであり、
1ラウンド目のラウンド処理が処理P1,4を含み、前記処理P1,4が1ラウンド目のラウンド鍵k1∈FUの要素からなるS×S行列の1つの列のS個の要素にS個のカウンタ値ib,0,…,ib,S-1をそれぞれ加算して行列Mb,1,4を得る処理を含み、
jラウンド目のラウンド処理が処理Pj,1と処理Pj,2と処理Pj,3と処理Pj,4とを含み、前記処理Pj,1が前記行列Mb,j-1,4の各要素を置換して行列Mb,j,1を得る処理を含み、前記処理Pj,2が前記行列Mb,j,1の各要素を行ごとに巡回シフトして行列Mb,j,2を得る処理を含み、前記処理Pj,3が前記行列Mb,j,2の各列のS個の要素の線形和を当該列のS個の要素とした行列Mb,j,3を得る処理を含み、前記処理Pj,4が前記行列Mb,j,3の各要素にjラウンド目のラウンド鍵kjの各要素を加算して行列Mb,j,4を得る処理を含み、
何れかのラウンド鍵k1,…,k3の秘匿情報を用い、秘密計算により、変数i=i0,…,iS-1に対する一変数関数値を要素に持つ表M(i0,…,iS-1)の秘匿情報{M(i0,…,iS-1)}を得る前段処理を行う表生成部と、
前記表M(i0,…,iS-1)に前記カウンタ値ib,0,…,ib,S-1を代入したM(ib,0,…,ib,S-1)がMb,2,1,…,Mb,3,2の何れかである行列Mb,γ,μであり、前記カウンタ値ib,0,…,ib,S-1の秘匿情報{ib,0},…,{ib,S-1}および前記秘匿情報{M(i0,…,iS-1)}を用い、秘密計算によってb=0,…,B-1についての前記行列Mb,γ,μの秘匿情報{Mb,γ,μ}を得る表計算部と、
何れかのラウンド鍵k2,…,kR+1の秘匿情報および前記秘匿情報{Mb,γ,μ}を用い、秘密計算により、j=2,…,Rについての前記処理Pj,1、前記処理Pj,2、前記処理Pj,3、および前記処理Pj,4のうち、処理Pγ,μよりも後に行われる各処理を含む残存処理を実行して得られる行列Mb,Γ,MUの秘匿情報{Mb,Γ,MU}を得る後段処理を行うラウンド処理部と、
を有する秘密計算装置。 - 請求項1の秘密計算装置であって、
前記表生成部は、前記前段処理での改ざんを検知するための第1チェックサムを第1方式に則って生成し、
前記ラウンド処理部は、前記後段処理での改ざんを検知するための第2チェックサムを第2方式に則って生成し、
前記第1方式は、改ざん検知対象である秘匿情報の復元値のデータ量に、安全性の高さが依存しない方式であり、
前記第2方式は、改ざん検知対象である秘匿情報の復元値のデータ量がα1であるときの安全性が、改ざん検知対象である秘匿情報の復元値のデータ量がα2であるときの安全性よりも高い方式であり、α1がα2よりも大きい、秘密計算装置。 - 請求項2の秘密計算装置であって、
T,Λ,W,Y,Q,Θが1以上の整数であり、t=0,…,T-1であり、λ=0,…,Λ-1であり、w=0,…,W-1であり、y=0,…,Y-1であり、q=0,…,Q-1であり、θ=0,…,Θ-1であり、前記前段処理はT種類の秘密分散方式meth0,…,methT-1に則った秘匿情報を用いた秘密計算を含み、
(1)前記第1チェックサムを前記第1方式に則って生成する処理は、
(1-1)乱数rtを秘密分散した秘匿情報{rt}を得る処理と、
(1-2)前記秘密分散方式methtに則った秘匿情報{aλ}を用いた秘密計算を行う際に、前記秘匿情報{aλ}と前記秘匿情報{rt}とを用いた秘密計算によって秘匿情報{aλrt}を得、前記秘匿情報{aλ}と前記秘匿情報{aλrt}との組であるランダム化分散値<aλ>=<{aλ},{aλrt}>を得、前記ランダム化分散値<aλ>の追加によってC1,tを更新し、
前記秘密分散方式methtに則った秘密計算結果である秘匿情報{hw}が得られた際に、前記秘匿情報{hw}と前記秘匿情報{rt}とを用いた秘密計算によって秘匿情報{hwrt}を得、前記秘匿情報{hw}と前記秘匿情報{hwrt}との組であるランダム化分散値<hw>=<{hw},{hwrt}>を得、前記ランダム化分散値<hw>の追加によってC1,tを更新することで、
C1,tを含む前記第1チェックサムを更新する処理と、を含み、
(2)前記第2チェックサムを前記第2方式に則って生成する処理は、
(2-1)行列M0,γ,μ,…,MB-1,γ,μの要素からなる非ランダム化列A∈FUBの秘匿情報{A}とY個のダミーブロックD0,…,DY-1∈FUの秘匿情報{D0},…,{DY-1}とを結合した秘匿情報{A|D}={A|D0|…|DY-1}を得る処理と、
(2-2)前記秘匿情報{A|D}を用い、A|Dをランダム置換して得られるランダム化列Πq=πq(A|D)∈FU(B+Y)の秘匿情報{Πq}={πq(A|D)}を秘密計算によって得る処理と、
(2-3)前記秘匿情報{A}を用い、前記非ランダム化列Aを構成する前記行列Mb,γ,μのU個の要素に対応する秘匿情報{Mb,γ,μ}ごとにサブ処理Sub0,…,SubΘ-1の秘密計算を実行して、前記非ランダム化列Aを構成する前記行列Mb,γ,μの要素に前記残存処理を適用して得られる前記行列Mb,Γ,MUの前記秘匿情報{Mb,Γ,MU}を得、前記秘匿情報{Mb,Γ,MU}を得るまでの過程で得られるサブ処理Subθの秘密計算結果でC2,Aを更新し、
前記秘匿情報{Πq}を用い、前記ランダム化列Πqを構成するU個の要素に対応する秘匿情報ごとに前記サブ処理Sub0,…,SubΘ-1の秘密計算を実行することで得られる各サブ処理Subθの秘密計算結果でC2,Π_qを更新し、
少なくとも一部の前記ダミーブロックDyに対して前記サブ処理Sub0,…,SubΘ-1を実行することで得られる各サブ処理Subθの演算結果の秘匿情報でC2,Dを更新することで、
C2,A,C2,Π_q,C2,Dを含む前記第2チェックサムを更新する処理と、を含む秘密計算装置。 - 請求項3の秘密計算装置であって、
前記ラウンド処理部は、何れかのラウンド鍵k2,…,kR+1の秘匿情報および前記ダミーブロックD0,…,DY-1の何れかである要処理ダミーブロックDPの秘匿情報{DP}を用い、前記要処理ダミーブロックDPに前記残存処理を行って得られる処理結果の秘匿情報を得るダミー後段処理をさらに行い、前記ダミー後段処理での改ざんを検知するための第3チェックサムを第3方式に則って生成し、
前記第3方式は、改ざん検知対象である秘匿情報の復元値のデータ量に、安全性の高さが依存しない方式である、秘密計算装置。 - 請求項4の秘密計算装置であって、
(3)前記第3チェックサムを前記第3方式に則って生成する処理は、
前記秘密分散方式methtに則った秘匿情報{dλ}を用いた秘密計算を行う際に、前記秘匿情報{dλ}と前記秘匿情報{rt}とを用いた秘密計算によって秘匿情報{dλrt}を得、前記秘匿情報{dλ}と前記秘匿情報{dλrt}との組であるランダム化分散値<dλ>=<{dλ},{dλrt}>を得、前記ランダム化分散値<dλ>の追加によってC3,tを更新し、
前記秘密分散方式methtに則った秘密計算結果である秘匿情報{h’w}が得られた際に、前記秘匿情報{h’w}と前記秘匿情報{rt}とを用いた秘密計算によって秘匿情報{h’wrt}を得、前記秘匿情報{h’w}と前記秘匿情報{h’wrt}との組であるランダム化分散値<h’w>=<{h’w},{h’wrt}>を得、前記ランダム化分散値<h’w>の追加によってC3,tを更新することで、
C3,tを含む前記第3チェックサムを更新する処理を含む、秘密計算装置。 - 請求項3から5の何れかの秘密計算装置であって、
pがBより大きな素数であり、Y=p-Bである、秘密計算装置。 - 請求項3から6の何れかの秘密計算装置であって、
前記ランダム置換はランダム巡回シフトである、秘密計算装置。 - 請求項1から7の何れかの秘密計算装置であって、
前記行列Mb,γ,μはMb,3,1またはMb,3,2である、秘密計算装置。 - Bが1以上の整数であり、Rが3以上の整数であり、Sが2以上の整数であり、U=S2であり、Fが体であり、b=0,…,B-1であり、r=1,…,Rであり、j=2,…,Rであり、
1ラウンド目のラウンド処理が処理P1,4を含み、前記処理P1,4が1ラウンド目のラウンド鍵k1∈FUの要素からなるS×S行列の1つの列のS個の要素にS個のカウンタ値ib,0,…,ib,S-1をそれぞれ加算して行列Mb,1,4を得る処理を含み、
jラウンド目のラウンド処理が処理Pj,1と処理Pj,2と処理Pj,3と処理Pj,4とを含み、前記処理Pj,1が前記行列Mb,j-1,4の各要素を置換して行列Mb,j,1を得る処理を含み、前記処理Pj,2が前記行列Mb,j,1の各要素を行ごとに巡回シフトして行列Mb,j,2を得る処理を含み、前記処理Pj,3が前記行列Mb,j,2の各列のS個の要素の線形和を当該列のS個の要素とした行列Mb,j,3を得る処理を含み、前記処理Pj,4が前記行列Mb,j,3の各要素にjラウンド目のラウンド鍵kjの各要素を加算して行列Mb,j,4を得る処理を含み、
表生成部が、何れかのラウンド鍵k1,…,k3の秘匿情報を用い、秘密計算により、変数i=i0,…,iS-1に対する一変数関数値を要素に持つ表M(i0,…,iS-1)の秘匿情報{M(i0,…,iS-1)}を得る前段処理を行う表生成ステップと、
前記表M(i0,…,iS-1)に前記カウンタ値ib,0,…,ib,S-1を代入したM(ib,0,…,ib,S-1)がMb,2,1,…,Mb,3,2の何れかである行列Mb,γ,μであり、表計算部が、前記カウンタ値ib,0,…,ib,S-1の秘匿情報{ib,0},…,{ib,S-1}および前記秘匿情報{M(i0,…,iS-1)}を用い、秘密計算によってb=0,…,B-1についての前記行列Mb,γ,μの秘匿情報{Mb,γ,μ}を得る表計算ステップと、
ラウンド処理部が、何れかのラウンド鍵k2,…,kR+1の秘匿情報および前記秘匿情報{Mb,γ,μ}を用い、秘密計算により、j=2,…,Rについての前記処理Pj,1、前記処理Pj,2、前記処理Pj,3、および前記処理Pj,4のうち、処理Pγ,μよりも後に行われる各処理を含む残存処理を実行して得られる行列Mb,Γ,MUの秘匿情報{Mb,Γ,MU}を得る後段処理を行うラウンド処理ステップと、
を有する秘密計算方法。 - 請求項1から8の何れかの秘密計算装置としてコンピュータを機能させるためのプログラム。
- 請求項1から8の何れかの秘密計算装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/638,987 US11515998B2 (en) | 2017-08-22 | 2018-08-16 | Secure computation device, secure computation method, program, and recording medium |
EP18847701.2A EP3675089B1 (en) | 2017-08-22 | 2018-08-16 | Secure computation device, secure computation method, program, and recording medium |
AU2018320434A AU2018320434B2 (en) | 2017-08-22 | 2018-08-16 | Secure computation device, secure computation method, program, and recording medium |
CN201880054049.1A CN111052206B (zh) | 2017-08-22 | 2018-08-16 | 秘密计算装置、秘密计算方法以及记录介质 |
JP2019537589A JP6881588B2 (ja) | 2017-08-22 | 2018-08-16 | 秘密計算装置、秘密計算方法、プログラム、および記録媒体 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017159344 | 2017-08-22 | ||
JP2017-159344 | 2017-08-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019039381A1 true WO2019039381A1 (ja) | 2019-02-28 |
Family
ID=65439815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/030440 WO2019039381A1 (ja) | 2017-08-22 | 2018-08-16 | 秘密計算装置、秘密計算方法、プログラム、および記録媒体 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11515998B2 (ja) |
EP (1) | EP3675089B1 (ja) |
JP (1) | JP6881588B2 (ja) |
CN (1) | CN111052206B (ja) |
AU (1) | AU2018320434B2 (ja) |
WO (1) | WO2019039381A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12099997B1 (en) | 2020-01-31 | 2024-09-24 | Steven Mark Hoffberg | Tokenized fungible liabilities |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015053184A1 (ja) | 2013-10-10 | 2015-04-16 | 日本電信電話株式会社 | 秘密並列処理装置、秘密並列処理方法、プログラム |
WO2016104476A1 (ja) | 2014-12-26 | 2016-06-30 | 日本電信電話株式会社 | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4875448B2 (ja) * | 2006-10-11 | 2012-02-15 | 日本電信電話株式会社 | 鍵生成装置、匿名署名システム、管理装置、匿名署名方法及びプログラム |
US8942724B2 (en) * | 2010-10-27 | 2015-01-27 | Ntt Docomo, Inc. | Number of terminal estimation device and number of terminal estimation method |
US9276734B2 (en) * | 2011-09-27 | 2016-03-01 | Hitachi, Ltd. | Confidential computation system, confidential computation method, and confidential computation program |
JP5972181B2 (ja) * | 2013-01-17 | 2016-08-17 | 日本電信電話株式会社 | 改ざん検知装置、改ざん検知方法、およびプログラム |
CN105027180B (zh) * | 2013-01-17 | 2017-03-29 | 日本电信电话株式会社 | 保密计算系统、运算装置、以及保密计算方法 |
WO2015082212A1 (en) * | 2013-12-05 | 2015-06-11 | Koninklijke Philips N.V. | A computing device for iterative application of table networks |
JP5860557B1 (ja) * | 2015-02-06 | 2016-02-16 | 日本電信電話株式会社 | 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム |
US20160269175A1 (en) * | 2015-03-09 | 2016-09-15 | Qualcomm Incorporated | Cryptographic cipher with finite subfield lookup tables for use in masked operations |
US10089508B2 (en) * | 2015-05-28 | 2018-10-02 | Graphiclead LLC | System and method of embedding a two dimensional code with concealed secure message |
JP6578814B2 (ja) * | 2015-08-20 | 2019-09-25 | 株式会社ソシオネクスト | プロセッサ及びプロセッサシステム |
NL2015745B1 (en) * | 2015-11-09 | 2017-05-26 | Koninklijke Philips Nv | A cryptographic device arranged to compute a target block cipher. |
JP6053238B2 (ja) * | 2016-01-13 | 2016-12-27 | 日本電信電話株式会社 | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム |
GB2557577A (en) * | 2016-10-21 | 2018-06-27 | Cygnetise Ltd | Methods and apparatus for recording a change of authorisation state of one or more authorisation agents |
-
2018
- 2018-08-16 CN CN201880054049.1A patent/CN111052206B/zh active Active
- 2018-08-16 US US16/638,987 patent/US11515998B2/en active Active
- 2018-08-16 JP JP2019537589A patent/JP6881588B2/ja active Active
- 2018-08-16 EP EP18847701.2A patent/EP3675089B1/en active Active
- 2018-08-16 AU AU2018320434A patent/AU2018320434B2/en active Active
- 2018-08-16 WO PCT/JP2018/030440 patent/WO2019039381A1/ja unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015053184A1 (ja) | 2013-10-10 | 2015-04-16 | 日本電信電話株式会社 | 秘密並列処理装置、秘密並列処理方法、プログラム |
WO2016104476A1 (ja) | 2014-12-26 | 2016-06-30 | 日本電信電話株式会社 | 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム |
Non-Patent Citations (9)
Title |
---|
ARAKI, TOSHINORI ET AL.: "High-Throughput Semi- Honest Secure Three-Party Computation with an Honest Majority, Cryptology ePrint Archive", COMPUTER AND COMMUNICATIONS SECURITY, 24 October 2016 (2016-10-24), pages 805 - 817, XP058298940, Retrieved from the Internet <URL:https://eprint.iacr.org/2016/768/20161110:181046> [retrieved on 20181107] * |
DAI IKARASHIRYO KIKUCHIKOKI HAMADAKOJI CHIDA: "Actively Private and Correct MPC Scheme in t < n/2 from Passively Secure Schemes with Small Overhead", CRYPTOLOGY EPRINT ARCHIVE, REPORT 2014/304, 2014 |
DAI IKARASHIRYO KIKUCHIKOKI HAMADAKOJI CHIDA: "An Efficient SIMD Protocol against Malicious Adversaries for Secure Computation Schemes Based on Secret Sharing Schemes with Small Party Sets", PROCEEDINGS OF COMPUTER SECURITY SYMPOSIUM 2013, vol. 2013, no. 4, 14 October 2013 (2013-10-14), pages 793 - 800 |
DANIEL J. BERNSTEINPETER SCHWABE: "New AES software speed records", INDOCRYPT 2008, PROGRESS IN CRYPTOLOGY - INDOCRYPT, 2008, pages 322 - 336, XP047403219, DOI: 10.1007/978-3-540-89754-5_25 |
IGARASHI, DAI ET AL.: "2D3-6 MEVAL2 vs. CCS Best paper on MPC-AES", SCIS 2017 (2017 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY); 24-27/01/2017, vol. 2017, 24 January 2017 (2017-01-24), pages 1 - 8, XP009519163 * |
KELLER, MARCEL ET AL.: "Faster Secure Multi-Party Computation of AES and DES Using Lookup Tables", REPORT 2017/378, May 2017 (2017-05-01), pages 1 - 26, XP061023154, Retrieved from the Internet <URL:https://eprint.iacr.org/2017/378/20170501:134527> [retrieved on 20181107], DOI: 10.1007/978-3-319-61204-1_12 * |
KOJI CHIDAKOKI HAMADADAI IKARASHIKATSUMI TAKAHASHI: "A Three-party Secure Function Evaluation with Lightweight Verifiability Revisited", CSS2010, 2010 |
MICHAEL BEN-ORSHAFI GOLDWASSERAVI WIGDERSON: "Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation (Extended Abstract", STOC, 1988, pages 1 - 10 |
See also references of EP3675089A4 |
Also Published As
Publication number | Publication date |
---|---|
AU2018320434A1 (en) | 2020-02-27 |
EP3675089A1 (en) | 2020-07-01 |
JPWO2019039381A1 (ja) | 2020-09-03 |
CN111052206A (zh) | 2020-04-21 |
EP3675089B1 (en) | 2023-05-03 |
CN111052206B (zh) | 2023-06-06 |
JP6881588B2 (ja) | 2021-06-02 |
AU2018320434B2 (en) | 2020-12-17 |
EP3675089A4 (en) | 2021-05-05 |
US20200228314A1 (en) | 2020-07-16 |
US11515998B2 (en) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2376651C2 (ru) | Использование изогений для разработки криптосистем | |
JP4575283B2 (ja) | 暗号装置、復号装置、プログラム及び方法 | |
JP6009697B2 (ja) | 秘密計算方法、秘密計算システム、ソート装置及びプログラム | |
Fu et al. | DIPOR: An IDA-based dynamic proof of retrievability scheme for cloud storage systems | |
Ambrose et al. | Differential attacks on deterministic signatures | |
CN110663215A (zh) | 在白盒场景中的椭圆曲线点乘设备和方法 | |
CN108985102A (zh) | 数据完整性验证方法、装置、系统及存储介质 | |
CN112436938B (zh) | 数字签名的生成方法、装置和服务器 | |
JPWO2020165932A1 (ja) | 情報処理装置、秘密計算方法及びプログラム | |
TW202318833A (zh) | 臨界簽章方案 | |
KR100699836B1 (ko) | 스칼라 곱에서 dfa 대책을 위한 장치 및 방법 | |
WO2018216512A1 (ja) | 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム | |
CN112487464A (zh) | 一种基于区块链的加密数据分享方法及装置 | |
JP6881588B2 (ja) | 秘密計算装置、秘密計算方法、プログラム、および記録媒体 | |
Takagi | Recent developments in post-quantum cryptography | |
Brunetta et al. | Code-based zero knowledge PRF arguments | |
CN118160273A (zh) | 生成共享密钥 | |
CN112541197B (zh) | 一种结果验证方法及装置 | |
Shim et al. | Lite-Rainbow: lightweight signature schemes based on multivariate quadratic equations and their secure implementations | |
Tang et al. | Fragile watermarking based proofs of retrievability for archival cloud data | |
Kaur et al. | Data deduplication methods: a review | |
CN114520728B (zh) | 一种分布式匿名阅卷评分方法与系统 | |
Mao et al. | Parallel checking of content integrity in multi‐cloud storage of heterogeneous sensor systems | |
Corena et al. | Proofs of data possession and pollution checking for Regenerating Codes | |
Sivasubramanian | A comparative analysis of Post-Quantum Hash-based Signature Algorithm |
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: 18847701 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2019537589 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: 2018320434 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: 2018847701 Country of ref document: EP Effective date: 20200323 |