WO2016181980A1 - 秘密分散方法、秘密分散システム、分散装置、およびプログラム - Google Patents

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

Info

Publication number
WO2016181980A1
WO2016181980A1 PCT/JP2016/063958 JP2016063958W WO2016181980A1 WO 2016181980 A1 WO2016181980 A1 WO 2016181980A1 JP 2016063958 W JP2016063958 W JP 2016063958W WO 2016181980 A1 WO2016181980 A1 WO 2016181980A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
secret sharing
share
vector
polynomial
Prior art date
Application number
PCT/JP2016/063958
Other languages
English (en)
French (fr)
Inventor
大 五十嵐
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to US15/569,187 priority Critical patent/US10348491B2/en
Priority to CN201680023582.2A priority patent/CN107533812A/zh
Priority to EP16792705.2A priority patent/EP3296981A4/en
Publication of WO2016181980A1 publication Critical patent/WO2016181980A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Definitions

  • This invention relates to a secret sharing technique, and more particularly to a technique for reducing the amount of calculation of information theory type secret sharing.
  • Conventional information theory type secret sharing includes, for example, Shamir's secret sharing described in Non-Patent Document 1 and XOR-based secret sharing described in Non-Patent Document 2.
  • Shamir's secret sharing and XOR-based secret sharing are (k, n) -secret sharing.
  • (k, n) -secret sharing is a distributed value obtained by dividing the input plaintext into n pieces, distributed to n parties, and can be restored if any k shares are available, Secret sharing where no information about plaintext can be obtained from less than k shares.
  • n and k are integers of 2 or more, and n ⁇ 2k ⁇ 1.
  • Non-Patent Document 1 requires a large amount of calculation. Specifically, Shamir's secret sharing requires (k-1) n field multiplications.
  • the XOR-based secret sharing described in Non-Patent Document 2 limits the values of k and n that can be handled, and lacks flexibility in parameters. Since the values of k and n are directly related to security strength and data capacity, it is desirable that they can be flexibly handled.
  • an object of the present invention is to provide a secret sharing technique that can handle arbitrary k and n and can reduce the amount of calculation as compared with the prior art.
  • x is an element X of an irreducible polynomial f [X] that generates an extension field GF (x q ), and n and k are integers of 2 or more.
  • n ⁇ 2k ⁇ 1, p 0 ,..., P k-1 are different integers between 0 and less than n
  • A is an n-by-k matrix defined by the following equation:
  • a share selection step to be generated an inverse matrix generating step for generating an inverse matrix A ′ ⁇ 1 of a k-th order square matrix composed of p 0 ,..., P k ⁇ 1 rows of the matrix A;
  • a plaintext calculation step of restoring the plaintext s by multiplying the kth row of the inverse matrix A ′ ⁇ 1 and the vector b ′.
  • the secret sharing technique of the present invention supports arbitrary k and n and has a lower calculation amount than the conventional one.
  • FIG. 1 is a diagram illustrating a functional configuration of a secret sharing system.
  • FIG. 2 is a diagram illustrating a functional configuration of the secret sharing apparatus.
  • FIG. 3 is a diagram illustrating a processing flow of the secret sharing method.
  • x is 2 when expressed as an integer.
  • GF (2 64 ) is a set of remainders obtained by dividing a polynomial by a 64-th order polynomial f (x) having a mod 2 integer coefficient (division as a polynomial). It is a body and can perform four arithmetic operations. You can think of it as a 64-bit vector of bits with special operations.
  • GF (2 64 ) can be represented by a 64-bit integer, and the term x i is represented by 2 i .
  • the secret sharing of the present invention is configured by applying Reed-Solomon Codes as error correction codes.
  • the Reed-Solomon code is described in Reference Document 1 below, for example. [Reference 1] Vanard Scholar, “Digital Communication Basics and Applications”, Pearson Education, 2006
  • the encoding process of the error correction code can be expressed by Expression (1) as a process of multiplying the plaintext input vector a by a linear transformation (that is, a matrix) A to obtain the output vector b. That is, the i-th row of the matrix A represents a coefficient by which each element of the input vector a is multiplied to generate the i-th element b i of the output vector b.
  • b Aa
  • a ′ and b ′ can be expressed by Expression (2) as a matrix or vector in which only rows corresponding to k elements to be used are extracted from A and b.
  • b ' A'a (2)
  • the input vector a is assumed to be a k-th order vector represented by Expression (4).
  • k is an integer of 2 or more.
  • the output vector b is an n-th order vector expressed by Equation (5).
  • the van der Monde matrix is a specially configured matrix in which each term of a geometric sequence is arranged in turn in a matrix element of a row or a column.
  • the matrix A is an n-by-k matrix as shown in Equation (7).
  • the elements b 0 , ..., b k-1 up to the k-th row of the output vector b are elements a 0 , ..., a k-1 of the input vector a and Match.
  • an element that matches the element of the input vector a is called data share, and the other elements are called parity share.
  • the secret sharing technique of the present invention constitutes information theory type secret sharing by applying the error correction code described above.
  • information theory type secret sharing can be configured as follows.
  • the information-theoretic secret sharing is regarded as a linear transformation using the matrix A, like the error correction code.
  • the input vector a is a k-th order vector represented by Expression (8), where r 0 ,..., R k-2 are random numbers and s is plaintext. . That is, in the input vector a, the elements up to the (k ⁇ 1) -th line are random numbers, and the element on the k-th line is a plain text vector.
  • the output vector b is the same as the encoding of the error correction code, and is an n-order vector represented by the equation (9).
  • the matrix A of the error correction code is a unit matrix up to the k-th row
  • secret sharing it is forbidden to share plaintext as it is for confidentiality. Therefore, the matrix A of the information-theoretic secret sharing is different from the error correction code as shown in the equation (10), and the unit matrix is from the k-1th row, and the van der Monde matrix from the kth row Become.
  • the matrix A is an n-by-k matrix as shown in Equation (11).
  • the restoration can be performed by one k-dimensional linear combination.
  • the plaintext s can be obtained by an inner product with a vector composed of k shares b ′ 0 ,..., b ′ k ⁇ 1 .
  • the secret sharing system includes n ( ⁇ 3) secret sharing apparatuses 1 0 ,..., 1 n ⁇ 1 as illustrated in FIG.
  • the secret sharing apparatuses 1 0 ,..., 1 n-1 are each connected to the communication network 2.
  • the communication network 2 is a circuit-switched or packet-switched communication network configured such that connected devices can communicate with each other.
  • the Internet a LAN (Local Area Network), or a WAN (Wide Area Network). Etc. can be used.
  • Each device does not necessarily need to be able to communicate online via the communication network 2.
  • information to be input to the secret sharing apparatus 1 i (i ⁇ ⁇ 0,..., N-1 ⁇ ) is stored in a portable recording medium such as a magnetic tape or a USB memory, and is input offline from the portable recording medium.
  • a portable recording medium such as a magnetic tape or a USB memory
  • the secret sharing apparatus 1 includes a share storage unit 10, an input unit 11, a random number generation unit 12, a matrix generation unit 13, a share generation unit 14, a share selection unit 15, an inverse matrix generation unit 16, and A plaintext calculator 17 is included.
  • the secret sharing apparatus 1 performs the process of each step illustrated in FIG. 3 to realize the secret sharing method of the first embodiment.
  • the secret sharing apparatus 1 is a special configuration in which a special program is read into a known or dedicated computer having a central processing unit (CPU: Central Processing Unit), a main storage device (RAM: Random Access Memory), and the like. Device.
  • the secret sharing apparatus 1 executes each process under the control of the central processing unit.
  • the data input to the secret sharing apparatus 1 and the data obtained in each process are stored in, for example, the main storage device, and the data stored in the main storage device is read out to the central processing unit as necessary. Used for other processing.
  • At least a part of each processing unit of the secret sharing apparatus 1 may be configured by hardware such as an integrated circuit.
  • the share storage unit 10 included in the secret sharing apparatus 1 includes, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory (Flash Memory), Alternatively, it can be configured by middleware such as a relational database or key-value store.
  • a main storage device such as a RAM (Random Access Memory)
  • auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory (Flash Memory)
  • middleware such as a relational database or key-value store.
  • the secret sharing method is divided into distributed processing and restoration processing. Only one secret sharing apparatus 1 i (i ⁇ ⁇ 0,..., N-1 ⁇ ) arbitrarily selected from n secret sharing apparatuses 1 0 ,..., 1 n ⁇ 1 is distributed and restored. Will run.
  • the secret sharing apparatus that executes the distributed processing and the secret sharing apparatus that executes the restoration process may be the same device or different devices.
  • a secret sharing apparatus that performs distributed processing is referred to as a distributed apparatus
  • a secret sharing apparatus that performs restoration processing is referred to as a restoring apparatus.
  • step S11 plain text s ⁇ GF (x q ) is input to the input unit 11 of the distribution apparatus.
  • the plaintext s is sent to the share generation unit 14.
  • step S12 the random number generator 12 of the distribution apparatus generates k ⁇ 1 random numbers r 0 ,..., R k ⁇ 2 ⁇ GF (x q ).
  • the random numbers r 0 ,..., R k ⁇ 2 are sent to the share generation unit 14.
  • the random number generation unit 11 may generate k ⁇ 1 random numbers r 0 ,..., R k ⁇ 2 randomly using a random number generator, or a plurality of random numbers generated in advance and stored in the memory.
  • the random numbers r 0 ,..., R k-2 may be generated by selecting k ⁇ 1 values from the values in accordance with a predetermined rule.
  • step S13 the matrix generation unit 13 of the distribution apparatus generates an n-by-k matrix A defined by Expression (12).
  • the matrix A is sent to the share generation unit 14. Since the matrix A can be calculated if n and k are determined, it may be generated in advance. In that case, the matrix generation unit 13 only needs to read the matrix A generated and stored in advance.
  • the vector b (b 0 ,..., B n-1 ) is obtained.
  • the share generation unit 14 generates each element of the vector b as n shares b 0 ,..., B n ⁇ 1 , and distributes and transmits them to n secret sharing apparatuses 1 0 ,. To do.
  • Secret sharing device 1 i which receives its share b i stores share b i to share storage unit 10.
  • p 0 ,..., P k ⁇ 1 are share numbers used for restoration, and are k different integers selected from integers of 0 to less than n.
  • the vector b ′ is sent to the plaintext calculation unit 17.
  • p 0 ,..., p k ⁇ 1 are sent to the inverse matrix generator 16.
  • step S16 the inverse matrix generation unit 16 of the restoration device generates a k-th order square matrix extracted from the p 0 ,..., P k ⁇ 1 rows of the matrix A, and calculates the inverse matrix A ′ ⁇ 1 .
  • the inverse matrix A ′ ⁇ 1 is sent to the plaintext calculation unit 17.
  • the number of multiplications in distributed processing is (k-1) n.
  • the multiplication number in the distributed processing is (k ⁇ 1) (n ⁇ k + 1). Therefore, according to the secret sharing system of this embodiment, the amount of calculation of secret sharing can be reduced.
  • Equation (15) the process of changing the 126th order polynomial to a 63th order polynomial is called reduction.
  • Reduction is processed using the equivalence relation of equation (17).
  • Equation (19) all the terms of the 64th order and higher can be reduced to the 60th order.
  • x 64 + n x n (x 4 + x 3 + x + 1) mod f (19)
  • the 126th order polynomial can be expressed as in Expression (20) using a 63th order polynomial g and a 62th order polynomial h.
  • g + x 64 h g + (x 4 + x 3 + x + 1) h mod f (20)
  • x n a is equivalent to 2 n times in an integer representation or n-bit left shift because each term of a is an n-th order higher term. Therefore, it can be expressed as in equation (22).
  • Equation (23) Since h is a 62th order polynomial, Becomes a polynomial of order 64 or higher, and it is necessary to lower the order again.
  • the 64th and higher order parts are as shown in Equation (23).
  • equation (24) may be calculated.
  • Equation (25) when one of the bits is within 61 bits (more precisely, when both bits are added to 125 or less), Equation (25) is satisfied, so that the reduction can be made efficient.
  • a parity share is generated using a van der Monde matrix.
  • the parity share is calculated by the equation (26).
  • GF (x q ) is an extension field generated by an irreducible polynomial f [X] and having an extension order q.
  • the efficiency can be improved.
  • the polynomial excluding the highest order term is defined as f ′.
  • d be the order of the highest order term of the polynomial f ′.
  • the order is equal to or higher than the qth order
  • the remainder by f is obtained using f ⁇ 0 ⁇ X q ⁇ f ′. That, g portions of less than q next of aX i, if the q following more portions put polynomial h divided by X q, denoted aX i ⁇ g-hf '.
  • order reduction is usually repeated until g ⁇ hf ′ becomes q ⁇ 1 order.
  • i is less than or equal to qd
  • the order of aX i is at most q-1 + qd ⁇ 2q-d-1
  • the order of h is at most qd-1. Since f ′ is a d-order polynomial, the order of hf ′ is at most q ⁇ 1, and the order reduction is only one time.
  • step S14 it is possible to calculate more efficiently by configuring as follows. It is assumed that (m ⁇ 1) (k ⁇ 1) ⁇ q ⁇ d holds.
  • step S14 the share generation unit 14 of the distribution apparatus calculates a value c i for i ⁇ ⁇ 0,..., M ⁇ 1 ⁇ using Expression (29).
  • a polynomial h i obtained by dividing a q-th or higher-order part of value c i by X q and a polynomial g i that is a lower-q part of value c i are generated.
  • g i -h i f ′ is calculated, and the value c i is updated.
  • a polynomial h i obtained by dividing a q-th or higher-order part of value c i by X q and a polynomial g i that is a lower-q part of value c i are generated.
  • g i -h i f ′ is calculated, and the value c i is updated.
  • the amount of processing cannot be reduced as much as in the second embodiment, but if an appropriate ⁇ is set, it is sufficiently effective for speeding up.
  • the input can be directly shared, but in the secret sharing, the input cannot be directly shared. Conversely, random numbers may be shared as they are even with secret sharing.
  • the point of this invention is that the calculation is omitted in consideration of these points while ensuring safety.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
  • this program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device.
  • the computer reads a program stored in its own recording medium and executes a process according to the read program.
  • the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer.
  • the processing according to the received program may be executed sequentially.
  • the program is not transferred from the server computer to the computer, and the above processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good.
  • ASP Application Service Provider
  • the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
  • the present apparatus is configured by executing a predetermined program on a computer.
  • a predetermined program on a computer.
  • at least a part of these processing contents 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)
  • Storage Device Security (AREA)

