Movatterモバイル変換


[0]ホーム

URL:


JP2004287333A - Distributed computing apparatus and distributed computing system - Google Patents

Distributed computing apparatus and distributed computing system
Download PDF

Info

Publication number
JP2004287333A
JP2004287333AJP2003082214AJP2003082214AJP2004287333AJP 2004287333 AJP2004287333 AJP 2004287333AJP 2003082214 AJP2003082214 AJP 2003082214AJP 2003082214 AJP2003082214 AJP 2003082214AJP 2004287333 AJP2004287333 AJP 2004287333A
Authority
JP
Japan
Prior art keywords
calculation
information
secret
distributed
distributed computing
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.)
Granted
Application number
JP2003082214A
Other languages
Japanese (ja)
Other versions
JP4300838B2 (en
Inventor
Yasuko Matsumura
靖子 松村
Kohei Endo
康平 圓藤
Satoshi Nakagawa
聰 中川
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co LtdfiledCriticalOki Electric Industry Co Ltd
Priority to JP2003082214ApriorityCriticalpatent/JP4300838B2/en
Publication of JP2004287333ApublicationCriticalpatent/JP2004287333A/en
Application grantedgrantedCritical
Publication of JP4300838B2publicationCriticalpatent/JP4300838B2/en
Anticipated expirationlegal-statusCritical
Expired - Fee Relatedlegal-statusCriticalCurrent

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a distributed computing apparatus and a distributed computing system realizing reduction of the amount of arithmetic operations in distributed computing. <P>SOLUTION: The distributed computing apparatus is provided with a distributed computing section 305-i which performs distributed computing by using distributed information generated from n pieces of secret information by a (L, k, n) ramp threshold secret sharing scheme. When the member ID possessed by the distributed computing apparatus is set to m<SB>p</SB>(p≤n) and the distributed information used by the distributed computing section 305-i for distributed computing is set to Y<SB>p</SB>, the distributed information is the information generated as follows. When a value X on an extension field GF(q<SP>L</SP>) which is obtained by extending a finite field GF(q) by L-th order and whose generator is α is represented as X=ΣX<SB>j</SB>α<SP>j</SP>; 0≤j≤L-1, a polynomial h<SB>x</SB>(x) on a (k-1)th order finite field GF(q) which satisfies h<SB>x</SB>(I<SB>j</SB>)=X<SB>j</SB>; 0≤j≤L-1 is generated. The information is generated by computing, from this polynomial h<SB>x</SB>(x), by computing the value on the finite field GF(q) wherein Y<SB>p</SB>=h<SB>x</SB>(m<SB>p</SB>). <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

Translated fromJapanese

【0001】
【発明の属する技術分野】
本発明は、例えば、複数の分散計算装置が保持する秘密情報から生成された分散情報を用いる分散計算方法を実施する分散計算システム、及び、この分散計算システムの一部を構成する分散計算装置に関するものである。
【0002】
【従来の技術】
現在、暗号の技術分野では、マルチパーティ・プロトコルと呼ばれる、分散計算方法が実現されている。ここで、一般的なマルチパーティ・プロトコルについて説明する。今、n人のメンバ(n個の演算装置としてもよい)より構成されるネットワークがあるとして、メンバID_m(i=1,2,…,n)を持つそれぞれのメンバが、他のメンバには知られたくない秘密情報X(i=1,2,…,n)を保持しているものとする。ある関数fが与えられたときに、各メンバは各自の秘密情報Xを秘密にしたまま、その関数Z=f(X,X,…,X)を計算して、求めるべき値Zを算出しようとする。なお、関数fは、例えば、すべての秘密情報Xを足し合わせる関数Z=X+X+…+Xであったり、すべての秘密情報Xのうち最大の値を出力する関数Z=max{X,X,…,X}であったりする。
【0003】
このように、各メンバが、ネットワーク上で、各自の秘密情報X自体を一切漏らさないで、お互いになんらかの通信を行い、最終的に値Zを計算し得る機能を実現するプロトコルを、関数fに関するマルチパーティ・プロトコルと呼ぶ。上記機能は、関数fの計算を行う信頼できる第三者のセンターを設け、各メンバが各自の秘密情報をこのセンターへ秘密に送信することにより実現できるが、ここでは、そのようなセンターがない場合を説明する。
【0004】
図2は、マルチパーティ・プロトコルの概念説明図である。図2の例においては、メンバ(参加者)人数を3人とし、それぞれのメンバID(ID情報)をA,B,Cとし、それぞれが保持する秘密情報をX,X,Xとする。メンバID_A,B,C、及び、秘密情報X,X,Xなどの値は、ある有限体GF(q)(qは、素数又は素数のべき乗の値)上の値とし、マルチパーティ・プロトコルで分散計算しようとする関数f(X,X,X)内の演算(加算及び乗算)は、有限体GF(q)上の演算とする。以降、特に断りがない限り、演算は、有限体GF(q)上で行うものとする。
【0005】
関数f(X,X,X)のマルチパーティ・プロトコルによる分散計算を行う際に、まず、各メンバは、自分の保持する秘密情報を(k,n)しきい値秘密分散法で分散する(図2に符号▲1▼で示される処理)。(k,n)しきい値秘密分散法は、情報Xをn個に分散させ、そのn個の分散情報のうちk個(k≦n)の分散情報が集まれば、情報Xを復元することができ、k−1個以下の分散情報しか集まらないときには、情報Xについてなんら知ることができない、といった秘密分散法である。図2の場合には、nは3であり、kは2又は3である。
【0006】
次に、各メンバは、自分の秘密情報を分散した分散情報をそれぞれ他のメンバに配布する(図2に符号▲2▼で示される処理)。これらの分散情報を配布する際には、どの2人のメンバ間にも、その2人のメンバ以外には通信内容を秘密とすることができる秘密通信路が確立されているものとする。次に、それら配布された分散情報を用いて、関数f(X,X,X)で定められる計算方法で、各メンバが分散計算を行う(図2に符号▲3▼で示される処理)。この分散計算の際には、各メンバ同士が情報交換を行うこともある。この各メンバが保持する分散計算の計算結果Z’,Z’,Z’はそれぞれ、最終的な計算結果Z=f(X,X,X)を秘密分散した分散情報となっている。したがって、最終的に、各メンバが持っている分散計算の計算結果Z’,Z’,Z’を集め、(k,n)しきい値秘密分散法の秘密再構成を行うと、最終的な計算結果Zを得ることができる(図2の符号▲4▼で示される処理)。
【0007】
次に、図2に示されるマルチパーティ・プロトコルを、n人のメンバに拡張した場合について説明する。各メンバのメンバIDをm(i=1,2,…,n)、メンバIDがmであるメンバの保持する秘密情報をX(i=1,2,…,n)とする。各メンバは、各自が保持する秘密情報を(k,n)しきい値秘密分散法で分散する。ここでの(k,n)しきい値秘密分散法は、Shamir法(シャミア法:Shamir’s method)(例えば、非特許文献1参照)を用いるものとする。
【0008】
メンバIDがmであるメンバは、次式(1)のようなk−1次多項式hxi(x)を生成し、この式を用いて秘密情報を分散する。
【数7】

Figure 2004287333
上記式(1)において、Rxi,1,Rxi,2,…,Rxi,k−1は、メンバIDがmであるメンバが決める乱数であり、有限体GF(q)上の値からk−1個選択されたものである。
【0009】
メンバIDがmであるメンバで計算され、メンバIDがm(p=1,2,…,n)であるメンバに配布される分散情報を、Yi,pと表わす場合に、分散情報Yi,pは、上記式(1)の関数を用いて、次式(2)のように計算することができる。
【数8】
Figure 2004287333
【0010】
各メンバが他のメンバから分散情報を受け取ると、結果として、メンバIDがmであるメンバは、n個の分散情報Y1,i,Y2,i,…,Yn,iを保持することになる。これら各メンバが保持する分散情報Y1,i,Y2,i,…,Yn,iを用いて、すなわち、各メンバが協力して、所望の分散計算Z=f(X,X,…,X)を行う。
【0011】
ここでは、各メンバが行う分散計算として、分散加算の場合と分散乗算の場合を説明する。上記式(1)に示されるような多項式を用いて、秘密情報A及びBを秘密分散させ、メンバIDがmであるメンバが、分散情報a及びbを既に持っている状態を考える。この場合、秘密情報A及びBと分散情報a及びbとの関係は、次式(3)及び(4)のようになる。
【数9】
Figure 2004287333
ここで、RA,j(j=1,2,…,k−1)及びRB,j(j=1,2,…,k−1)は乱数である。
【0012】
各メンバが分散情報a及びbから計算を行って、秘密情報C(=A+B)を秘密分散させた値cをメンバIDがmであるメンバが持つようにする計算処理を「分散加算」と呼ぶ。また、各メンバが分散情報a及びbから計算を行って、秘密情報C(=A×B)を秘密分散させた値cをメンバIDがmであるメンバが持つようにする計算処理を「分散乗算」と呼ぶ。さらに、ある定数Dと秘密情報Aとの乗算結果C(=D×A)を秘密分散させた値cをメンバIDがmであるメンバが持つようにする計算処理を「分散定数乗算」と呼ぶ。上記のような、任意の分散情報の分散加算、分散定数乗算、及び、分散乗算が可能になると、加算、定数乗算、及び、乗算を含む任意の関数Z=f(X,X,…,X)は、分散計算が可能となる。以降では、上記式(1)のような多項式により秘密情報A及びBを秘密分散させ、各メンバが、分散情報a及びbを既に持っている状態を考え、各メンバが分散情報a及びbから計算を行って、C=f(A,B)を秘密分散させた値cを求める処理を説明する。
【0013】
まず、マルチパーティ・プロトコルにおける分散加算(加算計算)を次式(5)を用いて説明する。
C=f(A,B)=A+B …(5)
メンバIDがmであるメンバは、すでに秘密情報A及びBの分散情報a及びbを持っているものとする。これら分散情報a及びbは、任意のメンバの秘密情報の分散情報(Y1,i,Y2,i,…,Yn,i)のいずれかでもよいし、分散計算した途中結果の値でもよい。分散加算においては、分散情報同士の足し算を行うことで、計算結果Cの分散情報c(i=1,2,…,n)を得ることができる。例えば、メンバIDがmであるメンバは、次式(6)のような計算を行い、計算結果cを得る。
=a+b …(6)
【0014】
次に、マルチパーティ・プロトコルにおける分散定数乗算(定数乗算計算)を次式(7)を用いて説明する。
C=f(A)=D×A …(7)
ここで、Dは、有限体GF(q)上の定数であり、どのメンバにも既知な値とする。例えば、メンバIDがmであるメンバは、次式(8)のような計算を行い、計算結果cを得る。
=D×a …(8)
【0015】
次に、マルチパーティ・プロトコルにおける分散乗算(乗算計算)を次式(9)を用いて説明する。
C=f(A,B)=A×B …(9)
分散乗算においては、次の2通りの方法があり、ここでの説明では、それらの方式をそれぞれ方式▲1▼、方式▲2▼と記述することにする。方式▲1▼では、各メンバは、次のようなステップS101〜S103を行う。ここでは、メンバIDがmであるメンバが実行する処理を記述する。ステップS101において、分散情報同士の乗算ci,i=a×bを行う。
【0016】
次のステップS102において、メンバIDがm(p=1,2,…,nであり、p≠iであるもの。)である他のメンバの値との乗算a×b及びa×bの結果に相当するものが得られるように通信及び計算処理をする。すなわち、次式(10)となるような、メンバIDがmであるメンバが乗算結果ci,pを持つことができ、メンバIDがmであるメンバが乗算結果cp,iを持つことができるように、計算と通信を行う。
×b+a×b=ci,p+cp,i …(10)
このように、他のメンバとの情報のやりとりを行うことにより、他のメンバの値との乗算a×b及びa×bの結果に相当する式(10)が得られるようにするが、他のメンバの値a及びbが分からないように、また、自分の値a及びbが、他のメンバに分からないように、紛失通信を行う。「紛失通信」とは、送信側が、M個の情報を符号化(暗号化)して送信するが、受信側においては、そのうち一つしか受け取る(意味のあるように復号が可能となる)ことができず、また、送信側においては、受信側がどの情報を受け取った(意味のあるように復号が可能となった)かを知ることができない通信方法をいう。
【0017】
次の、ステップS103においては、ステップS102の結果に、メンバIDから計算される係数rを乗算して足し合わせることにより、次式(11)及び(12)で示される、乗算結果Cの分散情報c(i=1,2,…,n)を得る。
【数10】
Figure 2004287333
【0018】
また、方式▲2▼では、各メンバは、次のようなステップS201〜S205を行う。ここでは、メンバIDがmであるメンバが実行する処理を記述する。ステップS201において、分散情報同士の乗算c’=a×bを行う。
【0019】
次のステップS202において、ステップS201で求めたc’を(k’,n)しきい値秘密分散法を用いて分散し、分散情報c’i,p(p=1,2,…,nでp≠iであるもの)をメンバIDがmである他のメンバへ配布する。また、他のメンバから、分散情報c’p,i(p=1,2,…,nでp≠iであるもの)を受け取る。
【0020】
次のステップS203において、C’=(c’1,i、c’2,i、…、c’n,i)に変換行列EPE−1を掛け合わせることにより、D=(d1,i、d2,i、…、dn,i)に変換する。行列Eは、メンバIDから計算される行列であり、
E=(eij)=(mj−1) (i,j=1、2、…、n)
となるようなn×n行列であり、その逆行列をE−1とする。また、行列Pは、次式のようにベクトルのk+1番目以降の値を0とするような変換を行うn×n行列である。
P(x、x、…、x
=(x、x、…、x、0、…、0) …(80)
【0021】
次のステップS204において、ステップS203で求めたdp,i(p=1,2,…,nでp≠iであるもの)を、メンバIDがmである他のメンバへ配布する。また、他のメンバから、計算結果di,p(p=1,2,…,nでp≠iであるもの)を受け取る。
【0022】
次のステップS205において、ステップS203、S204で得たdi,p(p=1,2,…,n)を分散情報として、(k’、n)しきい値秘密分散法の秘密再構成を行うことにより、乗算結果Cの分散情報c(i=1、2、…、n)を得る。
【0023】
このように分散乗算においては、分散加算の場合のように簡単には計算できないが、紛失通信を用いると計算可能となる。上記のように、各メンバ同士が秘密通信、紛失通信を行って計算処理をすると、入力値を公開せずに、与えられた関数f(加算と乗算で構成される関数)の計算を行うことができる。
【0024】
Shamir法に代表される通常の(k,n)しきい値秘密分散法においては、秘密情報をn個の分散情報に符号化し、k(≦n)個以上の分散情報が集まれば、もとの秘密情報を復元することができるが、k−1個以下であると、その秘密情報については全く知ることができないという性質を、多項式補間を用いることにより実現している。
【0025】
具体的には、次式(13)のようなk−1次多項式h(x)を用いてもとの秘密情報を分散する。
【数11】
Figure 2004287333
ここで、Sは、もとの秘密情報であり、RS,1,RS,2,…,RS,k−1は、分配者が決める乱数である。
【0026】
分配するn人の各メンバには、メンバIDとして、m,m,…,mが付与されているものとし、メンバID_m(i=1,2,…,n)に対する分散情報Sは、上記式(13)を用いて、次式(14)のように計算することができる。
【数12】
Figure 2004287333
【0027】
ここでは、メンバID_m(i=1,2,…,n)、秘密情報S、分散情報S(i=1,2,…,n)、乱数RS,1,RS,2,…,RS,k−1などの値は、それぞれ、ある有限体GF(q)(qは、素数又は素数のべき乗の値)上の値とし、演算(加算及び乗算)は、それぞれ、有限体GF(q)上の演算とする。また、上記式(13)より、次式(15)という関係式が成り立つ。
(0)=S …(15)
【0028】
もとの秘密情報Sを、各メンバに配布した分散情報から再構成する場合には、分散情報を分配したメンバのうち、t人(k≦t)を集めてきて、そのメンバIDと分散情報を持ち寄り、次式(16)及び(17)で計算することで達成できる。
【数13】
Figure 2004287333
ここで、m’,m’,…,m’は、集まったメンバのメンバIDであり、S’,S’,…,S’は、集まったメンバが保持する分散情報である。
【0029】
このShamir法に代表される通常の(k,n)しきい値秘密分散法においては、もとの秘密情報Sとその分散情報S(i=1,2,…,n)は、ともに有限体GF(q)上の値であり、分散情報S(i=1,2,…,n)の情報量は、もとの秘密情報Sの情報量よりも小さくすることができない性質がある。
【0030】
【非特許文献1】
岡本龍明他、「現代暗号」(産業図書)、第214−216ページ及び第227−236ページ
【非特許文献2】
ジー・アール・ブラクレイ及びキャサリン・メドウズ、「セキュリティ・オブ・ランプ・スキームズ」、プロスィージャ・オブ・クリプト’88、レクチャー・ノーツ・イン・コンピュータ・サイエンス403、スプリンガー・ベルラグ、、第242−268ページ、1990年(G.R.BLAKLEY AND CATHERINE MEADOWS,“SECURITY OF RAMP SCHEMES”, PROC. OF CRYPTO ’88, LECTURE NOTES IN COMPUTER SCIENCE 403, SPRINGER−VERLAG, pp. 242−268 (1990)
【0031】
【発明が解決しようとする課題】
しかしながら、上記した従来のマルチパーティ・プロトコルによる分散計算においては、通常の(k,n)しきい値秘密分散法を用いて、それぞれの秘密情報の秘密分散を行っているため、各メンバにおける分散計算においては、その秘密情報と同じ情報量、すなわち、同じ大きさの有限体上における演算を行う必要がある。このため、秘密情報をn人に分散して演算しているにもかかわらず、メンバそれぞれの分散演算処理における、演算量、演算回路に必要な回路規模、演算に必要な記憶容量、演算時間等の演算コストを下げることができないといった問題があった。
【0032】
そこで、本発明は上記したような従来技術の課題を解決するためになされたものであり、その目的は、分散計算における演算量を低減することができる分散計算装置及び分散計算システムを提供することである。
【0033】
【課題を解決するための手段】
本発明に係る分散計算装置は、ランプ型(L,k,n)しきい値秘密分散法により1又は複数個(通常は2個以上であるが、1個の場合も有りうる。)の秘密情報から生成された分散情報を用いて、分散計算する分散計算手段を有し、この分散計算装置が保持するメンバIDをm(p≦n)とし、上記分散計算手段が分散計算に用いる分散情報をYとしたときに、上記分散情報は、有限体GF(q)をL次拡大した拡大体で生成元がαである拡大体GF(q)上の値を次式X=ΣXα;0≦j≦L−1を満たすXとするときに、次式h(I)=X;0≦j≦L−1を満たすk−1次の有限体GF(q)上の多項式h(x)を生成し、上記多項式h(x)から、Y=h(m)なる有限体GF(q)上の値を計算することによって生成された情報であることを特徴としている。
【0034】
また、本発明に係る他の分散計算装置は、ランプ型(L,k,n)しきい値秘密分散法により、秘密情報から分散情報を生成する秘密分散計算手段を有し、上記秘密分散計算手段が、上記分散情報が配布される他の分散計算装置が保持するメンバIDをm(p≦n)とし、メンバIDがmである上記分散情報をYとし、有限体GF(q)をL次拡大した拡大体で生成元がαである拡大体GF(q)上の値を次式X=ΣXα;0≦j≦L−1を満たすXとするときに、次式h(I)=X;0≦j≦L−1を満たすk−1次の有限体GF(q)上の多項式h(x)を生成する多項式生成手段と、上記多項式h(x)から、Y=h(m)なる有限体GF(q)上の値を計算することによって生成する分散情報生成手段とを有することを特徴としている。
【0035】
また、本発明に係る他の分散計算装置は、ランプ型(L,k,n)しきい値秘密分散法により1又は複数個(通常は2個以上であるが、1個の場合も有りうる。)の秘密情報から生成された分散情報を用いて、分散計算する分散計算手段を有し、この分散計算装置が保持するメンバIDをm(p≦n)とし、上記分散計算手段が分散計算に用いる分散情報をYとしたときに、上記分散情報は、
有限体GF(q)をL次拡大した拡大体で生成元がαで生成多項式がg(x)である拡大体GF(q)上の値を次式
X=ΣX α;0≦j≦L−1
で表されるXとし、RX,j(0≦j≦k−L−1)を乱数とするときに、次式
【数14】
Figure 2004287333
で表されるk−1次の有限体GF(q)上の多項式h(x)を生成し、
上記多項式h(x)から、
=h(m
なる有限体GF(q)上の値を計算することによって生成された情報であることを特徴としている。
【0036】
また、本発明に係る他の分散計算装置は、ランプ型(L、k、n)しきい値秘密分散法により、秘密情報から分散情報を生成する秘密分散計算手段を有し、上記秘密分散計算手段が、上記分散情報が配布される補記あの分散計算装置が保持するメンバIDをm(p≦n)とし、メンバIDがmである上記分散情報をYとし、有限体GF(q)をL次拡大した拡大体で生成元がαで生成多項式がg(x)である拡大体GF(q)上の値を次式
X=ΣX α;0≦j≦L−1
で表されるXとし、RX,j(0≦j≦k−L−1)を乱数とするときに、次式
【数15】
Figure 2004287333
で表されるk−1次の有限体GF(q)上の多項式h(x)を生成する多項式生成手段と、上記多項式h(x)から、Y=h(m)なる有限体GF(q)上の値を計算することによって生成する分散情報生成手段とを有することを特徴としている。
【0037】
【発明の実施の形態】
本発明においては、従来技術のマルチパーティ・プロトコルによる分散計算において用いていた、Shamir法に代表される通常の(k,n)しきい値秘密分散法に代えて、ランプ型(L,k,n)しきい値秘密分散法を用いる。それにより、各メンバに必要な演算は、もとの秘密情報の有限体の大きさよりも小さい有限体上で行うことができ、演算コストを下げることができる。
【0038】
先ず、ランプ型(L,k,n)しきい値秘密分散法について説明する。Shamir法に代表される通常の(k,n)しきい値秘密分散法は、n個の分散情報の内のk−1個の分散情報しか集まらない場合には、その分散情報のもとの秘密情報については、全く知ることができない方法である。これに対し、ランプ型(L,k,n)しきい値秘密分散法は、あるパラメータL(1≦L≦k≦n)を導入し、各分散情報S(i=1,2,…,n)の情報量を、もとの秘密情報Sの1/Lに減らすことにより、n個の分散情報の内のk−d(1≦d≦L−1)個の分散情報が集まったときには、k個の分散情報が集まっていなくても、もとの秘密情報についての何らかの情報が漏れる性質を持つ。
【0039】
Shamir法をランプ型に拡張した方式は、例えば、上記非特許文献2に記載されている。その方式においては、まず、もとの秘密情報Sは、次式(18)で示されるようなベクトル値とする。
S=(S,S,…,SL−1) …(18)
また、S,S,…,SL−1はそれぞれ、有限体GF(q)上の値とし、RS2,0,RS2,1,…,RS2,k−L−1はそれぞれ、分配者が決める乱数で有限体GF(q)上の値である。また、予め、I,I,…,Ik−1のk個の有限体GF(q)上の値を決めておく。そして、次式(19)及び(20)のようなk−1次多項式hS2(x)を用いて秘密情報を秘密分散する。
【0040】
【数16】
Figure 2004287333
【0041】
分散情報が配布されるn人の各メンバには、メンバIDとして、m,m,…,mが付与されているものとし、メンバID_m(i=1,2,…,n)に対する分散情報Xは、次式(21)のように計算する。
=hS2(m) …(21)
【0042】
ここでは、演算(加算及び乗算)は、それぞれ、有限体GF(q)上の演算とする。したがって、分散情報Xは、有限体GF(q)上の値である。以降、特に断りがない限り、演算は、有限体GF(q)上で行うものとする。また、上記式(19)より、次式(22)の関係式が成り立つ。
S2(I)=S
S2(I)=S

S2(IL−1)=SL−1 …(22)
【0043】
各メンバに配布した分散情報Xから、もとの秘密情報S=(S,S,…,SL−1)を再構成する場合には、分散情報を分配したメンバのうち、k人以上のt人(k≦t)のメンバを集めてきて、そのメンバIDと分散情報を持ち寄り、次式(23)及び(24)で計算すると、もとの秘密情報S=(S,S,…,SL−1)を求めることができる。なお、次式(23)及び(24)において、m’,m’,…,m’は、集まったメンバのメンバIDであり、X’,X’,…,X’は、メンバIDがm’,m’,…,m’であるメンバの保持する分散情報である。
【0044】
【数17】
Figure 2004287333
【0045】
【数18】
Figure 2004287333
【0046】
このランプ型(L,k,n)しきい値秘密分散法においては、もとの秘密情報S=(S,S,…,SL−1)は、その分散情報X(i=1,2,…,n)のL倍の情報量を持つことができる。すなわち、ランプ型(L,k,n)しきい値秘密分散法には、分散情報X(i=1,2,…,n)の情報量を、もとの秘密情報Sの情報量の1/Lとすることができる性質がある。
【0047】
≪第1の実施形態≫
[第1の実施形態の構成]
本発明の第1の実施形態においては、n人のメンバ(n個の分散計算装置としてもよい)が、それぞれ秘密情報を持ち、それらの秘密情報を引数とした関数fの計算結果を求めるため、分散計算を行う場合を説明する。n人のメンバには、メンバを識別するための情報であるメンバIDとして、m,m,…,mが割り当てられている。メンバID_m(i=1,2,…,n)は、それぞれ有限体GF(q)(qは、素数又は素数のべき乗)上の値である。
【0048】
また、メンバIDがm(i=1,2,…,n)であるメンバは、秘密情報X(i=1,2,…,n)を持っているものとする。ここで、メンバが保持する秘密情報X(i=1,2,…,n)は、有限体GF(q)のL次拡大体GF(q)上の値であり、有限体GF(q)上の値Xi,0,Xi,1,…,Xi,L−1で表すことができる。有限体GF(q)をL次拡大して拡大体GF(q)を生成したときの生成多項式(既約多項式)をg(x)とし、g(x)=0の解の一つをαとすると、秘密情報Xは、次式(25)で記述することができる。
=Xi,0+Xi,1α+…+Xi,L−1αL−1 …(25)
また、秘密情報Xは、ベクトル表現を用いて、次式(26)のように記述することができる。
=(Xi,0,Xi,1,…,Xi,L−1) …(26)
【0049】
図1は、第1の実施形態に係る分散計算方法を実施する構成(分散計算システム)を示すブロック図である。第1の実施形態においては、加算のみから構成されている関数を用いた分散計算を行う。図1に示されるように、第1の実施形態の分散計算方法(マルチパーティ・プロトコル)を実施する構成は、n個(2≦n)の分散処理部(分散計算装置)101−i(i=1,2,…,n)と、秘密再構成計算部102と、個々の分散処理部101−i(i=1,2,…,n)の秘密通信路103とを有する。各分散処理部101−i(i=1,2,…,n)は、メンバIDがmであるメンバが担当する演算を実行する。n個の分散処理部101−i(i=1,2,…,n)からの出力が、秘密再構成計算部102への入力となる。
【0050】
分散処理部101−i(i=1,2,…,n)(分散処理部の全体を示す場合には、符号101を用いる。)は、各メンバが分散計算する部分である。分散処理部101は、図2に符号▲1▼で示される秘密情報の分散を行ったり、図2に符号▲3▼で示される分散計算を行う。各分散処理部101−i(i=1、2,…,n)は、他の分散処理部101−p(p=1,2,…,nであり、p≠iであるもの)と秘密通信路103で接続されている。この秘密通信路103は、通信している2人のメンバ以外には通信内容を秘密とすることができるような通信路である。また、各分散処理部101−i(i=1、2,…,n)からの出力は、秘密再構成計算部102へ入力される。
【0051】
秘密再構成計算部102は、各メンバの分散処理部101−i(i=1,2,…,n)からの出力を受け取り、受け取ったn個の値を、n個の分散情報としたときの秘密の再構成を行う計算をし、その再構成されたもとの秘密を出力する。秘密再構成計算部102に入力されるn個の分散情報は、ランプ型(L,k,n)しきい値秘密分散法で分散されている情報である。
【0052】
図3は、図1の秘密再構成計算部102の構成を示すブロック図である。図3に示されるように、秘密再構成計算部102は、線形結合部201を有する。線形結合部201は、秘密再構成計算部102への入力を受け取り、メンバID_mから計算される係数を用いて、それらの入力の線形結合計算を行い、その計算結果を出力する。線形結合部201からの出力が、秘密再構成計算部102の出力となる。ここで、各メンバの分散処理部101−i(i=1,2,…,n)から出力される値(すなわち、秘密再構成計算部102へ入力される値)をZ’(i=1,2,…,n)とし、メンバID_mから計算される係数をr0,i,r1,i,…,rL−1,i(i=1,2,…,n)とする。このとき、秘密再構成計算部102は、次式(27)及び(28)の計算を行い、その結果Z=(Z,Z,…,ZL−1)を出力する。
【0053】
【数19】
Figure 2004287333
【0054】
【数20】
Figure 2004287333
【0055】
上記式(27)及び(28)における各演算は、有限体GF(q)上で行う。なお、以降の説明においては、断りがない限り、演算は、有限体GF(q)上で行うものとする。
【0056】
各メンバの分散処理部101−i(i=1,2,…,n)における処理は、各メンバがそれぞれ他のメンバにはその処理の内容が分からないように行う。秘密再構成計算部102における処理は、処理を統合するセンター(すなわち、センターが管理する演算装置)のようなものが行ってもよいし、集まったメンバのうち、だれか1人、又は、複数人(すなわち、集まったメンバのいずれかが管理する演算装置)で行ってもよい。ただし、計算結果Zを必要としているメンバが行うのが望ましい。
【0057】
図4は、図1の分散処理部101−i(i=1,2,…,n)の構成を示すブロック図である。図4に示されるように、分散処理部101−iは、秘密情報記憶部301−iと、秘密分散計算部302−iと、送信部303−iと、受信部304−iと、分散計算部305−iとを有する。秘密情報記憶部301−iからの出力が秘密分散計算部302−iへ入力され、秘密分散計算部302−iからの出力が送信部303−i及び分散計算部305−iへ入力される。送信部303−iは、秘密通信路103へ情報を送信する。また、秘密通信路103から受け取る情報は、受信部304−iへ入力され、受信部304−iからの出力が分散計算部305−iへ入力される。分散計算部305−iからの出力が、分散処理部101−iの出力となる。
【0058】
秘密情報記憶部301−iは、メンバIDがmであるメンバが保持する秘密情報Xを保持しており、この秘密情報Xを秘密分散計算部302−iへ出力する。メンバが保持する秘密情報(すなわち、秘密情報記憶部301−iに保持されている秘密情報)Xは有限体GF(q)のL次拡大体GF(q)上の値であり、生成元α及び有限体GF(q)上の値Xi,0,Xi,1,…,Xi,L−1を用いて、次式のように記述することができる。
=Xi,0+Xi,1α+…+Xi,L−1αL−1
【0059】
秘密分散計算部302−iへは、メンバIDがmであるメンバが保持する秘密情報Xが入力される。秘密分散計算部302−iは、入力された秘密情報Xをランプ型(L,k,n)しきい値秘密分散法(L≦k≦n)を用いて分散し、送信部303−i、及び、秘密通信路103を経由して他のメンバに配布する。メンバが保持する秘密情報Xは拡大体GF(q)上の値である。秘密分散計算部302−iで生成される分散情報をYi,p(p=1,2,…,n)とすると、自分自身に対する分散情報Yi,iは、分散計算部305−iへ出力され、その他の分散情報Yi,p(p=1,2,…,nであり、p≠iであるもの)は送信部303−iへ出力される。メンバが保持する秘密情報Xは拡大体GF(q)上の値であり、その分散情報Yi,pは、その有限体GF(q)上の値である。
【0060】
送信部303−iは、秘密分散計算部302−iからの出力Yi,p(p=1,2,…,nであり、p≠iであるもの)を受け取り、それを秘密通信路103を通して他の各メンバ(メンバIDがm(p=1,2,…,nであり、p≠iであるもの)であるメンバ)に送信する。なお、Yi,pは、メンバIDがmであるメンバからメンバIDがmであるメンバに送信される分散情報である。
【0061】
受信部304−iは、他の各メンバの送信部303−p(p=1,2,…,nであり、p≠iであるもの)から送信される情報Yp,i(p=1,2,…,nであり、p≠iであるもの)を受け取り、それを分散計算部305−iへ出力する。なお、Yp,iは、メンバIDがmであるメンバからメンバIDがmであるメンバに送信される分散情報である。
【0062】
分散計算部305−iは、秘密分散計算部302−iから、秘密情報Xの分散情報であるYi,iを受け取る。さらに、受信部304−iから、他のメンバから配布された、秘密情報X(p=1,2,…,nであり、p≠iであるもの)の分散情報Y1,i,Y2,i,…,Yn,i(分散情報Yi,i以外のもの)を受け取る。分散計算部305−iは、受け取ったn個の分散情報Yp,i(p=1,2,…,n)を用いて分散計算を行い、求めるべき計算結果(最終の計算結果)Zの分散情報(中間の計算結果)Z’を出力する。
【0063】
分散計算部305−iは、関数Z=f(X,X,…,X)に従った演算をするために、一つ若しくは複数の分散加算部を有する。例えば、
Z=f(X,X,…,X)=X+X+…+X
(すなわち、秘密情報の総和)を計算させようとする場合には、分散計算部305−iは、図6に示されるような構成(n−1個の分散加算部501−1,501−2,…,501−(n−1)からなる)になる。また、
Z=f(X,X,…,X)=X+X
(すなわち、ある特定の秘密情報の和)を計算させようとする場合には、分散計算部305−iは、図7に示されるような構成(1個の分散加算部601からなる)になる。
【0064】
図5は、第1の実施形態における秘密分散計算部302−i(i=1,2,…,n)の構成を示すブロック図である。図5に示されるように、秘密分散計算部302−iは、多項式生成部401−iと、分散情報生成部402−iとを有する。また、多項式生成部401−iは、乱数生成部403−iと、(k−1)次多項式生成部404−iとを有する。秘密分散計算部302−iへの入力は、多項式生成部401−iへ入力され、多項式生成部401−iからの出力が、分散情報生成部402−iへ入力される。分散情報生成部402−iからの出力が、秘密分散計算部302−iからの出力となる。また、多項式生成部401−iへの入力は、(k−1)次多項式生成部404−iへ入力され、乱数生成部403−iからの出力も(k−1)次多項式生成部404−iへ入力される。(k−1)次多項式生成部404−iからの出力が、多項式生成部401−iからの出力となる。
【0065】
多項式生成部401−iは、L個の有限体GF(q)上の値Xi,0,Xi,1,…,Xi,L−1を受け取り、それらの値から、次式(29)を満たすk−1次多項式hXi(x)を生成し、その生成した多項式hXi(x)を表現する情報を出力する。
Xi(I)=Xi,0
Xi(I)=Xi,1

Xi(IL−1)=Xi,L−1 …(29)
ただし、I,I,…,IL−1は、メンバIDと重複しない値で、予め決められている有限体GF(q)上の値とする。
【0066】
分散情報生成部402−iは、多項式hXi(x)を受け取り、次式(30)で示す有限体GF(q)上のn個の値Yi,p(p=1,2,…,n)を生成して出力する。
i,p=hXi(m) …(30)
ここで、p=1,2,…,nであり、Yi,pは、メンバIDがmであるメンバからメンバIDがmであるメンバに対して配布される分散情報を示す。
【0067】
乱数生成部403−iは、有限体GF(q)上のk−L個の乱数RXi,0,RXi,1,…,RXi,k−L−1を生成して出力する。
【0068】
(k−1)次多項式生成部404−iは、秘密分散計算部302−iへの入力であるメンバが保持する秘密情報X、及び、乱数生成部403−iからの乱数RXi,0,RXi,1,…,RXi,k−L−1を受け取り、次式(31)及び(32)で示されるようなk−1次多項式h(x)を生成し、その生成した多項式h(x)を表現する情報を出力する。
【0069】
【数21】
Figure 2004287333
【0070】
なお、メンバが保持する秘密情報Xは拡大体GF(q)上の値であり、前述したように、生成元α及び有限体GF(q)上の値Xi,0,Xi,1,…,Xi,L−1を用いて
=Xi,0+Xi,1α+…+Xi,L−1αL−1
の形で記述することができる。また、上記式(31)及び(32)は、メンバIDがmであるメンバの(k−1)次多項式生成部404−iが生成する多項式h(x)である。
【0071】
図8は、図6又は図7の分散加算部501又は601の構成を示すブロック図である。図8を用いて、分散計算部305−iの構成要素となる、分散加算部501又は601の構成を説明する。図8に示されるように、分散加算部501又は601は、加算部701を有する。加算部701は、2つの入力(有限体GF(q)上の値)を受け取り、それらの有限体GF(q)上の加算をした値を出力する。入力値をa及びbとすると、その出力cは、次式(33)のようになる。
c=a+b …(33)
上記式(33)は、有限体GF(q)上の演算(加算)である。
【0072】
分散情報a及びbは、それぞれ、ランプ型(L,k,n)しきい値秘密分散法の秘密再構成式(上記式(27)及び(28))を行うと、拡大体GF(q)上の値
A=(A,A,…,AL−1
B=(B,B,…,BL−1
になる。ここで、A,A,…,AL−1,B,B,…,BL−1はそれぞれ、有限体GF(q)上の値である。分散加算部501又は601から出力される分散情報cは、ランプ型(L,k,n)しきい値秘密分散法の秘密再構成を行うと、
C=A+B …(34)
となる拡大体GF(q)上の値C=(C,C,…,CL−1)となる。ここで、C,C,…,CL−1はそれぞれ、有限体GF(q)上の値である。上記式(34)は、拡大体GF(q)上の演算(加算)である。
【0073】
[第1の実施形態の動作]
図9は、第1の実施形態に係る分散計算方法を実施する構成(分散計算システム)の動作を示すフローチャートである。分散計算を行うための各メンバはn人であり、メンバIDがm(i=1,2,…,n)であるメンバは、秘密情報Xを持っている。メンバID_mは有限体GF(q)上の値であり、秘密情報Xは拡大体GF(q)上の値である。また、メンバID_m(i=1,2,…,n)は、メンバ全員に公開されている。分散計算に用いる有限体GF(q)、ランプ型秘密分散法のパラメータL、有限体GF(q)から拡大体GF(q)へ拡大するのに用いる既約多項式g(x)、その生成元α、及び、分散計算させたい関数f(X,X,…,X)は、予め決められているものとする。関数f(X,X,…,X)は、拡大体GF(q)上の演算で、第1の実施形態においては、拡大体GF(q)上の加算(例えば、X+X)のみで構成されているものとする。
【0074】
図9に示されるように、まず、各メンバが保持する秘密情報を、ランプ型(L,k,h)秘密分散法を用いて分散し、他のメンバに配布する(ステップS801)。ステップS801は、図4の秘密分散計算部302−iにおける動作を示しており、メンバIDがm(i=1,2,…,n)である各メンバの保持する秘密情報Xから、上記式(30)を用いて、分散情報Yi,p(p=1,2,…,n)を計算し、メンバIDがmであるメンバに対して配布する。
【0075】
次に、各メンバは、自分自身の秘密情報の分散情報、及び、他のメンバから配布された分散情報を用いて、関数fの分散計算を行う(ステップS802)。ステップS802は、図4の分散計算部305−iにおける動作を示しており、メンバIDがm(i=1,2,…,n)である各メンバは、関数f(X,X,…,X)で指示される通りの分散計算を行う。例えば、
f(X,X,…,X)=X+X
である場合には、メンバIDがmであるメンバは、配布された結果自分が保持する分散情報YA,i及びYB,iから、次の分散加算計算
Z’=YA,i+YB,i
を実行する。この分散加算計算の計算結果(中間の計算結果)Z’は、拡大体GF(q)上の計算結果(最終の計算結果)Z(ここで、Z=f(X,X,…,X)=X+Xである。)の分散情報(すなわち、ランプ型(L,k,n)秘密分散法で分散された分散情報)となっている。
【0076】
次の、ステップS803において、各メンバが計算した計算結果Z’から、関数fの計算結果Z=f(X,X,…,X)を、ランプ型(L,k,n)秘密分散法に基づいて秘密再構成する。ステップS803は、図1の秘密再構成計算部102における動作を示しており、メンバIDがmであるメンバがステップS802で計算した結果Z’(i=1,2,…,n)から、上記式(27)を用いて計算し、関数fの計算結果Z=f(X,X,…,X)を得ることができる。
【0077】
図10は、分散加算における動作を示すフローチャートである。例えば、拡大体GF(q)上の値A及びBの加算を行う場合を考える。図10に示されるように、メンバIDがm(i=1,2,…,n)である各メンバは、自身が保持する情報A及びBの分散情報a及びbより、その和c=a+bを計算して出力する(ステップS901)。
【0078】
[第1の実施形態の効果]
以上に説明したように、第1の実施形態によれば、関数f(ただし、関数fは、加算のみの関数)に対するマルチパーティ・プロトコル(各メンバの保持する秘密情報を公開しないまま、各メンバが分散計算を行うことにより、関数fの計算結果を得るプロトコル)において、関数fにおける拡大体GF(q)上の計算を、各メンバの分散演算処理においては、その拡大体よりも小さな有限体GF(q)上の計算のみを行うことで、達成することができる。このため、メンバそれぞれの分散演算処理における、演算量、演算回路に必要な回路規模、演算に必要な記憶容量、演算時間等の演算コストを削減することができる。
【0079】
≪第2の実施形態≫
第1の実施形態においては、ランプ型(L,k,n)しきい値秘密分散法を用いた、マルチパーティ・プロトコルによる分散計算の、分散加算方法について説明したが、第2の実施形態においては、マルチパーティ・プロトコルによる分散計算の、分散定数乗算方法を説明する。第1の実施形態と同様に、ランプ型(L,k,n)しきい値秘密分散法を用いていることから、従来のマルチパーティ・プロトコルによる分散計算と比較すると、各メンバに必要な演算は、もとの秘密情報の有限体の大きさよりも小さい有限体上で行うことができ、演算コストを下げることができる。
【0080】
[第2の実施形態の構成]
第1の実施形態と同様に、第2の実施形態においては、n人のメンバ(n個の分散計算装置でもよい)が、それぞれ秘密情報を持ち、それらの秘密情報を引数とした関数fの計算結果を求めるため、分散計算を行う場合を説明する。n人のメンバには、メンバIDとして、m,m,…,mが割り当てられている。メンバID_m(i=1,2,…,n)は、それぞれ有限体GF(q)(qは素数又は素数のべき乗)上の値である。
【0081】
また、メンバIDがmであるメンバは、秘密情報Xを持っているものとする。ここで、メンバが保持する秘密情報X(i=1,2,…,n)は、有限体GF(q)のL次拡大体GF(q)上の値であり、有限体GF(q)上の値Xi,0,Xi,1,…、Xi,L−1で表すことができる。有限体GF(q)をL次拡大して拡大体GF(q)を生成したときの生成多項式(既約多項式)をg(x)とし、生成元をαとする。
【0082】
第2の実施形態に係る分散計算方法を実施する構成(分散計算システム)は、第1の実施形態のものと同様に、図1のようになる。第2の実施形態に係る分散計算方法を実施する構成(分散計算システム)が第1の実施形態のものと異なる点は、分散処理部101−iの構成及び動作である。
【0083】
図11は、第2の実施形態における分散処理部(分散計算装置)101−i(i=1,2,…,n)の構成を示すブロック図である。図11に示されるように、第2の実施形態における分散処理部101−iは、秘密情報記憶部1001−iと、秘密分散計算部1002−iと、送信部1003−iと、受信部1004−iと、分散計算部1005−iとを有する。秘密情報記憶部1001−iからの出力が秘密分散計算部1002−iへ入力され、秘密分散計算部1002−iからの出力が送信部1003−i及び分散計算部1005−iへ入力される。送信部1003−iは、秘密通信路103へ情報を送信する。また、秘密通信路103から受け取る情報は、受信部1004−iへ入力され、受信部1004−iからの出力が分散計算部1005−iへ入力される。分散計算部1005−iからの出力が、第2の実施形態における分散処理部101−iの出力となる。
【0084】
第2の実施形態における秘密情報記憶部1001−i、秘密分散計算部1002−i、送信部1003−i、及び受信部1004−iは、第1の実施形態における秘密情報記憶部301−i、秘密分散計算部302−i、送信部303−i、及び受信部304−iと、構成及び動作が同じである。しかし、第2の実施形態における分散計算部1005−iは、第1の実施形態における分散計算部305−iと、構成及び動作が異なる。
【0085】
第2の実施形態における分散計算部1005−iは、分散加算に加えて、分散定数乗算を行うので、秘密通信路103を介して他のメンバの分散処理部101−p(p=1,2,…,nであり、p≠iであるもの)との通信を行う手段を有している。分散計算部1005−iは、秘密分散計算部1002−iから、秘密情報Xの分散情報Yi,iを受け取る。さらに、受信部1004−iから、他のメンバから配布された、秘密情報X(p=1,2,…,nであり、p≠iであるもの)の分散情報Y1,i,Y2,i,…,Yn,iを受け取る。これらn個の分散情報Yp,i(p=1,2,…n)を用いて分散計算を行い、計算結果(最終の計算結果)Zの分散情報(中間の計算結果)Z’を出力する。分散計算部1005−iは、関数Z=f(X,X,…,X)に従って、一つ若しくは複数の分散定数乗算部と0以上若しくは複数の分散加算部とを有する。例えば、
Z=f(X,X,…,X)=t+t+…+t
(秘密情報の線形結合計算)を計算させようとする場合には、分散計算部1005−iは、図12に示されるような構成(n個の分散定数乗算部1101(1101−1,1101−2,…,1101−n)と、n−1個の分散加算部1102(1102−1,1102−2,…,1102−(n−1))からなる)になる。
【0086】
図13は、図12の分散定数乗算部1101の構成を示すブロック図である。図13を用いて、分散計算部1005−iの構成要素となる、分散定数乗算部1101の構成を説明する。図13に示されるように、分散定数乗算部1101は、拡大体乗算部1201と、秘密分散計算部1202と、送信部1203と、受信部1204と、加算部1205とを有する。拡大体乗算部1201は、分散定数乗算部1101への入力を受け取る。拡大体乗算部1201からの出力は秘密分散計算部1202へ入力され、秘密分散計算部1202からの出力が送信部1203及び加算部1205へ入力される。送信部1203は、秘密通信路103へ情報を送信する。また、秘密通信路103から受け取る情報は、受信部1204へ入力され、受信部1204からの出力が加算部1205へ入力される。加算部1205からの出力が、分散定数乗算部1101の出力となる。
【0087】
分散定数乗算部1101は、2つの入力(有限体GF(q)上の値及び拡大体GF(q)上の定数)を受け取る。ここで、拡大体GF(q)上の値
A=(A,A,…,AL−1
及び、拡大体GF(q)上の定数
D=(D,D,…,DL−1
の乗算C=D×Aを分散計算する場合を考える。ここで、A,A,…,AL−1,D,D,…,DL−1はそれぞれ、有限体GF(q)上の値である。このとき、分散定数乗算部1101への入力は、値Aの(メンバIDがm(i=1,2,…,n)であるメンバの保持する)分散情報a及び拡大体GF(q)上の定数Dである。以降、分散定数乗算部1101は、メンバIDがm(i=1,2,…,n)であるメンバの分散計算部1005−iに含まれているものとして説明する。
【0088】
拡大体乗算部1201は、分散定数乗算部1101への入力である、分散情報a及び拡大体GF(q)上の定数D=(D,D,…,DL−1)を受け取り、まず、次式(35)で示される2L−1個の値E’i,0,E’i,1,…,E’i,2(L−1)を計算する。
【0089】
【数22】
Figure 2004287333
ここで、rj,i(j=0,1,…,L−1)は、上記式(28)で表される、メンバIDから計算される係数である。
【0090】
一方、拡大体GF(q)上における乗算を可能とするために、下記の式(37)で示す有限体GF(q)上の値gj,h(j=0,1,…,L−1; h=0,1,…,L−1)は、拡大体演算用に予め計算し保持しておくようにしておく。拡大体GF(q)を生成するときの生成多項式g(x)を下記の式(36)で示す。
【0091】
【数23】
Figure 2004287333
【0092】
【数24】
Figure 2004287333
【0093】
これら保持しておいたgj,h(j=0,1,…,L−1; h=0,1,…,L−1)、はじめに計算した上記式(35)のE’i,h(h=0,1,…,L−1)、及び、上記式(28)で表されるメンバIDから計算される係数rj,i(j=0,1,…,L−1)を用いて、次式(38)を計算する。
【0094】
【数25】
Figure 2004287333
【0095】
ここで、E=(Ei,0,Ei,1,…,Ei,L−1)は、拡大体乗算部1201からの出力である。拡大体乗算部1201からの出力E=(Ei,0,Ei,1,…,Ei,L−1)は、秘密分散計算部1202へ入力される。
【0096】
例えば、L=2、g(x)=x+x+1の場合には、上記式(37)から、gj,h(j=0,1,…,L−1; h=0,1,…,L−1)は、
0,0=1
0,1=1
1,0=−1
1,1=−1 …(39)
となり、拡大体乗算部1001(メンバIDがmであるメンバのもの)は、下記の式(40)によりE=(Ei,0,Ei,1)を計算し、出力する。
【0097】
【数26】
Figure 2004287333
【0098】
秘密分散計算部1202は、拡大体乗算部1201からの出力E=(Ei,0,Ei,1,…,Ei,L−1)を受け取る。この拡大体乗算部1201からの出力Eは、拡大体GF(q)上の値である。秘密分散計算部1202は、受け取った値Eを、ランプ型(L,k,n)しきい値秘密分散法(k≦n)を用いて分散し、送信部1203、及び、秘密通信路103を経由して他のメンバに配布する。秘密分散計算部1202は、図5に示される秘密分散計算部302−iと同様な構成をしており、入力される値が秘密情報X=(Xi,0,Xi,1,…,Xi,L−1)に代えて、値E=(Ei,0,Ei,1,…,Ei,L−1)が入力される。このとき、(k−1)次多項式生成部404−iで生成される多項式は、次式(41)になる。
【0099】
【数27】
Figure 2004287333
【0100】
ここで、H(x)は上記式(32)のものである。同様に、分散情報生成部402−iで生成される、メンバIDがm(p=1,2,…,n)であるメンバに対して配布する分散情報Fi,pは、上記式(41)を用いて、次式(42)で算出する。
i,p=hEi(m) …(42)
分散情報Fi,pは、その有限体GF(q)上の値である。
【0101】
自分自身に対する分散情報Fi,iは、加算部1205へ出力し、その他の分散情報Fi,p(p=1,2,…,nであり、p≠iであるもの)を送信部1203及び秘密通信路103を経由して各メンバに配布する。
【0102】
送信部1203は、秘密分散計算部1202からの出力Fi,p(p=1,2,…,nであり、p≠iであるもの)を受け取り、それを秘密通信路103を通して他の各メンバに送信する。
【0103】
受信部1204は、他の各メンバ(メンバIDがm(p=1,2,…,nであり、p≠iであるもの)であるメンバ)の送信部1203から送信される情報Fp,i(p=1,2,…,nであり、p≠iであるもの)を受け取り、それを加算部1205へ出力する。
【0104】
送信部1203及び受信部1204は、他のメンバの分散処理部101−pとの送受信する機能を持っており、分散処理部101−iにおける送信部1003−i及び受信部1004−iと共通化した構成にしてもよい。
【0105】
加算部1205は、秘密分散計算部1202からの出力Fi,iを受け取る。さらに、加算部1205は、受信部1204から、他のメンバの秘密分散計算部1202からの出力F1,i,F2,i,…,Fn,iを受け取る。これらn個の分散情報Fp,i(p=1,2,…,n)を、次式(43)のようにすべて加算(有限体GF(q)上の加算)し、その計算結果cを出力する。
=F1,i+F2,i+…+Fn,i …(43)
【0106】
この加算部1205からの出力cが、分散定数乗算部1101の出力となる。分散定数乗算部1101への入力を分散情報a(ランプ型(L,k,n)しきい値秘密分散法の秘密再構成を行うと、拡大体GF(q)上の値A=(A,A,…,AL−1)になる)、及び、定数D=(D,D,…,DL−1)とすると、そのとき分散定数乗算部1101から出力される分散情報cは、メンバでランプ型(L,k,n)しきい値秘密分散法の秘密再構成行うと、
C=D×A …(44)
となる拡大体GF(q)上の値C=(C,C,…,CL−1)となる。ここで、C,C,…,CL−1は、有限体GF(q)上の値である。また、上記式(44)は、拡大体GF(q)上の演算(乗算)である。
【0107】
[第2の実施形態の動作]
図14は、第2の実施形態に係る分散計算方法を実施する構成(分散計算システム)の動作を示すフローチャートである。図14に示されるように、第2の実施形態に係る分散計算方法を実施する構成(分散計算システム)の動作は、上記した第1の実施形態に係る分散計算方法を実施する構成(分散計算システム)の動作と類似している。しかし、第1の実施形態のステップS802(図9)において分散加算のみしか行わなかったが、第2の実施形態のステップS1302(図14)おいては、分散定数乗算をも行う点が相違する。
【0108】
図14を用いて、第2の実施形態に係る分散計算方法を実施する構成(分散計算システム)の動作を説明する。なお、第1の実施形態と異なるステップS1302のみを説明する。図14に示されるように、ステップS1302においては、各メンバは、自分自身の秘密情報の分散情報、及び、他のメンバから配布された分散情報を用いて、関数fの分散計算を行う。ステップS1302は、図11の分散計算部1005−iにおける動作を示しており、メンバIDがm(i=1,2,…,n)である各メンバは、関数f(X,X,…,X)で指示される通りの分散計算を行う。この関数fは、第1の実施形態においては、加算のみしか扱わなかったが、第2の実施形態においては、定数乗算も扱う。例えば、f(X,X,…,X)=t+t
(t,tは、拡大体GF(q)上の定数)である場合には、メンバIDがmであるメンバは、配布された結果自分が保持する分散情報YA,i及びYB,iから、t及びYA,iを入力とする分散定数乗算計算(分散定数乗算部1101の動作)、及び、t及びYB,iを入力とする分散定数乗算計算(分散定数乗算部1101の動作)を行って、その2つの出力の加算を行って計算結果(中間の計算結果)Z’を求める。その計算結果Z’は、拡大体GF(q)上の計算結果(最終の計算結果)
Z=f(X,X,…,X)=t+t
の分散情報(すなわち、ランプ型(L,k,n)秘密分散法で分散された分散情報)となっている。
【0109】
図15は、第2の実施形態における分散定数乗算の動作を示すフローチャートである。例えば、拡大体GF(q)上の値A=(A,A,…,AL−1)、及び、定数D=(D,D,…,DL−1)の乗算を行う場合を考える。
【0110】
まず、メンバIDがm(i=1,2,…,n)である各メンバは、自身が保持する情報Aの分散情報a、及び、定数Dより、上記式(38)を用いて、E=(Ei,0、Ei,1,…,Ei,L−1)を求める(ステップS1401)。ステップS1401は、図13の拡大体乗算部1201における動作を表している。
【0111】
次に、メンバIDがm(i=1,2,…,n)である各メンバは、ステップS1401で計算した値E=(Ei,0,Ei,1,…,Ei,L−1)をランプ型(L,k,n)秘密分散法を用いて分散情報Fi,p(p=1,2,…,n)を作り、メンバIDがm(p=1,2,…,nであり、p≠iであるもの)である他のメンバに分散情報Fi,pを配布する(ステップS1402)。ステップS1402は、図13の秘密分散計算部1202及び送信部1203における動作を示している。
【0112】
次に、メンバIDがm(i=1,2,…,n)である各メンバは、ステップS1402の動作により受け取った分散情報Fp,i(p=1,2,…,n)をすべて加算し(上記式(43))、値cを求めて出力する(ステップS1403)。ステップS1403は、図13の受信部1204及び加算部1205における動作を示している。
【0113】
[第2の実施形態の効果]
以上に説明したように、第2の実施形態によれば、第1の実施形態と同様に、関数f(ただし、関数fは、加算及び定数乗算のみからなる関数)に対するマルチパーティ・プロトコル(各メンバの保持する秘密情報を公開しないまま、各メンバが分散計算を行うことにより、関数fの計算結果を得るプロトコル)において、関数fにおける拡大体GF(q)上の計算を、各メンバの分散演算処理においては、その拡大体よりも小さな有限体GF(q)上の計算のみを行うことで、達成することができる。このため、メンバそれぞれの分散演算処理における、演算量、演算回路に必要な回路規模、演算に必要な記憶容量、演算時間等の演算コストを削減することができる。
【0114】
また、第1の実施形態とは異なり、第2の実施形態においては、分散加算計算だけでなく、分散定数乗算計算も可能となる。
【0115】
≪第3の実施形態≫
第1の実施形態においては、ランプ型(L,k,n)しきい値秘密分散法を用いた、マルチパーティ・プロトコルによる分散計算の、分散加算方法についてついて説明したが、第3の実施形態においては、マルチパーティ・プロトコルによる分散計算の、分散乗算方法を説明する。第1及び第2の実施形態と同様に、ランプ型(L,k,n)しきい値秘密分散法を用いていることから、従来のマルチパーティ・プロトコルによる分散計算と比較すると、各メンバに必要な演算は、もとの秘密情報の有限体の大きさよりも小さい有限体上で行うことができ、演算コストを下げることができる。
【0116】
[第3の実施形態の構成]
第1及び第2の実施形態と同様に、第3の実施形態においては、n人のメンバ(n個の分散計算装置でもよい)が、それぞれ秘密情報を持ち、それらの秘密情報を引数とした関数fの計算結果を求めるため、分散計算を行う場合を説明する。n人のメンバには、メンバIDとして、m,m,…,mが割り当てられている。メンバID_m(i=1,2,…,n)は、それぞれ有限体GF(q)(qは、素数又は素数のべき乗)上の値である。
【0117】
また、メンバIDがmであるメンバは、秘密情報Xを持っているものとする。ここで、メンバが保持する秘密情報X(i=1,2,…,n)は、有限体GF(q)のL次拡大体GF(q)上の値であり、有限体GF(q)上の値であるXi,0,Xi,1,…,Xi,L−1で表すことができる。有限体GF(q)をL次拡大して拡大体GF(q)を生成したときの生成多項式(既約多項式)をg(x)とし、生成元をαとする。
【0118】
第3の実施形態に係る分散計算方法を実施する構成(分散計算システム)は、第1及び第2の実施形態のものと同様に、図1のようになる。第3の実施形態に係る分散計算方法を実施する構成(分散計算システム)が第1の実施形態のものと異なる点は、分散処理部101−iの構成及び動作である。
【0119】
第3の実施形態における分散処理部(分散計算装置)101−i(i=1,2,…,n)の構成は、第2の実施形態のものと同様に図11のようになる。第3の実施形態における分散処理部101−iが、第2の実施形態のものと異なる点は、分散計算部1005−iの構成及び動作である。
【0120】
第3の実施形態における分散計算部1005−iは、分散加算(第1の実施形態)及び分散定数乗算(第2の実施形態)に加えて、分散乗算を行うので、第2の実施形態のものと同様に、秘密通信路103を介して他のメンバの分散処理部101−p(p=1,2,…,nであり、p≠iであるもの)との通信を行う手段を有している。分散計算部1005−iは、秘密分散計算部1002−iから、秘密情報Xの分散情報Yi,iを受け取る。さらに、受信部1004−iから、他のメンバから配布された、秘密情報X(p=1,2,…,nであり、p≠iであるもの)の分散情報Y1,i,Y2,i,…,Yn,iを受け取る。これらn個の分散情報Yp,i(p=1,2,…,n)を用いて、分散計算を行い、計算結果(最終の計算結果)Zの分散情報(中間の計算結果)Z’を出力する。分散計算部1005−iは、関数Z=f(X,X,…,X)に従って、一つ若しくは複数の分散乗算部、0以上若しくは複数の分散加算部、及び、0以上若しくは複数の分散定数乗算部からなる。例えば、
Z=f(X、X,…,X
=(t+t+…+t)×X
(秘密情報の線形結合計算とメンバIDがmであるメンバの保持する秘密情報との乗算)を計算させようとする場合には、分散計算部1005−iは、図16のような構成(n個の分散定数乗算部1501、n−1個の分散加算部1502、1個の分散乗算部1503からなる)になる。また、
Z=f(X,X,…,X)=X×X
(メンバIDがm、mであるメンバの保持する秘密情報同士の乗算)を計算させようとする場合には、分散計算部1005−iは、図17のような構成(1個の分散乗算部1601からなる)になる。
【0121】
図18は、図16の分散乗算部1503又は図17の分散乗算部1601の構成を示すブロック図である。図18を用いて、第3の実施形態における分散計算部1005−iの構成要素となる、分散乗算部1503,1601の構成を説明する。図18に示されるように、分散乗算部1503,1601は、乗算部1701と、紛失通信計算部1702と、分散情報計算部1703と、秘密分散計算部1704と、送信部1705と、受信部1706と、加算部1707とを有する。分散乗算部1503,1601への入力は、乗算部1701、及び、紛失通信計算部1702へ入力される。乗算部1701は、分散乗算部1503,1601への入力を受け取り、分散情報計算部1703へ出力する。また、紛失通信計算部1702は、分散乗算部1503,1601への入力を受け取り、分散情報計算部1703へ出力する。分散情報計算部1703は、乗算部1701、及び、紛失通信計算部1702からの出力を受け取り、分散情報計算部1703からの出力が秘密分散計算部1704へ入力される。秘密分散計算部1704からの出力は送信部1705及び加算部1707へ入力される。送信部1705は、秘密通信路103へ情報を送信する。また、秘密通信路103から受け取る情報は、受信部1706へ入力され、受信部1706からの出力が加算部1707へ入力される。加算部1707からの出力が、分散乗算部1503,1601の出力となる。
【0122】
分散乗算部1503,1601は、2つの入力(有限体GF(q)上の値)を受け取る。拡大体GF(q)上の値A=(A,A,…,AL−1)、及び、B=(B,B,…,BL−1)の乗算C=A×Bを分散計算しようとする場合を考える。ここで、A,A,…,AL−1,B,B,…,BL−1は、有限体GF(q)上の値である。このとき、分散乗算部1503,1601への入力は、値A及びBの(メンバIDがm(i=1,2,…,n)であるメンバの保持する)分散情報a及びbである。分散情報a及びbは、有限体GF(q)上の値である。以降、分散乗算部1503,1601は、メンバIDがm(i=1,2,…,n)であるメンバの分散計算部1005−iに含まれるものとして説明する。乗算部1701は、分散乗算部1503,1601への入力である分散情報a及びbを受け取り、それらの乗算c’=a×b(有限体GF(q)上の乗算)を行い、乗算結果c’を、分散情報計算部1703へ出力する。
【0123】
紛失通信計算部1702は、分散乗算部1503,1601への入力a及びbを受け取り、メンバIDがmp(p=1,2,…,nであり、p≠iであるもの)である他のメンバの紛失通信計算部1702への入力値との乗算、すなわち、a×b及びa×bの結果に相当するもの(乗算結果そのものではない)が得られるように通信及び計算処理をする。すなわち、
×b=di,p,+dp,i …(45)
×b=ei,p,+ep,i …(46)
となるような、di,p及びei,pをメンバIDがmであるメンバが保持することができ、dp,i及びep,iをメンバIDがmであるメンバが、それぞれ保持することができるように、計算及び通信を行う。紛失通信計算部1702は、それぞれn−1個の値di,p(p=1,2,…nであり、p≠iであるもの)及びei,p(p=1,2,…nであり、p≠iであるもの)を算出し、分散情報計算部1703へ出力する。
【0124】
分散情報計算部1703は、乗算部1701からの出力c’と、紛失通信計算部1702からの出力di,p(p=1,2,…,nであり、p≠iであるもの)及びei,p(p=1,2,…,nであり、p≠iであるもの)を受け取り、それらを用いて、まず、次式(47)により、値Gu,v(u=1,2,…,L−1;v=1,2,…,L−1)を計算する。
【0125】
【数28】
Figure 2004287333
【0126】
ただし、上記式(47)において、ru,i(u=0,1,…,L−1)は、上記式(28)で表される、メンバIDから計算される係数である。
【0127】
次に、次式(48)のような2L−1個の値E’i,0,E’i,1,…,E’i,2(L−1)を計算する。
【数29】
Figure 2004287333
【0128】
次に、次式(49)により、分散情報計算部1703からの出力E=(Ei,0,Ei,1,…,Ei,L−1)を計算する。
【数30】
Figure 2004287333
【0129】
ただし、gj,h(j=0,1,…,L−1; h=0,1,…,L−1)は、上記式(37)で表される、拡大体GF(q)の生成多項式g(x)の係数から計算される値である。分散情報計算部1703からの出力E=(Ei,0,Ei,1,…,Ei,L−1)は、秘密分散計算部1704へ入力される。
【0130】
例えば、L=2、g(x)=x+x+1の場合には、出力E=(Ei,0,Ei,1)は、次式(50)により、計算される。
【数31】
Figure 2004287333
【0131】
第3の実施形態における秘密分散計算部1704、送信部1705、受信部1706、及び、加算部1707は、分散定数乗算部1101(第2の実施形態)の秘密分散計算部1202、送信部1203、受信部1204、及び、加算部1205とそれぞれ同様なものである。
【0132】
秘密分散計算部1704からの出力Fi,i(秘密分散計算部1704へ入力されるE=(Ei,0,Ei,1,…,Ei,L−1)の自分自身への分散情報)は、加算部1707へ出力され、さらに、秘密分散計算部1704からの出力Fi,p(秘密分散計算部1704へ入力されるE=(Ei,0,Ei,1,…,Ei,L−1)のメンバIDがm(p=1,2,…,nであり、p≠iであるもの)であるメンバへの分散情報)は送信部1705へ出力される。
【0133】
送信部1705は、秘密分散計算部1704からの出力を秘密通信路103を通して他のメンバの受信部1706へ送信する。また、受信部1706は、他のメンバの送信部1705から出力Fp,i(p=1,2,…,nであり、p≠iであるもの)を秘密通信路103を通して受信し、その受信した値を加算部1707へ出力する。加算部1707は、秘密分散計算部1704からの出力Fi,i、及び、受信部1706からの出力Fp,i(p=1,2,…,nであり、p≠iであるもの)を受け取り、それらの加算を行い、その計算結果cを出力する。加算部1707からの出力が、分散乗算部1503,1601からの出力となる。送信部1705及び受信部1706は、他のメンバの分散処理部101−pとの送受信する機能を持っており、分散処理部101−iにおける送信部1003−i及び受信部1004−iと共通化した構成にしてもよい。
【0134】
図19は、図18の紛失通信計算部1702の構成を示すブロック図である。図19を用いて、紛失通信計算部1702の構成を説明する。紛失通信計算部1702は、メンバIDがm(i=1,2,…,n)であるメンバの分散計算部1005−iに含まれるものとして説明する。
【0135】
図19に示されるように、紛失通信計算部1702は、i−1個の通信計算受信部1801−p(p=1,2,…,i−1)と、i−1個の通信計算受信部1802−p(p=1,2,…,i−1)、n−i個の通信計算送信部1803−p(p=i+1,i+2,…,n)と、n−i個の通信計算送信部1804−p(p=i+1,i+2,…,n)とを有する。紛失通信計算部1702へ入力される2つの入力のうち、一つは、通信算受信部1801−p(p=1,2,…,i−1)及び通信計算送信部1803−p(p=i+1,i+2,…,n)へ、他の一つは、通信計算受信部1802−p(p=1,2,…,i−1)及び通信算送信部1804−p(p=i+1,i+2,…,n)へ入力される。通信計算受信部1801−p,1802−p(p=1,2,…,i−1)、及び、通信計算送信部1803−p,1804−p(p=i+1,i+2,…,n)からの出力が、紛失通信計算部1702からの出力となる。通信計算受信部1801−p,1802−p(p=1,2,…,i−1)、及び通信計算送信部1803−p,1804−p(p=i+1,i+2,…,n)は、秘密通信路103を通して、他のメンバとの情報のやりとりを行うことにより、前述の通り、メンバIDがm(p=1,2,…,nであり、p≠iであるもの)である他のメンバの値との乗算、すなわち、a×b及びa×bの結果に相当するもの(乗算結果そのものではない)が得られるようにするが、他のメンバの値a及びbが分からないように、また、自分の値a及びbが、他のメンバに分からないように、紛失通信というものを行う。前述した通り、紛失通信とは、送信側が、M個の情報を符号化(暗号化)して送信するが、受信側においては、そのうち一つしか受け取る(意味のあるように復号が可能となる)ことができず、また、送信側においては、受信側がどの情報を受け取った(意味のあるように復号が可能となった)かを知ることができない通信方法をいうことにする。この実施形態においては、法qのもとでの離散対数を計算することが困難であることを利用して、紛失通信を構成する。
【0136】
通信計算受信部1801−p,1802−p(p=1,2,…,i−1)、及び、通信計算送信部1803−p,1804−p(p=i+1,i+2,…,n)は、iの値によって、通信計算受信部又は通信計算送信部を持たなかったりする。例えば、i=1の場合には、通信計算受信部を持たず、2×(n−1)個の通信計算送信部を持つ。また、i=nの場合には、通信計算送信部を持たず、2×(n−1)個の通信計算受信部を持つことになる。また、他のメンバとの送受信の関係は、メンバIDがmであるメンバの通信計算送信部1803−p,1804−p(p=i+1,i+2,…,n)からは、それぞれ、秘密通信路103を通して、メンバIDがmであるメンバの通信計算受信部1801−i,1802−iのそれぞれへ情報が渡される。図20及び図21で詳細を説明する。
【0137】
図20は、図19の通信計算受信部1801−p,1802−p(p=1,2,…,i−1)の構成を示すブロック図である。図20を用いて、通信計算受信部1801−p,1802−p(p=1,2,…,i−1)の構成を説明する。図20に示されるように、通信計算受信部1801−p,1802−p(p=1,2,…,i−1)は、インデックス計算送信部1901と、受信復元部1902とを有する。通信計算受信部1801−pは、紛失通信計算部1702への2つの入力のうち一つの入力を受け取り、通信計算受信部1802−pは、他の一つの入力を受け取る。ここでは、通信計算受信部1801−pへの入力をaとし、通信計算受信部1802−pへの入力をbとする。通信計算受信部1801−pと1802−pは、内部的に同じ構造なので、ここでは、通信計算受信部1801−pについて説明し、通信算受信部1802−pに相当する説明は、括弧〔 〕内に記述する。通信計算受信部1801−p 〔1802−p〕 への入力は、インデックス計算送信部1901へ入力される。インデックス計算送信部1901からの出力は、受信復元部1902へ入力される。受信復元部1902からの出力が通信計算受信部1801−p 〔1802−p〕 からの出力となる。
【0138】
インデックス計算送信部1901は、通信計算受信部1801−p 〔1802−p〕 への入力a 〔b〕 を受け取り、次式(51)で示す計算を施して、a’i,p 〔b’i,p〕 を計算し、秘密通信路103を通して、メンバIDがmであるメンバへ送信する(p=1,2,…,i−1)。
【数32】
Figure 2004287333
【0139】
上記式(51)において、h及びgは、有限体GF(q)の2つの生成元とし、rAi,p 〔rBi,p〕 は、乱数として有限体GF(q)上の値を選ぶ。また、インデックス計算送信部1901は、上記式(51)で用いた乱数rAi,p 〔rBi,p〕 を受信復元部1902へ出力する。
【0140】
受信復元部1902は、メンバIDがm(p=1,2,…,i−1)であるメンバからq個(qは有限体GF(q)の要素数)の情報を受け取り、a番目の情報d’i,p 〔b番目の情報e’i,p〕 を、次式(52)で計算することにより、目的とする値di,p 〔ei,p〕 を計算する。受信復元部1902は、それ以外の受け取った情報は、メンバIDがmであるメンバにとっては、乱数に見える。
【0141】
【数33】
Figure 2004287333
【0142】
値d’i,p 〔e’i,p〕 は、2つの情報d’1,i,p及びd’2,i,p〔e’1,j,p及びe’2,i,p〕 から成っているものとする。計算される値di,p 〔ei,p〕 が、受信復元部1902の出力となり、通信計算受信部1801−p 〔1802−p〕 からの出力となる。
【0143】
図21は、図19の通信計算送信部1803−p,1804−p(p=i+1,i+2,…,n)の構成を示すブロック図である。図21を用いて、通信計算送信部1803−p,1804−pの構成を説明する。図21に示されるように、通信計算送信部1803−p,1804−p(p=i+1,i+2,…,n)は、乱数生成部2001と、有限体要素生成部2002と、乗数計算送信部2003−a(a=1,2,…,q)とを有する。
【0144】
通信計算送信部1803−p,1804−p(p=i+1,i+2,…,t)への入力は、乱数生成部2001及び有限体要素生成部2002からの出力とともに、乗数計算送信部2003−a(a=1,2,…,q)へ入力される。乱数生成部2001からの出力が、通信計算送信部1803−p,1804−p(p=i+1,i+2,…,n)からの出力となる。通信計算送信部1803−pは、紛失通信計算部1702の2つの入力のうち一つの入力を受け取り、通信計算送信部1804−pは、他の一つの入力を受け取る。ここでは、通信計算送信部1803−pへの入力をa、通信計算送信部1804−pへの入力をbとおく。通信計算送信部1803−p,1804−pは、内部的に同じ構造なので、ここでは、通信計算送信部1803−pについて説明し、通信計算送信部1804−pに相当する説明は、括弧〔 〕内に記述する。
【0145】
図21に示される乱数生成部2001は、有限体GF(q)上の値の乱数を生成して出力する。乗数計算送信部2003−a(a=1,2,…,q)へは、同じ乱数が出力される。乱数生成部2001からの出力が通信計算送信部1803−p 〔1804−p〕 (p=i+1,i+2,…,n)からの出力となる。
【0146】
図21に示される有限体要素生成部2002は、有限体GF(q)上の値を0,1,…,q−1と、順次生成し、それぞれ、乗数計算送信部2003−a(a=1,2,…,q)へ出力する。すなわち、乗数計算送信部2003−1へは0を、乗数計算送信部2003−2へは1を、乗数計算送信部2003−jへはj−1を、乗数計算送信部2003−qへはq−1を、出力する。
【0147】
図21に示される乗数計算送信部2003−a(a=1,2,…,q)は、通信計算送信部1803−p 〔1804−p〕 (p=i+1,i+2,…,n)から入力される値a 〔b〕 、乱数生成部2001から乱数を、有限体要素生成部2002から対応する有限体要素a−1を、秘密通信路103を通してメンバIDがm(p=i+1,i+2,…,n)であるメンバからの情報(他のメンバの通信計算受信部1801−i 〔1802−i〕 のインデックス計算送信部1901から出力)a’p,i 〔b’p,i〕 を、受け取り、それらの入力から計算をして、計算結果を出力する。乗数計算送信部2003−a(a=1,2,…,q)からの出力、合計q個の出力は、秘密通信103を通して、aの値の小さい順に、メンバIDがm(p=i+1、i+2,…,n)であるメンバへ送信する。今、乱数生成部2001からの出力をdi,p 〔ei,p〕 とする。また、秘密通信路103を通して受信する値を、a’p,i(通信計算送信部1803−pに相当) 〔b’p,i(通信計算送信部1804−pに相当)〕とする。有限体要素生成部2002から乗数計算送信部2003−a(a=1,2,…,q)へは、a−1が入力される。乗数計算送信部2003−a(a=1,2,…,q)は、次式(53)〜(55)の計算を行い、d’p,i,a 〔e’p,i,a〕 をそれぞれ計算し(d’p,i,a〔e’p,i,a〕 は式(52)の説明で述べたように2つの値からなる)、秘密通信路103を通してナンバIDがm(p=i+1,i+2,…,n)であるメンバへ、a=1,2,…,qの順に送信する。
【0148】
【数34】
Figure 2004287333
【0149】
ここで、kA 〔kB(a=1,2,…,q)〕 は、それぞれ、q個の有限体GF(q)上の値の乱数である。これらの出力d’p,i,a又はe’p,i,aを秘密通信路103を通して、メンバIDがm(p=i+1,i+2,…,n)であるメンバの通信計算受信部1801−i 〔通信計算受信部1802−i〕 が受け取ると、受け取ったメンバは、a=a 〔b〕 に相当するa番目の情報d’p,i=d’p,i,a〔e’p,i=e’p,i,a〕 を式(52)で復号することができる(それ以外の受け取った情報は、メンバIDがmであるメンバにとっては、乱数に見える)。
【0150】
図21で示される乱数生成部2001からの出力di,p 〔ei,p〕 が通信計算送信部1803−p 〔1804−p〕 (p=i+1,i+2,…,n)からの出力となる。
【0151】
図18のような構成の分散乗算部1503,1601への入力を分散情報a及びb(ランプ型(L,k,n)しきい値秘密分散法の秘密再構成を行うと、それぞれ、拡大体GF(q)上の値A=(A,A,…,AL−1)及びB=(B,B,…,BL−1)になる)とすると、そのとき分散乗算部1503,1601から出力される分散情報cは、メンバでランプ型(L,k,n)しきい値秘密分散法の秘密再構成行うと、
C=A×B …(56)
となる拡大体GF(q)上の値C=(C,C,…,CL−1)となる。ここで、C,C,…,CL−1は、有限体GF(q)上の値である。式(56)は、拡大体GF(q)上の演算(乗算)である。
【0152】
[第3の実施形態の動作]
図22は、第3の実施形態に係る分散計算方法を実施する構成(分散計算システム)の動作を示すフローチャートである。第3の実施形態に係る分散計算方法を実施する構成(分散計算システム)の動作は、図22に示されるように、上記した第1及び第2の実施形態に係る分散計算方法を実施する構成(分散計算システム)の動作と類似している。しかし、第1の実施形態のステップS802(図9)において分散加算のみ、第2の実施形態のステップS1302(図14)においては分散加算と分散定数乗算のみしか行わなかったが、第3の実施形態のステップS2102(図22)おいては、分散乗算をも行う点が相違する。
【0153】
図22を用いて、第3の実施形態の分散計算法を実施する構成(分散計算システム)の動作を説明する。なお、第1及び第2の実施形態と異なるステップS2102のみを説明する。図22に示されるように、ステップS2102においては、各メンバは、自分自身の秘密情報の分散情報、及び、他のメンバから配布された分散情報を用いて、関数fの分散計算を行う。ステップS2102は、図11の分散計算部1005−iにおける動作を示しており、メンバIDがm(i=1,2,…,n)である各メンバは、関数f(X,X,…,X)で指示される通りの分散計算を行う。この関数fは、第1の実施形態においては加算のみ、第2の実施形態においては、加算と定数乗算しか扱わなかったが、第3の実施形態においては、乗算も取り扱う。例えば、
f(X,X,…,X)=(t+t)×X
(t及びtは、拡大体GF(q)上の定数)である場合には、メンバIDがmであるメンバは、配布された結果自分が保持する分散情報YA,i、YB,i、及び、Yc,iから、t及びYA,iを入力とする分散定数乗算計算(分散定数乗算部1101の動作)、t及びYB,iを入力とする分散定数乗算計算(分散定数乗算部1101の動作)を行って、その2つの出力の分散加算(分散加算部501,601の動作)を行い、さらに、その加算結果とYc,iとの分散乗算計算(分散乗算部1503,1601の動作)を行ってZ’を求める。その計算結果Z’は、拡大体GF(q)上の計算結果
Z=f(X,X,…,X)=(t+t)×X
の(ランプ型(L,k,n)秘密分散法で分散された)分散情報となっている。
【0154】
図23は、第3の実施形態における分散乗算における動作を示すフローチャートである。例えば、拡大体GF(q)上の値A=(A,A,…,AL−1)、B=(B、B,…,BL−1)の乗算を行う場合を考える。まず、メンバIDがm(i=1,2,…,n)である各メンバは、自身が保持する値A及びBの分散情報a及びbより、その積c’=a×b、及び、紛失通信を用いて、上記式(45)及び(46)にあるような値di,p及びei,p(p=1,2,…,nであり、p≠iであるもの)を求める(ステップS2201)。ステップS2201は、図18における乗算部1701(値c’を求める)、及び、紛失通信計算部1702(値di,p及びei,p(p=1,2,…,nであり、p≠iであるもの)を求める)における動作を表している。
【0155】
次に、メンバIDがm(i=1,2,…,n)である各メンバは、ステップS2201で計算した値c’及びdi,p,ei,p(p=1,2,…,nであり、p≠iであるもの)から、式(49)を用いて、E=(Ei,0,Ei,1,…,Ei,L−1)を求める(ステップS2202)。ステップS2202は、図18の分散情報計算部1703における動作を示している。
【0156】
次に、メンバIDがm(i=1,2,…,n)である各メンバは、ステップS2202で計算した値E=(Ei,0,Ei,1,…,Ei,L−1)をランプ型(L,k,n)秘密分散法を用いて分散情報Fi,p(p=1,2,…,n)を作り、メンバIDがm(p=1,2,…,nであり、p≠iであるもの)である他のメンバに分散情報Fi,pを配布する(ステップS2203)。ステップS2203は、図18の秘密分散計算部1704及び送信部1705における動作を示している。
【0157】
次に、メンバIDがm(i=1,2,…,n)である各メンバは、ステップS2203の動作により受け取った分散情報Fi,p(p=1,2,…,n)をすべて加算し(上記式(43))、値cを求めて出力する(ステップS2204)。ステップS2204は、図18の受信部1706及び加算部1707における動作を示している。
【0158】
[第3の実施形態の効果]
以上に説明したように、第3の実施形態によれば、第1及び第2の実施形態と同様に、関数f(ただし、関数fは、加算、定数乗算、及び、乗算からなる関数)に対するマルチパーティ・プロトコル(各メンバの保持する秘密情報を公開しないまま、各メンバが分散計算を行うことにより、関数fの計算結果を得るプロトコル)において、関数fにおける拡大体GF(q)上の計算を、各メンバの分散演算処理においては、その拡大体よりも小さな有限体GF(q)上の計算のみを行うことで、達成することができる。このため、メンバそれぞれの分散演算処理における、演算量、演算回路に必要な回路規模、演算に必要な記憶容量、演算時間等の演算コストを削減することができる。
【0159】
また、第1及び第2の実施形態とは異なり、第3の実施形態においては、分散加算計算、分散定数乗算計算だけでなく、分散乗算計算も可能となる。
【0160】
なお、第1〜第3の実施形態においての「メンバ」は、必ずしも1人の人間である必要はなく、秘密情報を保持し、計算手段(分散秘密再構成計算部)を構成要素として持つ装置とすることもできる。すなわち、1人の人間が、上記装置を複数個持って処理を進めることができる。この場合には、1人の人間が、複数のメンバとなる。また、1台の上記装置を複数の人間が管理して処理を進めることもできる。この場合は、複数の人間が、1人のメンバとなる。
【0161】
≪第4の実施形態≫
第1〜3の実施形態において、各メンバにおける分散計算部305−i、又は、1005−iにおける分散計算に用いる分散情報は、必ずしもメンバの保有する秘密Xの分散情報でなくとも分散計算は可能である。すなわち、外部(センタのようなものを仮定してもよい)から、ランプ型(L,k,n)しきい値秘密分散法で分散された分散情報を、目的とする関数fの計算に必要な分だけいくつか(メンバの数nよりも多くてもよい)与えられ、それを用いて分散計算するような分散処理部を構成することが可能である。そのような分散処理部を用いた分散計算方法を実施する構成(分散計算システム)の構成を図24に示し、その分散処理部(分散計算装置)の構成を図25(a)及び(b)に示す。
【0162】
図24に示されるように、第4の実施形態の秘密計算方法を実施する構成(分散計算システム)は、秘密分散送信部2301と、n個の分散処理部2302−i(i=1,2,…,n)と、秘密再構成計算部2303とを有する。
【0163】
秘密分散送信部2301は、関数fへ入力する拡大体GF(q)上の値の、ランプ型(L,k,n)しきい値秘密分散法で分散した分散情報を求め、各分散処理部2302−i(i=1,2,…,n)へ出力する。例えば、D=f(A,B,C)(A,B,C,Dは、拡大体GF(q)上の値)を分散計算させる場合には、秘密分散送信部2301は、A,B,Cをランプ型(L,k,n)しきい値秘密分散法で分散し、その分散情報a,b,c(i=1,2,…,n)を、各分散処理部2302−iへ出力する。
【0164】
図25(a)及び(b)に示されるように、各分散処理部2302−iは、秘密分散送信部2301からの出力を受信する分散情報受信部2406−iを持ち、その分散情報受信部2406−iで受信した分散情報を分散計算部2405−iへ出力する。
【0165】
分散計算部2405−iは、所望の関数fに、定数乗算及び乗算が含まれている場合には、他の分散処理部2302−iと秘密通信を行う秘密通信路103が備わっており、分散情報受信部2406−iから受け取った値、及び、受信部2404−iから受け取った値(図25(a)の場合)を用いて、関数fの分散計算を行う。分散計算部2405−iの構成は、第1〜第3の実施形態のものと同様であり、分散計算結果を出力する。この分散計算部2405−iからの出力は、秘密再構成計算部2303へ入力される。秘密情報記憶部2401−i、秘密分散計算部2402−i、送信部2403−i、及び、受信部2404−iは、第1〜第3の実施形態のものと同様である。また、分散情報受信部2406−iは、受信部2404−iと同等な機能を持つため、分散情報受信部2406−iの機能を受信部2404−iに持たせ、受信機能を一つのみ持つ構成とすることも可能である。
【0166】
図24に示される秘密再構成計算部2303は、第1〜第3の実施形態の秘密再構成計算部と同様なものであり、最終的な関数fの計算結果を出力する。第1〜第3の実施形態のものと同様に、秘密再構成計算部2303における処理は、処理を統合するセンターのようなものが行ってもよいし、集まったメンバのうち、だれか1人、又は、複数人で行ってもよい。ただし、計算結果Zを必要としているメンバが行うのが望ましい。また、最終的な秘密再構成の処理(秘密再構成計算部2303の動作)は、誰か1以上の複数のメンバの分散処理部が行ってもよいので、そのような構成の分散処理部の構成を、図26及び図27(a)及び(b)に示す。これは、第1〜第3の実施形態の分散処理部、及び、図25(a)及び(b)に示す分散処理部に、秘密再構成計算部が追加された形になる。図26及び図27(a)及び(b)の構成においては、分散処理部自身で最終的な計算結果Zを再構成することができるので、分散計算部2505−iからの出力Z’は、必要に応じて、分散処理部から外への出力として、出力するか否かを選択することができる。そのため、図26及び図27(a)及び(b)においては、分散計算部2505−iからの出力を、破線の矢印で描いている。図26及び図27(a)及び(b)の構成を持つ分散処理部が1以上の複数個含まれていれば、図1及び図24の構成を持つ分散計算システムにおける、秘密再構成計算部102及び2303を備えなくても、最終の計算結果Zを得ることが可能となる。
【0167】
また、第2の実施形態において、図13の拡大体乗算部1201の構成の説明において、式(35)でE’i,0,E’i,1,…,E’i,2(L−1)を計算した後、式(38)のE=(Ei,0,Ei,1,…,Ei,L−1)を計算するようにしていたが、L=2等の例を挙げている通り、式(40)のように、E’i,0,E’i,1,…,E’i,2(L−1)を求めずに、直接E=(Ei,0,Ei,1,…,Ei,L−1)を求めるようにしてもよい。
【0168】
また、同様に、第3の実施形態において、図18の分散情報計算部1703の構成の説明で、式(47)でGu,v(u=0,1,2,…,L−1; v=0,1,2,…,L−1)、さらに、式(48)でE’i,0,E’i,1,…,E’i,2(L−1)を計算した後、式(49)のE=(Ei,0、Ei,1,…,Ei,L−1)を計算するようにしていたが、L=2の例を挙げている通り、式(50)のようにGu,v(u=0,1,2,…,L−1; v=0,1,2,…,L−1)、及び、E’i,0,E’i,1,…,E’i,2(L−1)を求めずに、直接E=(Ei,0,Ei,1,…,Ei,L−1)を求めるようにしてもよい。
【0169】
第3の実施形態における、紛失通信計算部1702において、▲1▼通信計算受信部1801−p(p=1,2,…,i−1)を通信計算送信部に置き換え、さらに、通信計算送信部1803−p(p=i+1,i+2,…,n)を通信計算受信部に置き換えた構成、又は、▲2▼通信計算受信部1802−p(p=1,2,…,i−1)を通信計算送信部に置き換え、さらに、通信計算送信部1804−p(p=i+1,i+2,…,n)を通信計算受信部に置き換えた構成、又は、▲3▼通信計算受信部をすべて通信計算送信部に、さらに、通信計算送信部をすべて通信計算受信部に置き換えた構成、などの構成でも、同じ動作や効果を得ることができる。
【0170】
第3の実施形態における、紛失通信計算部1702において、通信計算送信部1801−p(又は1802−p)と通信計算受信部1803−j(又は1804−j)との間の秘密通信路103における情報のやり取りは、式(51)や式(53)〜(55)のように、暗号化されたような情報、すなわち、法qのもとにおける離散対数を計算することが困難であること利用して送りたい情報を隠蔽している情報なので、とくに秘密に通信しなくても、メンバの秘密情報や分散計算の途中結果などが露呈されることはない。式(51)においては、送りたい情報a(又はb)を有限体GF(q)の生成元hのべき数として隠蔽し、式(53)〜(55)で得られる情報から得るべき必要な情報a(a−1)−di,p(又はb(a−1)−ei,p)は、式(51)で用いた乱数rAp,i(又はrBp,i)を知らないと算出できないようになっている。したがって、上記における通信においては、秘密通信路ではなく、放送型の通信路や盗聴される可能性のある通信路で通信してもよい。
【0171】
≪第5の実施形態≫
本発明の第5〜第7の実施形態に係る分散計算においては、第1〜第4の実施形態と同様に、従来用いられている(k,n)しきい値秘密分散法に代えて、ランプ型秘密分散法(すなわち、ランプ型(L,k,n)しきい値秘密分散法)を用いる。以下の説明においては、秘密情報や乱数などの変数はすべてある有限体GF(q)上の元であるとする。第1〜第4の実施形態では、しきい値kと分散情報の個数nとの間にはk≦nと言う関係が成り立っていたが、第5〜第7の実施形態では、2k−1≦nという関係が成り立っているものとする。
【0172】
第1〜第4の実施形態においては、式(19)のようなk−1次多項式を利用して分散情報を計算していたが、第5〜第7の実施形態においては、次式(57)のような(k−1)次多項式を利用して分散情報を計算する。
【数35】
Figure 2004287333
【0173】
ここで、S,S,…,SL−1はそれぞれ、秘密情報であり、R,…,Rk−L−1はそれぞれ、ランダムな値である。また、g(x)は、L次の既約多項式であり、第1〜第4の実施形態における、式(36)の生成多項式g(x)に相当するものである。この既約多項式は予め与えられるものとする。メンバID(すなわち、ID情報)wをもっているメンバ(すなわち、参加者)に渡す分散情報はf(w)となる。各メンバが持っているメンバID_wは公開されているものとする。第1〜第4の実施形態では、メンバIDをm(i=1,2,…,n)と表記していたが、第5〜第7の実施形態では、メンバIDをw(i=0,1,…,n−1)と表記し、メンバIDがwであるメンバのことを、メンバPと呼ぶことにする。
【0174】
第5〜第7の実施形態においては、秘密情報(S,…,SL−1)を既約多項式g(x)を利用して有限体GF(q)のL次拡大体GF(q)の値として扱う。つまり、方程式g(x)=0の解をαとしたときに、
S=SL−1αL−1+…+Sα+S
と表す。これより、秘密情報に関する計算は、有限体GF(q)上の演算で表すことができ、これはg(x)を法とする多項式の加算や乗算で実現することができる。
【0175】
メンバIDがwであるメンバP(i=0,…,n−1)に、それぞれf(w)を分散情報として渡す。このときの分散情報のサイズは、秘密情報の1/Lとなっている。秘密情報の復元は、(k,n)しきい値法と同様に、多項式を復元し、さらにその後、mod g(x)を計算する。
【0176】
[第5の実施形態の構成]
以下、第5の実施形態においてはランプ型秘密分散を利用した分散計算について説明する。特に、分散計算の具体例として、分散加算を行うものとする。この点から、第5の実施形態は、上記第1の実施形態と類似した内容となるが、分散情報の生成方法が異なる。
【0177】
第5の実施形態は、秘密分散及び秘密復元(再構成)、また分散計算を行うシステムについて説明する。特に、分散計算の具体例として、分散加算を行うものとする。以下、分散計算において、秘密情報をA=(A,…,AL−1)及びB=(B,…,BL−1)とする。そして、メンバIDがwであるメンバがもつ分散情報は、次式(58)を用いて、それぞれa(w)及びb(w)とする。
【数36】
Figure 2004287333
【0178】
このとき、分散情報の和を表す多項式は次式(59)のようになる。
【数37】
Figure 2004287333
【0179】
これより、次式(60)が得られる。
【数38】
Figure 2004287333
【0180】
この式に、x=αを代入すると、右辺は拡大体GF(q)における加算を表している。したがって、
=a(w)+b(w
は秘密情報A及びBの和である値C(=A+B)の分散情報を表している。したがって、分散加算においては、メンバPは、持っている分散情報の和を計算すればよい。
【0181】
第5の実施形態に係る分散計算システムの構成は、図1、又は、図24にある、第1〜第4の実施形態に係る分散計算システムと同様なものになる。第5の実施形態は、第1〜第4の実施形態とは、分散情報を生成するランプ型秘密分散法が異なることから、それぞれの構成要素、秘密分散送信部2301、分散処理部101,2302、及び秘密再構成計算部102,2303の内部の構成や動作が異なる。図28は、第5の実施形態に係る分散計算装置(図1、図24の分散計算処理部101,2302に相当する)の構成を示すブロック図である。図28に示されるように、第5の実施形態に係る分散計算装置は、秘密分散部分3001と、分散計算部分3002と、秘密復元部分3003と、秘密通信路103とを有する。図28に示される秘密分散部分3001は、秘密分散部3101と、送信部3102とを有する。また、図28に示される分散計算部分3002は、受信部3103と、記憶部3104と、分散計算部3105と、送信部3106とを有する。さらに、図28に示される秘密復元部分3003は、受信部3107と、秘密復元部3108とを有する。分散計算装置は、秘密分散部分3001、分散計算部分3002、及び、秘密復元部分3003のうち、いずれか1つ又は2つしか持たない場合もありうる(後の図31〜図33で説明する)。
【0182】
秘密分散部3101は、秘密情報についてランプ型秘密分散を実行して分散情報を計算する。送信部3102は、他のメンバとそれぞれ秘密通信路103でつながっており、一対一の秘密通信を行う。そして、計算結果を他のメンバに配布する。その結果、各メンバは分散情報を得る。
【0183】
受信部3103は、他のメンバ若しくはメンバとは別に設けられたセンターから上記分散情報を受け取る。この結果、メンバは分散情報を保持する。記憶部3104は、秘密分散で得られた分散情報及び分散計算の結果を保持する。分散計算部3105は、記憶部3104で保持されている分散情報について計算を行う。そして、秘密情報についての任意の演算結果の分散情報を得る。
【0184】
第5の実施形態においては、分散計算部3105は、秘密情報の和の分散情報を求める場合について示す。一般に、分散計算部3105は、第5の実施形態で示す分散加算、後述する第6の実施形態で示す分散乗算、及び、後述する第7の実施形態で示す分散定数乗算の組み合わせで構成される。送信部3106は、分散計算の結果を配布する。ここで、送信部3106についても、秘密通信路103を介して、分散情報の配布を行う。ここで、受信部3103、記憶部3104、分散計算部3105、送信部3106は、各メンバが持っている。
【0185】
受信部3107は、他のメンバから分散計算結果を受け取る。秘密復元部3108は、全てのメンバから受け取った分散情報を用いて秘密情報の復元(再構成)をする。送信部3102と送信部3106、及び受信部3103と受信部3107は、メンバが同時に持つ際は、共通化した構成にしてもよい。
【0186】
図29は、図28の秘密分散部3101の構成を示すブロック図である。図29に示されるように、秘密分散部3101は、乱数生成部3111と、有限体演算部3112とを有する。乱数生成部3101は、秘密分散計算を行う際に利用する乱数を生成する。有限体演算部3112は、秘密情報、メンバのメンバID、上記生成された乱数、及び既約多項式から分散情報を生成する。
【0187】
図30は、図28の秘密復元部3108の構成を示すブロック図である。図30に示されるように、秘密復元部3108は、復元情報生成部3121と、有限体演算部3122とを有する。復元情報生成部3121は、メンバID及び既約多項式から秘密復元に利用する情報を生成する。有限体演算部3122は、上記生成した情報及び分散情報から秘密情報の復元計算を行う。
【0188】
図28に示される秘密分散部分3001は、秘密分散を行う部分である。図28に示される分散計算部分3002は、分散情報を受け取って、分散計算を実行する部分である。図28に示される秘密復元部分3003は、最後に、分散計算結果を集めて、もとの秘密情報の計算結果を復元する部分である。図28に示される秘密分散部分3001である秘密分散部3101及び送信部3102は、各メンバが持っていてもよいし、メンバとは独立したセンターが持っていてもよい。図28に示される秘密復元部分3003である受信部3107及び秘密復元部3108は、少なくとも1人のメンバが持っていてもよいし、メンバとは独立したセンターが行ってもよい。
【0189】
以下、メンバが保持する秘密情報について分散計算を行い、計算結果をメンバが得る場合についての分散計算システムの構成を図31に示す。「参加者」で示しているブロックが、各メンバの分散計算装置であり、図では2つしか描かれていないが、実際にはn個存在する。各参加者はそれぞれ、秘密分散部分3001、分散計算部分3002、及び、秘密復元部分3003を有している。また、メンバが保持する秘密情報についての分散計算を行い、センターが計算結果を得る場合についての分散計算システムの構成を図32に示す。図32は、図1の分散計算システムと同様な構成図である。「参加者」で示しているブロックが、各メンバの分散計算装置であり、図では2つしか描かれていないが、実際にはn個存在する。また、「センター」で示しているブロックが、最終的に計算結果を復元する部分であり、図1の秘密再構成計算部102に相当する部分である。各参加者はそれぞれ、秘密分散部分3001、及び、分散計算部分3002を有している。また、センターが持っている秘密情報についての分散計算を行い、センターが計算結果を得る場合についての分散計算システムの構成を図33に示す。図33は、図24の分散計算システムと同様な構成図である。「参加者」で示しているブロックは、各メンバの分散計算装置であり、図では2つしか描かれていないが、実際にはn個存在する。また、上部の「センター」で示しているブロック(秘密分散部3101、及び、送信部3102からなる部分)は、秘密情報を分散する部分であり、図24の秘密分散送信部2301に相当する部分である。また、下部の「センター」で示しているブロック(秘密復元部3108、及び、受信部3107からなる部分)は、最終的に計算結果を復元する部分であり、図24の秘密再構成計算部2303に相当する部分である。各参加者はそれぞれ、分散計算部分3002を有している。
【0190】
[第5の実施形態の動作]
第5の実施形態においては、ランプ型秘密分散法を利用した分散計算について手順を示す。分散計算の具体例として、各メンバが保持する秘密情報から秘密分散を行って分散情報を得て、分散情報から元の秘密情報の和を求める手順を示す。
【0191】
最初に秘密分散における動作を示す。秘密情報をS=(S,S,…,SL−1)とする。秘密情報S=(S,S,…,SL−1)及びランダムに生成した値R,…,Rk−L−1と、次式(61)
【数39】
Figure 2004287333
のような多項式を用いて、次式(62)に示される、メンバP向けの分散情報sを生成する。
【数40】
Figure 2004287333
【0192】
この計算は、次のようなn×n行列
E=(eij
ij=w(i=0,…,n−1; j=0,…,n−1)
を用いて、
(s,…,sn−1
=E(f,f,…,fk−1,0,…,0)
のように表すことができる。そして、分散情報sをメンバPに渡す。
【0193】
秘密復元のために集まった分散情報をt個(t≧k)とする。まず、秘密復元の各メンバP’から分散情報s’及び各メンバのメンバID w’(j=0,…,t−1)を受け取っておく。そして、次式(63)の連立方程式から、多項式の係数f,f,…,fk−1を求める。
s’=fk−1w’k−1+…+fw’+f …(63)
ここで、j=0,…,t−1である。
【0194】
そして、得られた多項式について、既約多項式g(x)による剰余(次式(64)を計算する。
【数41】
Figure 2004287333
得られた多項式の係数が復元された秘密情報にあたる。
【0195】
この計算は、以下に示すような行列を利用した計算と等価である。既約多項式g(x)を法とする多項式の剰余算を表す行列をGとしておく。そして、メンバのメンバID_w’から、t×t行列
E’=(e’ij
e’ij=w’(i=0,…,t−1; j=0,…,t−1)を生成する。行列G、及び、行列E’の逆行列E’−1より、行列R=GE’−1=(rij)を計算する。このようにして得られたrijを用いて、次式(65)の計算を実行する。
【数42】
Figure 2004287333
その結果得られるS,…,SL−1が復元された秘密情報である。
【0196】
ここで、行列Gの生成方法について説明する。行列Gは、(t−1)次多項式
h(x)=ht−1t−1+…+hx+h
を既約多項式
g(x)=x+…+gx+g
で割った余りである、次式(66)
【数43】
Figure 2004287333
より、次式(67)のようにして行列Gを得る。
【0197】
【数44】
Figure 2004287333
【0198】
例えば、GF(31)、t=16、既約多項式g(x)=x+x+3の場合において、行列Gを計算した結果は以下のようになる。15次多項式(式(68)を以下のように定義する。
【数45】
Figure 2004287333
【0199】
既約多項式g(x)を法とした剰余算の結果は次式(69)のようになる。
【数46】
Figure 2004287333
【0200】
これより、行列Gは次式(70)のようになる。
【数47】
Figure 2004287333
【0201】
次に、分散計算における動作を説明する。第5の実施形態においては具体例として分散加算について説明する。メンバPは秘密情報A及びBの分散情報a及びbを持っているものとする。分散加算においては、各メンバが保持する分散情報の和を計算すればよい。つまり、各メンバが保持する秘密情報の和A+Bの分散情報を求めるためには、メンバPは分散情報の和a+bを計算すればよい。
【0202】
[第5の実施形態の効果]
以上に説明したように、各メンバの行う演算は、もとの秘密情報が定義される有限体(上記説明においてはL次拡大体)より小さな有限体で行うことができる。これより、各メンバはより少ない計算資源で秘密情報に関する加算を実行することが可能となる。
【0203】
≪第6の実施形態≫
本発明の第6の実施形態においては、具体例として分散乗算散について説明する。秘密情報をA=(A,…,AL−1)及びB=(B,…,BL−1)とする。分散情報は以下の多項式(式(71))から計算する。
【数48】
Figure 2004287333
【0204】
このとき、分散情報の積を表す多項式は次式(72)のようになる。
【数49】
Figure 2004287333
【0205】
これより、次式(73)が成り立つ。
【数50】
Figure 2004287333
【0206】
これに、x=αを代入すると、これは拡大体GF(q)上における乗算となっている。したがって、a(w)b(w)は、2(k−1)次多項式による値ABの分散情報を表している。ただし、従来と同様に、秘密情報を変えないように、多項式の次数を下げる変換操作(BPB−1)C=Dが必要となる(従来技術の説明の分散乗算(方式▲2▼)におけるステップS203の処理に相当し、C=(a(w)b(w),a(w)b(w),…,a(wn−1)b(wn−1))である)。従来のShamir法による(k,n)しきい値秘密分散法においては、秘密情報は多項式の定数項であった。したがって、行列Pは単にk次以上の項の係数を0とする演算(式(80)を満たす行列P)でよい。
P(x、x、…、x
=(x、x、…、x、0、…、0) …(80)
【0207】
一方、ランプ型秘密分散法においては、秘密情報は式(61)の多項式f(x)の
L−1L−1+…+Sx+S
の部分、つまりg(x)で割った余りである。これより、行列Pは、mod g(x)において合同となるように多項式の次数を2(k−1)次から(k−1)次に下げる演算とすればよい。
【0208】
[第6の実施形態の構成]
第6の実施形態においては、第5の実施形態における分散計算について、秘密情報の積を計算する分散乗算を実現する装置について示す。しかし、同じように秘密情報の積を計算する分散乗算を実現する第3の実施形態とは、分散情報の生成方法が異なる(第3の実施形態では、式(19)にあるようなk−1次多項式から分散情報を生成し、第6の実施形態では、式(57)にあるようなk−1次多項式から分散情報を生成する)ことから、構成や動作は、全く異なったものとなっている。第6の実施形態においては、ある秘密情報A,Bについての分散情報(a,…,an−1),(b,…,bn−1)が与えられており、分散情報(a,…,an−1),(b,…,bn−1)から秘密情報の積D(=AB)の分散情報(d,…,dn−1)を計算する。
【0209】
図34は、分散乗算を行う場合における、分散計算部の構成を示すブロック図である。図34に示されるように、分散乗算計算部3200は、乗算部3201と、秘密分散処理部3202と、分散情報変換部3203と、秘密復元処理部3204とを有する。乗算部3201においては、メンバが保持する分散情報の積を計算する。秘密分散処理部3202においては、乗算部で計算した値について秘密分散を行う。ここでは、ランプ型秘密分散法ではなく、(k,n)しきい値秘密分散を用いて分散情報を生成する(このときのしきい値は、秘密分散部3101におけるランプ型(L,k,n)秘密分散法におけるしきい値kとは異なる値k’(k’≦n)でもよい)。分散情報変換部3203においては、秘密分散処理部3202で得られた第2の分散情報について、変換を行う。秘密復元処理部3204においては、分散情報変換部3203で計算した結果について秘密復元処理を行う。乗算結果を他のメンバと交換し、その結果得られた分散情報を復元する。ここでは、秘密分散処理部3202と同様に、(k,n)しきい値法を用いて秘密復元の計算を行う(このときのしきい値は、秘密分散処理部3202におけるしきい値と同じ値を用いる)。
【0210】
[第6の実施形態の動作]
第6の実施形態においては、分散計算によって、秘密情報A,Bの分散情報a(i=0,…,n−1)及びb(i=0,…,n−1)から、秘密情報の積ABの分散情報を計算する手順を示す。分散乗算においては、各メンバの保持する分散情報の積を変換しなければならない。そして、変換の際にはメンバ間で分散情報に関するやり取りが必要である。
【0211】
処理の手順は図35のようになる。ここで、メンバP(j=0,…,n−1)は、各メンバのメンバID_w(i=0,…,n−1)及び、分散情報a及びbを受け取っているものとする。以下においては、便宜上行列を利用して説明する。
【0212】
図35に示されるように、ステップ1において、メンバPは分散情報の積c=aを計算する。この分散情報の積cは秘密情報A及びBの積ABの分散情報となるが、秘密分散を行う多項式の次数が2(k−1)であり、都合が悪い。そこで、以下のステップにおいては、秘密分散、配布(ステップ2、3)、変換処理(ステップ4)、計算結果の分散情報の交換、及び、計算結果の復元(ステップ5、6)の処理を行うことによって、得られた分散情報を、しきい値がkとなるように変換を行う。
【0213】
ステップ2において、メンバPは分散情報の積cについて秘密分散を行う。ここにおける秘密分散は(k’,n)しきい値法(k’≦n)を利用する。メンバPは、分散情報の積c及び乱数からランダムなk’−1次の多項式(式(74))を生成し、分散情報ci,j(j=0,…,n−1)を計算する。
【数51】
Figure 2004287333
ここで、Ri,m(m=1,…,k’−1)はメンバPがランダムに生成する数値である。
【0214】
これは、次のようなn×n行列E=(eij)を用いて、次式(75)のように表すことができる。
【数52】
Figure 2004287333
【0215】
ステップ3において、他のメンバと通信を行って、分散情報ci,jを交換する。メンバPは、上記計算した(ci,0,…,ci,n−1)について、ci,j(j=0,…,n−1であり、j≠iであるもの)を、メンバPに配布する。この結果、メンバPは(c0,j,…,cn−1,j)を受け取る。
【0216】
ステップ4において、PはC=(c0,j,…,cn−1,j)(2(k−1)次多項式由来)を、D=(d0,j,…,dn−1,j)((k−1)次多項式由来)に変換する。変換は、例えば、以下のように生成される行列P及び行列Eを用いた際の、D=(EPE−1)Cと等価な計算である。つまり、EPE−1=(pij)について、dij=Σikkj(i=0,…,n−1)を計算する。
【0217】
ここで、行列Pは、秘密分散における多項式を2(k−1)次から(k−1)次に下げるような変換であり、mod g(x)において合同となるように多項式の次数を下げる演算である。図36に、変換行列Pの生成方法の一例を示す。そして、具体的に、GF(31)、k=8(これは、秘密分散部3101におけるランプ型秘密分散のしきい値である)、n=16、既約多項式g(x)=x+x+3の場合において、行列Pを計算した結果は以下のようになる。14次(2(k−1)次に相当)多項式を次式(76)のように定義する。
【数53】
Figure 2004287333
【0218】
上記演算の結果、7次に次数を下げたmod g(x)において合同な多項式は次式(77)のようになる。
【数54】
Figure 2004287333
【0219】
これより、行列Pは次式(78)のようになる。
【0220】
【数55】
Figure 2004287333
【0221】
ステップ5において、他のメンバと通信を行って、情報di,jを交換する。メンバPは情報di,j(i=0,…,n−1; i≠j)をPに配布する。この結果、メンバPは(di,0,…,di,n−1)を受け取る。
【0222】
ステップ6において、メンバPは秘密復元の計算を行う。メンバPは(di,0,…,di,n−1)から情報A,Bの積ABの分散情報であるdを式(79)により計算する。ここでの復元操作は(k’,n)しきい値法における秘密復元を行う。
【数56】
Figure 2004287333
【0223】
以上の計算を行うことで、しきい値がkであるような、秘密情報の積ABの分散情報dを得ることができる。
【0224】
[第6の実施形態の効果]
以上に説明したように、各メンバの行う演算は、もとの秘密情報が定義される有限体(上記説明においてはL次拡大体)より小さな有限体で行うことができる。これより、第5の実施形態の加算に加えて、乗算についても同様に、各メンバはより少ない計算資源で実行することが可能となる。
【0225】
≪第7の実施形態≫
[第7の実施形態の構成]
本発明の第7の実施形態においては、メンバ間で共有している定数Cと、秘密情報Sとの定数倍CSの分散情報を計算する。しかし、同じように秘密情報の定数の積を計算する分散定数乗算を実現する第2の実施形態とは、分散情報の生成方法が異なる(第2の実施形態では、式(19)にあるようなk−1次多項式から分散情報を生成し、第7の実施形態では、式(57)にあるようなk−1次多項式から分散情報を生成する)ことから、構成や動作は、全く異なったものとなっている。(k,n)しきい値法を利用した定数倍については、自分の保持する分散情報を定数倍することで得られるが、本発明においては、定数は拡大体GF(q)の元となりうる。このとき、定数倍の結果の分散情報が基礎体の元となるように分散計算を行う必要がある。
【0226】
第7の実施形態の分散定数乗算を行う場合における、分散計算部の構成を示すブロック図は、図37のようになる。図37において、分散定数算乗算部は、分散乗算装置3200(図34)及び定数情報生成部3301とを有する。定数情報生成部3301は、拡大体GF(q)で定義された、メンバ間で共通の定数とメンバIDから定数の分散情報を生成する。そして、分散乗算装置は、秘密情報Sの分散情報と、上記定数情報生成部3301で生成された定数Cの分散情報との積を分散乗算計算部3200で計算する。
【0227】
[第7の実施形態の動作]
秘密情報Sに対する、メンバPの保持する分散情報をsとする。拡大体GF(q)で表される定数C=(C,…,CL−1)から、以下のようにして情報cを計算する。
=C+C+…+CL−1L−1
定数Cはメンバ間で共有しているので、メンバPは、自分の持つべき情報cを生成することができる。
【0228】
以下、分散乗算と同様の手順によって、情報cと分散情報sとをもとに、定数乗算CSの分散情報を計算することができる。
【0229】
このとき、次数の変換は(k+L−2)次から(k−1)次への変換となるので、図36における行列Pの生成において、2(k−1)の部分をk+L−2と置き換えた図38のようになる。この分散乗算における行列Pにおける非ゼロ部分をより少なくすることができ、演算量を少なくすることができる。
【0230】
[第7の実施形態の効果]
以上に説明したように、第5及び第6の実施形態の加算及び乗算に加えて、メンバ間で共有している、拡大体GF(q)で表される定数についての定数倍についても同様に、各メンバはより少ない計算資源で実行することが可能となる。
【0231】
【発明の効果】
以上に説明したように、本発明によれば、関数fにおける拡大体GF(q)上の計算を、各メンバの分散演算処理においては、その拡大体GF(q)よりも小さな有限体GF(q)上の計算のみを行うことで、達成することができるので、メンバそれぞれの分散演算処理における、演算量、演算回路に必要な回路規模、演算に必要な記憶容量、演算時間等の演算コストを削減することができるという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る分散計算方法を実施する構成(分散計算システム)を示すブロック図である。
【図2】マルチパーティ・プロトコルの概念説明図である。
【図3】図1の秘密再構成計算部の構成を示すブロック図である。
【図4】図1の分散処理部(分散計算装置)の構成を示すブロック図である。
【図5】図4の秘密分散計算部の構成を示すブロック図である。
【図6】図4の分散計算部の例(その1)の構成を示すブロック図である。
【図7】図4の分散計算部の例(その2)の構成を示すブロック図である。
【図8】図6又は図7の分散加算部の構成を示すブロック図である。
【図9】本発明の第1の実施形態に係る分散計算方法を実施する構成(分散計算システム)の動作を示すフローチャートである。
【図10】本発明の第1の実施形態おける分散加算の動作を示すフローチャートである。
【図11】本発明の第2の実施形態に係る分散処理部(分散計算装置)の構成を示すブロック図である。
【図12】図11の分散計算部の構成を示すブロック図である。
【図13】図12の分散定数乗算部の構成を示すブロック図である。
【図14】本発明の第2の実施形態に係る分散計算方法を実施する構成(分散計算システム)の動作を示すフローチャートである。
【図15】本発明の第2の実施形態における分散定数乗算の動作を示すフローチャートである。
【図16】本発明の第3の実施形態における分散計算部(その1)の構成を示すブロック図である。
【図17】本発明の第3の実施形態における分散計算部(その2)の構成を示すブロック図である。
【図18】図16及び図17の分散乗算部の構成を示すブロック図である。
【図19】図18の紛失通信計算部の構成を示すブロック図である。
【図20】図19の通信計算受信部の構成を示すブロック図である。
【図21】図19の通信計算送信部の構成を示すブロック図である。
【図22】本発明の第3の実施形態に係る分散計算方法を実施する構成(分散計算システム)の動作を示すフローチャートである。
【図23】本発明の第3の実施形態における分散乗算の動作を示すフローチャートである。
【図24】本発明の第4の実施形態に係る分散計算方法を実施する構成(分散計算システム)を示すブロック図である。
【図25】(a)及び(b)のそれぞれは、図24の分散処理部(分散計算装置)の構成を示すブロック図である。
【図26】図25の分散処理部(分散計算装置)の変形例(その1)の構成を示すブロック図である。
【図27】(a)及び(b)のそれぞれは、図25の分散処理部(分散計算装置)の変形例(その2)の構成を示すブロック図である。
【図28】本発明の第5の実施形態に係る分散計算装置の構成を示すブロック図である。
【図29】図28の秘密分散部の構成を示すブロック図である。
【図30】図28の秘密復元部の構成を示すブロック図である。
【図31】本発明の第5の実施形態に係る分散計算システム(その1)の構成を示すブロック図である。
【図32】本発明の第5の実施形態に係る分散計算システム(その2)の構成を示すブロック図である。
【図33】本発明の第5の実施形態に係る分散計算システム(その3)の構成を示すブロック図である。
【図34】第5〜第7の実施形態の分散計算部が分散乗算を行う場合の構成を示すブロック図である。
【図35】第5〜第7の実施形態の分散計算部が分散乗算を行う場合の処理手順を示すフローチャートである。
【図36】第5〜第7の実施形態における変換行列の生成手順の説明図である。
【図37】本発明の第7の実施形態における分散定数乗算部の構成を示すブロック図である。
【図38】第7の実施形態における変換行列の生成手順の説明図である。
【符号の説明】
101(101−1,…,101−n) 分散処理部(分散計算装置)、
102 秘密再構成計算部、
103 秘密通信路、
201 線形結合部、
301−i 秘密情報記憶部、
302−i 秘密分散計算部、
303−i 送信部、
304−i 受信部、
305−i 分散計算部、
401−i 多項式生成部、
402−i 分散情報生成部、
403−i 乱数生成部、
404−i (k−1)次多項式生成部、
501−1,…,501−(n−1) 分散加算部、
601 分散加算部、
701 加算部、
1001−i 秘密情報記憶部、
1002−i 秘密分散計算部、
1003−i 送信部、
1004−i 受信部、
1005−i 分散計算部、
1101−1,…,1101−n 分散定数乗算部、
1102−1,…,1102−(n−1) 分散加算部、
1201 拡大体乗算部、
1202 秘密分散計算部、
1203 送信部、
1204 受信部、
1205 加算部、
1501−1,…,1501−n 分散定数乗算部、
1502−1,…,1502−(n−1) 分散加算部、
1503 分散乗算部、
1601 分散乗算部、
1701 乗算部、
1702 紛失通信計算部、
1703 分散情報計算部、
1704 秘密分散計算部、
1705 送信部、
1706 受信部、
1707 加算部、
1801−1,…,1801−(i−1) 通信計算受信部、
1802−1,…,1802−(i−1) 通信計算受信部、
1803−(i+1),…,1803−n 通信計算送信部、
1804−(i+1),…,1804−n 通信計算送信部、
1901 インデックス計算送信部、
1902 受信復元部、
2001 乱数生成部、
2002 有限体要素生成部、
2003−1,…,2003−q 乗数計算送信部、
2301 秘密分散送信部、
2302(2302−1,…,2302−n) 分散処理部(分散計算装置)、
2303 秘密再構成計算部、
2401−i 秘密情報記憶部、
2402−i 秘密分散計算部、
2403−i 送信部、
2404−i 受信部、
2405−i 分散計算部、
2406−i 分散情報受信部、
2501−i 秘密情報記憶部、
2502−i 秘密分散計算部、
2503−i 送信部、
2504−i 受信部、
2505−i 分散計算部、
2506−i 分散情報受信部、
2507−i 秘密再構成計算部、
3101 秘密分散部、
3102 送信部、
3103 受信部、
3104 記憶部、
3105 分散計算部、
3106 送信部、
3107 受信部、
3108 秘密復元部、
3111 乱数生成部、
3112 有限体演算部、
3121 復元情報生成部、
3122 有限体演算部、
3200 分散乗算計算部、
3201 乗算部、
3202 秘密分散処理部、
3203 分散情報変換部、
3204 秘密復元処理部、
3301 定数情報生成部、
分散計算装置が保持する秘密情報、
i,j 秘密情報Xから生成された分散情報、
Z’ 分散情報Yi,jから生成された情報(秘密Zの分散情報)、
Z もとの秘密、
Xi(x) 分散計算装置が生成する多項式、
,m,…,m メンバID。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to, for example, a distributed computing system that implements a distributed computing method using shared information generated from secret information held by a plurality of distributed computing devices, and a distributed computing device that constitutes a part of the distributed computing system. Things.
[0002]
[Prior art]
At present, in the technical field of cryptography, a distributed calculation method called a multi-party protocol has been realized. Here, a general multi-party protocol will be described. Now, assuming that there is a network composed of n members (or n arithmetic units), member ID_miEach member having (i = 1, 2,..., N) has secret information X that the other members do not want to know.i(I = 1, 2,..., N). When a certain function f is given, each member has its own secret information XiIs kept secret, the function Z = f (X1, X2, ..., Xn) To calculate the value Z to be obtained. The function f is, for example, all secret information XiFunction Z = X1+ X2+ ... + XnOr all confidential information XiOutput the largest value of the following: Z = max {X1, X2, ..., XnOr}.
[0003]
In this way, each member can transmit his / her own secret information X on the network.iA protocol that realizes a function of performing some kind of communication with each other without leaking itself and finally calculating the value Z is called a multi-party protocol related to the function f. The above function can be realized by providing a reliable third-party center for calculating the function f and each member secretly transmitting their own secret information to this center, but here, there is no such center. The case will be described.
[0004]
FIG. 2 is a conceptual explanatory diagram of the multi-party protocol. In the example of FIG. 2, the number of members (participants) is three, the member IDs (ID information) are A, B, and C, and the secret information held by each is X.A, XB, XCAnd Member ID_A, B, C, and secret information XA, XB, XCAre values on a certain finite field GF (q) (q is a prime number or a power of a prime number), and a function f (XA, XB, XCThe operations in () (addition and multiplication) are operations on a finite field GF (q). Hereinafter, unless otherwise specified, the calculation is performed on the finite field GF (q).
[0005]
Function f (XA, XB, XC), First, each member distributes secret information held by itself using the (k, n) threshold secret sharing method (in FIG. 2, reference numeral {circle around (1)}). Processing shown). In the (k, n) threshold secret sharing scheme, information X is distributed into n pieces of information, and if k pieces of (k ≦ n) pieces of shared information among the n pieces of shared information are collected, the information X is restored. , And when only k-1 or less pieces of shared information are collected, no information X can be known. In the case of FIG. 2, n is 3, and k is 2 or 3.
[0006]
Next, each member distributes shared information obtained by distributing its own secret information to other members (processing indicated by reference numeral {circle around (2)} in FIG. 2). When distributing these pieces of shared information, it is assumed that a secret communication channel is established between any two members that can keep communication contents secret except for the two members. Next, the function f (XA, XB, XC), Each member performs distributed calculation (processing indicated byreference numeral 3 in FIG. 2). At the time of this distributed calculation, each member may exchange information. The calculation result Z 'of the distributed calculation held by each memberA, Z 'B, Z 'CAre the final calculation results Z = f (XA, XB, XC) Is shared information. Therefore, finally, the calculation result Z 'of the distributed calculation held by each memberA, Z 'B, Z 'CAre collected and the secret reconstruction of the (k, n) threshold secret sharing scheme is performed, a final calculation result Z can be obtained (the process indicated byreference numeral 4 in FIG. 2).
[0007]
Next, a case where the multi-party protocol shown in FIG. 2 is extended to n members will be described. The member ID of each member is mi(I = 1, 2,..., N), and the member ID is miX is the secret information held by the memberi(I = 1, 2,..., N). Each member distributes the secret information held by each member by a (k, n) threshold secret sharing scheme. Here, the (k, n) threshold secret sharing scheme uses the Shamir method (Shamir's method) (for example, see Non-Patent Document 1).
[0008]
Member ID is miIs a k−1 degree polynomial h as in the following equation (1).xi(X) is generated, and the secret information is distributed using this equation.
(Equation 7)
Figure 2004287333
In the above formula (1), Rxi, 1, Rxi, 2, ..., Rxi, k-1Means that the member ID is miIs a random number determined by a member, and is selected from (k−1) values from values on a finite field GF (q).
[0009]
Member ID is miAnd the member ID is mp(P = 1, 2,..., N)i, p, The shared information Yi, pCan be calculated as in the following equation (2) using the function of the above equation (1).
(Equation 8)
Figure 2004287333
[0010]
When each member receives the shared information from the other members, as a result, the member ID becomes miIs n pieces of shared information Y1, i, Y2, i, ..., Yn, iWill be held. Distributed information Y held by each of these members1, i, Y2, i, ..., Yn, i, Ie, each member cooperates to obtain a desired distributed calculation Z = f (X1, X2, ..., Xn)I do.
[0011]
Here, the case of the variance addition and the case of the variance multiplication are described as the variance calculation performed by each member. Secret information A and B are secretly shared using a polynomial as shown in the above equation (1), and the member ID is miIs the shared information aiAnd biConsider that you already have In this case, secret information A and B and shared information aiAnd biIs as shown in the following equations (3) and (4).
(Equation 9)
Figure 2004287333
Where RA, j(J = 1, 2,..., K-1) and RB, j(J = 1, 2,..., K-1) are random numbers.
[0012]
Each member shares information aiAnd biFrom the secret c (= A + B)iIs the member ID is miThe calculation process that a member has is referred to as “dispersion addition”. Also, each member shares the shared information a.iAnd biFrom the secret information C (= A × B)iIs the member ID is miThe calculation process that a member has is called "dispersion multiplication". Further, a value c obtained by secretly sharing a result C (= D × A) of multiplication of a certain constant D and secret information AiIs the member ID is miThe calculation process that a member has is called “dispersion constant multiplication”. As described above, when variance addition, variance constant multiplication, and variance multiplication of arbitrary variance information are enabled, any function Z = f (X1, X2, ..., Xn) Enables distributed calculation. Hereafter, secret information A and B are secretly shared by a polynomial such as the above equation (1), and each member performs shared information a.iAnd biEach member has shared information a.iAnd biIs calculated from C = f (A, B), a value c in which secret sharing is performed.iThe following describes the processing for obtaining.
[0013]
First, the distributed addition (addition calculation) in the multi-party protocol will be described using the following equation (5).
C = f (A, B) = A + B (5)
Member ID is miIs already sharing information a of secret information A and BiAnd biIt is assumed that you have These shared information aiAnd biIs the shared information (Y1, i, Y2, i, ..., Yn, i) May be used, or the value of the intermediate result of the dispersion calculation may be used. In the variance addition, by performing addition of the pieces of shared information, the shared information c of the calculation result C is obtained.i(I = 1, 2,..., N) can be obtained. For example, if the member ID is miIs calculated as in the following equation (6), and the calculation result ciGet.
ci= Ai+ Bi    … (6)
[0014]
Next, the dispersion constant multiplication (constant multiplication calculation) in the multi-party protocol will be described using the following equation (7).
C = f (A) = D × A (7)
Here, D is a constant on the finite field GF (q), and is a value known to all members. For example, if the member ID is miCalculates the following equation (8) and calculates the result ciGet.
ci= D × ai    … (8)
[0015]
Next, distributed multiplication (multiplication calculation) in the multi-party protocol will be described using the following equation (9).
C = f (A, B) = A × B (9)
There are the following two methods in the variance multiplication, and in this description, these methods will be described as a method (1) and a method (2), respectively. In the method (1), each member performs the following steps S101 to S103. Here, the member ID is miDescribes the process performed by a member. In step S101, multiplication c between pieces of shared information is performed.i, i= Ai× biI do.
[0016]
In the next step S102, the member ID is mp(P = 1, 2,..., N and p ≠ i) multiplication a with the value of another memberi× bpAnd ap× biCommunication and calculation processing are performed so as to obtain a result equivalent to the result of (1). That is, the member ID is m such that the following equation (10) is obtained.iIs the multiplication result ci, pAnd the member ID is mpIs the multiplication result cp, iPerform calculations and communications so that you can have
ai× bp+ Ap× bi= Ci, p+ Cp, i    … (10)
In this way, by exchanging information with other members, multiplication a with the values of other members ai× bpAnd ap× biTo obtain the expression (10) corresponding to the result ofpAnd bpSo that you don't knowiAnd biHowever, it performs oblivious transfer so that other members do not know. "Lost communication" means that the transmitting side encodes (encrypts) and transmits M pieces of information, but the receiving side receives only one of them (they can be decoded in a meaningful way). This is a communication method in which the transmitting side cannot know which information the receiving side has received (the decoding has become meaningful) on the transmitting side.
[0017]
In the next step S103, a coefficient r calculated from the member ID is added to the result of step S102.pAre multiplied by each other, and the shared information c of the multiplication result C represented by the following equations (11) and (12) is obtained.i(I = 1, 2,..., N).
(Equation 10)
Figure 2004287333
[0018]
In the method (2), each member performs the following steps S201 to S205. Here, the member ID is miDescribes the process performed by a member. In step S201, multiplication c 'between shared information itemsi= Ai× biI do.
[0019]
In the next step S202, c ′ obtained in step S201iIs distributed using the (k ′, n) threshold secret sharing scheme, and the shared information c ′i, p(P = 1, 2,..., N and p ≠ i) and the member ID is mpDistribute to other members. Also, from another member, the shared information c 'p, i(P = 1, 2,..., N and p ≠ i) are received.
[0020]
In the next step S203, C 'i= (C '1, i, C '2, i, ..., c 'n, i) To the transformation matrix EPE-1By multiplyingi= (D1, i, D2, i, ..., dn, i). The matrix E is a matrix calculated from the member ID,
E = (eij) = (Mij-1) (I, j = 1, 2,..., N)
An n × n matrix such that-1And Further, the matrix P is an n × n matrix that performs a conversion such that values of the (k + 1) th and subsequent vectors of the vector are set to 0 as in the following equation.
P (x1, X2, ..., xn)t
= (X1, X2, ..., xk, 0, ..., 0) ... (80)
[0021]
In the next step S204, d obtained in step S203p, i(P = 1, 2,..., N and p ≠ i) and the member ID is mpDistribute to other members. Also, from other members, the calculation result di, p(P = 1, 2,..., N and p ≠ i) are received.
[0022]
In the next step S205, d obtained in steps S203 and S204i, pBy using (p = 1, 2,..., N) as shared information and performing secret reconstruction of (k ′, n) threshold secret sharing, shared information c of the multiplication result C is obtained.i(I = 1, 2,..., N).
[0023]
As described above, in the distributed multiplication, the calculation cannot be performed easily as in the case of the dispersion addition, but can be calculated by using the oblivious transfer. As described above, when each member performs secret communication and lost communication and performs calculation processing, calculation of a given function f (function composed of addition and multiplication) is performed without disclosing input values. Can be.
[0024]
In a normal (k, n) threshold secret sharing scheme represented by the Shamir method, secret information is encoded into n pieces of shared information, and if k (≦ n) or more pieces of shared information are collected, the original Can be restored, but if k-1 or less, the secret information cannot be known at all. This is realized by using polynomial interpolation.
[0025]
Specifically, a k-1 order polynomial h such as the following equation (13)SThe original secret information is distributed using (x).
(Equation 11)
Figure 2004287333
Here, S is the original secret information, and RS, 1, RS, 2, ..., RS, k-1Is a random number determined by the distributor.
[0026]
Each of the n members to be distributed has a member ID of m1, M2, ..., mnIs assigned, and the member ID_miShared information S for (i = 1, 2,..., N)iCan be calculated as in the following equation (14) using the above equation (13).
(Equation 12)
Figure 2004287333
[0027]
Here, member ID_mi(I = 1, 2,..., N), secret information S, shared information Si(I = 1, 2,..., N), random number RS, 1, RS, 2, ..., RS, k-1Are values on a certain finite field GF (q) (q is a prime number or a power of a prime number), and operations (addition and multiplication) are operations on the finite field GF (q), respectively. And From the above equation (13), the following equation (15) holds.
hS(0) = S (15)
[0028]
When reconstructing the original secret information S from the shared information distributed to each member, t members (k ≦ t) are collected from the members to which the shared information is distributed, and the member ID and the shared information are collected. Can be achieved by calculating by the following equations (16) and (17).
(Equation 13)
Figure 2004287333
Where m '1, M '2, ..., m 'tIs the member ID of the gathered members, and S '1, S '2, ..., S 'tIs shared information held by the gathered members.
[0029]
In a normal (k, n) threshold secret sharing scheme represented by the Shamir scheme, the original secret information S and its shared information Si(I = 1, 2,..., N) are values on the finite field GF (q), and the shared information SiThe information amount of (i = 1, 2,..., N) has a property that it cannot be made smaller than the information amount of the original secret information S.
[0030]
[Non-patent document 1]
Tatsuaki Okamoto et al., "Modern Cryptography" (Sangyo Tosho), pp. 214-216 and 227-236.
[Non-patent document 2]
G. Brackley and Catherine Meadows, "Security of Lamp Schemes", Procedures of Crypt '88, Lecture Notes in Computer Science 403, Springer Berlag, pp. 242-268, 1990 (GR BLAKLEY AND CATHERINE MEADOWS, "SECURITY OF RAMP SCHEMES", PROC. OF CRYPTO '88, LECTURE NOTES IN COMPUTER SCIENCE 403, SPRING2P.
[0031]
[Problems to be solved by the invention]
However, in the above-described shared calculation using the conventional multi-party protocol, the secret sharing of each piece of secret information is performed using the ordinary (k, n) threshold secret sharing method. In the calculation, it is necessary to perform an operation on a finite field having the same information amount as the secret information, that is, the same size. Therefore, despite the secret information being distributed among n persons, the amount of computation, the circuit scale required for the computation circuit, the storage capacity required for computation, the computation time, etc., in the distributed computation processing of each member. However, there is a problem that the operation cost cannot be reduced.
[0032]
Therefore, the present invention has been made to solve the above-described problems of the related art, and an object of the present invention is to provide a distributed computing device and a distributed computing system that can reduce the amount of computation in distributed computation. It is.
[0033]
[Means for Solving the Problems]
The distributed computing device according to the present invention employs a ramp type (L, k, n) threshold secret sharing scheme, in which one or more (usually two or more, but there may be only one) secrets. The distributed computing device has distributed computing means for performing distributed computation using the distributed information generated from the information.p(P ≦ n), and the shared information used for the shared calculation by the shared calculation means is Yp, The variance information is an extended field obtained by expanding the finite field GF (q) by L-order, and an extended field GF (qL) Is calculated by the following equation: X = ΣXjαjWhen X satisfies 0 ≦ j ≦ L−1, the following expression hX(Ij) = XjA polynomial h on a k-1 order finite field GF (q) satisfying 0 ≦ j ≦ L-1X(X), and the above polynomial hXFrom (x), Yp= HX(Mp) Which is information generated by calculating a value on a finite field GF (q).
[0034]
Further, another sharing calculation apparatus according to the present invention includes secret sharing calculation means for generating shared information from secret information by a ramp type (L, k, n) threshold secret sharing method. Means that the member ID held by another distributed computing device to which the distributed information is distributed is mp(P ≦ n) and the member ID is mpThe above shared information is expressed as YpAnd an extended field GF (q) whose creator is α in an extended field obtained by expanding the finite field GF (q) by L orderL) Is calculated by the following equation: X = ΣXjαjWhen X satisfies 0 ≦ j ≦ L−1, the following expression hX(Ij) = XjA polynomial h on a k-1 order finite field GF (q) satisfying 0 ≦ j ≦ L-1XPolynomial generating means for generating (x), and the polynomial hXFrom (x), Yp= HX(MpAnd a shared information generation means for generating a value by calculating a value on the finite field GF (q).
[0035]
Further, another distributed computing device according to the present invention employs a ramp type (L, k, n) threshold secret sharing scheme, and one or more (usually two or more, but may be one). ) Has distributed calculation means for performing distributed calculation using the shared information generated from the secret information.p(P ≦ n), and the shared information used for the shared calculation by the shared calculation means is YpAnd the above-mentioned shared information is
An extended field obtained by expanding the finite field GF (q) by L-th order, with the generator α and the generator polynomial g (x)L)
X = ΣXj  αj0 ≦ j ≦ L-1
X represented byX, jWhen (0 ≦ j ≦ k−L−1) is a random number,
[Equation 14]
Figure 2004287333
A polynomial h on a k-1 order finite field GF (q) represented byX(X), and
The above polynomial hXFrom (x),
Yp= HX(Mp)
It is characterized by being information generated by calculating a value on a finite field GF (q).
[0036]
Further, another sharing calculation apparatus according to the present invention includes secret sharing calculation means for generating shared information from secret information by a ramp-type (L, k, n) threshold secret sharing method. Means that the member ID held by the distributed computing device to which the distributed information is distributed is mp(P ≦ n) and the member ID is mpThe above shared information is expressed as YpAnd an extended field obtained by expanding the finite field GF (q) by L-th order, the generator being α and the generating polynomial g (x) being an extended field GF (qL)
X = ΣXj  αj0 ≦ j ≦ L-1
X represented byX, jWhen (0 ≦ j ≦ k−L−1) is a random number,
[Equation 15]
Figure 2004287333
A polynomial h on a k-1 order finite field GF (q) represented byXPolynomial generating means for generating (x), and the polynomial hXFrom (x), Yp= HX(MpAnd a shared information generation means for generating a value by calculating a value on the finite field GF (q).
[0037]
BEST MODE FOR CARRYING OUT THE INVENTION
In the present invention, instead of the ordinary (k, n) threshold secret sharing method represented by the Shamir method, which has been used in the distributed calculation by the conventional multi-party protocol, a ramp type (L, k, n) Use a threshold secret sharing scheme. Thereby, the operation necessary for each member can be performed on a finite field smaller than the finite field of the original secret information, and the operation cost can be reduced.
[0038]
First, a ramp-type (L, k, n) threshold secret sharing scheme will be described. In a normal (k, n) threshold secret sharing scheme represented by the Shamir method, when only k-1 pieces of shared information among n pieces of shared information are collected, the original of the shared information is used. This is a method that cannot be known at all about confidential information. On the other hand, the ramp type (L, k, n) threshold secret sharing scheme introduces a certain parameter L (1 ≦ L ≦ k ≦ n) and sets each shared information SiBy reducing the information amount of (i = 1, 2,..., N) to 1 / L of the original secret information S, k−d (1 ≦ d ≦ L−1) of the n pieces of shared information When the pieces of shared information are collected, some information about the original secret information is leaked even if k pieces of shared information are not collected.
[0039]
A method in which the Shamir method is extended to a lamp type is described in, for example,Non-Patent Document 2 described above. In that method, first, the original secret information S is set to a vector value represented by the following equation (18).
S = (S0, S1, ..., SL-1)… (18)
Also, S0, S1, ..., SL-1Are values on the finite field GF (q), and RS2,0, RS2,1, ..., RS2, k-L-1Are random numbers determined by the distributor and are values on the finite field GF (q). In addition, I0, I1, ..., Ik-1Are determined on the k finite fields GF (q). Then, a k-1 order polynomial h such as the following equations (19) and (20)S2Secret information is secretly shared using (x).
[0040]
(Equation 16)
Figure 2004287333
[0041]
Each of the n members to whom the shared information is distributed has a member ID of m1, M2, ..., mnIs assigned, and the member ID_miShared information X for (i = 1, 2,..., N)iIs calculated as in the following equation (21).
Xi= HS2(Mi…… (21)
[0042]
Here, the operations (addition and multiplication) are each operations on a finite field GF (q). Therefore, the shared information XiIs a value on the finite field GF (q). Hereinafter, unless otherwise specified, the calculation is performed on the finite field GF (q). From the above equation (19), the following relational equation (22) holds.
hS2(I0) = S0
hS2(I1) = S1

hS2(IL-1) = SL-1        … (22)
[0043]
Distributed information X distributed to each memberiFrom the original secret information S = (S0, S1, ..., SL-1)), Among the members to which the shared information has been distributed, k or more t members (k ≦ t) are gathered, the member IDs and the shared information are brought, and the following equation (23) is obtained. And (24), the original secret information S = (S0, S1, ..., SL-1). In the following equations (23) and (24), m ′1, M '2, ..., m 'tIs the member ID of the gathered members, X '1, X '2, ..., X 'tMeans that the member ID is m '1, M '2, ..., m 'tIs the shared information held by the member.
[0044]
[Equation 17]
Figure 2004287333
[0045]
(Equation 18)
Figure 2004287333
[0046]
In this ramp type (L, k, n) threshold secret sharing scheme, the original secret information S = (S0, S1, ..., SL-1) Is the distributed information XiIt is possible to have L times the information amount of (i = 1, 2,..., N). That is, in the ramp type (L, k, n) threshold secret sharing scheme, the shared information XiThere is a property that the information amount of (i = 1, 2,..., N) can be 1 / L of the information amount of the original secret information S.
[0047]
<< 1st Embodiment >>
[Configuration of First Embodiment]
In the first embodiment of the present invention, n members (or n distributed computing devices) each have secret information, and obtain a calculation result of a function f using the secret information as an argument. The case where the distributed calculation is performed will be described. The n members have m as a member ID which is information for identifying the members.1, M2, ..., mnIs assigned. Member ID_mi(I = 1, 2,..., N) are values on a finite field GF (q) (q is a prime number or a power of a prime number).
[0048]
Also, if the member ID is mi(I = 1, 2,..., N) are members of the secret information Xi(I = 1, 2,..., N). Here, the secret information X held by the memberi(I = 1, 2,..., N) is an L-order extension field GF (q) of the finite field GF (q).L) On the finite field GF (q)i, 0, Xi, 1, ..., Xi, L-1Can be represented by The finite field GF (q) is L-order expanded to an expanded field GF (qL) Is generated as g (x) and one of the solutions of g (x) = 0 is α, the secret information XiCan be described by the following equation (25).
Xi= Xi, 0+ Xi, 1α + ... + Xi, L-1αL-1    … (25)
Also, secret information XiCan be described as the following equation (26) using a vector expression.
Xi= (Xi, 0, Xi, 1, ..., Xi, L-1)… (26)
[0049]
FIG. 1 is a block diagram showing a configuration (distributed computing system) for implementing the distributed computing method according to the first embodiment. In the first embodiment, variance calculation is performed using a function consisting only of addition. As shown in FIG. 1, the configuration for implementing the distributed calculation method (multi-party protocol) of the first embodiment includes n (2 ≦ n) distributed processing units (distributed calculation devices) 101-i (i = 1, 2,..., N), a secret reconstruction calculation unit 102, and asecret communication channel 103 of each distributed processing unit 101-i (i = 1, 2,..., N). Each distributed processing unit 101-i (i = 1, 2,..., N) has a member ID miExecute the operation assigned to the member. Outputs from the n distributed processing units 101-i (i = 1, 2,..., n) are input to the secret reconstruction calculation unit 102.
[0050]
The distributed processing unit 101-i (i = 1, 2,..., N) (the reference numeral 101 is used to indicate the entire distributed processing unit) is a part where each member performs distributed calculation. The distribution processing unit 101 performs distribution of secret information indicated byreference numeral 1 in FIG. 2 and performs distribution calculation indicated byreference numeral 3 in FIG. Each distributed processing unit 101-i (i = 1, 2,..., N) is secret from another distributed processing unit 101-p (where p = 1, 2,..., N and p ≠ i). They are connected by acommunication path 103. Thesecret communication channel 103 is a communication channel that can keep the communication contents secret except for the two communicating members. The output from each of the distributed processing units 101-i (i = 1, 2,..., N) is input to the secret reconstruction calculation unit 102.
[0051]
The secret reconstruction calculation unit 102 receives the output from the distribution processing unit 101-i (i = 1, 2,..., N) of each member, and uses the received n values as n pieces of shared information. To perform the reconstruction of the secret, and output the reconstructed original secret. The n pieces of shared information input to the secret reconstruction calculation unit 102 are information that is shared by a ramp (L, k, n) threshold secret sharing method.
[0052]
FIG. 3 is a block diagram showing a configuration of the secret reconstruction calculation unit 102 of FIG. As shown in FIG. 3, the secret reconstruction calculation unit 102 includes a linear combination unit 201. The linear combination unit 201 receives the input to the secret reconstruction calculation unit 102, and receives the member ID_mi, A linear combination calculation of those inputs is performed by using the coefficient calculated from, and the calculation result is output. The output from the linear combination unit 201 is the output of the secret reconstruction calculation unit 102. Here, the value output from the distributed processing unit 101-i (i = 1, 2,..., N) of each member (that is, the value input to the secret reconstruction calculation unit 102) is Z ′.i(I = 1, 2,..., N) and member ID_miThe coefficient calculated from0, i, R1, i, ..., rL-1, i(I = 1, 2,..., N). At this time, the secret reconstruction calculation unit 102 calculates the following equations (27) and (28), and as a result, Z = (Z0, Z1, ..., ZL-1) Is output.
[0053]
[Equation 19]
Figure 2004287333
[0054]
(Equation 20)
Figure 2004287333
[0055]
Each operation in the above equations (27) and (28) is performed on a finite field GF (q). In the following description, unless otherwise specified, the calculation is performed on a finite field GF (q).
[0056]
The processing in the distributed processing unit 101-i (i = 1, 2,..., N) of each member is performed such that each member does not know the contents of the processing by the other members. The processing in the secret reconstruction calculation unit 102 may be performed by a center that integrates the processing (that is, an arithmetic unit managed by the center), or one or more of the members gathered. It may be performed by a person (that is, an arithmetic device managed by one of the gathered members). However, it is desirable that the member who needs the calculation result Z perform the calculation.
[0057]
FIG. 4 is a block diagram showing a configuration of the distributed processing unit 101-i (i = 1, 2,..., N) of FIG. As shown in FIG. 4, the distribution processing unit 101-i includes a secret information storage unit 301-i, a secret distribution calculation unit 302-i, a transmission unit 303-i, a reception unit 304-i, and a distribution calculation unit. Unit 305-i. The output from the secret information storage unit 301-i is input to the secret sharing calculation unit 302-i, and the output from the secret sharing calculation unit 302-i is input to the transmission unit 303-i and the sharing calculation unit 305-i. The transmission unit 303-i transmits information to thesecret communication channel 103. The information received from thesecret channel 103 is input to the receiving unit 304-i, and the output from the receiving unit 304-i is input to the distribution calculation unit 305-i. The output from the distribution calculation unit 305-i is the output of the distribution processing unit 101-i.
[0058]
The secret information storage unit 301-i stores the member ID miSecret information X held by the memberiAnd this secret information XiIs output to the secret sharing calculation unit 302-i. Secret information held by the member (that is, secret information held in secret information storage unit 301-i) XiIs the L-order extension GF (q) of the finite field GF (q)L) And the value X on the generator α and the finite field GF (q)i, 0, Xi, 1, ..., Xi, L-1And can be described as:
Xi= Xi, 0+ Xi, 1α + ... + Xi, L-1αL-1
[0059]
The member ID is m to the secret sharing calculation unit 302-i.iSecret information X held by the memberiIs entered. The secret sharing calculation unit 302-i receives the input secret information XiIs distributed using a ramp-type (L, k, n) threshold secret sharing scheme (L ≦ k ≦ n), and distributed to other members via the transmitting unit 303-i and thesecret channel 103. I do. Secret information X held by membersiIs the extended field GF (qL) The above value. The shared information generated by secret sharing calculation section 302-i is Yi, p(P = 1, 2,..., N), the shared information Y for itselfi, iIs output to the variance calculation unit 305-i, and the other variance information Yi, p(P = 1, 2,..., N and p ≠ i) are output to the transmission unit 303-i. Secret information X held by membersiIs the extended field GF (qL) Is the above value, and the distributed information Yi, pIs a value on the finite field GF (q).
[0060]
The transmission unit 303-i outputs the output Y from the secret sharing calculation unit 302-i.i, p(P = 1, 2,..., N and p ≠ i), and passes it through thesecret communication channel 103 to each of the other members (member ID is mp(Where p = 1, 2,..., N and p ≠ i). Note that Yi, pMeans that the member ID is miMember ID is m from memberpIs the shared information transmitted to the member.
[0061]
The receiving unit 304-i transmits information Y transmitted from the transmitting units 303-p (p = 1, 2,..., N and p ≠ i) of each of the other members.p, i(P = 1, 2,..., N, and p ≠ i), and outputs it to the distribution calculation unit 305-i. Note that Yp, iMeans that the member ID is mpMember ID is m from memberiIs the shared information transmitted to the member.
[0062]
The sharing calculation unit 305-i sends the secret information X from the secret sharing calculation unit 302-i.iY, which is the shared information ofi, iReceive. Further, the receiving unit 304-i distributes the secret information X distributed from another member.p(P = 1, 2,..., N and p ≠ i) shared information Y1, i, Y2, i, ..., Yn, i(Shared information Yi, iExcept). The distribution calculation unit 305-i receives the n pieces of received distribution information Yp, i(P = 1, 2,..., N) is used to perform a dispersion calculation, and the calculation result (final calculation result) Z to be obtained (intermediate calculation result) Z ′iIs output.
[0063]
The variance calculation unit 305-i calculates the function Z = f (X1, X2, ..., XnIn order to perform the operation according to (1), one or a plurality of variance adding units are provided. For example,
Z = f (X1, X2, ..., Xn) = X1+ X2+ ... + Xn
(Ie, the sum of the secret information), the variance calculation unit 305-i has the configuration (n-1 variance addition units 501-1 and 501-2) as shown in FIG. , ..., 501- (n-1)). Also,
Z = f (X1, X2, ..., Xn) = XM+ XN
In the case of calculating the sum of a specific piece of secret information, the variance calculator 305-i has a configuration (consisting of one variance adder 601) as shown in FIG. .
[0064]
FIG. 5 is a block diagram illustrating a configuration of the secret sharing calculation unit 302-i (i = 1, 2,..., N) in the first embodiment. As shown in FIG. 5, the secret sharing calculation unit 302-i includes a polynomial expression generation unit 401-i and a shared information generation unit 402-i. Further, the polynomial generating section 401-i includes a random number generating section 403-i and a (k-1) -th order polynomial generating section 404-i. The input to the secret sharing calculation unit 302-i is input to the polynomial expression generation unit 401-i, and the output from the polynomial expression generation unit 401-i is input to the shared information generation unit 402-i. The output from the shared information generation unit 402-i is the output from the secret sharing calculation unit 302-i. Also, the input to the polynomial generation unit 401-i is input to the (k-1) -order polynomial generation unit 404-i, and the output from the random number generation unit 403-i is also the (k-1) -order polynomial generation unit 404-i. Input to i. The output from the (k-1) -order polynomial generator 404-i is the output from the polynomial generator 401-i.
[0065]
The polynomial generation unit 401-i calculates the value X on the L finite fields GF (q).i, 0, Xi, 1, ..., Xi, L-1, And from those values, a k-1 order polynomial h satisfying the following equation (29)Xi(X), and the generated polynomial hXiOutput information representing (x).
hXi(I0) = Xi, 0
hXi(I1) = Xi, 1

hXi(IL-1) = Xi, L-1    … (29)
Where I0, I1, ..., IL-1Is a value that does not overlap with the member ID, and is a value on a predetermined finite field GF (q).
[0066]
The shared information generation unit 402-i calculates the polynomial hXi(X), and n values Y on a finite field GF (q) expressed by the following equation (30)i, p(P = 1, 2,..., N) are generated and output.
Yi, p= HXi(Mp…… (30)
Here, p = 1, 2,..., N and Yi, pMeans that the member ID is miMember ID is m from memberpShows the distributed information distributed to the member.
[0067]
The random number generation unit 403-i generates KL random numbers R on the finite field GF (q).Xi, 0, RXi, 1, ..., RXi, k-L-1Is generated and output.
[0068]
(K-1) The degree polynomial generating unit 404-i outputs the secret information X held by the member which is the input to the secret sharing calculating unit 302-i.i, And the random number R from the random number generation unit 403-iXi, 0, RXi, 1, ..., RXi, k-L-1And a k-1 order polynomial h as shown in the following equations (31) and (32)X(X), and the generated polynomial hXOutput information representing (x).
[0069]
(Equation 21)
Figure 2004287333
[0070]
The secret information X held by the memberiIs the extended field GF (qL) And the value X on the generator α and the finite field GF (q) as described above.i, 0, Xi, 1, ..., Xi, L-1Using
Xi= Xi, 0+ Xi, 1α + ... + Xi, L-1αL-1
Can be described in the form Further, the above equations (31) and (32) indicate that the member ID is miThe polynomial h generated by the (k-1) -order polynomial generator 404-i of the memberX(X).
[0071]
FIG. 8 is a block diagram showing the configuration of thevariance adder 501 or 601 in FIG. 6 or FIG. The configuration of thevariance addition unit 501 or 601 which is a component of the variance calculation unit 305-i will be described with reference to FIG. As illustrated in FIG. 8, thevariance adding unit 501 or 601 includes an adding unit 701. The adding unit 701 receives two inputs (values on the finite field GF (q)) and outputs a value obtained by adding the values on the finite field GF (q). Assuming that the input values are a and b, the output c is as shown in the following equation (33).
c = a + b (33)
The above equation (33) is an operation (addition) on the finite field GF (q).
[0072]
When shared secrets a and b are subjected to a secret reconstruction formula (the above formulas (27) and (28)) of the ramp type (L, k, n) threshold secret sharing scheme, respectively, the extended field GF (qL) Value above
A = (A0, A1, ..., AL-1)
B = (B0, B1, ..., BL-1)
become. Where A0, A1, ..., AL-1, B0, B1, ..., BL-1Are values on the finite field GF (q). The shared information c output from the sharedadder 501 or 601 is obtained by performing secret reconstruction of the ramp type (L, k, n) threshold secret sharing scheme.
C = A + B (34)
The expanded field GF (qL) Value C = (C0, C1, ..., CL-1). Where C0, C1, ..., CL-1Are values on the finite field GF (q). The above equation (34) can be expressed asL) Is the above operation (addition).
[0073]
[Operation of First Embodiment]
FIG. 9 is a flowchart illustrating the operation of the configuration (distributed calculation system) that executes the distributed calculation method according to the first embodiment. Each member for performing the distributed calculation is n, and the member ID is m.i(I = 1, 2,..., N) are members of the secret information Xihave. Member ID_miIs a value on the finite field GF (q), and the secret information XiIs the extended field GF (qL) The above value. Also, member ID_mi(I = 1, 2,..., N) is open to all members. From the finite field GF (q) used for the distributed calculation, the parameter L of the ramp-type secret sharing scheme, and the finite field GF (q) to the expanded field GF (qL), An irreducible polynomial g (x), its generator α, and a function f (X1, X2, ..., Xn) Is predetermined. Function f (X1, X2, ..., Xn) Is the extended field GF (qL), In the first embodiment, the extended field GF (qL) (Eg, XA+ XB) Alone.
[0074]
As shown in FIG. 9, first, secret information held by each member is distributed using a ramp-type (L, k, h) secret sharing method and distributed to other members (step S801). Step S801 shows the operation in the secret sharing calculation unit 302-i of FIG.i(I = 1, 2,..., N) secret information X held by each memberiFrom the above, using the above equation (30), the shared information Yi, p(P = 1, 2,..., N) and the member ID is mpDistribute to members.
[0075]
Next, each member performs the sharing calculation of the function f using the sharing information of its own secret information and the sharing information distributed from other members (step S802). Step S802 shows the operation in the distribution calculation unit 305-i in FIG. 4, and the member ID is miEach member of (i = 1, 2,..., N) has a function f (X1, X2, ..., XnThe variance calculation is performed as specified in ()). For example,
f (X1, X2, ..., Xn) = XA+ XB
If the member ID is miIs the distributed information Y held by the member as a result of the distribution.A, iAnd YB, iFrom the following variance addition calculation
Z 'i= YA, i+ YB, i
Execute Calculation result (intermediate calculation result) Z ′ of the dispersion addition calculationiIs the extended field GF (qL) Above (final calculation result) Z (where Z = f (X1, X2, ..., Xn) = XA+ XBIt is. ) (That is, shared information distributed by the ramp type (L, k, n) secret sharing method).
[0076]
In the next step S803, a calculation result Z 'calculated by each memberiFrom the calculation result of the function f, Z = f (X1, X2, ..., Xn) Is secretly reconstructed based on a ramp-type (L, k, n) secret sharing scheme. Step S803 shows the operation in the secret reconstruction calculation unit 102 of FIG. 1, and the member ID is miIs the result Z 'calculated by the member in step S802.i(I = 1, 2,..., N), using the above equation (27), and calculating the function f by Z = f (X1, X2, ..., Xn) Can be obtained.
[0077]
FIG. 10 is a flowchart showing the operation in the variance addition. For example, the extension field GF (qL) Consider the case where the above values A and B are added. As shown in FIG. 10, the member ID is miEach member of (i = 1, 2,..., N) has the shared information a of the information A and B held by itself.iAnd biFrom the sum ci= Ai+ BiIs calculated and output (step S901).
[0078]
[Effects of First Embodiment]
As described above, according to the first embodiment, the multi-party protocol for the function f (where the function f is a function of addition only) (without disclosing the secret information held by each member) Performs a variance calculation, thereby obtaining a calculation result of the function f) in the extension field GF (qLThe above calculation can be achieved by performing only the calculation on the finite field GF (q) smaller than the extension field in the distributed operation processing of each member. For this reason, in the distributed operation processing of each member, the operation cost such as the amount of operation, the circuit scale required for the operation circuit, the storage capacity required for the operation, and the operation time can be reduced.
[0079]
<< 2nd Embodiment >>
In the first embodiment, the distributed addition method of the distributed calculation by the multi-party protocol using the ramp type (L, k, n) threshold secret sharing method has been described. Describes a method of multiplying a distributed constant in distributed calculation by a multi-party protocol. Similar to the first embodiment, since a ramp-type (L, k, n) threshold secret sharing scheme is used, the operations required for each member are different from those of the conventional multi-party protocol. Can be performed on a finite field smaller than the size of the finite field of the original secret information, and the calculation cost can be reduced.
[0080]
[Configuration of Second Embodiment]
As in the first embodiment, in the second embodiment, n members (or may be n distributed computing devices) each have secret information, and the function f of the function f using the secret information as an argument. A case in which dispersion calculation is performed to obtain a calculation result will be described. For n members, the member ID is m1, M2, ..., mnIs assigned. Member ID_mi(I = 1, 2,..., N) are values on a finite field GF (q) (q is a prime number or a power of a prime number).
[0081]
Also, if the member ID is miIs secret information XiIt is assumed that you have Here, the secret information X held by the memberi(I = 1, 2,..., N) is an L-order extension field GF (q) of the finite field GF (q).L) On the finite field GF (q)i, 0, Xi, 1, ..., Xi, L-1Can be represented by The finite field GF (q) is L-order expanded to an expanded field GF (qL) Is generated as g (x), and the generator is α.
[0082]
The configuration (distributed computing system) for implementing the distributed computing method according to the second embodiment is as shown in FIG. 1, as in the first embodiment. The configuration (distributed calculation system) for implementing the distributed calculation method according to the second embodiment is different from that of the first embodiment in the configuration and operation of the distributed processing unit 101-i.
[0083]
FIG. 11 is a block diagram illustrating a configuration of a distributed processing unit (distributed computing device) 101-i (i = 1, 2,..., N) in the second embodiment. As shown in FIG. 11, the sharing processing unit 101-i in the second embodiment includes a secret information storage unit 1001-i, a secret sharing calculation unit 1002-i, a transmitting unit 1003-i, and areceiving unit 1004. -I and a distributed calculation unit 1005-i. The output from the secret information storage unit 1001-i is input to the secret sharing calculation unit 1002-i, and the output from the secret sharing calculation unit 1002-i is input to the transmission unit 1003-i and the sharing calculation unit 1005-i. The transmitting unit 1003-i transmits information to thesecret communication channel 103. Information received from thesecret channel 103 is input to the receiving unit 1004-i, and an output from the receiving unit 1004-i is input to the distribution calculation unit 1005-i. The output from the distribution calculation unit 1005-i is the output of the distribution processing unit 101-i in the second embodiment.
[0084]
The secret information storage unit 1001-i, the secret sharing calculation unit 1002-i, the transmission unit 1003-i, and the reception unit 1004-i in the second embodiment are the same as the secret information storage unit 301-i in the first embodiment. The configuration and operation are the same as those of the secret sharing calculation unit 302-i, the transmission unit 303-i, and the reception unit 304-i. However, the variance calculation unit 1005-i according to the second embodiment is different in configuration and operation from the variance calculation unit 305-i according to the first embodiment.
[0085]
Since the share calculation unit 1005-i in the second embodiment performs share constant multiplication in addition to share addition, the share processing units 101-p (p = 1, 2) of the other members via thesecret communication path 103. ,..., N and p ≠ i). The sharing calculation unit 1005-i sends the secret information X from the secret sharing calculation unit 1002-i.iInformation Y ofi, iReceive. Further, the secret information X distributed from another member from the receiving unit 1004-i.p(P = 1, 2,..., N and p ≠ i) shared information Y1, i, Y2, i, ..., Yn, iReceive. These n pieces of shared information Yp, i(P = 1, 2,..., N), and performs variance calculation.iIs output. The variance calculation unit 1005-i calculates the function Z = f (X1, X2, ..., Xn), One or more dispersion constant multiplying units and zero or more dispersion adding units. For example,
Z = f (X1, X2, ..., Xn) = T1X1+ T2X2+ ... + tnXn
To calculate (linear combination calculation of secret information), the variance calculation unit 1005-i has a configuration (n number of variance constant multiplication units 1101 (1101-1, 1101- , 1101-n) and n-1 variance addition units 1102 (consisting of 1102-1, 1102-2, ..., 1102- (n-1)).
[0086]
FIG. 13 is a block diagram showing a configuration of the dispersion constant multiplication unit 1101 in FIG. The configuration of the dispersion constant multiplication unit 1101, which is a component of the dispersion calculation unit 1005-i, will be described with reference to FIG. As illustrated in FIG. 13, the sharing constant multiplication unit 1101 includes an extension field multiplication unit 1201, a secret sharing calculation unit 1202, a transmission unit 1203, a reception unit 1204, and anaddition unit 1205. The extension field multiplication unit 1201 receives an input to the dispersion constant multiplication unit 1101. The output from the extension field multiplication unit 1201 is input to the secret sharing calculation unit 1202, and the output from the secret sharing calculation unit 1202 is input to the transmission unit 1203 and theaddition unit 1205. The transmission unit 1203 transmits information to thesecret communication channel 103. Information received from thesecret channel 103 is input to the receiving unit 1204, and an output from the receiving unit 1204 is input to the addingunit 1205. The output from the addingunit 1205 is the output of the dispersion constant multiplying unit 1101.
[0087]
The dispersion constant multiplication unit 1101 receives two inputs (a value on a finite field GF (q) and an extended field GF (qL) Above). Here, the expanded field GF (qL) Value above
A = (A0, A1, ..., AL-1)
And the extended field GF (qL) Constant on
D = (D0, D1, ..., DL-1)
Of the multiplication C = D × A is calculated. Where A0, A1, ..., AL-1, D0, D1, ..., DL-1Are values on the finite field GF (q). At this time, the input to the dispersion constant multiplication unit 1101 is (value of the member A is mi(Retained by members with i = 1, 2,..., N) shared information aiAnd the extended field GF (qL) Is the constant D above. Thereafter, the dispersion constant multiplication unit 1101 determines that the member ID is miThe description will be made assuming that the member of (i = 1, 2,..., N) is included in the distributed calculation unit 1005-i.
[0088]
The expansion field multiplying unit 1201 is an input to the dispersion constant multiplying unit 1101,iAnd the extended field GF (qL) On the constant D = (D0, D1, ..., DL-1), And 2L-1 values E ′ represented by the following equation (35)i, 0, E 'i, 1, ..., E 'i, 2 (L-1)Is calculated.
[0089]
(Equation 22)
Figure 2004287333
Where rj, i(J = 0, 1,..., L−1) are coefficients calculated from the member ID, which are expressed by the above equation (28).
[0090]
On the other hand, the expanded field GF (qL)), The value g on the finite field GF (q) shown in the following equation (37)j, h(J = 0, 1,..., L-1; h = 0, 1,..., L-1) are calculated and stored in advance for the enlarged field operation. Expanded field GF (qL) Is generated by the following equation (36).
[0091]
(Equation 23)
Figure 2004287333
[0092]
[Equation 24]
Figure 2004287333
[0093]
Gj, h(J = 0, 1,..., L−1; h = 0, 1,..., L−1), and E ′ of the above equation (35) calculated firsti, h(H = 0, 1,..., L−1) and a coefficient r calculated from the member ID represented by the above equation (28)j, iThe following equation (38) is calculated using (j = 0, 1,..., L−1).
[0094]
(Equation 25)
Figure 2004287333
[0095]
Where Ei= (Ei, 0, Ei, 1, ..., Ei, L-1) Is an output from the extension field multiplication unit 1201. Output E from expansion field multiplication unit 1201i= (Ei, 0, Ei, 1, ..., Ei, L-1) Is input to the secret sharing calculation unit 1202.
[0096]
For example, L = 2, g (x) = x2In the case of + x + 1, from the above equation (37), gj, h(J = 0,1, ..., L-1; h = 0,1, ..., L-1)
g0,0= 1
g0,1= 1
g1,0= -1
g1,1= -1 (39)
And the extension field multiplication unit 1001 (member ID is mi) Is given by the following equation (40).i= (Ei, 0, Ei, 1) Is calculated and output.
[0097]
(Equation 26)
Figure 2004287333
[0098]
The secret sharing calculation unit 1202 calculates the output E from the extension field multiplication unit 1201.i= (Ei, 0, Ei, 1, ..., Ei, L-1Receive). The output E from the expansion field multiplication unit 1201iIs the extended field GF (qL) The above value. The secret sharing calculation unit 1202 calculates the received value EiIs distributed using a ramp-type (L, k, n) threshold secret sharing scheme (k ≦ n), and is distributed to other members via the transmitting unit 1203 and thesecret communication channel 103. Secret sharing calculation section 1202 has a configuration similar to that of secret sharing calculation section 302-i shown in FIG.i= (Xi, 0, Xi, 1, ..., Xi, L-1) Instead of the value Ei= (Ei, 0, Ei, 1, ..., Ei, L-1) Is entered. At this time, the polynomial generated by the (k-1) -order polynomial generation unit 404-i is as follows (41).
[0099]
[Equation 27]
Figure 2004287333
[0100]
Where Hj(X) is of the above formula (32). Similarly, the member ID generated by the shared information generation unit 402-i is mp(P = 1, 2,..., N) distributed information F distributed to membersi, pIs calculated by the following equation (42) using the above equation (41).
Fi, p= HEi(Mp)… (42)
Distributed information Fi, pIs a value on the finite field GF (q).
[0101]
Distributed information F for itselfi, iIs output to theaddition unit 1205, and the other shared information Fi, p(P = 1, 2,..., N and p ≠ i) are distributed to each member via the transmission unit 1203 and thesecret communication channel 103.
[0102]
The transmission unit 1203 outputs the output F from the secret sharing calculation unit 1202.i, p(P = 1, 2,..., N and p ≠ i), and transmits it to the other members through thesecret communication channel 103.
[0103]
The receiving unit 1204 checks each of the other members (member ID is mp(A member where p = 1, 2,..., N and p ≠ i))p, i(P = 1, 2,..., N and p ≠ i), and outputs it to the addingsection 1205.
[0104]
The transmitting unit 1203 and the receiving unit 1204 have a function of transmitting and receiving to and from the distributed processing unit 101-p of another member, and are shared with the transmitting unit 1003-i and the receiving unit 1004-i in the distributed processing unit 101-i. A configuration may be adopted.
[0105]
Theaddition unit 1205 calculates the output F from the secret sharing calculation unit 1202.i, iReceive. Further, theaddition unit 1205 receives the output F from the secret sharing calculation unit 1202 of another member from the reception unit 1204.1, i, F2, i, ..., Fn, iReceive. These n pieces of shared information Fp, i(P = 1, 2,..., N) are all added (addition on a finite field GF (q)) as in the following equation (43), and the calculation result ciIs output.
ci= F1, i+ F2, i+ ... + Fn, i    … (43)
[0106]
Output c from thisadder 1205iIs the output of the dispersion constant multiplication unit 1101. The input to the dispersion constant multiplication unit 1101 isi(When the secret reconstruction of the ramp type (L, k, n) threshold secret sharing scheme is performed, the extended field GF (qL) Value A = (A0, A1, ..., AL-1)) And a constant D = (D0, D1, ..., DL-1), The dispersion information c output from the dispersion constant multiplication unit 1101 at that time.iIs the secret reconstruction of the ramp type (L, k, n) threshold secret sharing scheme by the members,
C = D × A (44)
The expanded field GF (qL) Value C = (C0, C1, ..., CL-1). Where C0, C1, ..., CL-1Is a value on the finite field GF (q). In addition, the above equation (44) gives an expanded field GF (qL) Is the above operation (multiplication).
[0107]
[Operation of Second Embodiment]
FIG. 14 is a flowchart illustrating the operation of a configuration (distributed calculation system) that executes the distributed calculation method according to the second embodiment. As shown in FIG. 14, the operation of the configuration (distributed calculation system) for implementing the distributed calculation method according to the second embodiment is the same as the configuration (distributed calculation) for executing the distributed calculation method according to the first embodiment described above. System). However, only the variance addition is performed in step S802 (FIG. 9) of the first embodiment, but the difference is that the dispersion constant multiplication is also performed in step S1302 (FIG. 14) of the second embodiment. .
[0108]
The operation of the configuration (distributed computing system) that implements the distributed computing method according to the second embodiment will be described with reference to FIG. Only the step S1302 different from the first embodiment will be described. As shown in FIG. 14, in step S1302, each member performs the sharing calculation of the function f using the sharing information of its own secret information and the sharing information distributed from other members. Step S1302 shows the operation in the distribution calculation unit 1005-i of FIG. 11, and the member ID is miEach member of (i = 1, 2,..., N) has a function f (X1, X2, ..., XnThe variance calculation is performed as specified in ()). This function f handles only addition in the first embodiment, but also handles constant multiplication in the second embodiment. For example, f (X1, X2, ..., Xn) = TAXA+ TBXB
(TA, TBIs the extended field GF (qL), The member ID is miIs the distributed information Y held by the member as a result of the distribution.A, iAnd YB, iFrom tAAnd YA, iMultiplication calculation (operation of the dispersion constant multiplication unit 1101) with t as an input, and tBAnd YB, iIs performed (operation of the dispersion constant multiplication unit 1101), and the two outputs are added to obtain a calculation result (intermediate calculation result) Z ′iAsk for. The calculation result Z 'iIs the extended field GF (qL) Above calculation result (final calculation result)
Z = f (X1, X2, ..., Xn) = TAXA+ TBXB
(That is, shared information distributed by the ramp-type (L, k, n) secret sharing method).
[0109]
FIG. 15 is a flowchart showing the operation of the dispersion constant multiplication in the second embodiment. For example, the extension field GF (qL) Value A = (A0, A1, ..., AL-1) And a constant D = (D0, D1, ..., DL-1) Is performed.
[0110]
First, if the member ID is miEach member of (i = 1, 2,..., N) has the shared information a of the information A held by itself.i, And the constant D, using the above equation (38),i= (Ei, 0, Ei, 1, ..., Ei, L-1) Is obtained (step S1401). Step S1401 represents the operation of the enlarged field multiplication unit 1201 in FIG.
[0111]
Next, if the member ID is miEach member of (i = 1, 2,..., N) has the value E calculated in step S1401.i= (Ei, 0, Ei, 1, ..., Ei, L-1) To the shared information F using a ramp type (L, k, n) secret sharing scheme.i, p(P = 1, 2, ..., n) and the member ID is mp(P = 1, 2,..., N and p ≠ i) shared information Fi, pIs distributed (step S1402). Step S1402 shows the operation of the secret sharing calculation unit 1202 and the transmission unit 1203 of FIG.
[0112]
Next, if the member ID is miEach member of (i = 1, 2,..., N) receives the shared information F received by the operation of step S1402.p, i(P = 1, 2,..., N) are all added (the above equation (43)), and the value ciIs obtained and output (step S1403). Step S1403 shows the operation of the receiving unit 1204 and the addingunit 1205 in FIG.
[0113]
[Effect of Second Embodiment]
As described above, according to the second embodiment, as in the first embodiment, the multi-party protocol (each function is a function consisting of only addition and constant multiplication) for each function f In a protocol that obtains the calculation result of the function f by performing a distributed calculation by each member without disclosing the secret information held by the member, the extension field GF (qLThe above calculation can be achieved by performing only the calculation on the finite field GF (q) smaller than the extension field in the distributed operation processing of each member. For this reason, in the distributed operation processing of each member, the operation cost such as the amount of operation, the circuit scale required for the operation circuit, the storage capacity required for the operation, and the operation time can be reduced.
[0114]
Further, unlike the first embodiment, the second embodiment allows not only the variance addition calculation but also the variance constant multiplication calculation.
[0115]
<< 3rd Embodiment >>
In the first embodiment, the distributed addition method of the distributed calculation by the multi-party protocol using the ramp type (L, k, n) threshold secret sharing method has been described. In the following, a distributed multiplication method of distributed calculation by a multi-party protocol will be described. As in the first and second embodiments, a ramp-type (L, k, n) threshold secret sharing scheme is used. The necessary operation can be performed on a finite field smaller than the size of the finite field of the original secret information, and the operation cost can be reduced.
[0116]
[Configuration of Third Embodiment]
As in the first and second embodiments, in the third embodiment, n members (or n distributed computing devices) each have secret information, and the secret information is used as an argument. A case where a variance calculation is performed to obtain a calculation result of the function f will be described. For n members, the member ID is m1, M2, ..., mnIs assigned. Member ID_mi(I = 1, 2,..., N) are values on a finite field GF (q) (q is a prime number or a power of a prime number).
[0117]
Also, if the member ID is miIs secret information XiIt is assumed that you have Here, the secret information X held by the memberi(I = 1, 2,..., N) is an L-order extension field GF (q) of the finite field GF (q).L) And X on the finite field GF (q)i, 0, Xi, 1, ..., Xi, L-1Can be represented by The finite field GF (q) is L-order expanded to an expanded field GF (qL) Is generated as g (x), and the generator is α.
[0118]
The configuration (distributed computing system) for implementing the distributed computing method according to the third embodiment is as shown in FIG. 1, as in the first and second embodiments. The configuration (distributed calculation system) that implements the distributed calculation method according to the third embodiment differs from that of the first embodiment in the configuration and operation of the distributed processing unit 101-i.
[0119]
The configuration of the distributed processing unit (distributed computing device) 101-i (i = 1, 2,..., N) in the third embodiment is as shown in FIG. 11 as in the second embodiment. The difference between the distributed processing unit 101-i in the third embodiment and that in the second embodiment is the configuration and operation of the distributed calculation unit 1005-i.
[0120]
The variance calculation unit 1005-i in the third embodiment performs variance multiplication in addition to variance addition (first embodiment) and variance constant multiplication (second embodiment). In the same manner as the above, there is a means for communicating with the distributed processing unit 101-p (where p = 1, 2,..., N and p ≠ i) via thesecret communication channel 103. are doing. The sharing calculation unit 1005-i sends the secret information X from the secret sharing calculation unit 1002-i.iInformation Y ofi, iReceive. Further, the secret information X distributed from another member from the receiving unit 1004-i.p(P = 1, 2,..., N and p ≠ i) shared information Y1, i, Y2, i, ..., Yn, iReceive. These n pieces of shared information Yp, iUsing (p = 1, 2,..., N), the variance calculation is performed, and the variance information (intermediate calculation result) Z ′ of the calculation result (final calculation result) ZiIs output. The variance calculation unit 1005-i calculates the function Z = f (X1, X2, ..., Xn), One or a plurality of variance multipliers, zero or more variance adders, and zero or more variance constant multipliers. For example,
Z = f (X1, X2, ..., Xn)
= (T1X1+ T2X2+ ... + tnXn) × XM
(Linear combination calculation of secret information and member ID is mMWhen multiplication by the secret information held by the member is performed, the distribution calculation unit 1005-i has the configuration shown in FIG. 16 (n distribution constant multiplication units 1501, n−1 And a variance multiplication unit 1503). Also,
Z = f (X1, X2, ..., Xn) = XM× XN
(Member ID is mM, MNIn order to calculate the secret information held by a member (multiplication between secret information), the distribution calculation unit 1005-i has a configuration (consisting of one distribution multiplication unit 1601) as shown in FIG.
[0121]
FIG. 18 is a block diagram showing a configuration of the variance multiplier 1503 in FIG. 16 or the variance multiplier 1601 in FIG. The configuration of the variance multipliers 1503 and 1601, which are the components of the variance calculator 1005-i in the third embodiment, will be described with reference to FIG. As shown in FIG. 18, distributed multiplication units 1503 and 1601 include amultiplication unit 1701, an oblivioustransfer calculation unit 1702, a sharedinformation calculation unit 1703, a secret distribution calculation unit 1704, atransmission unit 1705, and areception unit 1706. And an adder 1707. Inputs to distributed multiplication units 1503 and 1601 are input tomultiplication unit 1701 and oblivioustransfer calculation unit 1702. Themultiplication unit 1701 receives an input to the distribution multiplication units 1503 and 1601, and outputs the input to the distributioninformation calculation unit 1703. Further, oblivioustransfer calculation section 1702 receives inputs to distributed multiplication sections 1503 and 1601, and outputs the input to distributedinformation calculation section 1703. The sharedinformation calculation unit 1703 receives the outputs from themultiplication unit 1701 and the oblivioustransfer calculation unit 1702, and the output from the sharedinformation calculation unit 1703 is input to the secret sharing calculation unit 1704. The output from secret sharing calculation section 1704 is input totransmission section 1705 and addition section 1707. Thetransmission unit 1705 transmits information to thesecret communication channel 103. Information received from thesecret channel 103 is input to thereceiving unit 1706, and an output from the receivingunit 1706 is input to the adding unit 1707. The output from the adder 1707 is the output of the variance multipliers 1503 and 1601.
[0122]
The variance multipliers 1503 and 1601 receive two inputs (values on a finite field GF (q)). Expanded field GF (qL) Value A = (A0, A1, ..., AL-1) And B = (B0, B1, ..., BL-1) Is assumed to be subjected to distributed calculation of C = A × B. Where A0, A1, ..., AL-1, B0, B1, ..., BL-1Is a value on the finite field GF (q). At this time, the inputs to the variance multipliers 1503 and 1601 are the values A and B (member ID is mi(Retained by members with i = 1, 2,..., N) shared information aiAnd biIt is. Distributed information aiAnd biIs a value on the finite field GF (q). Thereafter, the distributed multiplication units 1503 and 1601 determine that the member ID is miThe description will be made assuming that the member of which is (i = 1, 2,..., N) is included in the distributed calculation unit 1005-i. Themultiplication unit 1701 receives the shared information a which is an input to the distributed multiplication units 1503 and 1601.iAnd biAnd their multiplication c ′i= Ai× bi(Multiplication on a finite field GF (q)), and the multiplication result c ′iIs output to the sharedinformation calculation unit 1703.
[0123]
Theoblivious transfer calculator 1702 calculates the input a to the distributed multipliers 1503 and 1601.iAnd biAnd the member ID is mp (p = 1, 2,..., n and p ≠ i) multiplied by the input value to theoblivious transfer calculator 1702, ie, ai× bpAnd ap× biThe communication and calculation processing are performed so as to obtain a result equivalent to the result (not the result of multiplication itself). That is,
ai× bp= Di, p, + Dp, i    … (45)
ap× bi= Ei, p, + Ep, i    … (46)
Di, pAnd ei, pIs the member ID is miD can hold dp, iAnd ep, iIs the member ID is mpPerform calculation and communication so that each member can hold the respective members. The oblivioustransfer calculation unit 1702 calculates n-1 values di, p(P = 1, 2,... N and p ≠ i) and ei, p(Where p = 1, 2,..., N and p) i) are calculated and output to the sharedinformation calculation unit 1703.
[0124]
The sharedinformation calculation unit 1703 calculates the output c ′ from the multiplication unit 1701.iAnd the output d from the lost communication calculation unit 1702i, p(P = 1, 2,..., N and p ≠ i) and ei, p(P = 1, 2,..., N and p ≠ i), and using them, first, the value G is calculated by the following equation (47).u, v(U = 1, 2,..., L−1; v = 1, 2,..., L−1).
[0125]
[Equation 28]
Figure 2004287333
[0126]
However, in the above equation (47), ru, i(U = 0, 1,..., L−1) is a coefficient calculated from the member ID and represented by the above equation (28).
[0127]
Next, 2L-1 values E ′ as in the following equation (48)i, 0, E 'i, 1, ..., E 'i, 2 (L-1)Is calculated.
(Equation 29)
Figure 2004287333
[0128]
Next, the output E from the sharedinformation calculation unit 1703 is calculated by the following equation (49).i= (Ei, 0, Ei, 1, ..., Ei, L-1) Is calculated.
[Equation 30]
Figure 2004287333
[0129]
Where gj, h(J = 0, 1,..., L−1; h = 0, 1,..., L−1) is an extended field GF (qL) Is a value calculated from the coefficient of the generator polynomial g (x). Output E from sharedinformation calculation section 1703i= (Ei, 0, Ei, 1, ..., Ei, L-1) Is input to the secret sharing calculation unit 1704.
[0130]
For example, L = 2, g (x) = x2+ X + 1, the output Ei= (Ei, 0, Ei, 1) Is calculated by the following equation (50).
[Equation 31]
Figure 2004287333
[0131]
The secret sharing calculation unit 1704, thetransmitting unit 1705, the receivingunit 1706, and the adding unit 1707 according to the third embodiment include the secret sharing calculating unit 1202, the transmitting unit 1203, and the secret sharing unit 1101 (the second embodiment). It is the same as the receiving unit 1204 and the addingunit 1205, respectively.
[0132]
Output F from secret sharing calculation section 1704i, i(E input to secret sharing calculation section 1704i= (Ei, 0, Ei, 1, ..., Ei, L-1) Is output to the adding unit 1707, and further, the output F from the secret sharing calculating unit 1704 is output.i, p(E = (E input to secret sharing calculation section 1704)i, 0, Ei, 1, ..., Ei, L-1) Is mp(P = 1, 2,..., N and p ≠ i), and the shared information is output to thetransmitting unit 1705.
[0133]
Thetransmitting unit 1705 transmits the output from the secret sharing calculation unit 1704 to thereceiving unit 1706 of another member through thesecret communication channel 103. The receivingunit 1706 outputs the output F from thetransmitting unit 1705 of another member.p, i(Where p = 1, 2,..., N and p ≠ i) are received through thesecret communication channel 103, and the received value is output to the adder 1707. The addition unit 1707 outputs the output F from the secret sharing calculation unit 1704.i, i, And the output F from the receiving unit 1706p, i(Where p = 1, 2,..., N and p ≠ i), add them, and calculate the result ciIs output. The output from the adder 1707 is the output from the variance multipliers 1503 and 1601. Thetransmitting unit 1705 and thereceiving unit 1706 have a function of transmitting and receiving to and from the distributed processing unit 101-p of another member, and are shared with the transmitting unit 1003-i and the receiving unit 1004-i in the distributed processing unit 101-i. A configuration may be adopted.
[0134]
FIG. 19 is a block diagram showing the configuration of theoblivious transfer calculator 1702 in FIG. The configuration of theoblivious transfer calculator 1702 will be described with reference to FIG. The oblivioustransfer calculating section 1702 determines that the member ID is miThe description will be made assuming that the member of which is (i = 1, 2,..., N) is included in the distributed calculation unit 1005-i.
[0135]
As shown in FIG. 19, theoblivious transfer calculator 1702 includes i-1 communication calculation receivers 1801-p (p = 1, 2,..., I-1) and i-1 communication calculation receivers Unit 1802-p (p = 1, 2,..., I-1), ni communication calculation transmitting units 1803-p (p = i + 1, i + 2,..., N) and ni communication calculation And a transmission unit 1804-p (p = i + 1, i + 2,..., N). One of the two inputs to the lostcommunication calculation unit 1702 is a communication calculation reception unit 1801-p (p = 1, 2,..., I-1) and a communication calculation transmission unit 1803-p (p = i + 1, i + 2,..., n) and the other one is a communication calculation receiving unit 1802-p (p = 1, 2,..., i-1) and a communication calculation transmitting unit 1804-p (p = i + 1, i + 2). ,..., N). From the communication calculation receiving units 1801-p, 1802-p (p = 1, 2,..., I-1) and the communication calculation transmitting units 1803-p, 1804-p (p = i + 1, i + 2,..., N) Is the output from theoblivious transfer calculator 1702. The communication calculation receiving units 1801-p and 1802-p (p = 1, 2,..., I−1) and the communication calculation transmitting units 1803-p and 1804-p (p = i + 1, i + 2,. By exchanging information with other members through thesecret communication channel 103, as described above, the member ID becomes mp(P = 1, 2,..., N and p ≠ i) multiplied by the value of another member, ie, ai× bpAnd ap× biIs obtained (not the multiplication result itself), but the value a of the other member ispAnd bpSo that you don't knowiAnd biHowever, it performs what is called oblivious transfer so that other members do not know. As described above, the oblivious transfer means that the transmitting side encodes (encrypts) M pieces of information and transmits it, but the receiving side receives only one of them (they can be decoded in a meaningful manner). ), And a communication method in which the transmitting side cannot know what information the receiving side has received (the decoding has become meaningful). In this embodiment, oblivious transfer is configured by utilizing the difficulty of calculating a discrete logarithm under the modulus q.
[0136]
The communication calculation receiving units 1801-p and 1802-p (p = 1, 2,..., I−1) and the communication calculation transmitting units 1803-p and 1804-p (p = i + 1, i + 2,. , I, or may not have a communication calculation receiving unit or a communication calculation transmitting unit. For example, when i = 1, there is no communication calculation receiving unit, and there are 2 × (n−1) communication calculation transmitting units. When i = n, the communication calculation transmitting unit is not provided, and 2 × (n−1) communication calculation receiving units are provided. Also, the relationship of transmission and reception with other members is as follows.iFrom the communication calculation transmission units 1803-p and 1804-p (p = i + 1, i + 2,..., N) of the member through thesecret communication path 103, respectively.pIs passed to each of the communication calculation receiving units 1801-i and 1802-i of the member. Details will be described with reference to FIGS.
[0137]
FIG. 20 is a block diagram showing a configuration of the communication calculation receiving units 1801-p and 1802-p (p = 1, 2,..., I-1) in FIG. The configuration of the communication calculation receiving units 1801-p and 1802-p (p = 1, 2,..., I-1) will be described with reference to FIG. As shown in FIG. 20, the communication calculation receiving units 1801-p and 1802-p (p = 1, 2,..., I-1) include an indexcalculation transmitting unit 1901 and areception restoring unit 1902. The communication calculation receiving unit 1801-p receives one of the two inputs to the lostcommunication calculating unit 1702, and the communication calculation receiving unit 1802-p receives the other input. Here, the input to the communication calculation receiving unit 1801-p is aiAnd the input to the communication calculation receiving unit 1802-p is biAnd Since the communication calculation receiving units 1801-p and 1802-p have the same internal structure, the communication calculation receiving unit 1801-p will be described here, and the description corresponding to the communication calculation receiving unit 1802-p will be described in parentheses []. Describe within. The input to the communication calculation receiving unit 1801-p [1802-p] is input to the indexcalculation transmitting unit 1901. The output from indexcalculation transmitting section 1901 is input toreception restoring section 1902. The output from thereception restoring unit 1902 is the output from the communication calculation receiving unit 1801-p [1802-p].
[0138]
The indexcalculation transmitting unit 1901 receives the input a from the communication calculation receiving unit 1801-p [1802-p].i  [Bi], And is subjected to a calculation represented by the following equation (51) to obtain a ′i, p  [B 'i, pIs calculated through thesecret channel 103 and the member ID is mp(P = 1, 2,..., I−1).
(Equation 32)
Figure 2004287333
[0139]
In the above equation (51), h and g are two generators of the finite field GF (q), and rAi, p  [RBi, p] Selects a value on a finite field GF (q) as a random number. Also, the indexcalculation transmitting unit 1901 calculates the random number rA used in the above equation (51).i, p  [RBi, pIs output to thereception restoring section 1902.
[0140]
Thereception restoring unit 1902 checks that the member ID is mpQ information (q is the number of elements of the finite field GF (q)) is received from the member (p = 1, 2,..., I−1), and aiTh information d 'i, p  [BiTh information e 'i, pIs calculated by the following equation (52) to obtain the target value d.i, p  [Ei, p] Is calculated. Thereception restoring unit 1902 determines that the other received information indicates that the member ID is miFor members who are, it looks like a random number.
[0141]
[Equation 33]
Figure 2004287333
[0142]
Value d 'i, p  [E 'i, p] Is two pieces of information d ′1, i, pAnd d '2, i, p[E'1, j, p and e '2, i, p] The calculated value di, p  [Ei, p] Is the output of thereception restoring unit 1902 and is the output from the communication calculation receiving unit 1801-p [1802-p].
[0143]
FIG. 21 is a block diagram illustrating a configuration of the communication calculation transmission units 1803-p and 1804-p (p = i + 1, i + 2,..., N) in FIG. The configuration of the communication calculation transmission units 1803-p and 1804-p will be described with reference to FIG. As shown in FIG. 21, the communication calculation transmitting units 1803-p and 1804-p (p = i + 1, i + 2,..., N) include a randomnumber generation unit 2001, a finite fieldelement generation unit 2002, and a multiplier calculation transmission unit. 2003-a (a = 1, 2,..., Q).
[0144]
The inputs to the communication calculation transmission units 1803-p and 1804-p (p = i + 1, i + 2,..., T) are output from the randomnumber generation unit 2001 and the finite fieldelement generation unit 2002, as well as the multiplier calculation transmission unit 2003-a. (A = 1, 2,..., Q). The output from the randomnumber generation unit 2001 is the output from the communication calculation transmission units 1803-p and 1804-p (p = i + 1, i + 2,..., N). The communication calculation transmission unit 1803-p receives one of the two inputs of the lostcommunication calculation unit 1702, and the communication calculation transmission unit 1804-p receives the other input. Here, the input to the communication calculation transmitting unit 1803-p is ai, The input to the communication calculation transmitting unit 1804-p is bifar. Since the communication calculation transmission units 1803-p and 1804-p have the same internal structure, the communication calculation transmission unit 1803-p will be described here, and the description corresponding to the communication calculation transmission unit 1804-p will be described in parentheses []. Describe within.
[0145]
The randomnumber generation unit 2001 illustrated in FIG. 21 generates and outputs a random number having a value on a finite field GF (q). The same random number is output to the multiplier calculation transmitting unit 2003-a (a = 1, 2,..., Q). The output from the randomnumber generation unit 2001 is the output from the communication calculation transmission unit 1803-p [1804-p] (p = i + 1, i + 2,..., N).
[0146]
The finite fieldelement generation unit 2002 shown in FIG. 21 sequentially generates values on the finite field GF (q) as 0, 1,..., Q−1, and respectively calculates the multiplier calculation transmission unit 2003-a (a = 1, 2,..., Q). That is, 0 is set to the multiplier calculation transmitting unit 2003-1, 1 is set to the multiplier calculating transmitting unit 2003-2, j-1 is set to the multiplier calculating transmitting unit 2003-j, and q is set to the multiplier calculating transmitting unit 2003-q. -1 is output.
[0147]
Multiplier calculation transmitting section 2003-a (a = 1, 2,..., Q) shown in FIG. 21 receives input from communication calculation transmitting section 1803-p [1804-p] (p = i + 1, i + 2,. Value ai  [Bi], The random number from the randomnumber generation unit 2001, the corresponding finite field element a-1 from the finite fieldelement generation unit 2002, and the member ID mp(P = i + 1, i + 2,..., N) Information from the member (output from the indexcalculation transmission unit 1901 of the communication calculation reception units 1801-i [1802-i] of the other members) a ′p, i  [B 'p, i], Calculate from those inputs, and output the calculation result. The outputs from the multiplier calculation transmitting unit 2003-a (a = 1, 2,..., Q), that is, q outputs in total, have the member ID mp(P = i + 1, i + 2,..., N). Now, let the output from the randomnumber generation unit 2001 be di, p  [Ei, p]. Also, the value received through thesecret channel 103 is a 'p, i(Corresponding to the communication calculation transmitting unit 1803-p) [b 'p, i(Corresponding to the communication calculation transmitting unit 1804-p)]. A-1 is input from the finite fieldelement generation unit 2002 to the multiplier calculation transmission unit 2003-a (a = 1, 2,..., Q). The multiplier calculation transmitting section 2003-a (a = 1, 2,..., Q) calculates the following equations (53) to (55), and obtains d ′.p, i, a  [E 'p, i, a] Respectively (d 'p, i, a[E 'p, i, a] Is composed of two values as described in the description of the equation (52).p(P = i + 1, i + 2,..., N) are transmitted in the order of a = 1, 2,.
[0148]
[Equation 34]
Figure 2004287333
[0149]
Where kAa  [KBa(A = 1, 2,..., Q)] are random numbers of values on q finite fields GF (q), respectively. These outputs d 'p, i, aOr e 'p, i, aThrough thesecret communication channel 103 and the member ID is mpWhen the communication calculation receiving unit 1801-i [communication calculation receiving unit 1802-i] of the member whose (p = i + 1, i + 2,..., N) receives the received member, a = ap  [BpA'd information d 'corresponding top, i= D 'p, i, a[E 'p, i= E 'p, i, a] Can be decoded by Expression (52) (other received information is that the member ID is mpFor members who are, it looks like a random number.)
[0150]
Output d from randomnumber generation section 2001 shown in FIG.i, p  [Ei, p] Is the output from the communication calculation transmitting unit 1803-p [1804-p] (p = i + 1, i + 2,..., N).
[0151]
The input to the distributed multiplication units 1503 and 1601 having the configuration shown in FIG.iAnd bi(When the secret reconstruction of the ramp type (L, k, n) threshold secret sharing scheme is performed, each of the extended fields GF (qL) Value A = (A0, A1, ..., AL-1) And B = (B0, B1, ..., BL-1)), The shared information c output from the shared multiplication units 1503 and 1601 at that time.iIs the secret reconstruction of the ramp type (L, k, n) threshold secret sharing scheme by the members,
C = A × B (56)
The expanded field GF (qL) Value C = (C0, C1, ..., CL-1). Where C0, C1, ..., CL-1Is a value on the finite field GF (q). Equation (56) is given by the extended field GF (qL) Is the above operation (multiplication).
[0152]
[Operation of Third Embodiment]
FIG. 22 is a flowchart illustrating the operation of a configuration (distributed calculation system) that executes the distributed calculation method according to the third embodiment. The operation of the configuration (distributed calculation system) that implements the distributed calculation method according to the third embodiment is, as shown in FIG. 22, configured to execute the distributed calculation method according to the above-described first and second embodiments. (Distributed computing system). However, only variance addition is performed in step S802 (FIG. 9) of the first embodiment, and only variance addition and dispersion constant multiplication are performed in step S1302 (FIG. 14) of the second embodiment. The difference is that variance multiplication is also performed in step S2102 (FIG. 22) of the embodiment.
[0153]
The operation of the configuration (distributed computing system) that implements the distributed computing method of the third embodiment will be described with reference to FIG. Only the step S2102 different from the first and second embodiments will be described. As shown in FIG. 22, in step S2102, each member performs the sharing calculation of the function f using the sharing information of its own secret information and the sharing information distributed from other members. Step S2102 shows the operation in the distribution calculation unit 1005-i of FIG. 11, and the member ID is miEach member of (i = 1, 2,..., N) has a function f (X1, X2, ..., XnThe variance calculation is performed as specified in ()). This function f handles only addition in the first embodiment and only addition and constant multiplication in the second embodiment, but also handles multiplication in the third embodiment. For example,
f (X1, X2, ..., Xn) = (TAXA+ TBXB) × XC
(TAAnd tBIs the extended field GF (qL), The member ID is miIs the distributed information Y held by the member as a result of the distribution.A, i, YB, i, And Yc, iFrom tAAnd YA, iConstant multiplication calculation (operation of the dispersion constant multiplication unit 1101) with tBAnd YB, iIs performed (operation of the dispersion constant multiplication unit 1101), and variance addition of the two outputs is performed (operation of the dispersion addition units 501 and 601).c, iMultiplication calculation (operations of the multiplication units 1503 and 1601) with Z ′iAsk for. The calculation result Z 'iIs the extended field GF (qL) Calculation result above
Z = f (X1, X2, ..., Xn) = (TAXA+ TBXB) × XC
(Distributed by a ramp-type (L, k, n) secret sharing scheme).
[0154]
FIG. 23 is a flowchart showing the operation in the distributed multiplication in the third embodiment. For example, the extension field GF (qL) Value A = (A0, A1, ..., AL-1), B = (B0, B1, ..., BL-1) Is performed. First, if the member ID is miEach member having (i = 1, 2,..., N) has shared information a of values A and B held by itself.iAnd biFrom the product c 'i= Ai× bi, And the value of d as in equations (45) and (46) using oblivious transferi, pAnd ei, p(Where p = 1, 2,..., N and p ≠ i) are obtained (step S2201). Step S2201 is performed by multiplying unit 1701 (value c 'in FIG. 18).iIs obtained), and the oblivious transfer calculator 1702 (value d)i, pAnd ei, p(Where p = 1, 2,..., N and p ≠ i) is obtained.
[0155]
Next, if the member ID is miEach member with (i = 1, 2,..., N) has the value c ′ calculated in step S2201.iAnd di, p, Ei, p(Where p = 1, 2,..., N and p ≠ i), Eq.i= (Ei, 0, Ei, 1, ..., Ei, L-1) Is obtained (step S2202). Step S2202 shows the operation of the sharedinformation calculation unit 1703 in FIG.
[0156]
Next, if the member ID is miEach member of (i = 1, 2,..., N) has the value E calculated in step S2202.i= (Ei, 0, Ei, 1, ..., Ei, L-1) To the shared information F using a ramp type (L, k, n) secret sharing scheme.i, p(P = 1, 2, ..., n) and the member ID is mp(P = 1, 2,..., N and p ≠ i) shared information Fi, pIs distributed (step S2203). Step S2203 shows the operation in the secret sharing calculation unit 1704 and thetransmission unit 1705 in FIG.
[0157]
Next, if the member ID is mi(I = 1, 2,..., N) are members of the shared information F received by the operation of step S2203.i, p(P = 1, 2,..., N) are all added (the above equation (43)), and the value ciIs obtained and output (step S2204). Step S2204 shows the operation of thereceiving unit 1706 and the adding unit 1707 of FIG.
[0158]
[Effects of Third Embodiment]
As described above, according to the third embodiment, similarly to the first and second embodiments, the function f (where the function f is a function composed of addition, constant multiplication, and multiplication) is used. In a multi-party protocol (a protocol that obtains the calculation result of a function f by performing a distributed calculation by each member without disclosing secret information held by each member), an extension field GF (qLThe above calculation can be achieved by performing only the calculation on the finite field GF (q) smaller than the extension field in the distributed operation processing of each member. For this reason, in the distributed operation processing of each member, the operation cost such as the amount of operation, the circuit scale required for the operation circuit, the storage capacity required for the operation, and the operation time can be reduced.
[0159]
Further, unlike the first and second embodiments, the third embodiment enables not only the variance addition calculation and the variance constant multiplication calculation but also the variance multiplication calculation.
[0160]
The “member” in the first to third embodiments does not necessarily need to be a single person, but holds secret information and has a calculation unit (distributed secret reconstruction calculation unit) as a component. It can also be. That is, one person can proceed with the process by holding a plurality of the above devices. In this case, one person becomes a plurality of members. Further, a single device can be managed by a plurality of persons and the processing can be advanced. In this case, a plurality of persons become one member.
[0161]
<< 4th Embodiment >>
In the first to third embodiments, the shared information used for the shared calculation in the shared calculation unit 305-i or 1005-i in each member is not necessarily the secret X held by the member.iEven if it is not the shared information, the shared calculation can be performed. That is, shared information distributed from outside (it may be assumed to be a center) by a ramp-type (L, k, n) threshold secret sharing method is necessary for calculating a target function f. It is possible to provide a distributed processing unit that is given some (may be larger than the number n of members) and uses it to perform distributed calculation. FIG. 24 shows the configuration of a distributed calculation method (distributed calculation system) using such a distributed processing unit, and FIGS. 25A and 25B show the configuration of the distributed processing unit (distributed calculation device). Shown in
[0162]
As shown in FIG. 24, the configuration (distributed calculation system) that implements the secret calculation method according to the fourth embodiment includes a secret sharedtransmission unit 2301 and n shared processing units 2302-i (i = 1, 2). ,..., N) and a secret reconstruction calculation unit 2303.
[0163]
The secretsharing transmission unit 2301 outputs the extension field GF (qL), And obtains shared information distributed by a ramp-type (L, k, n) threshold secret sharing scheme, and outputs the obtained shared information to each shared processing unit 2302-i (i = 1, 2,..., N). . For example, D = f (A, B, C) (A, B, C, D is an extended field GF (qL), The secretsharing transmission unit 2301 shares A, B, and C with the ramp type (L, k, n) threshold secret sharing method, and obtains the shared information a.i, Bi, Ci(I = 1, 2,..., N) are output to the respective distributed processing units 2302-i.
[0164]
As shown in FIGS. 25A and 25B, each of the shared processing units 2302-i has a shared information receiving unit 2406-i that receives the output from the secretsharing transmitting unit 2301, and the shared information receiving unit The shared information received in 2406-i is output to the shared calculation unit 2405-i.
[0165]
When the desired function f includes constant multiplication and multiplication, the distribution calculation unit 2405-i includes thesecret communication channel 103 that performs secret communication with another distribution processing unit 2302-i. The variance calculation of the function f is performed using the value received from the information receiving unit 2406-i and the value received from the receiving unit 2404-i (in the case of FIG. 25A). The configuration of the variance calculator 2405-i is the same as that of the first to third embodiments, and outputs a variance calculation result. The output from the sharing calculation unit 2405-i is input to the secret reconstruction calculation unit 2303. A secret information storage unit 2401-i, a secret sharing calculation unit 2402-i, a transmission unit 2403-i, and a reception unit 2404-i are the same as those in the first to third embodiments. Also, since the shared information receiving unit 2406-i has a function equivalent to the receiving unit 2404-i, the function of the shared information receiving unit 2406-i is given to the receiving unit 2404-i, and only one receiving function is provided. A configuration is also possible.
[0166]
The secret reconstruction calculation unit 2303 shown in FIG. 24 is the same as the secret reconstruction calculation unit of the first to third embodiments, and outputs the final calculation result of the function f. As in the first to third embodiments, the processing in the secret reconstruction calculation unit 2303 may be performed by a center that integrates the processing, or one of the gathered members may be used. Or, it may be performed by a plurality of persons. However, it is desirable that the member who needs the calculation result Z perform the calculation. Further, the final secret reconstruction processing (operation of the secret reconstruction calculation unit 2303) may be performed by a distributed processing unit of one or more members, and therefore, the configuration of the distributed processing unit having such a configuration. Are shown in FIGS. 26 and 27 (a) and (b). This is a form in which a secret reconstruction calculation unit is added to the distribution processing units of the first to third embodiments and the distribution processing units shown in FIGS. 25A and 25B. In the configurations of FIGS. 26 and 27 (a) and (b), since the final calculation result Z can be reconstructed by the distribution processing unit itself, the output Z 'from the distribution calculation unit 2505-i is output.iCan select whether or not to output as output to the outside from the distributed processing unit as necessary. Therefore, in FIG. 26 and FIGS. 27A and 27B, the output from the variance calculation unit 2505-i is depicted by a dashed arrow. If one or more distributed processing units having the configurations shown in FIGS. 26 and 27 (a) and (b) are included, the secret reconstruction calculation unit in the distributed computing system having the configurations shown in FIGS. It is possible to obtain the final calculation result Z without the provision of 102 and 2303.
[0167]
In the second embodiment, in the description of the configuration of the extended field multiplication unit 1201 in FIG.i, 0, E 'i, 1, ..., E 'i, 2 (L-1)Is calculated, then E in equation (38) is calculated.i= (Ei, 0, Ei, 1, ..., Ei, L-1) Is calculated, but as in the example of L = 2, E ′ is calculated as in equation (40).i, 0, E 'i, 1, ..., E 'i, 2 (L-1)E directly without seekingi= (Ei, 0, Ei, 1, ..., Ei, L-1) May be obtained.
[0168]
Similarly, in the third embodiment, in the description of the configuration of the sharedinformation calculation unit 1703 in FIG.u, v(U = 0, 1, 2,..., L-1; v = 0, 1, 2,..., L-1).i, 0, E 'i, 1, ..., E 'i, 2 (L-1)Is calculated, then E in equation (49) is calculated.i= (Ei, 0, Ei, 1, ..., Ei, L-1) Is calculated, but as in the example of L = 2, G is calculated as in equation (50).u, v(U = 0, 1, 2,..., L−1; v = 0, 1, 2,..., L−1) and E ′i, 0, E 'i, 1, ..., E 'i, 2 (L-1)E directly without seekingi= (Ei, 0, Ei, 1, ..., Ei, L-1) May be obtained.
[0169]
In the lostcommunication calculation unit 1702 in the third embodiment, (1) the communication calculation reception unit 1801-p (p = 1, 2,..., I-1) is replaced with a communication calculation transmission unit, and further, the communication calculation transmission is performed. A configuration in which the unit 1803-p (p = i + 1, i + 2,..., N) is replaced with a communication calculation receiving unit, or (2) a communication calculation receiving unit 1802-p (p = 1, 2,..., I-1) Is replaced by a communication calculation transmitting unit, and further, the communication calculation transmitting unit 1804-p (p = i + 1, i + 2,..., N) is replaced by a communication calculation receiving unit. The same operation and effect can be obtained by a configuration in which the calculation transmission unit is further replaced with a communication calculation reception unit.
[0170]
In the lostcommunication calculation unit 1702 in the third embodiment, thesecret communication path 103 between the communication calculation transmission unit 1801-p (or 1802-p) and the communication calculation reception unit 1803-j (or 1804-j) is used. As for the exchange of information, it is difficult to calculate the encrypted information, that is, the discrete logarithm under the modulo q, as shown in Expressions (51) and (53) to (55). Since it is information that conceals the information that the user wants to send, secret information of members and intermediate results of the distributed calculation will not be revealed even if communication is not performed in secret. In equation (51), the information ai(Or bi) Is hidden as a power number of the generator h of the finite field GF (q), and necessary information a to be obtained from the information obtained by Expressions (53) to (55)i(A-1) -di, p(Or bi(A-1) -ei, p) Is the random number rA used in equation (51).p, i(Or rBp, i) Can not be calculated without knowing. Therefore, in the above communication, the communication may be performed not on the secret communication path but on a broadcast-type communication path or a communication path that may be eavesdropped.
[0171]
<< 5th Embodiment >>
In the sharing calculation according to the fifth to seventh embodiments of the present invention, similarly to the first to fourth embodiments, instead of the conventionally used (k, n) threshold secret sharing method, A ramp-type secret sharing scheme (ie, a ramp-type (L, k, n) threshold secret sharing scheme) is used. In the following description, it is assumed that variables such as secret information and random numbers are all elements on a certain finite field GF (q). In the first to fourth embodiments, the relationship of k ≦ n is established between the threshold value k and the number n of pieces of shared information. However, in the fifth to seventh embodiments, 2k−1 It is assumed that a relationship of ≦ n is established.
[0172]
In the first to fourth embodiments, the shared information is calculated using the (k-1) -th order polynomial as in Expression (19). In the fifth to seventh embodiments, the following expression ( The shared information is calculated using a (k-1) -order polynomial such as 57).
(Equation 35)
Figure 2004287333
[0173]
Where S0, S1, ..., SL-1Are secret information, and R0, ..., Rk-L-1Are random values, respectively. Further, g (x) is an L-order irreducible polynomial, and corresponds to the generator polynomial g (x) of Expression (36) in the first to fourth embodiments. This irreducible polynomial is given in advance. Member ID (that is, ID information) wiThe distributed information to be passed to the member having thei). Member ID_w which each member hasiShall be public. In the first to fourth embodiments, the member ID is mi(I = 1, 2,..., N), but in the fifth to seventh embodiments, the member ID is set to w.i(I = 0, 1,..., N-1) and the member ID is wiIs a member PiI will call it.
[0174]
In the fifth to seventh embodiments, the secret information (S0, ..., SL-1) Using an irreducible polynomial g (x) to an L-order extension field GF (q) of a finite field GF (q)L). That is, when the solution of the equation g (x) = 0 is α,
S = SL-1αL-1+ ... + S1α + S0
It expresses. From this, the calculation regarding the secret information is performed by the finite field GF (qL)), Which can be realized by addition or multiplication of polynomials modulo g (x).
[0175]
Member ID is wiMember Pi(I = 0,..., N−1), respectively, f (wi) As distributed information. The size of the shared information at this time is 1 / L of the secret information. Restoration of secret information restores a polynomial, and then calculates mod g (x), as in the (k, n) threshold method.
[0176]
[Configuration of Fifth Embodiment]
In the following, in the fifth embodiment, a description will be given of a sharing calculation using a ramp-type secret sharing. In particular, it is assumed that variance addition is performed as a specific example of variance calculation. From this point, the fifth embodiment has contents similar to those of the first embodiment, but differs in a method of generating shared information.
[0177]
In the fifth embodiment, a system that performs secret sharing and secret restoration (reconstruction), and shared calculation will be described. In particular, it is assumed that variance addition is performed as a specific example of variance calculation. Hereinafter, in the distributed calculation, the secret information is expressed as A = (A0, ..., AL-1) And B = (B0, ..., BL-1). And the member ID is wjThe shared information possessed by the member is represented by a (wj) And b (wj).
[Equation 36]
Figure 2004287333
[0178]
At this time, the polynomial representing the sum of the shared information is as shown in the following equation (59).
(37)
Figure 2004287333
[0179]
From this, the following equation (60) is obtained.
[Equation 38]
Figure 2004287333
[0180]
By substituting x = α into this equation, the right side becomes an extended field GF (qL) Represents the addition. Therefore,
cj= A (wj) + B (wj)
Represents shared information of a value C (= A + B) which is a sum of secret information A and B. Therefore, in the variance addition, the member PjSuffices to calculate the sum of the pieces of shared information.
[0181]
The configuration of the distributed computing system according to the fifth embodiment is the same as the distributed computing system according to the first to fourth embodiments shown in FIG. 1 or FIG. The fifth embodiment is different from the first to fourth embodiments in that a ramp-type secret sharing scheme for generating shared information is different. Therefore, the respective components, a secretsharing transmission unit 2301, and sharingprocessing units 101 and 2302 are provided. , And secret reconstruction calculators 102 and 2303 are different. FIG. 28 is a block diagram illustrating a configuration of a distributed calculation device (corresponding to the distributedcalculation processing units 101 and 2302 in FIGS. 1 and 24) according to the fifth embodiment. As shown in FIG. 28, the shared computing device according to the fifth embodiment includes asecret sharing part 3001, a sharingcalculation part 3002, asecret restoration part 3003, and asecret communication channel 103. Thesecret sharing part 3001 illustrated in FIG. 28 includes a secret sharing unit 3101 and atransmission unit 3102. Also, thevariance calculation unit 3002 illustrated in FIG. 28 includes areception unit 3103, astorage unit 3104, a variance calculation unit 3105, and atransmission unit 3106. Further, thesecret restoration section 3003 shown in FIG. 28 includes areceiving section 3107 and asecret restoration section 3108. The shared computing device may have only one or two of thesecret sharing part 3001, the sharedcalculation part 3002, and the secret restoration part 3003 (described later with reference to FIGS. 31 to 33). .
[0182]
The secret sharing unit 3101 performs ramp-type secret sharing on the secret information to calculate the shared information. Thetransmitting unit 3102 is connected to the other members via thesecret communication channel 103, and performs one-to-one secret communication. Then, the calculation result is distributed to other members. As a result, each member obtains shared information.
[0183]
The receivingunit 3103 receives the shared information from another member or a center provided separately from the member. As a result, the member holds the shared information. Thestorage unit 3104 holds the shared information obtained by the secret sharing and the result of the shared calculation. The variance calculation unit 3105 calculates the variance information held in thestorage unit 3104. Then, shared information of an arbitrary calculation result of the secret information is obtained.
[0184]
In the fifth embodiment, a case will be described in which the share calculation unit 3105 obtains share information of the sum of secret information. In general, the variance calculator 3105 is configured by a combination of variance addition shown in the fifth embodiment, variance multiplication shown in a sixth embodiment described later, and variance constant multiplication shown in a seventh embodiment described later. . Thetransmitting unit 3106 distributes the result of the distributed calculation. Here, thetransmission unit 3106 also distributes shared information via thesecret communication channel 103. Here, each of the members has thereception unit 3103, thestorage unit 3104, the distribution calculation unit 3105, and thetransmission unit 3106.
[0185]
The receivingunit 3107 receives the result of the distribution calculation from another member. Thesecret restoring unit 3108 restores (reconstructs) secret information using the shared information received from all members. Thetransmitting unit 3102 and thetransmitting unit 3106 and thereceiving unit 3103 and thereceiving unit 3107 may have a common configuration when the members have the same.
[0186]
FIG. 29 is a block diagram showing a configuration of secret sharing section 3101 of FIG. As shown in FIG. 29, the secret sharing unit 3101 has a randomnumber generation unit 3111 and a finitefield operation unit 3112. The random number generation unit 3101 generates a random number used when performing secret sharing calculation. The finitefield operation unit 3112 generates shared information from the secret information, the member ID of the member, the generated random number, and the irreducible polynomial.
[0187]
FIG. 30 is a block diagram showing a configuration of thesecret restoration unit 3108 of FIG. As shown in FIG. 30, thesecret restoration unit 3108 includes a restoration information generation unit 3121 and a finitefield operation unit 3122. The restoration information generation unit 3121 generates information used for secret restoration from the member ID and the irreducible polynomial. The finitefield operation unit 3122 performs restoration calculation of secret information from the generated information and the shared information.
[0188]
Asecret sharing part 3001 shown in FIG. 28 is a part for performing secret sharing. Thedistribution calculation part 3002 illustrated in FIG. 28 is a part that receives the distribution information and executes the distribution calculation. 28. Finally, thesecret restoring part 3003 shown in FIG. 28 is a part that collects the distribution calculation results and restores the calculation result of the original secret information. Each member may have the secret sharing unit 3101 and thetransmission unit 3102, which are thesecret sharing unit 3001 shown in FIG. 28, or a center independent of the members. The receivingunit 3107 and thesecret restoring unit 3108, which are thesecret restoring units 3003 shown in FIG. 28, may be owned by at least one member, or may be performed by a center independent of the members.
[0189]
In the following, FIG. 31 shows the configuration of a distributed computing system in a case where a distributed calculation is performed on secret information held by a member and the calculation result is obtained by the member. The block indicated by "participant" is the distributed computing device of each member, and although only two are illustrated in the figure, there are actually n units. Each participant has asecret sharing part 3001, a sharingcalculation part 3002, and asecret restoring part 3003. FIG. 32 shows the configuration of a distributed computing system in a case where a member performs a distributed calculation on secret information held by the member and the center obtains a result of the calculation. FIG. 32 is a configuration diagram similar to that of the distributed computing system of FIG. The block indicated by "participant" is the distributed computing device of each member, and although only two are illustrated in the figure, there are actually n units. The block indicated by "center" is a part for finally restoring the calculation result, and is a part corresponding to the secret reconstruction calculation unit 102 in FIG. Each participant has asecret sharing part 3001 and a sharingcalculation part 3002. FIG. 33 shows the configuration of a distributed calculation system in a case where the center performs secret calculation on secret information held by the center and obtains a calculation result. FIG. 33 is a configuration diagram similar to the distributed computing system of FIG. The block indicated by "participant" is a distributed computing device of each member, and although only two are shown in the figure, there are actually n blocks. 24. The block indicated by the upper "center" (the portion including the secret sharing unit 3101 and the transmitting unit 3102) is a portion for distributing secret information, and corresponds to the secretsharing transmitting unit 2301 in FIG. It is. Further, the block indicated by the lower part “center” (a part composed of thesecret restoration part 3108 and the reception part 3107) is a part for restoring the calculation result finally, and the secret reconstruction calculation part 2303 in FIG. Is the part corresponding to. Each participant has a distributedcalculation portion 3002.
[0190]
[Operation of Fifth Embodiment]
In the fifth embodiment, a procedure for sharing calculation using a ramp-type secret sharing scheme will be described. As a specific example of the sharing calculation, a procedure will be described in which secret sharing is performed from secret information held by each member to obtain shared information, and the sum of the original secret information is obtained from the shared information.
[0191]
First, the operation in secret sharing will be described. S = (S0, S1, ..., SL-1). Secret information S = (S0, S1, ..., SL-1) And a randomly generated value R0, ..., Rk-L-1And the following equation (61)
[Equation 39]
Figure 2004287333
The member P shown in the following equation (62) using a polynomial such asjInformation s forjGenerate
(Equation 40)
Figure 2004287333
[0192]
This calculation is an n × n matrix such as
E = (eij)
eij= Wij(I = 0, ..., n-1; j = 0, ..., n-1)
Using,
(S0, ..., sn-1)t
= E (f0, F1, ..., fk-1, 0, ..., 0)t
Can be expressed as Then, the shared information sjIs the member PjPass to.
[0193]
It is assumed that t pieces of shared information collected for secret restoration (t ≧ k). First, each member P 'of the secret restorationjFrom the shared information s'jAnd the member ID w 'of each memberj(J = 0,..., T−1) is received. Then, from the simultaneous equation of the following equation (63), the coefficient f of the polynomial is calculated.0, F1, ..., fk-1Ask for.
s'j= Fk-1w 'j  k-1+ ... + f1w 'j+ F0    … (63)
Here, j = 0,..., T−1.
[0194]
Then, for the obtained polynomial, the remainder (the following equation (64)) is calculated by the irreducible polynomial g (x).
(Equation 41)
Figure 2004287333
The obtained coefficients of the polynomial correspond to the restored secret information.
[0195]
This calculation is equivalent to a calculation using a matrix as shown below. Let G be the matrix representing the remainder of the polynomial modulo the irreducible polynomial g (x). And the member ID_w 'of the memberiFrom the t × t matrix
E '= (e'ij)
e 'ij= W 'ij(I = 0, ..., t-1; j = 0, ..., t-1). Matrix G and inverse matrix E 'of matrix E'-1From the matrix R = GE ′-1= (Rij) Is calculated. The r thus obtainedijIs used to calculate the following equation (65).
(Equation 42)
Figure 2004287333
The resulting S0, ..., SL-1Is the restored secret information.
[0196]
Here, a method of generating the matrix G will be described. The matrix G is a (t-1) degree polynomial
h (x) = ht-1xt-1+ ... + h1x + h0
To the irreducible polynomial
g (x) = xL+ ... + g1x + g0
The following equation (66) is the remainder when divided by
[Equation 43]
Figure 2004287333
Thus, a matrix G is obtained as in the following equation (67).
[0197]
[Equation 44]
Figure 2004287333
[0198]
For example, GF (31), t = 16, irreducible polynomial g (x) = x3In the case of + x + 3, the result of calculating the matrix G is as follows. A 15th-order polynomial (Equation (68) is defined as follows.
[Equation 45]
Figure 2004287333
[0199]
The result of the remainder calculation modulo the irreducible polynomial g (x) is as shown in the following equation (69).
[Equation 46]
Figure 2004287333
[0200]
Thus, the matrix G is as shown in the following equation (70).
[Equation 47]
Figure 2004287333
[0201]
Next, the operation in the distributed calculation will be described. In the fifth embodiment, variance addition will be described as a specific example. Member PjIs the shared information a of the secret information A and BjAnd bjIt is assumed that you have In the distributed addition, the sum of the shared information held by each member may be calculated. That is, in order to obtain the shared information of the sum A + B of the secret information held by each member, the member PjIs the sum of shared information aj+ BjCan be calculated.
[0202]
[Effects of Fifth Embodiment]
As described above, the operation performed by each member can be performed in a finite field smaller than the finite field in which the original secret information is defined (in the above description, an L-order expanded field). As a result, each member can execute the addition regarding the secret information with less computational resources.
[0203]
<< Sixth Embodiment >>
In the sixth embodiment of the present invention, variance multiplication and dispersion will be described as a specific example. A = (A0, ..., AL-1) And B = (B0, ..., BL-1). The shared information is calculated from the following polynomial (Equation (71)).
[Equation 48]
Figure 2004287333
[0204]
At this time, the polynomial representing the product of the shared information is as shown in the following equation (72).
[Equation 49]
Figure 2004287333
[0205]
Thus, the following equation (73) holds.
[Equation 50]
Figure 2004287333
[0206]
Substituting x = α into this, this gives the extension field GF (qL) Above. Therefore, a (wi) B (wi) Represents the variance information of the value AB by the 2 (k-1) -order polynomial. However, as in the conventional case, a conversion operation (BPB) that lowers the degree of the polynomial so as not to change the secret information-1) C = D is required (corresponding to the process of step S203 in the variance multiplication (method {circle around (2)) described in the related art), and C = (a (w0) B (w0), A (w1) B (w1), ..., a (wn-1) B (wn-1))). In the conventional (k, n) threshold secret sharing scheme based on the Shamir method, the secret information is a constant term of a polynomial. Therefore, the matrix P may be simply an operation of setting the coefficient of the k-th or higher-order term to 0 (matrix P that satisfies Expression (80)).
P (x1, X2, ..., xn)t
= (X1, X2, ..., xk, 0, ..., 0) ... (80)
[0207]
On the other hand, in the ramp-type secret sharing scheme, the secret information is expressed by the polynomial f (x) of the equation (61).
SL-1xL-1+ ... + S1x + S0
, That is, the remainder when divided by g (x). Thus, the matrix P may be an operation of lowering the degree of the polynomial from 2 (k-1) to (k-1) so as to be congruent in mod g (x).
[0208]
[Configuration of Sixth Embodiment]
In the sixth embodiment, an apparatus for realizing distributed multiplication for calculating the product of secret information will be described with respect to the distributed calculation in the fifth embodiment. However, the method of generating shared information is different from that of the third embodiment that implements distributed multiplication for calculating the product of secret information in the same manner (in the third embodiment, k− Since the shared information is generated from the first-order polynomial, and in the sixth embodiment, the shared information is generated from the (k−1) -order polynomial as shown in Expression (57), the configuration and operation are completely different. Has become. In the sixth embodiment, the shared information (a0, ..., an-1), (B0, ..., bn-1) Is given, and the shared information (a0, ..., an-1), (B0, ..., bn-1) To the shared information (d) of the product D (= AB) of the secret information.0, ..., dn-1) Is calculated.
[0209]
FIG. 34 is a block diagram illustrating a configuration of a variance calculation unit when performing variance multiplication. As shown in FIG. 34, the shared multiplication calculation unit 3200 includes amultiplication unit 3201, a secret sharing processing unit 3202, a shared information conversion unit 3203, and a secret restoration processing unit 3204. Themultiplication unit 3201 calculates a product of the pieces of shared information held by the members. The secret sharing processing unit 3202 performs secret sharing on the value calculated by the multiplication unit. Here, the shared information is generated using the (k, n) threshold secret sharing instead of the ramp secret sharing method (the threshold at this time is the ramp type (L, k, n) A value k ′ (k ′ ≦ n) different from the threshold value k in the secret sharing scheme may be used). The shared information converting unit 3203 performs conversion on the second shared information obtained by the secret sharing processing unit 3202. The secret restoration processing unit 3204 performs a secret restoration process on the result calculated by the shared information conversion unit 3203. The result of the multiplication is exchanged with another member, and the resulting shared information is restored. Here, similarly to the secret sharing processing unit 3202, the calculation of the secret restoration is performed using the (k, n) threshold method (the threshold at this time is the same as the threshold value in the secret sharing processing unit 3202). Value).
[0210]
[Operation of Sixth Embodiment]
In the sixth embodiment, the shared information a of the secret information A and B is obtained by the shared calculation.i(I = 0,..., N-1) and biThe procedure of calculating the shared information of the product AB of the secret information from (i = 0,..., N−1) will be described. In distributed multiplication, the product of the shared information held by each member must be converted. At the time of conversion, it is necessary to exchange shared information between members.
[0211]
The processing procedure is as shown in FIG. Here, member Pj(J = 0,..., N-1) is the member ID_w of each member.i(I = 0,..., N−1) and shared information ajAnd bjAssume that you have received In the following, description will be made using a matrix for convenience.
[0212]
As shown in FIG. 35, instep 1, the member PiIs the product of the shared information ci= AibiIs calculated. The product c of this shared informationiIs the shared information of the product AB of the secret information A and B, but the degree of the polynomial for performing the secret sharing is 2 (k-1), which is inconvenient. Therefore, in the following steps, processing of secret sharing, distribution (steps 2 and 3), conversion processing (step 4), exchange of shared information of calculation results, and restoration of calculation results (steps 5 and 6) are performed. Thus, the obtained shared information is converted so that the threshold value becomes k.
[0213]
Instep 2, member PiIs the product of the shared information ciFor secret sharing. The secret sharing here uses the (k ', n) threshold method (k'≤n). Member PiIs the product of the shared information ciAnd a random k'-1 order polynomial (Equation (74)) is generated from the random number and the shared information c.i, j(J = 0,..., N−1) is calculated.
(Equation 51)
Figure 2004287333
Where Ri, m(M = 1,..., K′−1) is the member PiIs a numerical value that is randomly generated.
[0214]
This results in an n × n matrix E = (eij) Can be expressed as in the following equation (75).
(Equation 52)
Figure 2004287333
[0215]
Instep 3, communication with other members is performed to obtain the shared information c.i, jExchange. Member PiIs calculated above (ci, 0, ..., ci, n-1) For ci, j(J = 0,..., N−1 and j ≠ i) are assigned to the member PjDistribute to As a result, member PjIs (c0, j, ..., cn-1, jReceive).
[0216]
Instep 4, PjIs Cj= (C0, j, ..., cn-1, j) (Derived from the 2 (k-1) -order polynomial)j= (D0, j, ..., dn-1, j) (Derived from the (k−1) -order polynomial). The conversion is performed, for example, by using a matrix P and a matrix E generated as follows.j= (EPE-1) CjThis is a calculation equivalent to That is, EPE-1= (Pij) For dij= Σk  pikckj(I = 0,..., N−1) is calculated.
[0217]
Here, the matrix P is a transformation that reduces the polynomial in the secret sharing from the 2 (k−1) th order to the (k−1) th order, and lowers the degree of the polynomial so as to be congruent in mod g (x). It is an operation. FIG. 36 shows an example of a method of generating the transformation matrix P. Then, specifically, GF (31), k = 8 (this is the threshold value of the ramp-type secret sharing in secret sharing section 3101), n = 16, irreducible polynomial g (x) = x3In the case of + x + 3, the result of calculating the matrix P is as follows. A 14th-order (corresponding to 2 (k-1) th-order) polynomial is defined as in the following equation (76).
(Equation 53)
Figure 2004287333
[0218]
As a result of the above operation, a congruent polynomial in mod g (x) with the order reduced to the seventh order is as the following expression (77).
(Equation 54)
Figure 2004287333
[0219]
Thus, the matrix P is as shown in the following equation (78).
[0220]
[Equation 55]
Figure 2004287333
[0221]
Instep 5, the communication with other members is performed, and information di, jExchange. Member PjIs information di, j(I = 0, ..., n-1; i−1j) is PiDistribute to As a result, member PiIs (di, 0, ..., di, n-1Receive).
[0222]
Instep 6, member PiPerforms a secret recovery calculation. Member PiIs (di, 0, ..., di, n-1) To d which is the shared information of the product AB of the information A and BiIs calculated by equation (79). The restoring operation here performs a secret restoring by the (k ', n) threshold method.
[Equation 56]
Figure 2004287333
[0223]
By performing the above calculation, the shared information d of the product AB of the secret information such that the threshold value is kiCan be obtained.
[0224]
[Effects of Sixth Embodiment]
As described above, the operation performed by each member can be performed in a finite field smaller than the finite field in which the original secret information is defined (in the above description, an L-order expanded field). As a result, in addition to the addition in the fifth embodiment, the multiplication can be similarly performed by each member with less computational resources.
[0225]
<< Seventh embodiment >>
[Configuration of Seventh Embodiment]
In the seventh embodiment of the present invention, the shared information of the constant C shared by the members and the constant times CS of the secret information S is calculated. However, the method of generating the shared information is different from that of the second embodiment that implements the shared constant multiplication of calculating the product of the constants of the secret information in the same manner (in the second embodiment, the expression (19) , The shared information is generated from the k-1 order polynomial in the seventh embodiment, and the shared information is generated from the k-1 order polynomial in Expression (57) in the seventh embodiment. It has become. The constant multiplication using the (k, n) threshold method can be obtained by multiplying the shared information held by itself by a constant, but in the present invention, the constant is an extended field GF (qL). At this time, it is necessary to perform the dispersion calculation so that the dispersion information obtained as a result of the constant times becomes the basis of the base field.
[0226]
FIG. 37 is a block diagram illustrating the configuration of the variance calculator when performing the variance constant multiplication according to the seventh embodiment. In FIG. 37, the dispersion constant arithmetic and multiplication unit includes a dispersion multiplication device 3200 (FIG. 34) and a constant information generation unit 3301. The constant information generation unit 3301 calculates the extension field GF (qLThe shared information of the constants is generated from the constants and the member IDs common to the members defined in ()). In the distributed multiplication device, the distributed multiplication calculation unit 3200 calculates the product of the shared information of the secret information S and the shared information of the constant C generated by the constant information generation unit 3301.
[0227]
[Operation of Seventh Embodiment]
Member P for secret information SjThe shared information held by sjAnd Expanded field GF (qL) Constant C = (C0, ..., CL-1) From the information c as follows:jIs calculated.
cj= C0+ C1wj+ ... + CL-1wjL-1
Since the constant C is shared between members, the member PjIs the information c to havejCan be generated.
[0228]
Hereinafter, information c is obtained by the same procedure as the variance multiplication.jAnd shared information sj, The dispersion information of the constant multiplication CS can be calculated.
[0229]
At this time, since the degree conversion is a conversion from the (k + L-2) order to the (k-1) order, the 2 (k-1) part is replaced with k + L-2 in the generation of the matrix P in FIG. FIG. The non-zero portion in the matrix P in this distributed multiplication can be further reduced, and the amount of calculation can be reduced.
[0230]
[Effects of Seventh Embodiment]
As described above, in addition to the addition and multiplication of the fifth and sixth embodiments, the extension field GF (qLSimilarly, each member can be executed with less computational resources with respect to a constant multiple of the constant represented by ()).
[0231]
【The invention's effect】
As described above, according to the present invention, the extension field GF (qL) In the distributed arithmetic processing of each member, the extended field GF (qL) Can be achieved by performing only calculations on a finite field GF (q) smaller than), the amount of calculation, the circuit scale required for the calculation circuit, and the storage required for calculation in the distributed calculation processing of each member. There is an effect that calculation costs such as capacity and calculation time can be reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration (distributed computing system) for implementing a distributed computing method according to a first embodiment of the present invention.
FIG. 2 is a conceptual explanatory diagram of a multi-party protocol.
FIG. 3 is a block diagram illustrating a configuration of a secret reconstruction calculation unit in FIG. 1;
FIG. 4 is a block diagram illustrating a configuration of a distributed processing unit (distributed calculation device) in FIG. 1;
FIG. 5 is a block diagram illustrating a configuration of a secret sharing calculation unit in FIG. 4;
FIG. 6 is a block diagram illustrating a configuration of an example (part 1) of a dispersion calculation unit in FIG. 4;
FIG. 7 is a block diagram illustrating a configuration of an example (part 2) of the dispersion calculation unit in FIG. 4;
FIG. 8 is a block diagram illustrating a configuration of a variance adding unit in FIG. 6 or FIG. 7;
FIG. 9 is a flowchart illustrating an operation of a configuration (distributed calculation system) that executes the distributed calculation method according to the first embodiment of the present invention.
FIG. 10 is a flowchart showing an operation of variance addition in the first embodiment of the present invention.
FIG. 11 is a block diagram illustrating a configuration of a distributed processing unit (distributed computing device) according to a second embodiment of the present invention.
FIG. 12 is a block diagram illustrating a configuration of a dispersion calculation unit in FIG. 11;
13 is a block diagram illustrating a configuration of a dispersion constant multiplication unit in FIG.
FIG. 14 is a flowchart illustrating an operation of a configuration (distributed calculation system) that executes a distributed calculation method according to the second embodiment of the present invention.
FIG. 15 is a flowchart illustrating an operation of multiplication of a dispersion constant according to the second embodiment of the present invention.
FIG. 16 is a block diagram illustrating a configuration of a distributed calculation unit (part 1) according to the third embodiment of this invention.
FIG. 17 is a block diagram illustrating a configuration of a distributed calculation unit (part 2) according to the third embodiment of this invention.
FIG. 18 is a block diagram illustrating a configuration of a distributed multiplication unit in FIGS. 16 and 17;
FIG. 19 is a block diagram showing a configuration of an oblivious transfer calculator of FIG. 18;
20 is a block diagram illustrating a configuration of a communication calculation receiving unit in FIG.
FIG. 21 is a block diagram illustrating a configuration of a communication calculation transmitting unit in FIG. 19;
FIG. 22 is a flowchart illustrating an operation of a configuration (distributed calculation system) that implements a distributed calculation method according to the third embodiment of the present invention.
FIG. 23 is a flowchart illustrating an operation of distributed multiplication according to the third embodiment of the present invention.
FIG. 24 is a block diagram showing a configuration (distributed computing system) for implementing a distributed computing method according to a fourth embodiment of the present invention.
FIGS. 25A and 25B are block diagrams each showing a configuration of a distributed processing unit (distributed computing device) of FIG. 24;
FIG. 26 is a block diagram illustrating a configuration of a modified example (1) of the distributed processing unit (distributed computing device) of FIG. 25;
FIGS. 27A and 27B are block diagrams each showing a configuration of a modification (No. 2) of the distributed processing unit (distributed computing device) of FIG. 25;
FIG. 28 is a block diagram illustrating a configuration of a distributed computing device according to a fifth embodiment of the present invention.
FIG. 29 is a block diagram illustrating a configuration of a secret sharing unit in FIG. 28;
FIG. 30 is a block diagram illustrating a configuration of a secret restoration unit in FIG. 28;
FIG. 31 is a block diagram illustrating a configuration of a distributed computing system (part 1) according to a fifth embodiment of the present invention.
FIG. 32 is a block diagram illustrating a configuration of a distributed computing system (part 2) according to the fifth embodiment of the present invention.
FIG. 33 is a block diagram illustrating a configuration of a distributed computing system (part 3) according to the fifth embodiment of the present invention.
FIG. 34 is a block diagram illustrating a configuration in which the variance calculation units of the fifth to seventh embodiments perform variance multiplication.
FIG. 35 is a flowchart illustrating a processing procedure when the variance calculators of the fifth to seventh embodiments perform variance multiplication.
FIG. 36 is an explanatory diagram of a conversion matrix generation procedure in the fifth to seventh embodiments.
FIG. 37 is a block diagram illustrating a configuration of a dispersion constant multiplication unit according to a seventh embodiment of the present invention.
FIG. 38 is an explanatory diagram of a procedure for generating a transformation matrix according to the seventh embodiment.
[Explanation of symbols]
101 (101-1,..., 101-n) distributed processing unit (distributed computing device)
102 secret reconstruction calculator,
103 secret channel,
201 linear combination,
301-i secret information storage unit,
302-i secret sharing calculation unit,
303-i transmission unit,
304-i receiving unit,
305-i distributed calculation unit,
401-i polynomial generator,
402-i shared information generation unit,
403-i random number generation unit,
404-i (k-1) degree polynomial generation unit,
.., 501- (n−1) variance addition unit,
601 variance adder,
701 adder,
1001-i secret information storage unit,
1002-i secret sharing calculation unit,
1003-i transmitting unit,
1004-i receiving unit,
1005-i distributed calculation unit,
1101-1,..., 1101-n
1102-1, ..., 1102- (n-1) variance addition unit,
1201 enlargement field multiplication unit,
1202 secret sharing calculation unit,
1203 transmission unit,
1204 receiver,
1205 adder,
1501-1,..., 1501-n dispersion constant multiplication unit
1502-1, ..., 1502- (n-1) variance addition unit,
1503 Distributed multiplication unit,
1601 distributed multiplication unit,
1701 Multiplication unit,
1702 oblivious transfer calculator,
1703 shared information calculation unit,
1704 Secret sharing calculation unit,
1705 transmission unit,
1706 receiver,
1707 adder,
1801-1,..., 1801- (i-1) communication calculation receiving unit;
1802-1, ..., 1802- (i-1) communication calculation receiving unit,
1803- (i + 1), ..., 1803-n communication calculation transmitting unit,
1804- (i + 1), ..., 1804-n communication calculation transmitting unit,
1901 index calculation transmitting section,
1902 reception restoration unit,
2001 random number generator,
2002 Finite field element generator,
2003-1,..., 2003-q Multiplier calculation transmitting unit,
2301 Secret sharing transmission unit,
2302 (2302-1, ..., 2302-n) distributed processing unit (distributed computing device),
2303 secret reconstruction calculator,
2401-i secret information storage unit,
2402-i secret sharing calculation unit,
2403-i transmitting unit,
2404-i receiver,
2405-i distributed calculation unit,
2406-i shared information receiving unit,
2501-i secret information storage unit,
2502-i secret sharing calculation unit,
2503-i transmitting unit,
2504-i receiving unit,
2505-i distributed calculation unit,
2506-i distributed information receiving unit,
2507-i secret reconstruction calculation unit,
3101 secret sharing unit,
3102 transmitting section,
3103 receiver,
3104 storage unit,
3105 distributed calculation unit,
3106 transmitting unit,
3107 receiver,
3108 Secret restoration unit,
3111 random number generation unit,
3112 Finite field operation unit,
3121 restoration information generation unit,
3122 Finite field operation unit,
3200 distributed multiplication calculation unit,
3201 multiplication unit,
3202 secret sharing processing unit,
3203 shared information conversion unit,
3204 secret restoration processing unit,
3301 constant information generation unit,
Xi  Secret information held by the distributed computing device,
Yi, j  Secret information XiDistributed information generated from
Z 'i  Distributed information Yi, j(Shared information of secret Z) generated from
Z The original secret,
hXi(X) a polynomial generated by the distributed computing device,
m1, M2, ..., mn  Member ID.

Claims (30)

Translated fromJapanese
分散計算を行う分散計算装置であって、
ランプ型(L,k,n)しきい値秘密分散法により1又は複数個の秘密情報から生成された分散情報を用いて、分散計算する分散計算手段を有し、
この分散計算装置が保持するメンバIDをm(p≦n)とし、上記分散計算手段が分散計算に用いる分散情報をYとしたときに、上記分散情報は、
有限体GF(q)をL次拡大した拡大体で生成元がαである拡大体GF(q)上の値を次式
X=ΣXα;0≦j≦L−1
で表されるXとするときに、次式
(I)=X;0≦j≦L−1
を満たすk−1次の有限体GF(q)上の多項式h(x)を生成し、
上記多項式h(x)から、
=h(m
なる有限体GF(q)上の値を計算することによって生成された情報である
ことを特徴とする分散計算装置。
A distributed computing device that performs distributed computation,
A shared calculation means for performing shared calculation using shared information generated from one or more pieces of secret information by a ramp type (L, k, n) threshold secret sharing method;
Assuming that the member ID held by the distributed computing device is mp (p ≦ n) and the shared information used for the shared calculation by the shared calculating means is Yp , the shared information is
A value on an extension field GF (qL ) whose origin is α in an extension field in which the finite field GF (q) is L-order-extended is expressed by the following equation: X = ΣXj αj ; 0 ≦ j ≦ L−1
When the in represented by X, the following equationh X (I j) = X j; 0 ≦ j ≦ L-1
It generates a k-1 order finite GF (q) on the polynomialh X (x) satisfying,
From the above polynomial hx (x),
Y p = h X (m p )
A distributed computing apparatus characterized in that the information is information generated by calculating a value on a finite field GF (q).
ランプ型(L,k,n)しきい値秘密分散法を用いて秘密情報から生成された分散情報を受信する分散情報受信手段をさらに有し、
上記分散計算手段が分散計算に用いる分散情報が、上記分散情報受信手段で受信された分散情報を含む
ことを特徴とする請求項1に記載の分散計算装置。
A shared information receiving means for receiving shared information generated from secret information by using a ramp type (L, k, n) threshold secret sharing method;
The distributed computing device according to claim 1, wherein the distributed information used by the distributed calculating means for the distributed calculation includes the distributed information received by the distributed information receiving means.
分散計算を行う分散計算装置であって、
ランプ型(L,k,n)しきい値秘密分散法により、秘密情報から分散情報を生成する秘密分散計算手段を有し、
上記秘密分散計算手段が、
上記分散情報が配布される他の分散計算装置が保持するメンバIDをm(p≦n)とし、メンバIDがmである上記分散情報をYとし、有限体GF(q)をL次拡大した拡大体で生成元がαである拡大体GF(q)上の値を次式
X=ΣXα;0≦j≦L−1
で表されるXとするときに、次式
(I)=X;0≦j≦L−1
を満たすk−1次の有限体GF(q)上の多項式h(x)を生成する多項式生成手段と、
上記多項式h(x)から、
=h(m
なる有限体GF(q)上の値を計算することによって生成する分散情報生成手段とを有する
ことを特徴とする分散計算装置。
A distributed computing device that performs distributed computation,
A secret sharing calculation means for generating shared information from secret information by a ramp type (L, k, n) threshold secret sharing method;
The secret sharing calculation means,
The member ID to other distributed computing system in which the shared information is distributed to hold a mp (p ≦ n), the distributed information member ID is mp and Yp, the finite field GF a (q) L The value on the extension field GF (qL ) whose generator is α in the next extension field is expressed by the following equation: X = ΣXj αj ; 0 ≦ j ≦ L−1
When the in represented by X, the following equationh X (I j) = X j; 0 ≦ j ≦ L-1
A polynomial generation means for generating a k-1 order finite GF (q) on the polynomialh X (x) satisfying,
From the above polynomial hx (x),
Y p = h X (m p )
And a shared information generating means for generating by calculating a value on a finite field GF (q).
上記秘密情報を保持する秘密情報記憶手段をさらに有することを特徴とする請求項3に記載の分散計算装置。4. The distributed computing apparatus according to claim 3, further comprising secret information storage means for holding the secret information.上記秘密分散計算手段で生成された分散情報を他の分散計算装置へ送信する送信手段をさらに有することを特徴とする請求項3又は4のいずれかに記載の分散計算装置。5. The shared computing device according to claim 3, further comprising a transmitting unit that transmits the shared information generated by the secret sharing calculating unit to another shared computing device.他の分散計算装置からの分散情報を受信する受信手段をさらに有することを特徴とする請求項3から5までのいずれかに記載の分散計算装置。The distributed computing device according to any one of claims 3 to 5, further comprising a receiving unit that receives distributed information from another distributed computing device.上記秘密分散計算手段で生成したこの分散計算装置自身に対する分散情報、及び、ランプ型(L,k,n)しきい値秘密分散法により他の分散計算装置で生成され上記受信手段で受信された分散情報を用いて、分散計算する分散計算手段をさらに有することを特徴とする請求項6に記載の分散計算装置。The shared information generated by the secret sharing calculation means for the sharing calculation apparatus itself, and generated by another sharing calculation apparatus by the ramp type (L, k, n) threshold secret sharing method and received by the receiving means. The distributed computing device according to claim 6, further comprising a distributed computing unit that performs distributed computation using the distributed information.上記分散計算手段の計算結果、及び、他の分散計算装置の分散計算手段からの計算結果Z’から、ランプ型(L,k,n)しきい値秘密分散法の秘密再構成を行って、拡大体GF(q)上の値
Z=ΣZα(jは、0≦j≦L−1である整数)を得る秘密再構成手段をさらに有し、
上記秘密再構成手段は、次式
Figure 2004287333
のような線形結合を行う線形結合手段を有する
ことを特徴とする請求項1、2、7のいずれかに記載の分散計算装置。The secret reconstruction of the ramp type (L, k, n) threshold secret sharing method is performed from the calculation result of the above-mentioned sharing calculation means and the calculation result Z ′i from the sharing calculation means of another sharing calculation apparatus. , Further comprising a secret reconstruction means for obtaining a value Z = ΣZj αj (j is an integer satisfying 0 ≦ j ≦ L−1) on the extension field GF (qL ),
The secret reconstruction means is expressed by the following equation
Figure 2004287333
8. The distributed computing apparatus according to claim 1, further comprising a linear combination means for performing a linear combination as described above.上記分散計算手段が、
有限体GF(q)をL次拡大した拡大体GF(q)上の2つの値であるA及びBの加算の分散加算を実行する場合に、この分散計算装置自身が保持する上記A及びBに対する分散情報の加算を行う加算手段を有する
ことを特徴とする請求項1、2、7のいずれかに記載の分散計算装置。
The variance calculation means,
When performing variance addition of two values A and B on an extension field GF (qL ) obtained by expanding the finite field GF (q) by L-order, the variance calculation apparatus itself holds the above A and 8. The distributed computing apparatus according to claim 1, further comprising an adding unit for adding shared information to B.
上記分散計算手段で、有限体GF(q)をL次拡大した拡大体で生成元がαである拡大体GF(q)上の定数Dと、拡大体GF(q)上の値Aとの乗算の分散定数乗算をする場合には、
この分散計算装置自身が保持する値Aに対する分散情報a、定数D、及び、メンバIDを用いて、拡大体GF(q)上の乗算
C=D×a=ΣCα;0≦j≦L−1
となるCの分散情報であるEi,j(0≦j≦L−1)を求める拡大体乗算手段と、
上記拡大体乗算手段の計算結果であるEi,jを、さらにランプ型(L,k,n)しきい値秘密分散法で分散して分散情報であるFi,pを生成する第2の秘密分散計算手段と、
上記第2の秘密分散計算手段で生成した分散情報であるFi,pを送信する第2の送信手段と、
他の分散計算装置の第2の送信手段から分散情報であるFp,iを受信する第2の受信手段と、
上記第2の秘密分散計算手段から生成したこの分散計算装置自身に対する分散情報であるFi,i、及び、その第2の受信手段で受信した分散情報であるFp,iをすべて加算する第2の加算手段と、
を有することを特徴とする請求項1、2、7のいずれかに記載の分散計算装置。
A constant D on an extension field GF (qL ) whose origin is α in an extension field obtained by expanding the finite field GF (q) by L-order by the variance calculation means, and a value A on the extension field GF (qL ) When multiplying by the dispersion constant multiplication with
Using the shared information ai , the constant D, and the member ID for the value A held by the shared computing device itself, multiplication C = D × ai = ΣCj αj ; 0 on the extended field GF (qL ); ≤j≤L-1
Expanding field multiplying means for obtaining Ei, j (0 ≦ j ≦ L−1) which is shared information of Cj ,
Ei, j , which is the calculation result of the expansion field multiplying means, is further distributed by a ramp-type (L, k, n) threshold secret sharing method to generateFi, p , which is shared information. Secret sharing calculation means,
Second transmitting means for transmitting the shared informationFi, p generated by the second secret sharing calculating means;
Second receiving means for receiving the shared informationFp, i from the second transmitting means of another distributed computing device;
The sum of all of the shared information Fi, i generated by the second secret sharing calculation means for the shared calculation apparatus itself and the shared information Fp, i received by the second receiving means are added. Means for adding 2;
8. The distributed computing device according to claim 1, wherein the distributed computing device comprises:
上記分散計算手段で、有限体GF(q)を生成多項式
g(x)=Σg;0≦i≦L
を用いてL次拡大した拡大体で生成元がαである、拡大体GF(q)上の値A及びBの乗算
C=AB=ΣCα;0≦j≦L−1
の分散乗算をする場合には、
この分散計算装置自身が保持する値A及びBに対する分散情報a及びbの有限体GF(q)上の乗算
=a×b
を行う乗算手段と、
他の分散計算装置の分散情報記憶手段に保持されている値A及びBの分散情報であるa及びbの積a×b及びa×bの分割情報であるdi,p及びei,pを紛失通信を用いて求める紛失通信計算手段と、
上記乗算手段の乗算結果であるc、その紛失通信計算手段の計算結果であるdi,p及びei,p、メンバID、及び、生成多項式の係数であるgを用いて、Cの各次数の係数であるCの分散情報であるEi,j(0≦j≦L−1)を求める分散情報計算手段と、
上記分散情報計算手段の計算結果であるEi,jを、ランプ型(L,k,n)しきい値秘密分散法で分散して分散情報であるFi,pを生成する第3の秘密分散手段と、
上記第3の秘密分散手段で生成した分散情報であるFi,pを送信する第3の送信手段と、
他の分散計算装置の第3の送信手段から分散情報であるFp,iを受信する第3の受信手段と、
上記第3の秘密分散手段から生成したこの装置自身に対する分散情報であるFi,i、及び、その第3の受信手段で受信した分散情報であるFp,iをすべて加算する第3の加算手段と
を有することを特徴とする請求項1、2、7のいずれかに記載の分散計算装置。
The variance calculation means generates a finite field GF (q) as a generator polynomial g (x) = Σgi xi ; 0 ≦ i ≦ L
Is a multiplication of the values A and B on the extension field GF (qL ) in the extension field L-extended using L = C = AB = ΣCj αj ; 0 ≦ j ≦ L−1
When performing the variance multiplication of
Multiplication ci = ai × bi on finite field GF (q) of shared information ai and bi for values A and B held by the distributed calculation device itself
Multiplying means for performing
A division information of the product ai × bp and ap × bi of ap and bp is the variance value information A and B are held in the shared information memory means other distributed computing devices di, p and ei, and oblivious calculating means which calculates using oblivious top,
Using ci which is the multiplication result of the multiplication means, di, p and ei, p which are the calculation results of the oblivious transfer calculation means, the member ID, and gi which is the coefficient of the generator polynomial, Shared information calculating means for obtaining Ei, j (0 ≦ j ≦ L−1) as shared information of Cj which is a coefficient of each order;
A third secret that generatesEi, j, which is the shared information, by distributingEi, j , which is the calculation result of the shared information calculation means, using a ramp-type (L, k, n) threshold secret sharing method. Dispersal means;
Third transmission means for transmitting the shared informationFi, p generated by the third secret sharing means,
Third receiving means for receiving the shared informationFp, i from third transmitting means of another distributed computing device;
A third addition for adding all of the shared information Fi, i generated by the third secret sharing unit for the device itself and the shared information Fp, i received by the third receiving unit. 8. The distributed computing apparatus according to claim 1, further comprising: means.
上記秘密分散計算手段における上記多項式生成手段は、
有限体GF(q)上のk−L個の乱数であるRX,j(0≦j≦k−L−1)を生成する乱数生成手段と、
上記乱数であるRX,j、及び、予め決められたk個の有限体GF(q)上の値であるI(0≦j≦k−1)を用いて、
Figure 2004287333
のような式で表される多項式を生成するk−1次多項式生成手段と
を有することを特徴とする請求項3から7までのいずれかに記載の分散計算装置。
The polynomial generation means in the secret sharing calculation means,
Random number generation means for generating KL random numbers RX, j (0 ≦ j ≦ kL-1) on the finite field GF (q);
Using RX, j as the random number and Ij (0 ≦ j ≦ k−1) which is a value on a predetermined k finite fields GF (q),
Figure 2004287333
The k-th order polynomial generating means for generating a polynomial represented by the following expression: and a distributed computing apparatus according to any one of claims 3 to 7.
上記請求項1から12までのいずれかに記載の分散計算装置と同じ構成を持つ複数個の分散計算装置と、
上記複数個の分散計算装置から出力される計算結果を受け取って、受け取った計算結果から、ランプ型(L,k,n)しきい値秘密分散法の秘密再構成を行う秘密再構成装置と
を有することを特徴とする分散計算システム。
A plurality of distributed computing devices having the same configuration as the distributed computing device according to any one of claims 1 to 12,
A secret reconstruction device that receives calculation results output from the plurality of distributed calculation devices and performs secret reconstruction of a ramp type (L, k, n) threshold secret sharing method from the received calculation results; A distributed computing system characterized by having.
上記請求項1から12までのいずれかに記載の分散計算装置と同じ構成を持つ複数個の分散計算装置を有し、
上記複数個の分散計算装置のうち、少なくとも1以上は、
他の分散計算装置の分散計算手段からの計算結果を受け取り、この装置自身の分散計算手段の計算結果と、他の分散計算装置の分散計算手段から受け取った計算結果から、ランプ型(L,k,n)しきい値秘密分散法の秘密再構成を行って、拡大体GF(q)上の値
Z=ΣZα;0≦j≦L−1
を得る秘密再構成手段を有する
ことを特徴とする分散計算システム。
A plurality of distributed computing devices having the same configuration as the distributed computing device according to any one of claims 1 to 12,
Among the plurality of distributed computing devices, at least one or more
Receiving the calculation result from the dispersion calculation means of another distributed calculation device, and calculating the ramp type (L, k) , N) perform a secret reconstruction of the threshold secret sharing scheme to obtain a value Z = {Zj αj ; 0 ≦ j ≦ L−1 on the extended field GF (qL )
And a secret reconstructing means for obtaining the following.
ランプ型(L,k,n)しきい値秘密分散法を用いて、分散計算に用いる分散情報を生成する秘密分散計算装置をさらに有し、
分散計算手段を持つ上記分散計算装置のうちすべては、その秘密分散計算装置からの分散情報を受信する分散情報受信手段を有する
ことを特徴とする請求項13又は14のいずれかに記載の分散計算システム。
A secret sharing calculation device that generates shared information used for sharing calculation by using a ramp type (L, k, n) threshold secret sharing method;
15. The distributed computing device according to claim 13, wherein all of the distributed computing devices having the distributed computing device include distributed information receiving means for receiving the distributed information from the secret distributed computing device. system.
分散計算を行う分散計算装置であって、
ランプ型(L,k,n)しきい値秘密分散法により1又は複数個の秘密情報から生成された分散情報を用いて、分散計算する分散計算手段を有し、
この分散計算装置が保持するメンバIDをm(p≦n)とし、上記分散計算手段が分散計算に用いる分散情報をYとしたときに、上記分散情報は、
有限体GF(q)をL次拡大した拡大体で生成元がαで生成多項式がg(x)である拡大体GF(q)上の値を次式
X=ΣX α;0≦j≦L−1
で表されるXとし、RX,j(0≦j≦k−L−1)を乱数とするときに、次式
Figure 2004287333
で表されるk−1次の有限体GF(q)上の多項式h(x)を生成し、
上記多項式h(x)から、
=h(m
なる有限体GF(q)上の値を計算することによって生成された情報である
ことを特徴とする分散計算装置。
A distributed computing device that performs distributed computation,
A shared calculation means for performing shared calculation using shared information generated from one or more pieces of secret information by a ramp type (L, k, n) threshold secret sharing method;
Assuming that the member ID held by the distributed computing device is mp (p ≦ n) and the shared information used for the shared calculation by the shared calculating means is Yp , the shared information is
A value on an extension field GF (qL ) in which a generator is α and a generator polynomial is g (x) in an extension field in which the finite field GF (q) is L-order-extended is represented by the following equation X = ΣXj αj ; j ≦ L-1
And RX, j (0 ≦ j ≦ kL−1) as a random number,
Figure 2004287333
It generates in represented by k-1 order finite GF (q) on the polynomialh X (x),
From the above polynomial hx (x),
Y p = h X (m p )
A distributed computing apparatus characterized in that the information is information generated by calculating a value on a finite field GF (q).
ランプ型(L,k,n)しきい値秘密分散法を用いて秘密情報から生成された分散情報を受信する分散情報受信手段をさらに有し、
上記分散計算手段が分散計算に用いる分散情報が、上記分散情報受信手段で受信された分散情報を含む
ことを特徴とする請求項16に記載の分散計算装置。
A shared information receiving means for receiving shared information generated from secret information by using a ramp type (L, k, n) threshold secret sharing method;
17. The distributed computing apparatus according to claim 16, wherein the shared information used by the shared calculating means for the shared calculation includes the shared information received by the shared information receiving means.
分散計算を行う分散計算装置であって、ランプ型(L、k、n)しきい値秘密分散法により、秘密情報から分散情報を生成する秘密分散計算手段を有し、
上記秘密分散計算手段が、
上記分散情報が配布される補記あの分散計算装置が保持するメンバIDをm(p≦n)とし、メンバIDがmである上記分散情報をYとし、有限体GF(q)をL次拡大した拡大体で生成元がαで生成多項式がg(x)である拡大体GF(q)上の値を次式
X=ΣX α;0≦j≦L−1
で表されるXとし、RX,j(0≦j≦k−L−1)を乱数とするときに、次式
Figure 2004287333
で表されるk−1次の有限体GF(q)上の多項式h(x)を生成する多項式生成手段と、
上記多項式h(x)から、
=h(m
なる有限体GF(q)上の値を計算することによって生成する分散情報生成手段とを有する
ことを特徴とする分散計算装置。
A shared calculation device for performing shared calculation, comprising secret sharing calculation means for generating shared information from secret information by a ramp-type (L, k, n) threshold secret sharing method,
The secret sharing calculation means,
The member ID held by the distributed computing device to which the shared information is distributed is mp (p ≦ n), the shared information whose member ID is mp is Yp , and the finite field GF (q) is L A value on an extension field GF (qL ) in which the generator is α and the generator polynomial is g (x) in the next extension field is expressed by the following equation: X = ΣXj αj ; 0 ≦ j ≦ L−1
And RX, j (0 ≦ j ≦ kL−1) as a random number,
Figure 2004287333
A polynomial generating means for generating in represented by k-1 order finite GF (q) on the polynomialh X (x),
From the above polynomial hx (x),
Y p = h X (m p )
And a shared information generating means for generating by calculating a value on a finite field GF (q).
上記秘密情報を保持する秘密情報記憶手段をさらに有することを特徴とする請求項18に記載の分散計算装置。19. The distributed computing apparatus according to claim 18, further comprising secret information storage means for holding the secret information.上記秘密分散計算手段で生成された分散情報を他の分散計算装置へ送信する送信手段をさらに有することを特徴とする請求項18又は19のいずれかに記載の分散計算装置。20. The shared computing device according to claim 18, further comprising a transmitting unit that transmits the shared information generated by the secret sharing calculating unit to another shared computing device.他の分散計算装置からの分散情報を受信する受信手段をさらに有することを特徴とする請求項18から20までのいずれかに記載の分散計算装置。21. The distributed computing device according to claim 18, further comprising receiving means for receiving shared information from another distributed computing device.上記秘密分散計算手段で生成したこの分散計算装置自身に対する分散情報、及び、ランプ型(L,k,n)しきい値秘密分散法により他の分散計算装置で生成され上記受信手段で受信された分散情報を用いて、分散計算する分散計算手段をさらに有する特徴とする請求項21に記載の分散計算装置。The shared information generated by the secret sharing calculation means for the sharing calculation apparatus itself, and generated by another sharing calculation apparatus by the ramp type (L, k, n) threshold secret sharing method and received by the receiving means. 22. The distributed computing device according to claim 21, further comprising distributed computing means for performing distributed computation using the distributed information.上記分散計算手段の計算結果、及び、他の分散計算装置の分散計算手段からの計算結果Z’から、ランプ型(L,k,n)しきい値秘密分散法の秘密再構成を行って、拡大体GF(q)上の値
Z=ΣZ α(jは、0≦j≦L−1である整数)
を得る秘密再構成手段をさらに有し、
上記秘密再構成手段は、メンバIDより生成した行列
E=(eji)、eji=mi−1(i、j=1,2,…,n)
の逆行列E−1と、t次の多項式の係数を表すベクトルに対して、拡大体GF(q)の生成多項式g(x)の剰余を与えるような行列Gより、次式のような行列
G E−1=(rji
を満たすrjiを計算する復元情報生成手段と、
その復元情報生成手段で生成したrji、及び、Z’から、
Figure 2004287333
のような計算を行う有限体演算手段と、
を有することを特徴とする請求項16、17、22のいずれかに記載の分散計算装置。
The secret reconstruction of the ramp type (L, k, n) threshold secret sharing method is performed from the calculation result of the above-mentioned sharing calculation means and the calculation result Z ′i from the sharing calculation means of another sharing calculation apparatus. , The value Z on the extension field GF (qL ) Z = ΣZj αj (j is an integer satisfying 0 ≦ j ≦ L−1)
Further comprising secret reconstruction means for obtaining
The secret reconstruction means,the matrixE generated from the memberID = (e ji), e ji = m j i-1 (i, j = 1,2, ..., n)
And a matrix G that gives the remainder of the generator polynomial g (x) of the extended field GF (qL ) for the inverse matrix E−1 of Matrix G E-1 = (rji )
Restoration information generating means for calculating rji that satisfies
From rji and Z ′i generated by the restoration information generating means,
Figure 2004287333
Finite field operation means for performing calculations such as
23. The distributed computing device according to claim 16, wherein the distributed computing device comprises:
上記分散計算手段が、
有限体GF(q)をL次拡大した拡大体GF(q)上の2つの値であるA及びBの加算の分散加算を実行する場合に、この分散計算装置自身が保持する上記A及びBに対する分散情報の加算を行う加算手段を有する
ことを特徴とする請求項16、17、22のいずれかに記載の分散計算装置。
The variance calculation means,
When performing variance addition of two values A and B on an extension field GF (qL ) obtained by expanding the finite field GF (q) by L-order, the above-described A and 23. The distributed computing device according to claim 16, further comprising an adding unit for adding shared information to B.
上記分散計算手段で、有限体GF(q)をL次拡大した拡大体GF(q)上の値A及びBの乗算の分散乗算をする場合には、
この分散計算装置自身が保持する値A及びBに対する分散情報a及びbの有限体GF(q)上の乗算
=a×b
を行う乗算手段と、
上記乗算手段の結果であるcを、さらに(k’,n)しきい値秘密分散法で分散して分散情報であるci,pを生成する第2の秘密分散計算手段と、
上記第2の秘密分散計算手段で生成した分散情報であるci,pを送信する第2の送信手段と、
他の分散計算装置の第2の送信手段からの分散情報であるcp,iを受信する第2の受信手段と、
第2の秘密分散計算手段から生成したこの分散計算装置自身に対する分散情報であるci,i、及び、その第2の受信手段で受信した分散情報であるcp,iを、しきい値がkで、同じ秘密情報を復元するような分散情報に変換する中間情報変換手段と、
その中間情報変換手段の計算結果を送信する第3の送信手段と、
他の分散装置の第3の送信手段からの計算結果を受信する第3の受信手段と、
その中間情報変換手段のこの分散計算装置自身に対する計算結果と、第3の受信手段で受信した計算結果を(k’,n)しきい値秘密分散法の秘密再構成を行う秘密復元処理手段と、
を有することを特徴とする請求項16、17、22のいずれかに記載の分散計算装置。
When the variance calculation means performs variance multiplication of the multiplication of the values A and B on an extension field GF (qL ) obtained by expanding the finite field GF (q) by L-order,
Multiplication ci = ai × bi on finite field GF (q) of shared information ai and bi for values A and B held by the distributed calculation device itself
Multiplying means for performing
The ci is the result of the multiplication means, ci, and a second secret distribution calculation means for generating ap a further (k ', n) distributed to the distributed information in threshold secret sharing scheme,
Second transmitting means for transmitting the shared information ci, p generated by the second secret sharing calculating means,
A second receiving unit that receivescp, i that is shared information from a second transmitting unit of another distributed computing device;
The threshold value of the shared information ci, i generated by the second secret sharing calculation means for the shared calculation apparatus itself and the shared informationcp, i received by the second receiving means are set as threshold values. k, an intermediate information conversion means for converting the same secret information into shared information for restoring the same secret information;
Third transmission means for transmitting the calculation result of the intermediate information conversion means,
A third receiving unit that receives a calculation result from the third transmitting unit of another distributed device;
Secret recovery processing means for performing the secret reconstruction of the (k ', n) threshold secret sharing method by calculating the calculation result of the intermediate information conversion means for the sharing calculation apparatus itself and the calculation result received by the third receiving means; ,
23. The distributed computing device according to claim 16, wherein the distributed computing device comprises:
上記中間情報変換手段は、
メンバIDから生成される、秘密分散に利用される第1の行列と、
ランダムな2(k−1)次多項式を初期値とする多項式
h(x)=Σh;0≦j≦2(k−1)
と、
拡大体GF(qL)の生成多項式g(x)を多項式h(x)の最高次数の係数倍した多項式と、の差分多項式を計算することを繰り返すことを、次数が(k−1)次になるまで続け、得られた(k−1)次多項式の係数を元の多項式の係数hの線形結合で表すという方法で生成した第2の行列と、
メンバIDから生成される、秘密復元に利用される第3の行列と、
の3つの行列の積で表される変換行列により変換する
ことを特徴とする請求項25に記載の分散計算装置。
The intermediate information conversion means,
A first matrix used for secret sharing, generated from the member ID,
Polynomial h (x) = Σhj xj with a random 2 (k−1) order polynomial as an initial value; 0 ≦ j ≦ 2 (k−1)
When,
Repeating the calculation of the difference polynomial between the generator polynomial g (x) of the extension field GF (qL) and the polynomial multiplied by the coefficient of the highest order of the polynomial h (x), the order is (k−1) A second matrix generated in such a way that the obtained coefficients of the (k−1) -order polynomial are represented by a linear combination of coefficients hj of the original polynomial;
A third matrix used for secret recovery, generated from the member ID;
26. The distributed computing apparatus according to claim 25, wherein the transformation is performed by a transformation matrix represented by a product of three matrices.
上記分散計算手段で、
有限体GF(q)をL次拡大した拡大体GF(q)上の定数Dが、次式
D=ΣD α;0≦j≦L−1
で表されるとし、この定数Dと、拡大体GF(q)上の値Aとの乗算の分散定数乗算をする場合には、
あらかじめ決められた値RD,j(0≦j≦k−L−1)を用いて、次式
Figure 2004287333
で表されるk−1次の有限体GF(q)上の多項式h(x)を生成し、
上記多項式h(x)から、
=h(m
なる有限体GF(q)上の値を計算することによって、この分散計算装置自身に対する定数Dの分散情報dを生成する定数情報生成手段と、
その定数情報生成手段で生成した分散情報dとこの分散計算装置自身が保持する値Aに対する分散情報aを用いた分散乗算を実行する分散乗算手段と、
を有することを特徴とする請求項16、17、22のいずれかに記載の分散計算装置。
In the above dispersion calculation means,
A constant D on an extension field GF (qL ) obtained by expanding the finite field GF (q) into the L-th order is represented by the following equation: D = ΣDj αj ;
When the constant D is multiplied by the dispersion constant of the multiplication of the constant A and the value A on the extension field GF (qL ),
Using a predetermined value RD, j (0 ≦ j ≦ kL−1), the following equation
Figure 2004287333
Generate a polynomial hD (x) on a k-1 order finite field GF (q) represented by
From the above polynomial hD (x),
di = hD (mi )
By calculating the values on the finite field GF (q) comprising, a constant information generating means for generating shared information di constant D for the distributed computing system itself,
A dispersion multiplying means for performing a distributed multiplier using distributed information ai with respect to the value A of distributed computing apparatus itself of the distributed information di Toko generated in the constant information generating means is held,
23. The distributed computing device according to claim 16, wherein the distributed computing device comprises:
上記請求項16から27までのいずれかに記載の分散計算装置と同じ構成を持つ複数個の分散計算装置と、
上記複数個の分散計算装置から出力される計算結果を受け取って、受け取った計算結果から、ランプ型(L,k,n)しきい値秘密分散法の秘密再構成を行う秘密再構成装置と
を有することを特徴とする分散計算システム。
A plurality of distributed computing devices having the same configuration as the distributed computing device according to any one of claims 16 to 27;
A secret reconstruction device that receives calculation results output from the plurality of distributed calculation devices and performs secret reconstruction of a ramp type (L, k, n) threshold secret sharing method from the received calculation results; A distributed computing system characterized by having.
上記請求項16から27までのいずれかに記載の分散計算装置と同じ構成を持つ複数個の分散計算装置を有し、
上記複数個の分散計算装置のうち、少なくとも1以上は、
他の分散計算装置の分散計算手段からの計算結果を受け取り、この装置自身の分散計算手段の計算結果と、他の分散計算装置の分散計算手段から受け取った計算結果から、ランプ型(L,k,n)しきい値秘密分散法の秘密再構成を行って、拡大体GF(q)上の値
Z=ΣZ α;0≦j≦L−1
を得る秘密再構成手段を有する
ことを特徴とする分散計算システム。
A plurality of distributed computing devices having the same configuration as the distributed computing device according to any one of claims 16 to 27,
Among the plurality of distributed computing devices, at least one or more
Receiving the calculation result from the dispersion calculation means of another distributed calculation device, and calculating the ramp type (L, k) , N) perform a secret reconstruction of the threshold secret sharing scheme to obtain a value Z = {Zj αj ; 0 ≦ j ≦ L−1 on the extended field GF (qL )
And a secret reconstructing means for obtaining the following.
ランプ型(L,k,n)しきい値秘密分散法を用いて、分散計算に用いる分散情報を生成する秘密分散計算装置をさらに有し、
分散計算手段を持つ上記分散計算装置のうちすべては、その秘密分散計算装置からの分散情報を受信する分散情報受信手段を有する
ことを特徴とする請求項28又は29のいずれかに記載の分散計算システム。
A secret sharing calculation device that generates shared information used for sharing calculation by using a ramp type (L, k, n) threshold secret sharing method;
30. The distributed computing device according to claim 28, wherein all of the distributed computing devices having the distributed computing device include distributed information receiving means for receiving the distributed information from the secret distributed computing device. system.
JP2003082214A2003-03-252003-03-25 Distributed computing device and distributed computing systemExpired - Fee RelatedJP4300838B2 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
JP2003082214AJP4300838B2 (en)2003-03-252003-03-25 Distributed computing device and distributed computing system

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
JP2003082214AJP4300838B2 (en)2003-03-252003-03-25 Distributed computing device and distributed computing system

Publications (2)

Publication NumberPublication Date
JP2004287333Atrue JP2004287333A (en)2004-10-14
JP4300838B2 JP4300838B2 (en)2009-07-22

Family

ID=33295564

Family Applications (1)

Application NumberTitlePriority DateFiling Date
JP2003082214AExpired - Fee RelatedJP4300838B2 (en)2003-03-252003-03-25 Distributed computing device and distributed computing system

Country Status (1)

CountryLink
JP (1)JP4300838B2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2005328123A (en)*2004-05-122005-11-24Oki Electric Ind Co LtdPublic key validity deciding method and communication terminal
JP2008020871A (en)*2006-07-142008-01-31Hitachi Software Eng Co LtdSecret sharing information processing system
JP2010268181A (en)*2009-05-142010-11-25Kddi Corp Distributed information generating apparatus, secret information restoring apparatus, shared information generating method, secret information restoring method, and program
CN102396012A (en)*2009-04-242012-03-28日本电信电话株式会社 Secret distribution system, distribution device, distribution management device, acquisition device, processing method thereof, secret distribution method, program, and recording medium
US8214647B2 (en)2006-06-302012-07-03Nec CorporationDistributed information generator and restoring device
JP2013110468A (en)*2011-11-172013-06-06Kddi CorpInformation gathering-system, communication device, and program
JP2013200461A (en)*2012-03-262013-10-03Nippon Telegr & Teleph Corp <Ntt>Secret calculation device and secret calculation method
WO2014007311A1 (en)*2012-07-052014-01-09日本電信電話株式会社Secret sharing system, data distribution device, distributed data conversion device, secret sharing method, and program
JP2014137740A (en)*2013-01-172014-07-28Nippon Telegr & Teleph Corp <Ntt>Calculation device, calculation system, and calculation method
CN105027180A (en)*2013-01-172015-11-04日本电信电话株式会社 Secure computing system, computing device, secure computing method, and program
JPWO2016129363A1 (en)*2015-02-122018-01-11学校法人東京理科大学 Distributed device, operation / restoration device, and program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7718160B2 (en)2002-07-022010-05-18The Board Of Regents Of The University Of Texas SystemRadiolabeled compounds and liposomes and their method of making and using same

Cited By (15)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2005328123A (en)*2004-05-122005-11-24Oki Electric Ind Co LtdPublic key validity deciding method and communication terminal
US8214647B2 (en)2006-06-302012-07-03Nec CorporationDistributed information generator and restoring device
JP2008020871A (en)*2006-07-142008-01-31Hitachi Software Eng Co LtdSecret sharing information processing system
CN102396012B (en)*2009-04-242014-05-07日本电信电话株式会社 Secret distribution system, distribution device, distribution management device, acquisition device, its processing method, secret distribution method
CN102396012A (en)*2009-04-242012-03-28日本电信电话株式会社 Secret distribution system, distribution device, distribution management device, acquisition device, processing method thereof, secret distribution method, program, and recording medium
JP2010268181A (en)*2009-05-142010-11-25Kddi Corp Distributed information generating apparatus, secret information restoring apparatus, shared information generating method, secret information restoring method, and program
JP2013110468A (en)*2011-11-172013-06-06Kddi CorpInformation gathering-system, communication device, and program
JP2013200461A (en)*2012-03-262013-10-03Nippon Telegr & Teleph Corp <Ntt>Secret calculation device and secret calculation method
WO2014007311A1 (en)*2012-07-052014-01-09日本電信電話株式会社Secret sharing system, data distribution device, distributed data conversion device, secret sharing method, and program
JP5826934B2 (en)*2012-07-052015-12-02日本電信電話株式会社 Secret sharing system, data sharing device, distributed data conversion device, secret sharing method, and program
US9679149B2 (en)2012-07-052017-06-13Nippon Telegraph And Telephone CorporationSecret sharing system, data distribution apparatus, distributed data transform apparatus, secret sharing method and program
JP2014137740A (en)*2013-01-172014-07-28Nippon Telegr & Teleph Corp <Ntt>Calculation device, calculation system, and calculation method
CN105027180A (en)*2013-01-172015-11-04日本电信电话株式会社 Secure computing system, computing device, secure computing method, and program
CN105027180B (en)*2013-01-172017-03-29日本电信电话株式会社 Secure computing system, computing device, and secure computing method
JPWO2016129363A1 (en)*2015-02-122018-01-11学校法人東京理科大学 Distributed device, operation / restoration device, and program

Also Published As

Publication numberPublication date
JP4300838B2 (en)2009-07-22

Similar Documents

PublicationPublication DateTitle
Wagh et al.SecureNN: 3-party secure computation for neural network training
Azarderakhsh et al.Key compression for isogeny-based cryptosystems
US7421080B2 (en)Method of reconstructing a secret, shared secret reconstruction apparatus, and secret reconstruction system
JP5885840B2 (en) Secret sharing system, data sharing device, distributed data conversion device, secret sharing method, and program
CN104412539B (en)Secret sharing system, data distribution device, distributed data conversion device, and secret sharing method
CN109067538B (en)Security protocol method, computer device, and storage medium
US7995764B2 (en)Sharing a secret using hyperplanes over GF(2m)
JP4300838B2 (en) Distributed computing device and distributed computing system
Azarderakhsh et al.Practical supersingular isogeny group key agreement
US12236210B2 (en)Secure multi-party computations
JP2025118950A (en) Cryptographic methods, systems, and services for evaluating single- or multivariate real-valued functions on encrypted data
Mahdavi et al.Practical over-threshold multi-party private set intersection
JP4305049B2 (en) Secret sharing method, secret sharing system, and distributed computing device
CN108418810A (en)Secret sharing method based on Hadamard matrix
Shingu et al.Secrecy computation without changing polynomial degree in shamir’s (k, n) secret sharing scheme
CN113591102A (en)Lattice-based distributed threshold addition homomorphic encryption method
Koshiba et al.New assumptions on isogenous pairing groups with applications to attribute-based encryption
Guo et al.Microsecagg: Streamlined single-server secure aggregation
Chida et al.High-throughput secure AES computation
CN116170142B (en)Distributed collaborative decryption method, device and storage medium
Aly et al.Practically efficient secure distributed exponentiation without bit-decomposition
Wu et al.Identity-based threshold proxy re-encryption scheme from lattices and its applications
KR20210056572A (en)Method for 2 Shamir Secret Shares to 2 Multiplicative Shares
Bitan et al.Optimal-round preprocessing-MPC of polynomials over non-zero inputs via distributed random matrix
LiuMPC-enabled privacy-preserving machine learning

Legal Events

DateCodeTitleDescription
A621Written request for application examination

Free format text:JAPANESE INTERMEDIATE CODE: A621

Effective date:20060125

A131Notification of reasons for refusal

Free format text:JAPANESE INTERMEDIATE CODE: A131

Effective date:20090106

A521Written amendment

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20090305

TRDDDecision of grant or rejection written
A01Written decision to grant a patent or to grant a registration (utility model)

Free format text:JAPANESE INTERMEDIATE CODE: A01

Effective date:20090331

A01Written decision to grant a patent or to grant a registration (utility model)

Free format text:JAPANESE INTERMEDIATE CODE: A01

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20120501

Year of fee payment:3

R150Certificate of patent or registration of utility model

Ref document number:4300838

Country of ref document:JP

Free format text:JAPANESE INTERMEDIATE CODE: R150

Free format text:JAPANESE INTERMEDIATE CODE: R150

A61First payment of annual fees (during grant procedure)

Free format text:JAPANESE INTERMEDIATE CODE: A61

Effective date:20090413

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20120501

Year of fee payment:3

S531Written request for registration of change of domicile

Free format text:JAPANESE INTERMEDIATE CODE: R313531

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20120501

Year of fee payment:3

R350Written notification of registration of transfer

Free format text:JAPANESE INTERMEDIATE CODE: R350

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20130501

Year of fee payment:4

FPAYRenewal fee payment (event date is renewal date of database)

Free format text:PAYMENT UNTIL: 20140501

Year of fee payment:5

LAPSCancellation because of no payment of annual fees

[8]ページ先頭

©2009-2025 Movatter.jp