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

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

Info

Publication number
JP5957120B1
JP5957120B1 JP2015097278A JP2015097278A JP5957120B1 JP 5957120 B1 JP5957120 B1 JP 5957120B1 JP 2015097278 A JP2015097278 A JP 2015097278A JP 2015097278 A JP2015097278 A JP 2015097278A JP 5957120 B1 JP5957120 B1 JP 5957120B1
Authority
JP
Japan
Prior art keywords
matrix
secret sharing
share
vector
polynomial
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2015097278A
Other languages
English (en)
Other versions
JP2016212319A (ja
Inventor
大 五十嵐
大 五十嵐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015097278A priority Critical patent/JP5957120B1/ja
Priority to US15/569,187 priority patent/US10348491B2/en
Priority to PCT/JP2016/063958 priority patent/WO2016181980A1/ja
Priority to CN201680023582.2A priority patent/CN107533812A/zh
Priority to EP16792705.2A priority patent/EP3296981A4/en
Application granted granted Critical
Publication of JP5957120B1 publication Critical patent/JP5957120B1/ja
Publication of JP2016212319A publication Critical patent/JP2016212319A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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を復元する。【選択図】図2

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 0005957120
分散装置が、乱数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 0005957120
出力ベクトルbは式(5)で表されるn次のベクトルとする。ただし、nは2以上の整数であり、n≧2k-1である。
Figure 0005957120
行列Aは、式(6)で表されるk行k列の単位行列とm行k列のファンデルモンデ行列(Vandermonde matrix)を縦に連結した行列である。ただし、m=n-kである。ファンデルモンデ行列とは、行または列の行列要素に等比数列の各項が順番にならんでいる特別な構成の行列である。
Figure 0005957120
つまり、行列Aは式(7)のようなn行k列の行列である。
Figure 0005957120
行列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 0005957120
出力ベクトルbは、誤り訂正符号の符号化と同様であり、式(9)で表されるn次のベクトルとする。
Figure 0005957120
誤り訂正符号の行列Aはk行目までが単位行列であるため、情報理論型秘密分散の入力ベクトルaを乗ずると、出力ベクトルbのk行目の要素がbk-1=sとなる。秘密分散では秘匿性のために平文をそのままシェアとすることは禁じられる。そのため、情報理論型秘密分散の行列Aは、式(10)で表されるように、誤り訂正符号と異なり、k-1行目までが単位行列であり、k行目からファンデルモンデ行列となる。
Figure 0005957120
つまり、行列Aは式(11)のようなn行k列の行列である。
Figure 0005957120
この発明の情報理論型秘密分散の復元処理では、入力ベクトル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 0005957120
ステップ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 0005957120
シェア生成部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 0005957120
式(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 0005957120
また、xnaはaの各項がn次高い項となるので、整数表現における2n倍、もしくはnビット左シフトと等価である。したがって、式(22)のように表すことができる。
Figure 0005957120
hは62次多項式であるため、式(22)の
Figure 0005957120
は64次以上の多項式となり、再度次数を下げる必要がある。64次以上の部分は式(23)のようになる。
Figure 0005957120
64ビット整数内では64ビットを超えたビットは切り捨てられることを考慮すると、式(24)を計算すればよい。
Figure 0005957120
乗算の際、片方が61ビット以内のとき(より正確には両方のビット数を足して125以下のとき)、式(25)が成り立つため、リダクションを効率化できる。
Figure 0005957120
したがって、リダクションまで含めて考えると、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 0005957120
このとき、体がサイズの大きな拡大体のときには効率化ができる。既約多項式fのうち、最高次項を除いた多項式をf'とする。多項式f'の最高次項の次数をdとする。すると、(m-1)(k-1)≦q-dを満たすとき、乗算が以下のように通常よりも簡単になる。
iがq未満のとき、xi=Xiである。入力aを式(27)とすると、多項式乗算の結果は、式(28)となる。
Figure 0005957120
ここで次数が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 0005957120
値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 0005957120
値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)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
1 秘密計算装置
10 シェア記憶部
11 入力部
12 乱数生成部
13 行列生成部
14 シェア生成部
15 シェア選択部
16 逆行列生成部
17 平文計算部

Claims (6)

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

    分散装置が、乱数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 0005957120

    秘密分散方法。
  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 0005957120

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

    上記分散装置は、
    乱数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 0005957120

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

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2015097278A JP5957120B1 (ja) 2015-05-12 2015-05-12 秘密分散方法、秘密分散システム、分散装置、およびプログラム
US15/569,187 US10348491B2 (en) 2015-05-12 2016-05-11 Secret sharing method, secret sharing system, distributing apparatus and program
PCT/JP2016/063958 WO2016181980A1 (ja) 2015-05-12 2016-05-11 秘密分散方法、秘密分散システム、分散装置、およびプログラム
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 (1)

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

Publications (2)

Publication Number Publication Date
JP5957120B1 true JP5957120B1 (ja) 2016-07-27
JP2016212319A JP2016212319A (ja) 2016-12-15

Family

ID=56513746

Family Applications (1)

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

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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110580409A (zh) * 2019-08-09 2019-12-17 阿里巴巴集团控股有限公司 模型参数确定方法、装置和电子设备
CN110580410A (zh) * 2019-08-09 2019-12-17 阿里巴巴集团控股有限公司 模型参数确定方法、装置和电子设备

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 日本電信電話株式会社 復号装置、復号方法、およびプログラム
JP6515246B2 (ja) 2016-02-23 2019-05-15 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定
US11308486B2 (en) 2016-02-23 2022-04-19 nChain Holdings Limited Method and system for the secure transfer of entities on a blockchain
SG11201806784UA (en) 2016-02-23 2018-09-27 Nchain Holdings Ltd System and method for controlling asset-related actions via a blockchain
CN108780548B (zh) 2016-02-23 2022-08-05 区块链控股有限公司 将椭圆曲线加密用于个人装置安全以共享秘密
CN116739778A (zh) 2016-02-23 2023-09-12 区块链控股有限公司 具有令牌化的基于区块链的交换
CN109314636B (zh) 2016-02-23 2022-01-11 区块链控股有限公司 用于从区块链中安全提取数据的密码方法和系统
CN114282928A (zh) * 2016-02-23 2022-04-05 恩链控股有限公司 基于区块链系统结合钱包管理系统的加密密钥存储和转移
MX2018010056A (es) 2016-02-23 2019-01-21 Nchain Holdings Ltd Un metodo y sistema para asegurar software de computadora usando un cuadro hash distribuido y una cadena de bloques.
SG11201806713SA (en) 2016-02-23 2018-09-27 Nchain Holdings Ltd Blockchain-implemented method for control and distribution of digital content
WO2017145006A1 (en) 2016-02-23 2017-08-31 nChain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
JP6511201B1 (ja) 2016-02-23 2019-05-15 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンにより施行される洗練された取引のためのレジストリ及び自動管理方法
MX2018010048A (es) 2016-02-23 2019-01-21 Nchain Holdings Ltd Sistema universal de tokenizacion para criptomonedas basadas en cadena de bloques.
BR112018016805A2 (pt) 2016-02-23 2018-12-26 Nchain Holdings Ltd método e sistema para transferência eficiente de criptomoeda associada com um pagamento em um blockchain que leva a um pagamento automatizado, método e sistema com base em contratos inteligentes
AU2017222470B2 (en) 2016-02-23 2023-01-12 nChain Holdings Limited Tokenisation method and system for implementing exchanges on a blockchain
EP3651141B1 (en) * 2017-07-05 2021-12-08 Nippon Telegraph and Telephone Corporation Secure computing system, secure computing device, secure computing method, program, and recording medium
CN109756442B (zh) * 2017-11-01 2020-04-24 清华大学 基于混淆电路的数据统计方法、装置以及设备
CN111902854B (zh) * 2018-03-26 2023-08-01 日本电信电话株式会社 秘密重复排除滤波器生成系统、秘密重复排除系统、它们的方法、秘密计算装置以及记录介质
EP3783589B1 (en) * 2018-04-20 2022-07-20 Nippon Telegraph And Telephone Corporation Secure aggregate order system, secure computation apparatus, secure aggregate order method, and program.
CN112074890B (zh) * 2018-04-25 2024-03-22 日本电信电话株式会社 秘密聚合最大值系统和方法、秘密聚合最小值系统和方法、秘密计算装置、以及记录介质
EP3786926B1 (en) * 2018-04-25 2023-06-14 Nippon Telegraph And Telephone Corporation Secure aggregate sum system, secure computation device, secure aggregate sum method, and program
AU2019321329B2 (en) * 2018-08-13 2021-12-16 Nippon Telegraph And Telephone Corporation Secure strong mapping computing systems, methods, secure computing apparatus and program
EP3866142B1 (en) * 2018-10-10 2023-12-06 Nippon Telegraph And Telephone Corporation Secure right shift computation system, secure division system, methods therefor, secure computation apparatus, and program
CN111523556B (zh) * 2019-02-01 2023-07-11 创新先进技术有限公司 模型训练方法、装置及系统
CN111523674B (zh) * 2019-02-01 2023-08-08 创新先进技术有限公司 模型训练方法、装置及系统
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
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
CN112183564B (zh) * 2019-07-04 2023-08-11 创新先进技术有限公司 模型训练方法、装置及系统
US10936960B1 (en) 2019-08-09 2021-03-02 Advanced New Technologies Co., Ltd. Determining model parameters using secret sharing
CN110555315B (zh) * 2019-08-09 2021-04-09 创新先进技术有限公司 基于秘密分享算法的模型参数更新方法、装置和电子设备
CN112235481B (zh) * 2020-11-11 2022-08-23 成都信息工程大学 一种图像秘密共享方法
CN113328859B (zh) * 2021-04-21 2022-02-22 北京连山科技股份有限公司 信息分散的处理方法
CN113535121B (zh) * 2021-06-24 2022-03-18 复旦大学 基于秘密分享协议的安全高效数学除法计算的优化方法
CN116015645A (zh) * 2022-12-16 2023-04-25 安超云软件有限公司 私钥生成方法、加密方法、签名方法及应用

Citations (2)

* 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> 縮約装置、縮約方法、およびプログラム
JP5918884B1 (ja) * 2015-05-12 2016-05-18 日本電信電話株式会社 復号装置、復号方法、およびプログラム

Family Cites Families (2)

* 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
JP5826934B2 (ja) * 2012-07-05 2015-12-02 日本電信電話株式会社 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム

Patent Citations (2)

* 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> 縮約装置、縮約方法、およびプログラム
JP5918884B1 (ja) * 2015-05-12 2016-05-18 日本電信電話株式会社 復号装置、復号方法、およびプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6016022319; 蓑輪正: '安全性と信頼性を両立した分散ストレージシステムの提案' 電子情報通信学会技術研究報告 Vol. 111,No. 309, 20111111, pp. 19-24, 社団法人電子情報通信学会 *
JPN6016022320; 山嵜彰一郎,他: '組織Reed-Solomon符号を用いた秘密分散法とその応用について' 電子情報通信学会技術研究報告 Vol. 113,No. 484, 20140303, pp. 215-220, 一般社団法人電子情報通信学会 *
JPN6016022321; 川島千種,他: '多重符号化を利用した階層的な秘密分散法の検討' 電子情報通信学会技術研究報告 Vol. 107,No. 209, 20070831, pp. 17-23, 社団法人電子情報通信学会 *
JPN6016022322; 五十嵐大,他: 'SHSS:オブジェクトストレージ向けの超高速秘密分散ライブラリ' 情報処理学会研究報告 Vol. 2015-CSEC-70,No. 26, 20150625, pp. 1-8, 情報処理学会 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110580409A (zh) * 2019-08-09 2019-12-17 阿里巴巴集团控股有限公司 模型参数确定方法、装置和电子设备
CN110580410A (zh) * 2019-08-09 2019-12-17 阿里巴巴集团控股有限公司 模型参数确定方法、装置和电子设备
CN110580409B (zh) * 2019-08-09 2023-05-30 创新先进技术有限公司 模型参数确定方法、装置和电子设备
CN110580410B (zh) * 2019-08-09 2023-07-28 创新先进技术有限公司 模型参数确定方法、装置和电子设备

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5957120B1 (ja) 秘密分散方法、秘密分散システム、分散装置、およびプログラム
US10291265B2 (en) Accelerated Galois field coding for storage systems
US20200366460A1 (en) Homomorphic data decryption method and apparatus for implementing privacy protection
Chang et al. On the upload versus download cost for secure and private matrix multiplication
JP2020074039A (ja) データを暗号化する方法およびシステム
JP2016173532A (ja) 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5918884B1 (ja) 復号装置、復号方法、およびプログラム
JP7031682B2 (ja) 秘密計算装置、システム、方法、プログラム
JP5480828B2 (ja) 秘密ソートシステム、秘密ソート装置、秘密ソート方法、秘密ソートプログラム
US10110258B2 (en) Accelerated erasure coding for storage systems
CN106796765B (zh) 非减序列判定装置、非减序列判定方法以及记录介质
JP7173170B2 (ja) 情報処理装置、秘密計算方法及びプログラム
CN107534450B (zh) 矩阵应用装置、矩阵应用方法、以及存储介质
Raviv Asymptotically optimal regenerating codes over any field
CN114389752A (zh) 循环冗余校验码生成方法、装置、设备、介质和程序产品
Hurley Linear complementary dual, maximum distance separable codes
JP2014021237A (ja) 縮約装置、縮約方法、およびプログラム
Chang et al. On the capacity of secure distributed fast Fourier transform
KR101833954B1 (ko) 메모리 과부하 난수 발생 장치 및 방법
Dhumal et al. Sparse linear algebra in function field sieve
WO2022249008A1 (en) Logic circuit for anti-circular shift-and-add multiplication
JP2023120624A (ja) 情報処理装置及び情報処理方法
KR20160141962A (ko) 모듈로 연산을 적용한 형식 보존 암호화 방법 및 장치

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160617

R150 Certificate of patent or registration of utility model

Ref document number: 5957120

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150