Abstract

任意のk, nに対応し、計算量を低減する。乱数生成部12が、乱数r0, …, rk-2∈GF(xq)を生成する。シェア生成部14が、乱数r0, …, rk-2と平文s∈GF(xq)を要素とするベクトルa=(r0, …, rk-2, s)と行列Aとの乗算を計算することでシェアb0, …, bn-1を生成する。シェア選択部15が、シェアb0, …, bn-1から選択したk個のシェアbp0, …, bpk-1を要素とするベクトルb'=(bp0, …, bpk-1)を生成する。逆行列生成部16が、行列Aのp0, …, pk-1行目からなるk次正方行列の逆行列A'-1を生成する。平文計算部17が、逆行列A'-1のk行目とベクトルb'を乗算して平文sを復元する。

Description

秘密分散方法、秘密分散システム、分散装置、およびプログラム
 この発明は、秘密分散技術に関し、特に、情報理論型秘密分散の計算量を低減する技術に関する。
 従来の情報理論型秘密分散には、例えば、非特許文献1に記載されたShamirの秘密分散や、非特許文献2に記載されたXORベースの秘密分散がある。
 Shamirの秘密分散およびXORベースの秘密分散は(k,n)-秘密分散の一つである。(k,n)-秘密分散は、入力された平文をn個に分割した分散値をn個のパーティに分散して保持しておき、任意のk個のシェアが揃えば平文を復元でき、k個未満のシェアからは平文に関する一切の情報を得られないような秘密分散である。このとき、n, kは2以上の整数であり、n≧2k-1である。
A. Shamir, "How to share a secret", Communications of the ACM, vol. 22(11), pp. 612-613, 1979. J. Kurihara, S. Kiyomoto, K. Fukushima, and T. Tanaka, "On a Fast (k,n)-Threshold Secret Sharing Scheme", IEICE Transactions, vol. 91-A(9), pp. 2365-2378, 2008.
 非特許文献1に記載されたShamirの秘密分散では計算量が大きいという課題がある。具体的には、Shamirの秘密分散では(k-1)n回の体乗算を要する。非特許文献2に記載されたXORベースの秘密分散では対応できるk, nの値が限定されており、パラメータの柔軟性が欠ける。k, nの値はセキュリティ強度とデータ容量に直結するため、柔軟に対応できることが望ましい。
 この発明の目的は、このような点に鑑みて、任意のk, nに対応し、従来よりも計算量を低減することができる秘密分散技術を提供することである。
 上記の課題を解決するために、この発明の秘密分散方法は、xは拡大体GF(xq)を生成する既約多項式f[X]の元Xであり、n, kは2以上の整数であり、n≧2k-1であり、p0, …, pk-1は0以上n未満の相異なる整数であり、Aは次式で定義されるn行k列の行列であり、
Figure JPOXMLDOC01-appb-M000006
分散装置が、乱数r0, …, rk-2∈GF(xq)を生成する乱数生成ステップと、分散装置が、乱数r0, …, rk-2と平文s∈GF(xq)を要素とするベクトルa=(r0, …, rk-2, s)と行列Aとの乗算を計算することでシェアb0, …, bn-1を生成するシェア生成ステップと、復元装置が、シェアb0, …, bn-1から選択したk個のシェアbp0, …, bpk-1を要素とするベクトルb'=(bp0, …, bpk-1)を生成するシェア選択ステップと、復元装置が、行列Aのp0, …, pk-1行目からなるk次正方行列の逆行列A'-1を生成する逆行列生成ステップと、復元装置が、逆行列A'-1のk行目とベクトルb'を乗算して平文sを復元する平文計算ステップと、を含む。
 この発明の秘密分散技術は、任意のk, nに対応し、従来よりも計算量が低い。
図1は、秘密分散システムの機能構成を例示する図である。 図2は、秘密分散装置の機能構成を例示する図である。 図3は、秘密分散方法の処理フローを例示する図である。
 実施形態の説明に先立ち、この発明の原理について説明する。
 前提として、以下の説明では、xは既約多項式をf[X]=X64+X4+X3+X2+X+1とする拡大体GF(264)の元Xである。xを整数表現すると2である。
 GF(264)は多項式を、mod 2整数を係数とする64次多項式f(x)で割った(多項式としての割り算)余りの集合である。体であり四則演算を行うことができる。特殊な演算をもつビットの64次ベクトルと考えてもよい。GF(264)は64ビット整数で表現でき、項xiを2iで表現する。例えば、1+x+x3は、20+21+23=11と表現できる。
 この発明の秘密分散は、誤り訂正符号のリード・ソロモン符号(Reed-Solomon Codes)を応用して構成されたものである。リード・ソロモン符号については、例えば下記参考文献1に記載されている。
〔参考文献1〕バァナード・スカラー著、「ディジタル通信 基本と応用」、ピアソン・エデュケーション、2006年
 誤り訂正符号の符号化処理は、平文の入力ベクトルaに線形変換(つまり行列)Aを乗じて出力ベクトルbを得る処理として、式(1)により表現できる。すなわち、行列Aのi番目の行は、出力ベクトルbのi番目の要素biを生成するために入力ベクトルaの各要素に乗じる係数を表す。
   b = Aa    …(1)
 誤り訂正符号の復号処理も線形変換と見ることができる。A', b'をA, bのうち利用するk個の要素に対応する行だけを抜き出した行列もしくはベクトルとして、式(2)により表現できる。
   b' = A'a    …(2)
 したがって、行列Aに逆行列が存在すれば、式(3)により復号できる。
   a = A'-1b'    …(3)
 誤り訂正符号の符号化では、入力ベクトルaは式(4)で表されるk次のベクトルとする。ただし、kは2以上の整数である。
Figure JPOXMLDOC01-appb-M000007
 出力ベクトルbは式(5)で表されるn次のベクトルとする。ただし、nは2以上の整数であり、n≧2k-1である。
Figure JPOXMLDOC01-appb-M000008
 行列Aは、式(6)で表されるk行k列の単位行列とm行k列のファンデルモンデ行列(Vandermonde matrix)を縦に連結した行列である。ただし、m=n-kである。ファンデルモンデ行列とは、行または列の行列要素に等比数列の各項が順番にならんでいる特別な構成の行列である。
Figure JPOXMLDOC01-appb-M000009
 つまり、行列Aは式(7)のようなn行k列の行列である。
Figure JPOXMLDOC01-appb-M000010
 行列Aは、k行目までは単位行列であるため、出力ベクトルbのk行目までの要素b0, …, bk-1は入力ベクトルaの要素a0, …, ak-1と一致する。出力ベクトルbにおいて入力ベクトルaの要素と一致する要素をデータシェアと呼び、それ以外の要素をパリティシェアと呼ぶ。
 この発明の秘密分散技術は、上述した誤り訂正符号を応用して情報理論型秘密分散を構成したものである。具体的には以下のようにして情報理論型秘密分散を構成することができる。まず、情報理論型秘密分散を、誤り訂正符号と同様に、行列Aを用いた線形変換と捉える。この発明の情報理論型秘密分散の分散処理では、入力ベクトルaは、r0,…,rk-2を乱数とし、sを平文として、式(8)で表されるk次のベクトルとする。すなわち、入力ベクトルaは、k-1行目までの要素が乱数であり、k行目の要素が平文のベクトルである。
Figure JPOXMLDOC01-appb-M000011
 出力ベクトルbは、誤り訂正符号の符号化と同様であり、式(9)で表されるn次のベクトルとする。
Figure JPOXMLDOC01-appb-M000012
 誤り訂正符号の行列Aはk行目までが単位行列であるため、情報理論型秘密分散の入力ベクトルaを乗ずると、出力ベクトルbのk行目の要素がbk-1=sとなる。秘密分散では秘匿性のために平文をそのままシェアとすることは禁じられる。そのため、情報理論型秘密分散の行列Aは、式(10)で表されるように、誤り訂正符号と異なり、k-1行目までが単位行列であり、k行目からファンデルモンデ行列となる。
Figure JPOXMLDOC01-appb-M000013
 つまり、行列Aは式(11)のようなn行k列の行列である。
Figure JPOXMLDOC01-appb-M000014
 この発明の情報理論型秘密分散の復元処理では、入力ベクトルaの各要素のうちk行目の要素に設定された平文sのみを復元できればよいので、1回のk次元線形結合で復元できる。復元に利用するk個のシェアb'0, …, b'k-1に対応する行を抜き出した行列A'を生成し、その行列A'の逆行列A'-1のk行目と、k個のシェアb'0, …, b'k-1からなるベクトルとの内積により平文sを求めることができる。
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[第一実施形態]
 第一実施形態の秘密分散システムは、図1に例示するように、n(≧3)台の秘密分散装置10,…,1n-1を含む。この実施形態では、秘密分散装置10,…,1n-1はそれぞれ通信網2へ接続される。通信網2は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。なお、各装置は必ずしも通信網2を介してオンラインで通信可能である必要はない。例えば、秘密分散装置1i(i∈{0,…,n-1})へ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体からオフラインで入力するように構成してもよい。
 秘密分散装置1は、図2に例示するように、シェア記憶部10、入力部11、乱数生成部12、行列生成部13、シェア生成部14、シェア選択部15、逆行列生成部16、および平文計算部17を含む。この秘密分散装置1が、図3に例示する各ステップの処理を行うことにより第一実施形態の秘密分散方法が実現される。
 秘密分散装置1は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。秘密分散装置1は、例えば、中央演算処理装置の制御のもとで各処理を実行する。秘密分散装置1に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。秘密分散装置1の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
 秘密分散装置1の備えるシェア記憶部10は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
 図3を参照して、第一実施形態の秘密分散方法の処理手続きを説明する。
 秘密分散方法は分散処理と復元処理とに分かれる。分散処理および復元処理は、n台の秘密分散装置10, …, 1n-1から任意に選択された1台の秘密分散装置1i(i∈{0,…,n-1})のみが実行する。分散処理を実行する秘密分散装置と復元処理を実行する秘密分散装置は同一の装置であってもよいし、異なる装置であってもよい。以降の説明では、分散処理を行う秘密分散装置を分散装置と呼び、復元処理を行う秘密分散装置を復元装置と呼ぶ。
 ステップS11において、分散装置の入力部11へ平文s∈GF(xq)が入力される。平文sはシェア生成部14へ送られる。
 ステップS12において、分散装置の乱数生成部12は、k-1個の乱数r0, …, rk-2∈GF(xq)を生成する。乱数r0, …, rk-2はシェア生成部14へ送られる。乱数生成部11は、逐一ランダムに乱数生成器を用いてk-1個の乱数r0, …, rk-2を生成してもよいし、事前に生成されメモリに格納されている複数個の値から所定の規則に従ってk-1個の値を選択して乱数r0, …, rk-2を生成してもよい。
 ステップS13において、分散装置の行列生成部13は、式(12)で定義されるn行k列の行列Aを生成する。行列Aはシェア生成部14へ送られる。行列Aはn, kが定まれば計算できるため、あらかじめ生成しておいてもよい。その場合、行列生成部13は、あらかじめ生成し記憶しておいた行列Aを読み込むだけでよい。
Figure JPOXMLDOC01-appb-M000015
 ステップS14において、分散装置のシェア生成部14は、k次ベクトルa=(r0, …, rk-2, s)を生成し、ベクトルaと行列Aとの乗算を計算することでn次ベクトルb=(b0, …, bn-1)を求める。ベクトルbの0番目からk-2番目の要素b0, …, bk-2には、乱数r0, …, rk-2がそのまま設定される。ベクトルbの残りの要素bk-1, …, bn-1には、m=n-kとし、i=0, …, m-1について式(13)を計算して得られる値c0, …, cm-1がそれぞれ設定される。
Figure JPOXMLDOC01-appb-M000016
 シェア生成部14は、ベクトルbの各要素をn個のシェアb0, …, bn-1として生成し、n台の秘密分散装置10,…,1n-1へそれぞれ分散して送信する。シェアbiを受信した秘密分散装置1iは、シェアbiをシェア記憶部10へ記憶する。
 以上で分散処理は完了となる。続いて復元処理を説明する。
 ステップS15において、復元装置のシェア選択部15は、利用可能な任意のk個のシェアbp0,…,bpk-1を取得し、k次ベクトルb'=(bp0,…,bpk-1)を生成する。ただし、p0,…,pk-1は復元に用いるシェアの番号であり、0以上n未満の整数から選択したk個の相異なる整数である。ベクトルb'は平文計算部17へ送られる。p0,…,pk-1は逆行列生成部16へ送られる。
 ステップS16において、復元装置の逆行列生成部16は、行列Aのp0,…,pk-1行目を抜き出したk次正方行列を生成し、その逆行列A'-1を計算する。逆行列A'-1は平文計算部17へ送られる。
 ステップS17において、復元装置の平文計算部17は、逆行列A'-1のk行目とベクトルb'=(bp0,…,bpk-1)を乗算して、平文sを復元する。
 Shamirの秘密分散では分散処理における乗算数が(k-1)nである。本形態の秘密分散システムでは分散処理における乗算数が(k-1)(n-k+1)である。したがって、本形態の秘密分散システムによれば秘密分散の計算量を低減することができる。
[第二実施形態]
 a, b∈GF(264)の乗算は、2つの63次多項式a, b(式(14))を掛けてから64次多項式fで割る操作である(式(15))。このとき、λ次の項の係数は式(16)となる。
Figure JPOXMLDOC01-appb-M000017
 式(15)において、126次多項式をmod fして63次多項式にする処理をリダクションと呼ぶ。リダクションは、式(17)の同値関係を用いて処理する。
   f=x64+x4+x3+x+1=0 mod f    …(17)
 式(17)を変形すると、式(18)に示すように64次項を4次式に落とす関係となる。
   x64=x4+x3+x+1 mod f    …(18)
 式(19)に示すように、64次以上の項もすべて60次次数を下げられる。
   x64+n=xn(x4+x3+x+1) mod f    …(19)
 126次多項式を、63次多項式gと62次多項式hを用いて、式(20)のように表すことができる。
   g+x64h=g+(x4+x3+x+1)h mod f    …(20)
 ある任意の要素aとx+1との乗算(x+1)aは、式(21)で表すことができる。
Figure JPOXMLDOC01-appb-M000018
 また、xnaはaの各項がn次高い項となるので、整数表現における2n倍、もしくはnビット左シフトと等価である。したがって、式(22)のように表すことができる。
Figure JPOXMLDOC01-appb-M000019
 hは62次多項式であるため、式(22)の
Figure JPOXMLDOC01-appb-M000020
は64次以上の多項式となり、再度次数を下げる必要がある。64次以上の部分は式(23)のようになる。
Figure JPOXMLDOC01-appb-M000021
 64ビット整数内では64ビットを超えたビットは切り捨てられることを考慮すると、式(24)を計算すればよい。
Figure JPOXMLDOC01-appb-M000022
 乗算の際、片方が61ビット以内のとき(より正確には両方のビット数を足して125以下のとき)、式(25)が成り立つため、リダクションを効率化できる。
Figure JPOXMLDOC01-appb-M000023
 したがって、リダクションまで含めて考えると、61ビット数で1ビットだけが立っている数、つまり0≦i≦60の範囲での2iとの乗算は高速である。
 この発明の秘密分散ではファンデルモンデ行列を用いてパリティシェアを生成する。ベクトルaをa=(a0, …, ak-1∈GF(xq))と表すと、パリティシェアは式(26)により計算される。ただし、GF(xq)は既約多項式f[X]により生成され、拡大次数をqとする拡大体である。xは既約多項式f[X]の元であり、f[X]=Xである。
Figure JPOXMLDOC01-appb-M000024
 このとき、体がサイズの大きな拡大体のときには効率化ができる。既約多項式fのうち、最高次項を除いた多項式をf'とする。多項式f'の最高次項の次数をdとする。すると、(m-1)(k-1)≦q-dを満たすとき、乗算が以下のように通常よりも簡単になる。
 iがq未満のとき、xi=Xiである。入力aを式(27)とすると、多項式乗算の結果は、式(28)となる。
Figure JPOXMLDOC01-appb-M000025
 ここで次数がq次以上となるので、f≡0⇔Xq≡-f'を用いて、fによる剰余をとる。つまり、aXiのうちq次未満の部分をg、q次以上の部分をXqで割った多項式hとおくと、aXi≡g-hf'と表される。拡大体乗算では通常、このような次数削減をg-hf'がq-1次となるまで繰り返す。このときiがq-d以下だと、aXiの次数はたかだかq-1+q-d≡2q-d-1であり、hの次数はたかだかq-d-1となる。f'がd次多項式なので、hf'の次数はたかだかq-1となり、次数削減が1回で済む。
 ステップS14において、以下のように構成することで、より効率的に計算することが可能となる。なお、(m-1)(k-1)≦q-dが成り立つものとする。
 ステップS14において、分散装置のシェア生成部14は、i∈{0, …, m-1}について、式(29)により値ciを計算する。
Figure JPOXMLDOC01-appb-M000026
 値ciのq次以上の部分をXqで割った多項式hiと、値ciのq次未満の部分である多項式giとを生成する。この多項式hiと多項式giとを用いて、gi-hif'を計算し、値ciを更新する。こうして求めた値c0, …, cm-1をベクトルbの要素bk-1, …, bn-1とする。
 第二実施形態の分散方法では、(m-1)(k-1)≦q-dが成り立つため、すべての体乗算においてリダクションが1回で済むようになっている。そのため、リダクションを含めた乗算の処理量が低減する。
[第三実施形態]
 第二実施形態では、(m-1)(k-1)≦q-dが成り立つ必要があった。第三実施形態では、(m-1)(k-1)≦q-dを満たさない場合でも体乗算の処理量を低減するように拡張する。
 ステップS14において、分散装置のシェア生成部14は、j∈{0, …, k-1}について、a'j=ajとする。また、dj=0とする。その後、i∈{0, …, m-1}について、式(30)により値ciを計算する。
Figure JPOXMLDOC01-appb-M000027
 値ciのq次以上の部分をXqで割った多項式hiと、値ciのq次未満の部分である多項式giとを生成する。この多項式hiと多項式giとを用いて、gi-hif'を計算し、値ciを更新する。そして、i∈{0, …, m-1}, j∈{0, …, k-1}について、i≠m-1、かつ、(i+1)j-d≧q-dであれば、a'j:=a'jxα, dj:=dj+αと更新する。ここで、αはq-d以下の正の整数である。こうして求めた値c0, …, cm-1をベクトルbの要素bk-1, …, bn-1とする。
 第三実施形態では、第二実施形態ほどには処理量の削減はできないが、適切なαを設定すれば、十分高速化に有効である。
 誤り訂正符号では入力をそのままシェアとすることができるが、秘密分散では入力をそのままシェアとすることができない。逆に、秘密分散であっても乱数をそのままシェアとしてもよい。この発明のポイントは、これらの点を考慮して、安全性を担保しながら演算を省いたことにある。
 この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[プログラム、記録媒体]
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (6)

  1.  xは拡大体GF(xq)を生成する既約多項式f[X]の元Xであり、n, kは2以上の整数であり、n≧2k-1であり、p0, …, pk-1は0以上n未満の相異なる整数であり、Aは次式で定義されるn行k列の行列であり、
    Figure JPOXMLDOC01-appb-M000001

     分散装置が、乱数r0, …, rk-2∈GF(xq)を生成する乱数生成ステップと、
     上記分散装置が、上記乱数r0, …, rk-2と平文s∈GF(xq)を要素とするベクトルa=(r0, …, rk-2, s)と上記行列Aとの乗算を計算することでシェアb0, …, bn-1を生成するシェア生成ステップと、
     復元装置が、上記シェアb0, …, bn-1から選択したk個のシェアbp0, …, bpk-1を要素とするベクトルb'=(bp0, …, bpk-1)を生成するシェア選択ステップと、
     上記復元装置が、上記行列Aのp0, …, pk-1行目からなるk次正方行列の逆行列A'-1を生成する逆行列生成ステップと、
     上記復元装置が、上記逆行列A'-1のk行目とベクトルb'を乗算して上記平文sを復元する平文計算ステップと、
     を含む秘密分散方法。
  2.  請求項1に記載の秘密分散方法であって、
     qは拡大体GF(xq)の拡大次数であり、dは既約多項式f[X]から最高次項を除いた多項式f'の最高次項の次数であり、m=n-kであり、(m-1)(k-1)≦q-dであり、
     上記シェア生成ステップは、i∈{0, …, m-1}について次式により値ciを計算し、上記値ciのq次以上の部分をXqで割った多項式hiと、上記値ciのq次未満の部分である多項式giとを用いて、gi-hif'を計算して上記値ciを更新し、上記値c0, …, cm-1を上記シェアb0, …, bn-1とするものである、
    Figure JPOXMLDOC01-appb-M000002

     秘密分散方法。
  3.  請求項1に記載の秘密分散方法であって、
     qは拡大体GF(xq)の拡大次数であり、dは既約多項式f[X]から最高次項を除いた多項式f'の最高次項の次数であり、m=n-kであり、
     上記シェア生成ステップは、j∈{0, …, k-1}についてa'j=aj, dj=0とし、i∈{0, …, m-1}について次式により値ciを計算し、上記値ciのq次以上の部分をXqで割った多項式hiと、上記値ciのq次未満の部分である多項式giとを用いて、gi-hif'を計算して上記値ciを更新し、i∈{0, …, m-1}, j∈{0, …, k-1}について、i≠m-1、かつ、(i+1)j-d≧q-dであれば、a'j:=a'jxα, dj:=dj+αと更新し、上記値c0, …, cm-1を上記シェアb0, …, bn-1とするものである、
    Figure JPOXMLDOC01-appb-M000003

     秘密分散方法。
  4.  分散装置と復元装置とを含む秘密分散システムであって、
     xは拡大体GF(xq)を生成する既約多項式f[X]の元Xであり、n, kは2以上の整数であり、n≧2k-1であり、p0, …, pk-1は0以上n未満の相異なる整数であり、Aは次式で定義されるn行k列の行列であり、
    Figure JPOXMLDOC01-appb-M000004

     上記分散装置は、
      乱数r0, …, rk-2∈GF(xq)を生成する乱数生成部と、
      上記乱数r0, …, rk-2と平文s∈GF(xq)を要素とするベクトルa=(r0, …, rk-2, s)と上記行列Aとの乗算を計算することでシェアb0, …, bn-1を生成するシェア生成部と、
     を含み、
     上記復元装置は、
      上記シェアb0, …, bn-1から選択したk個のシェアbp0, …, bpk-1を要素とするベクトルb'=(bp0, …, bpk-1)を生成するシェア選択部と、
      上記行列Aのp0, …, pk-1行目からなるk次正方行列の逆行列A'-1を生成する逆行列生成部と、
      上記逆行列A'-1のk行目とベクトルb'を乗算して上記平文sを復元する平文計算部と、
     を含む秘密分散システム。
  5.  xは拡大体GF(xq)を生成する既約多項式f[X]の元Xであり、n, kは2以上の整数であり、n≧2k-1であり、p0, …, pk-1は0以上n未満の相異なる整数であり、Aは次式で定義されるn行k列の行列であり、
    Figure JPOXMLDOC01-appb-M000005

     乱数r0, …, rk-2∈GF(xq)を生成する乱数生成部と、
     上記乱数r0, …, rk-2と平文s∈GF(xq)を要素とするベクトルa=(r0, …, rk-2, s)と上記行列Aとの乗算を計算することでシェアb0, …, bn-1を生成するシェア生成部と、
     を含む分散装置。
  6.  請求項5に記載の分散装置としてコンピュータを機能させるためのプログラム。
PCT/JP2016/063958 2015-05-12 2016-05-11 秘密分散方法、秘密分散システム、分散装置、およびプログラム WO2016181980A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/569,187 US10348491B2 (en) 2015-05-12 2016-05-11 Secret sharing method, secret sharing system, distributing apparatus and program
CN201680023582.2A CN107533812A (zh) 2015-05-12 2016-05-11 秘密分散方法、秘密分散系统、分散装置和程序
EP16792705.2A EP3296981A4 (en) 2015-05-12 2016-05-11 Secret sharing method, secret sharing system, sharing device, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015097278A JP5957120B1 (ja) 2015-05-12 2015-05-12 秘密分散方法、秘密分散システム、分散装置、およびプログラム
JP2015-097278 2015-05-12

Publications (1)

Publication Number Publication Date
WO2016181980A1 true WO2016181980A1 (ja) 2016-11-17

Family

ID=56513746

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/063958 WO2016181980A1 (ja) 2015-05-12 2016-05-11 秘密分散方法、秘密分散システム、分散装置、およびプログラム

Country Status (5)

Country Link
US (1) US10348491B2 (ja)
EP (1) EP3296981A4 (ja)
JP (1) JP5957120B1 (ja)
CN (1) CN107533812A (ja)
WO (1) WO2016181980A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI686712B (zh) * 2017-11-01 2020-03-01 香港商阿里巴巴集團服務有限公司 基於混淆電路的數據統計方法、裝置以及設備
CN111523674A (zh) * 2019-02-01 2020-08-11 阿里巴巴集团控股有限公司 模型训练方法、装置及系统
CN111523556A (zh) * 2019-02-01 2020-08-11 阿里巴巴集团控股有限公司 模型训练方法、装置及系统
CN112183564A (zh) * 2019-07-04 2021-01-05 创新先进技术有限公司 模型训练方法、装置及系统

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5918884B1 (ja) * 2015-05-12 2016-05-18 日本電信電話株式会社 復号装置、復号方法、およびプログラム
GB2561729A (en) * 2016-02-23 2018-10-24 Nchain Holdings Ltd Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
CN109314636B (zh) 2016-02-23 2022-01-11 区块链控股有限公司 用于从区块链中安全提取数据的密码方法和系统
EP3257002B1 (en) 2016-02-23 2020-03-11 Nchain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
JP6528008B2 (ja) 2016-02-23 2019-06-12 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 秘密共有のための楕円曲線暗号化を利用したパーソナルデバイスセキュリティ
JP6877448B2 (ja) 2016-02-23 2021-05-26 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム
CA3013180A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Blockchain-based exchange with tokenisation
CN109074580B (zh) 2016-02-23 2022-09-30 区块链控股有限公司 在区块链上安全转移实体的方法和系统
BR112018016826A2 (pt) 2016-02-23 2018-12-26 Nchain Holdings Ltd método e sistema de controle implementados por blockchain
WO2017145019A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
AU2017223133B2 (en) 2016-02-23 2022-09-08 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
GB2561725A (en) 2016-02-23 2018-10-24 Nchain Holdings Ltd Blockchain-implemented method for control and distribution of digital content
EA201891830A1 (ru) 2016-02-23 2019-02-28 Нчейн Холдингс Лимитед Система и способ управления действиями, связанными с активами, посредством блокчейна
EP3259725B1 (en) 2016-02-23 2020-06-10 Nchain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
EP4224396A1 (en) 2016-02-23 2023-08-09 nChain Licensing AG Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts
WO2019009180A1 (ja) * 2017-07-05 2019-01-10 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体
US11625363B2 (en) * 2018-03-26 2023-04-11 Nippon Telegraph And Telephone Corporation Secret deduplication filter generation system, secret deduplication system, method for these, secret calculation apparatus, and program
JP6973629B2 (ja) * 2018-04-20 2021-12-01 日本電信電話株式会社 秘密集約順位システム、秘密計算装置、秘密集約順位方法、およびプログラム
AU2019259261B2 (en) * 2018-04-25 2021-07-08 Nippon Telegraph And Telephone Corporation Secure aggregate maximum system, secure aggregate minimum system, secure computation apparatus, secure aggregate maximum method, secure aggregate minimum method, and program
WO2019208484A1 (ja) * 2018-04-25 2019-10-31 日本電信電話株式会社 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム
EP3813042B1 (en) * 2018-06-20 2023-06-28 Nippon Telegraph And Telephone Corporation Secret combination system, method, secret calculation device, and program
US11886876B2 (en) * 2018-08-13 2024-01-30 Nippon Telegraph And Telephone Corporation Secure strong mapping computing systems, methods, secure computing apparatus and program
AU2019356344B2 (en) * 2018-10-10 2022-03-31 Nippon Telegraph And Telephone Corporation Secure right shift computation system, secure division system, methods therefor, secure computation apparatus, and program
US10892891B2 (en) * 2019-03-13 2021-01-12 Digital 14 Llc System, method, and computer program product for zero round trip secure communications based on two noisy secrets
US10951415B2 (en) * 2019-03-13 2021-03-16 Digital 14 Llc System, method, and computer program product for implementing zero round trip secure communications based on noisy secrets with a polynomial secret sharing scheme
CN110555315B (zh) * 2019-08-09 2021-04-09 创新先进技术有限公司 基于秘密分享算法的模型参数更新方法、装置和电子设备
CN110580410B (zh) * 2019-08-09 2023-07-28 创新先进技术有限公司 模型参数确定方法、装置和电子设备
CN110580409B (zh) * 2019-08-09 2023-05-30 创新先进技术有限公司 模型参数确定方法、装置和电子设备
US10936960B1 (en) 2019-08-09 2021-03-02 Advanced New Technologies Co., Ltd. Determining model parameters using secret sharing
CN112235481B (zh) * 2020-11-11 2022-08-23 成都信息工程大学 一种图像秘密共享方法
CN113328859B (zh) * 2021-04-21 2022-02-22 北京连山科技股份有限公司 信息分散的处理方法
CN113535121B (zh) * 2021-06-24 2022-03-18 复旦大学 基于秘密分享协议的安全高效数学除法计算的优化方法
CN113609503B (zh) * 2021-08-10 2024-06-18 支付宝(杭州)信息技术有限公司 一种保护数据隐私的最高位进位计算方法
CN116015645A (zh) * 2022-12-16 2023-04-25 安超云软件有限公司 私钥生成方法、加密方法、签名方法及应用

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014021237A (ja) * 2012-07-17 2014-02-03 Nippon Telegr & Teleph Corp <Ntt> 縮約装置、縮約方法、およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7895253B2 (en) * 2001-11-30 2011-02-22 Analog Devices, Inc. Compound Galois field engine and Galois field divider and square root engine and method
CN104412539B (zh) * 2012-07-05 2017-05-24 日本电信电话株式会社 秘密分散系统、数据分散装置、分散数据变换装置、以及秘密分散方法
JP5918884B1 (ja) * 2015-05-12 2016-05-18 日本電信電話株式会社 復号装置、復号方法、およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014021237A (ja) * 2012-07-17 2014-02-03 Nippon Telegr & Teleph Corp <Ntt> 縮約装置、縮約方法、およびプログラム

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CHIGUSA KAWASHIMA ET AL.: "A Study on Hierarchical Secret Sharing Schemes Using Product and Concatenated Codes", IEICE TECHNICAL REPORT, vol. 107, no. 209, 31 August 2007 (2007-08-31), pages 17 - 23, XP055498711 *
DAI IGARASHI ET AL.: "SHSS :''Super High-speed (or, Sugoku Hayai) Secret Sharing'' Library for Object Storage Systems", IEICE TECHNICAL REPORT, vol. 2015 - C, no. 26, 25 June 2015 (2015-06-25), pages 1 - 8, XP055498901 *
HIROKI KOGA ET AL.: "Tanshukuka Reed- Solomon Fugo no Kensa Gyoretsu ni Motozuku Himitsu Bunsanho to sono Anzensei Kaiseki", THE 36TH SYMPOSIUM ON INFORMATION THEORY AND ITS APPLICATIONS, 19 November 2013 (2013-11-19), pages 300 - 305, XP009507438 *
See also references of EP3296981A4 *
SHOICHIRO YAMASAKI ET AL.: "On a Secret Sharing Scheme with Systematic Reed-Solomon Codes and Its Applications", IEICE TECHNICAL REPORT, vol. 113, no. 484, 3 March 2014 (2014-03-03), pages 215 - 220, XP055498669 *
TADASHI MINOWA: "A New Distributed Storage System Ensuring Security and Reliability", IEICE TECHNICAL REPORT, vol. 111, no. 309, 11 November 2011 (2011-11-11), pages 19 - 24, XP055498663 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI686712B (zh) * 2017-11-01 2020-03-01 香港商阿里巴巴集團服務有限公司 基於混淆電路的數據統計方法、裝置以及設備
CN111523674A (zh) * 2019-02-01 2020-08-11 阿里巴巴集团控股有限公司 模型训练方法、装置及系统
CN111523556A (zh) * 2019-02-01 2020-08-11 阿里巴巴集团控股有限公司 模型训练方法、装置及系统
CN111523556B (zh) * 2019-02-01 2023-07-11 创新先进技术有限公司 模型训练方法、装置及系统
CN111523674B (zh) * 2019-02-01 2023-08-08 创新先进技术有限公司 模型训练方法、装置及系统
CN112183564A (zh) * 2019-07-04 2021-01-05 创新先进技术有限公司 模型训练方法、装置及系统
CN112183564B (zh) * 2019-07-04 2023-08-11 创新先进技术有限公司 模型训练方法、装置及系统

Also Published As

Publication number Publication date
CN107533812A (zh) 2018-01-02
EP3296981A4 (en) 2018-12-05
EP3296981A1 (en) 2018-03-21
US10348491B2 (en) 2019-07-09
JP2016212319A (ja) 2016-12-15
JP5957120B1 (ja) 2016-07-27
US20180123780A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
JP5957120B1 (ja) 秘密分散方法、秘密分散システム、分散装置、およびプログラム
US10291265B2 (en) Accelerated Galois field coding for storage systems
Chang et al. On the upload versus download cost for secure and private matrix multiplication
WO2018034079A1 (ja) 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム
Banegas et al. DAGS: Key encapsulation using dyadic GS codes
US10437525B2 (en) Communication efficient secret sharing
JP2016173532A (ja) 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
CN107534449B (zh) 解码装置、解码方法、及程序
JP7031682B2 (ja) 秘密計算装置、システム、方法、プログラム
US10110258B2 (en) Accelerated erasure coding for storage systems
CN107534450B (zh) 矩阵应用装置、矩阵应用方法、以及存储介质
US20200021314A1 (en) Apparatus and Method for Multi-Code Distributed Storage
CN106796765B (zh) 非减序列判定装置、非减序列判定方法以及记录介质
JP7173170B2 (ja) 情報処理装置、秘密計算方法及びプログラム
KR20230078510A (ko) 동형 암호 연산 장치 및 방법
Raviv Asymptotically optimal regenerating codes over any field
JP4663421B2 (ja) 離散対数演算装置、方法及びプログラム
JP5840086B2 (ja) 縮約装置、縮約方法、およびプログラム
Hurley Linear complementary dual, maximum distance separable codes
Chang et al. On the capacity of secure distributed fast Fourier transform
Dhumal et al. Sparse linear algebra in function field sieve
Zhang et al. A Method for Reducing the Complexity of Meggitt Decoder
Paryasto et al. Implementation of Polynomial–ONB I Basis Conversion

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

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2016792705

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15569187

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE