JP2004279526A - 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム - Google Patents
秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム Download PDFInfo
- Publication number
- JP2004279526A JP2004279526A JP2003067834A JP2003067834A JP2004279526A JP 2004279526 A JP2004279526 A JP 2004279526A JP 2003067834 A JP2003067834 A JP 2003067834A JP 2003067834 A JP2003067834 A JP 2003067834A JP 2004279526 A JP2004279526 A JP 2004279526A
- Authority
- JP
- Japan
- Prior art keywords
- secret
- information
- shared
- distributed
- reconstruction
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
【解決手段】秘密再構成方法は、ある秘密情報Sから第1の分散情報Xi(i=1,2,…,n)を生成し各メンバに配布している場合に、t(2≦t≦n)人のメンバが集まって、もとの秘密情報Sを再構成する秘密再構成方法である。再構成に際しては、集まった各メンバにおいて、各自のメンバが持つ第1の分散情報Xiを秘密としたまま、秘密分散法を用いて第1の分散情報Xiを分散して第2の分散情報Xi,j(j=1,2,…,n)として他の各メンバに対して配布し、他のメンバから第2の分散情報Xj , iを受け取ることにより、もとの秘密情報Sを再構成するための中間計算結果Siを、分散計算により算出し、各メンバにおける中間計算結果Siから、もとの秘密情報Sを再構成する。
【選択図】 図5
Description
【発明の属する技術分野】
本発明は、秘密分散法により各メンバに分散された分散情報からもとの秘密情報を再構成する秘密再構成方法、この秘密再構成方法を実施する際に使用される分散秘密再構成装置、及びこの分散秘密再構成装置を含む秘密再構成システムに関するものである。
【0002】
【従来の技術】
情報の秘匿のための暗号化に用いる秘密鍵や認証を行うための秘密などの重要な秘密情報を保管する場合、その秘密情報の紛失や破壊の心配と、その秘密情報の盗難の心配がある。秘密情報を紛失や破壊により失ってしまうことへの対策としては、その秘密情報のコピーを作成し保管することが考えられるが、秘密情報のコピーが増えることにより、その秘密情報の盗難の危険性が増してしまう。この問題を解決する方法として、秘密分散法がある。秘密分散法を実施するシステムにおいては、秘密分散装置(演算装置)が、もとの秘密情報を複数の分散情報に分散(符号化)させ、関係者である各メンバ(演算記憶装置)にそれらの複数の分散情報をそれぞれ配布しておき、もとの秘密情報を得る必要がある場合には、秘密再構成装置(演算装置)が、必要なメンバから分散情報を集め、もとの秘密情報の再構成(復元)を行なう。
【0003】
秘密分散法の一つに、Shamir法(シャミア法:Shamir’s method)と呼ばれる(k,n)しきい値秘密分散法がある(例えば、非特許文献1参照)。非特許文献1に記述された(k,n)しきい値秘密分散法においては、秘密情報をn(nは2以上の整数)個の分散情報に符号化し、k(kはn以下の整数)個以上の分散情報が集まれば、もとの秘密情報を復元することができるが、k−1個以下の分散情報を集めても、もとの秘密情報を全く知ることができないという性質を、多項式補間を用いることにより実現している。
【0004】
具体的には、次式(1)に示されるようなk−1次多項式f(x)を用いてもとの秘密情報を分散する。
f(x)=S+R1x+R2x2+…+Rk−1xk−1 …(1)
ここで、Sは、もとの秘密情報であり、R1,R2,…,Rk−1は、分配者が決める乱数である。
【0005】
分散情報が配布されるn人の各メンバにメンバIDとして、m1,m2,…,mnが付与されている場合に、メンバID_mj(j=1,2,…,n)に対する分散情報Xmjは、上記式(1)を用いて、次式(2)のように計算できる。
Xmj
=f(mj)
=S+R1mj+R2(mj)2+…+Rk−1(mj)k−1 …(2)
【0006】
図1は、(k,n)しきい値秘密分散法に基づく秘密分散を実施する秘密分散計算部101の動作を説明するための図である。図1に示されるように、秘密分散計算部101は、もとの秘密情報S及びこの秘密情報の分散情報が配布されるメンバ全員のメンバID_mj(j=1,2,…,n)を受け取り、もとの秘密情報Sに基づいて上記式(1)の多項式f(x)を生成し、その多項式f(x)及びメンバID_mjに基づいて、各メンバID_mjに対応する分散情報Xmjを、上記式(2)を用いて生成して出力する。出力した各分散情報Xmjはそれぞれ、対応するメンバIDを持つメンバに秘密裏に配布する。
【0007】
各メンバに配布した分散情報からもとの秘密情報Sを再構成する際には、分散情報が分配されたn人のメンバのうちt人(k≦t≦n)のメンバを集め、集められたt人のメンバのメンバID_m’1,m’2,…,m’tと分散情報Xm’1,Xm’2,…,Xm’tを持ち寄り、次式(3)及び(4)を用いて、もとの秘密情報Sを計算する。
【数1】
【0008】
【非特許文献1】
岡本龍明他、「現代暗号」(産業図書)、第214−216ページ及び第227−236ページ
【0009】
【発明が解決しようとする課題】
しかしながら、上記した方法により、もとの秘密情報Sの再構成を行う場合には、集まったメンバのメンバID_m’1,m’2,…,m’tや、そのメンバの分散情報Xm’1,Xm’2,…,Xm’tを公開しなければ、もとの秘密情報Sを計算することができない。また、秘密再構成を行うセンターのようなものがあった場合であっても、集まったメンバのメンバID_m’1,m’2,…,m’tや分散情報Xm’1,Xm’2,…,Xm’tをセンターに対して申告しなければ、もとの秘密情報Sを計算することができない。すなわち、集まったメンバを匿名にしたまま秘密情報Sを計算することはできなかった。
【0010】
また、秘密再構成を行うセンターのようなものがない場合には、集まったメンバに、自分の持つ分散情報Xm’1,Xm’2,…,Xm’tを公開しなければ、もとの秘密情報Sを求めることができない。すなわち、一旦、もとの秘密情報の再構成を行ってしまうと、メンバに配布した分散情報が露呈してしまうので、その露呈した分散情報を再利用することができず、もう一度秘密情報の分散処理を行う必要があった。
【0011】
そこで、本発明は上記したような従来技術の課題を解決するためになされたものであり、その目的は、各メンバを匿名にしたまま、各メンバの保有する分散情報を公開せずに、もとの秘密情報の再構成を行うことができる秘密再構成方法、この秘密再構成方法を実施する際に使用する分散秘密再構成装置、及びこの分散秘密再構成装置を含む秘密再構成システムを提供することにある。
【0012】
【課題を解決するための手段】
本発明の秘密再構成方法は、秘密分散法を用いてある秘密情報からn個の第1の分散情報を生成し、前記n個の第1の分散情報をn人(2≦n)からなるグループの各メンバにそれぞれ配布している場合に、上記n人のメンバのうちのt(2≦t≦n)人のメンバが集まって、もとの秘密情報を再構成する方法である。この秘密再構成方法は、集まったt人のメンバのそれぞれが、秘密分散法を用いて自身が保持する第1の分散情報からt個の第2の分散情報を生成し、集まったt人のメンバのそれぞれに配布する工程と、集まったt人のメンバのそれぞれが、自身が生成した第2の分散情報及び入力された(t−1)個の第2の分散情報を用いた分散計算により、もとの秘密情報を再構成するためのt個の中間計算結果を生成する工程と、集まったt人のメンバのそれぞれが生成したt個の中間計算結果からもとの秘密情報を再構成する工程とを有する。
【0013】
【発明の実施の形態】
≪第1の実施形態≫
[第1の実施形態の概要]
本発明の第1の実施形態においては、もとの秘密情報Sを再構成する際に、もとの秘密情報Sを再構成するために集まったメンバ(演算記憶装置)が保有する分散情報を用いてマルチパーティ・プロトコルを実行することにより、各メンバが保有する分散情報を公開せずに、もとの秘密情報Sの再構成を行う。なお、第1の実施形態に係る秘密再構成方法は、秘密再構成システムにより実施される。第1の実施形態に係る秘密再構成システムは、各メンバ(演算記憶装置)である分散秘密再構成装置(後述する分散秘密再構成計算部301)と、メンバのいずれかに又はメンバとは別のセンターに備えられた演算装置(後述する秘密再構成計算部302)とを主要な構成としている。
【0014】
[マルチパーティ・プロトコルの説明]
次に、マルチパーティ・プロトコルの説明をする。マルチパーティ・プロトコルとは、ある関数への入力値を公開せずに、その関数の計算を集まったメンバで協力して行う方式であり、「分散計算」とも呼ばれる(例えば、前述した非特許文献1参照)。マルチパーティ・プロトコルには、大きく分けて2つの方式がある。第1の方式は、計算するために集まったメンバのうち、どの2人のメンバ間にも、その2人のメンバ以外には通信内容を秘密とすることができる秘密通信路が確立されていることを前提とする方式である。第2方式は、計算するために集まったメンバ間の通信には、前述した秘密通信路による通信方法に加え、紛失通信と呼ばれる通信手法を用いる方式である。前述した非特許文献1には、マルチパーティ・プロトコルの第2方式における、バイナリ計算(NOTとANDの計算)の場合の説明が記載されている。また、マルチパーティ・プロトコルの第2方式の詳細は、後述する第4の実施形態において説明する。
【0015】
ここでは、有限体要素の計算(加算と乗算の計算)を用いるマルチパーティ・プロトコルの第1方式について説明する。マルチパーティ・プロトコルを実行するメンバがt人いる場合を想定する。メンバのそれぞれが、メンバIDとしてmj(j=1,2,…,t)と、そのメンバ固有の秘密情報Xmj(j=1,2,…,t)を所有しており、次式(5)に示される関数値Yをマルチパーティ・プロトコルで計算する場合を考える。
Y=f(Xm1,Xm2,…,Xmt) …(5)
ここで、各メンバのメンバIDであるmj及び秘密情報Xmj(j=1,2,…,t)は、有限体GF(q)(qは素数又は素数のべき乗)上の値であるものとする。また、上記式(5)の関数fにおける演算は、有限体GF(q)上の演算であるものとし、したがって、得られる関数値Yも、有限体GF(q)上の値となる。
【0016】
各メンバ固有の秘密情報Xmj(j=1,2,…,t)を、他のメンバに公開しないまま、関数値Yを計算するために、マルチパーティ・プロトコルでは、まず、各メンバ固有の秘密情報Xmj(j=1,2,…,t)を、(k,t)しきい値秘密分散法を用いて秘密分散し、各メンバに配布する。メンバIDがmjであるメンバの秘密情報がXmjであるとすると、このメンバは、次式(6)のk−1(k≦t)次多項式fmj(x)を作る。
【数2】
ここで、Rmj , 1,Rmj , 2,…,Rmj , k−1は、有限体GF(q)上の値から選ばれたk−1個の乱数である。
【0017】
秘密情報Xmjを秘密分散法により分散し、メンバIDがmp(p=1,2,…,t)であるメンバに対して配布される分散情報をXmj , pと表記する場合に、分散情報Xmj , pは、上記式(6)を用いて、次式(7)のよう計算できる。
【数3】
なお、分散情報Xmj , pは、メンバIDがmp(p=1,2,…,t)であるメンバ以外には秘密となるよう、秘密通信路を用いて、メンバIDがmp(p=1,2,…,t)であるメンバに配布する。
【0018】
上記式(6)及び(7)における足し算及び掛け算は、有限体GF(q)上における加算及び乗算であるものとする。したがって、得られる分散情報Xmj , p(j=1,2,…,t;p=1,2,…,t)は、有限体GF(q)上の値である。なお、以下の説明においては、断りがない限り、演算は有限体GF(q)上で行われるものとする。
【0019】
以上の処理によって、各メンバは、他の各メンバの秘密情報Xmjの分散情報Xmj , pを持っている状態になる。メンバIDがmjであるメンバは、他のメンバから配布された分散情報(及び自分自身の秘密情報の分散情報)Xm1,j,Xm2,j,…,Xmt,jのt個の分散情報を持っていることになる。
【0020】
ここで、マルチパーティ・プロトコルにおける分散加算(足し算計算)を行う。上記式(5)の関数が、例えば、次式(8)に示されるような、ある2つの入力XmA及びXmBの足し算となっている場合、
Y=f(Xm1,Xm2,…,Xmt)=XmA+XmB …(8)
マルチパーティ・プロトコルでは、各メンバは、入力XmA及びXmBの分散情報同士の足し算を行うことで、計算結果Yの分散情報Ymj(j=1,2,…,t)を得ることができる。例えば、メンバIDがmjであるメンバは、入力XmA及びXmBの分散情報として、それぞれXmA , j及びXmB , jを持っているので、次式(9)のような計算を行い、計算結果Yの分散情報Ymjを得る。
Ymj=XmA , j+XmB , j …(9)
【0021】
次に、マルチパーティ・プロトコルにおける分散乗算(掛け算計算)を説明する。上記式(5)の関数が、例えば、次式(10)のような、ある2つの入力XmA及びXmBの掛け算となっている場合、
Y=f(Xm1,Xm2,…,Xmt)=XmA×XmB …(10)
マルチパーティ・プロトコルでは、各メンバは、次のようなステップS101〜S103の処理を行う。ステップS101においては、入力XmA及びXmBの分散情報同士の掛け算を行い、ステップS102においては、その掛け算結果をさらに、他のメンバに秘密分散して配布し、ステップS103においては、受け取った側でそれらの再構成を行うことで、計算結果Yの分散情報Ymj(j=1,2,…,t)を得ることができる。ただし、第1方式における、マルチパーティ・プロトコルの分散乗算では、秘密分散のしきい値kは、次式(11)となっている必要がある。
k≦(t+1)/2 …(11)
ここで、上記式(11)の演算は、有限体GF(q)上の演算ではなく、通常の実数、整数演算である。
【0022】
具体的に説明すると、例えば、メンバIDがmjであるメンバは、入力XmA及びXmBの分散情報として、それぞれXmA , j及びXmB , jを持っているので、まず、次式(12)のような計算を行い、途中計算結果Y’mjを得る(上記ステップS101)。
Y’mj=XmA , j×XmB , j …(12)
【0023】
次に、この途中計算結果Y’mjを次式(13)のような多項式で秘密分散を行う(上記ステップS102)。
【数4】
ここで、R’mj , 1,R’mj , 2,…,R’mj , k−1は、乱数として有限体GF(q)上の値をk−1個選ぶことによって得られる。
【0024】
次に、メンバIDがmp(p=1,2,…,t)であるメンバに対して配布する自分の途中計算結果Y’mjの分散情報Y’mj , pを、上記式(13)を用いて、次式(14)のように計算する。
【数5】
なお、メンバIDがmp(p=1,2,…,t)であるメンバ以外には秘密となるよう、秘密通信路を用いてメンバIDがmp(p=1,2,…,t)であるメンバに配布する。上記式(14)のような計算で分散した結果、メンバIDがmjであるメンバは、Y’m1,j,Y’m2,j,…,Y’mt,jのt個の分散情報を受け取る。
【0025】
メンバIDがmjであるメンバは、これら分散情報Y’m1,j,Y’m2,j,…,Y’mt,jから、掛け算結果の分散情報Ymjを次式(15)及び(16)のように計算する。
【数6】
この計算は、秘密情報の再構成時の計算(前述した式(3))と同様のものである(上記ステップS103)。
【0026】
上記のように、マルチパーティ・プロトコルを用いれば、各メンバ同士が秘密通信を行って計算処理をすることにより、入力値を公開せずに、与えられた関数の計算を行うことができる。
【0027】
[第1の実施形態の構成]
第1の実施形態は、複数のメンバ(演算記憶装置)からなるあるグループで、もとの秘密情報Sを、(k,n)しきい値秘密分散法ではなく、単純な加減算による秘密分散法を用いて分散し、各メンバに分散情報が秘密裏に配布されている状態を前提とする。すなわち、図2に示されるように、秘密分散法を用いてもとの秘密情報Sから分散情報を生成し、生成された分散情報が各メンバに配布されている場合を前提とする。図2は、秘密分散法を実施する秘密分散計算部201の動作を説明するための図である。秘密分散計算部201は、前述した図1の秘密分散計算部101とは動作が異なり、次のような計算を行う。ここで、秘密分散計算部201へ入力されるもとの秘密情報をS(これは、有限体GF(q)上の要素とする)とし、分散情報が配布されるメンバがn人であるとする。秘密分散計算部201は、まず、有限体GF(q)から乱数をn−1個選ぶ。それらの乱数X1,X2,…,Xn−1から、次式(17)を満たすXnを求める。
Xn=S−(X1+X2+…+Xn−1) …(17)
【0028】
秘密分散計算部201は、上記式(17)により得られた値X1,X2,…,Xnを出力し、各メンバに重複しないように配布する。値X1,X2,…,Xnのうち、いくつかは等しい値であってもよい。上記式(17)の計算は、有限体GF(q)上で行われる。以降の説明においては、断りがない限り、演算は、有限体GF(q)上で行われるものとする。
【0029】
上記したような秘密分散法によりもとの秘密情報Sを分散した場合には、分散情報が配布されたメンバ全員(すなわちn人)が集まらない限り、もとの秘密情報Sを再構成することができない。もとの秘密情報Sは、次式(18)を計算することにより、再構成できる。
S=X1+X2+…+Xn …(18)
【0030】
上記したような秘密分散法を、「加算秘密分散法」と呼ぶこととする。第1の実施形態は、上記した加算秘密分散法により秘密分散された分散情報を各メンバに配布し、各メンバが分散情報を所有している状態を前提とする。もとの秘密情報Sを再構成させたいときに、集まったメンバ(n人)が分散情報を持ち寄り、上記式(18)を用いてもとの秘密情報Sを再構成することができるが、第1の実施形態に係る秘密再構成方法においては、この再構成時の計算を、マルチパーティ・プロトコルで分散計算することにより、集まった各メンバの分散情報を公開せずに、もとの秘密情報Sを再構成する。
【0031】
第1の実施形態においては、複数のメンバからなるあるグループで、前述の秘密分散法(上記式(17)による方法)を用いてもとの秘密情報Sから生成された分散情報が、各メンバに秘密裏に配布されている状態を前提とする。このグループにはn人のメンバがいるものとし、もとの秘密情報Sから生成され、各メンバに配布された分散情報をXj(j=1,2,…,n)とする。
【0032】
第1の実施形態において、もとの秘密情報Sを再構成する際に、メンバ全員(すなわち、n人のメンバ)が集まり、各メンバの持つ分散情報を持ち寄る。また、メンバのうち、どの2人のメンバ間にも、その2人のメンバ以外には通信内容を秘密とすることができる秘密通信路が確立されているものとする。図3は、第1の実施形態において各メンバ間の通信に用いる秘密通信路303を示す図である。図3において、四角形で示されるブロックは集まったメンバを示し、m’1,m’2,…,m’j,…,m’tは、メンバIDを示し、両方向の矢印は、それぞれ対応するメンバ以外には通信内容を秘密とする秘密通信路303を示している。
【0033】
次に、図4を用いて、第1の実施形態に係る秘密再構成方法の概要を説明する。図4においては、メンバの人数は3人(すなわち、演算記憶装置の数は3台)とし、各メンバは、もとの秘密情報Sを加算秘密分散法で分散させた分散情報A,B,Cをそれぞれ持っているものとする。もとの秘密情報Sを再構成する場合には、まず、各メンバが持っている分散情報A,B,Cを加算秘密分散法でさらに分散して、分散情報A,B,Cの分散情報を生成する。具体的に言えば、図4に符号▲1▼で示されるように、分散情報Aを分散して分散情報Aの分散情報A1,A2,A3を生成し、分散情報Bを分散して分散情報Bの分散情報B1,B2,B3を生成し、分散情報Cを分散して分散情報Cの分散情報C1,C2,C3を生成する。次に、図4に符号▲2▼で示されるように、分散情報A,B,Cの分散情報を他のメンバに配布する。図4に符号▲3▼で示されるように、各メンバは、分散情報A,B,Cの分散情報A1,B1,C1又はA2,B2,C2又はA3,B3,C3を受け取り、これらをもとに分散計算を行い、その分散計算の結果を出力する。次に、図4に符号▲4▼で示されるように、分散情報A,B,Cの分散情報A1,B1,C1と、A2,B2,C2と、A3,B3,C3とをそれぞれ用いて分散計算した計算結果を集めることにより、もとの秘密情報Sを再構成する。
【0034】
図5は、本発明の第1の実施形態に係る秘密再構成方法を実施する構成(第1の実施形態に係る秘密再構成システム)を示すブロック図である。図5を用いて、第1の実施形態に係る秘密再構成方法を説明する。図5に示されるように、もとの秘密情報Sを再構成しようとする際に集まったn人のメンバ(すなわち、n台の演算記憶装置)には、それぞれ、分散計算で秘密情報を再構成する手段である分散秘密再構成計算部(すなわち、第1の実施形態に係る分散秘密再構成装置)301(301−1,301−2,…,301−n)が備えられている。ここで、符号301−jは、メンバj(j=1,2,…,n)に備えられた分散秘密再構成計算部301を表わす。各メンバの分散秘密再構成計算部301−j(j=1,2,…,n)は、それぞれ他のメンバの分散秘密再構成計算部301と、図3で説明した秘密通信路303で接続されている。また、各メンバの分散秘密再構成計算部301−j(j=1,2,…,n)からの出力は、秘密再構成計算部302へ入力される。
【0035】
秘密再構成計算部302は、各メンバの分散秘密再構成計算部301−j(j=1,2,…,n)からの出力を受け取り、それら受け取ったn個の値を、n個の分散情報としたときの秘密情報の再構成を行う計算をし、その再構成された秘密情報を出力する。各メンバの分散秘密再構成計算部301−j(j=1,2,…,n)から出力される値(すなわち、秘密再構成計算の中間計算結果)をSj(j=1,2,…,n)とすると、次式(19)を用いて、もとの秘密情報Sを計算することができる。
【数7】
上記式(19)における各演算は有限体GF(q)上で行う。なお、以降の説明においては、断りがない限り、演算は、有限体GF(q)上で行われるものとする。
【0036】
各メンバの分散秘密再構成計算部301−j(j=1,2,…,n)における処理は、各メンバが、それぞれ他のメンバにはその処理の内容が分からないように行う。秘密再構成計算部302における処理は、処理を統合するセンター(メンバとは別の演算装置)のようなものが行ってもよいし、集まったメンバ(演算記憶装置)のうちの1人、又は、複数人で行ってもよい。ただし、秘密情報Sを必要としているメンバが行うのが望ましい。
【0037】
図6は、図5の分散秘密再構成計算部301−j(j=1,2,…,n)の構成を示すブロック図である。図6を用いて分散秘密再構成計算部301−jを説明する。図6に示されるように、分散秘密再構成計算部301−jは、秘密分散計算部401−jと、入力の数がn個である“(n)加算部”402−jとを有する。秘密分散計算部401−jからの出力が“(n)加算部”402−jへ入力され、“(n)加算部”402−jからの出力が、分散秘密再構成計算部301−jの出力となる。
【0038】
秘密分散計算部401−jへは、メンバjが持っているもとの秘密情報Sの分散情報Xjが入力される。秘密分散計算部401−jは、入力された分散情報Xjを加算秘密分散法を用いて分散し、他のメンバと通信する秘密通信路303を経由して配布する。分散情報Xjの分散情報Xj , nの計算は、Xj , 1,Xj , 2,…,Xj , n−1を、乱数として有限体GF(q)上の値をn−1個選び、次式(20)で、Xj , n求める。
Xj , n=Xj−(Xj , 1+Xj , 2+…+Xj , n−1) …(20)
値Xj , 1,Xj , 2,…,Xj , nのうち、自分自身に対する分散情報Xj , jは、“(n)加算部”402−jへ出力し、その他の分散情報Xj , p(p=1,2,…,nであり、p≠jであるもの)は、秘密通信路303を通して各メンバに配布される。
【0039】
“(n)加算部”402−jは、秘密分散計算部401−jから、もとの秘密情報Sの分散情報Xjの分散情報Xj , jを受け取る。さらに、秘密通信路303を経由して、他のメンバから配布された、もとの秘密情報Sの分散情報Xp(p=1,2,…,nであり、p≠jであるもの)の分散情報X1,j,…,Xj−1,j,Xj+1,j,…,Xn,jを受け取る。これらn個ある、もとの秘密情報Sの分散情報の分散情報Xp,j(p=1,2,…,n)から、もとの秘密情報Sの分散情報Sj(秘密情報Sの再構成時に得られる秘密情報Sの分散情報Sjと、秘密情報Sの分散時に得られる秘密情報Sの分散情報Xjとは異なるものである)を計算し出力する。“(n)加算部”402−jは、次式(21)のような計算を行い、秘密情報Sの分散情報Sjを出力する。
【数8】
【0040】
[第1の実施形態の動作]
図7は、第1の実施形態に係る秘密再構成方法における動作を示すフローチャートである。ここで、もとの秘密情報Sを再構成するために集まったメンバ全員(n人のメンバ)が持つ分散情報をX1,X2,…,Xnとする。
【0041】
まず、各メンバが持つ分散情報X1,X2,…,Xnを加算秘密分散方法を用いて分散し、他のメンバに配布する(ステップS501)。ステップS501は、図6の秘密分散計算部401−jにおける動作を示しており、各メンバの持つ分散情報Xjから乱数生成及び上記式(20)を用いて分散情報Xj , p(p=1,2,…,n)を計算し、他のメンバに対して配布する。
【0042】
次に、各メンバは、自分自身の分散情報Xjの分散情報及び他のメンバから配布された分散情報、すなわち、分散情報Xp,j(p=1,2,…,n)を用いて演算を施し、もとの秘密情報Sの分散情報Sjを求める(ステップS502)。ステップS502は、図6の加算部402−jにおける動作を示しており、メンバjは、他のメンバから配布された分散情報Xp,j(p=1,2,…,n)(自分自身の分散情報Xjの分散情報Xj , jが含まれている)から、上記式(21)を用いて計算する。その計算結果Sjは、もとの秘密情報Sの分散情報となっている。
【0043】
次に、ステップS502で各メンバが計算した分散情報Sjからもとの秘密情報Sを再構成する(ステップS503)。ステップS503は、図5の秘密再構成計算部302における動作を示しており、メンバjがステップS502で計算した結果Sj(j=1,2,…,n)から、上記式(19)を用いて計算し、もとの秘密情報Sを得ることができる。
【0044】
[第1の実施形態の効果]
以上説明したように、第1の実施形態によれば、もとの秘密情報Sを再構成するために集まったメンバ(演算記憶装置)の持つ分散情報Xjを、他のメンバに公開せずに、もとの秘密情報Sを再構成することができる。したがって、各メンバが持つ分散情報Xjを、次回の秘密再構成の際に再利用することができる。しかも、秘密再構成を行う第三者的なセンターのようなものを設けなくても、上記の効果を達成することができる。また、第1の実施形態においては、分散情報Xjを持つメンバ全員が集まらないと、もとの秘密情報Sを再構成することができないが、各メンバの匿名性は保たれており、さらに、秘密再構成の際のメンバ間の相互通信は、最初の分散情報を分散配布するための1回のみで済むため、通信量及び計算量の両方とも少ない。
【0045】
さらに、秘密情報Sの分散情報Xjを持たない人(演算記憶装置)が、この再構成に参加しようとしても、秘密情報Sの再構成に失敗することから、第1の実施形態においては、集まった複数人数からなるグループ全員が正当メンバ(予め秘密情報Sの分散情報Xjを配布されたメンバ)か、そうでない人(演算記憶装置)が混在するか、ということを認証するような機能が備わる。さらにまた、第1の実施形態においては、前述したように分散情報を再利用可能なので、この認証機能は、秘密情報Sの分散情報を更新せずとも何度も利用できる。また、この認証機能は、集まったメンバから他へ送信される情報は、認証(秘密情報Sの再構成)のたびに異なるので、盗聴による“なりすまし”に非常に強い。このような認証機能は、秘密分散法の秘密再構成の性質と、マルチパーティ・プロトコルによる分散計算の性質との単なる組み合わせによって得られる機能ではなく、新しい機能である。なお、上記認証機能は、「もとの秘密情報S」を照合秘密情報S(予め登録されている情報で、認証が成立するか否かを、再構成結果と照らし合わせる情報)として用いる利用形態であるので、もとの秘密情報Sを各メンバに秘密にしない場合であっても、実現できる。
【0046】
≪第2の実施形態≫
[第2の実施形態の概要]
本発明の第2の実施形態においては、もとの秘密情報Sを再構成する際に、もとの秘密情報Sを再構成するために集まったメンバ(演算記憶装置)が保有する分散情報を用いてマルチパーティ・プロトコルを実行することにより、各メンバが保有する分散情報を公開せずに、もとの秘密情報Sの再構成を行う。なお、第2の実施形態に係る秘密再構成方法は、秘密再構成システムにより実施される。第2の実施形態に係る秘密再構成システムは、各メンバ(演算記憶装置)である分散秘密再構成装置(後述する分散秘密再構成計算部601)と、メンバのいずれかに又はメンバとは別のセンターに備えられた演算装置(後述する秘密再構成計算部602)とを主要な構成としている。
【0047】
第1の実施形態は、複数のメンバからなるあるグループで、もとの秘密情報Sを、加算秘密分散法を用いて分散し、各メンバに分散情報が秘密裏に配布されている状態を前提とした。これに対し、第2の実施形態は、複数のメンバ(演算記憶装置)からなるあるグループで、もとの秘密情報Sを、(k,n)しきい値秘密分散法を用いて分散し、各メンバに分散情報が秘密裏に配布されている状態を前提とする。第2の実施形態の場合には、必ずしもメンバ全員(すなわち、n人のメンバ)が集まらなくとも、k人(k≦n)のメンバが集まれば、もとの秘密情報Sを再構成することができる。
【0048】
第2の実施形態においては、もとの秘密情報Sを再構成させたいときに、集まったメンバ(t人、t≧k)が分散情報を持ち寄り、上記式(3)を用いてもとの秘密情報Sを再構成するが、この再構成時の計算を、マルチパーティ・プロトコルで分散計算することにより、集まった各メンバの分散情報を公開せずに、もとの秘密情報を再構成する。
【0049】
[第2の実施形態の構成]
第2の実施形態は、複数のメンバ(演算記憶装置)からなるあるグループで、もとの秘密情報Sを(k,n)しきい値秘密分散法を用いて分散し、各メンバに分散情報が秘密裏に配布されている状態を前提とする。このグループにはn人のメンバがいるものとし、各メンバに秘密情報Sを分散させるときに用いたメンバIDをm1,m2,…,mnとする。メンバIDがmj(j=1,2,…,n)であるメンバに配布した、秘密情報Sの分散情報をXmj(j=1,2,…,n)とする。もとの秘密情報Sを再構成させたいときに、集まったメンバがt人(t≧k)で、各メンバの持つ分散情報を持ち寄ったとする。このとき集まったメンバのメンバIDをm’1,m’2,…,m’tとし、集まったメンバが持つ分散情報をXm’1,Xm’2,…,Xm’tとする。また、集まったメンバのうち、どの2人のメンバ間にも、その2人のメンバ以外には通信内容を秘密とすることができる秘密通信路が確立されているものとする。図3は、第2の実施形態において各メンバ間の通信に用いる秘密通信路303を示す図である。図3はおいて、四角形で示されるブロックは集まったメンバを示し、m’1,m’2,…,m’j,…,m’tは、メンバIDを示し、両方向の矢印は、それぞれ対応するメンバ以外には通信内容を秘密とする秘密通信路303を示している。さらに、集まったt人のメンバに与えられたメンバID_m’1,m’2,…,m’tは公開された値であるものとする。
【0050】
図8は、本発明の第2の実施形態に係る秘密再構成方法を実施する構成(第2の実施形態に係る秘密再構成システム)を示すブロック図である。図8を用いて、第2の実施形態に係る秘密再構成方法を説明する。図8に示されるように、もとの秘密情報Sを再構成しようとする際に集まったメンバIDがm’1,m’2,…,m’tであるt人のメンバ(すなわち、t台の演算記憶装置)は、それぞれ、分散計算により秘密情報を再構成する手段である分散秘密再構成計算部(すなわち、第2の実施形態に係る分散秘密再構成装置)601(601−1,601−2,…,601−t)が備えられている。分散秘密再構成計算部601−j(j=1,2,…,t)における処理は、メンバIDがm’jであるメンバが行う。各メンバの分散秘密再構成計算部601−j(j=1,2,…,t)は、それぞれ他のメンバの分散秘密再構成計算部601とは、図3で示された秘密通信路303で接続されている。また、各メンバの分散秘密再構成計算部601−j(j=1,2,…,t)からの出力は、秘密再構成計算部602へ入力される。分散秘密再構成計算部601及び秘密再構成計算部602は、第1の実施形態における分散秘密再構成計算部301及び秘密再構成計算部302と、構成及び動作において異なる点を持つ。
【0051】
秘密再構成計算部602は、各メンバの分散秘密再構成計算部601−j(j=1,2,…,t)からの出力を受け取り、それら受け取ったt個の値を、t個の分散情報としたときの秘密情報の再構成を行う計算をし、その再構成された秘密情報を出力する。各メンバの分散秘密再構成計算部601−j(j=1,2,…,t)から出力される値をSm’j(j=1,2,…,t)とすると、上記式(3)のXm’jをSm’jに置き換えた次式(22)及び(4)を用いて計算し、もとの秘密情報Sを出力する。
【数9】
上記式(22)における各演算は有限体GF(q)上で行う。以降の説明においては、断りがない限り、演算は、有限体GF(q)上で行われるものとする。
【0052】
各メンバの分散秘密再構成計算部601−j(j=1,2,…,t)における処理は、各メンバが、それぞれ他のメンバにはその処理の内容が分からないように行う。秘密再構成計算部602における処理は、処理を統合するセンター(メンバとは別の演算装置)のようなものが行ってもよいし、集まったメンバ(演算記憶装置)のうち、だれか1人、又は、複数人で行ってもよい。ただし、秘密情報Sを必要としているメンバが行うのが望ましい。
【0053】
図9は、図8の分散秘密再構成計算部601−j(j=1,2,…,t)の構成を示すブロック図である。図9を用いて分散秘密再構成計算部601−jを説明する。図9に示されるように、分散秘密再構成計算部601−jは、秘密分散計算部701−jと、線形結合計算部702−jとを有する。秘密分散計算部701−jからの出力が線形結合計算部702−jへ入力され、線形結合計算部702−jからの出力が、分散秘密再構成計算部701−jの出力となる。
【0054】
秘密分散計算部701−jへは、メンバIDがm’jであるメンバが持つもとの秘密情報Sの分散情報Xm’jが入力される。秘密分散計算部701−jは、入力された分散情報Xm’jを(k’,t)しきい値秘密分散法(k’≦t)を用いて分散し、他のメンバと通信する秘密通信路303を経由して配布する。分散するときの計算においては、上記式(6)のmjがm’jに置き換わり、kがk’に置き換わったk’−1次多項式である次式(23)を作る。
【数10】
ここで、Rm’j , 1,Rm’j , 2,…,Rm’j , k ’ −1は、乱数として選ばれた有限体GF(q)上のk’−1個の値である。
【0055】
そして、メンバIDがm’p(p=1,2,…,t)であるメンバに対して配布する分散情報Xm’j , pを、上記式(23)を用いて次式(24)のように計算する(上記式(7)参照)。
【数11】
【0056】
自分自身に対する分散情報Xm’j , jは、線形結合計算部702−jへ出力し、その他の分散情報Xm’j , p(p=1,2,…,tであり、p≠jであるもの)を秘密通信路303を通して各メンバに配布する。
【0057】
線形結合計算部702−jは、秘密分散計算部701−jから、もとの秘密情報Sの分散情報Xm’jの分散情報Xm’j , jを受け取る。さらに、秘密通信路303を経由して、他のメンバから配布された、もとの秘密情報Sの分散情報Xm’jの分散情報Xm’1,j,…,Xm’j−1,j,Xm’j+1,j,…,Xm’t,jを受け取る。これらt個ある、もとの秘密情報Sの分散情報Xm’jの分散情報Xm’p,j(p=1,2,…,t)、から、もとの秘密情報Sの分散情報Sm’j(秘密情報Sの再構成時に得られる秘密情報Sの分散情報Sm’jと、秘密情報Sの分散時に得られる秘密情報Sの分散情報Xm’jとは異なるものである)を計算し出力する。線形結合計算部702−jは、次式(25)及び(26)のような計算を行う。
【数12】
ここで、各メンバID_m’1,m’2,…,m’tは公開された値であるので、上記式(26)のrm’pを計算することができる。
【0058】
[第2の実施形態の動作]
図10は、第2の実施形態に係る秘密再構成方法における動作を示すフローチャートである。ここで、もとの秘密情報Sを再構成するために集まったt人のメンバのメンバIDをm’1,m’2,…,m’tとし、各メンバが持つ分散情報をXm’1,Xm’2,…,Xm’tとする。
【0059】
第2の実施形態に係る秘密再構成方法においては、図10に示されるように、まず、各メンバが持つ分散情報を(k’,t)しきい値秘密分散法を用いて分散し、他のメンバに配布する(ステップS801)。ステップS801は、図9の秘密分散計算部701−jにおける動作を示しており、メンバIDがm’j(j=1,2,…,t)であるメンバの持つ分散情報Xm’jを上記式(23)を用いて分散し、メンバIDがm’p(p=1,2,…,t)であるメンバに対し、上記式(24)で計算されるXm’j , pを配布する。
【0060】
次に、各メンバは、公開されている集まったメンバのメンバID、自分自身の分散情報Xm’jの分散情報及び他のメンバから配布された分散情報、すなわち、分散情報Xm’p,j(p=1,2,…,t)を用いて演算を施し、もとの秘密情報Sの分散情報Sm’jである値を求める(ステップS802)。ステップS802は、図9の線形結合計算部702−jにおける動作を示しており、メンバIDがm’j(j=1,2,…,t)であるメンバは、他のメンバから配布された分散情報Xm’p,j(p=1,2,…,t)(自分自身の分散情報Xm’jの分散情報Xm’j , jが含まれている)、及び公開されているメンバID_m’p(p=1,2,…,t)から、上記式(25)を用いて計算する。その計算結果Sm’jは、もとの秘密情報Sの分散情報となっている。
【0061】
次に、ステップS802で、各メンバが計算した分散情報からもとの秘密情報Sを再構成する(ステップS803)。ステップS803は、図8の秘密再構成計算部602における動作を示しており、メンバIDがm’j(j=1,2,…,t)であるメンバがステップS802で計算した結果Sm’j(j=1,2,…,t)から、上記式(22)を用いて計算し、もとの秘密情報Sを得ることができる。
【0062】
[第2の実施形態の効果]
以上説明したように、第2の実施形態によれば、第1の実施形態と同様に、もとの秘密情報Sを再構成するために集まったメンバの持つ分散情報を、他のメンバに公開せずに、もとの秘密情報Sを再構成することができる。したがって、各メンバが持つ分散情報を、次回の秘密再構成の際に再利用することができる。しかも、秘密再構成を行う第三者的なセンターのようなものを設けなくても、上記の効果を達成することができる。
【0063】
また、上記第1の実施形態においては、もとの秘密情報Sは、各メンバに加算秘密分散法を用いて分散させていたので、メンバ全員が集まらないと、もとの秘密情報Sを再構成することができなかったが、第2の実施形態の場合、必ずしもメンバ全員、すなわちn人のメンバが集まらなくとも、k人(k≦n)以上のメンバが集まれば、もとの秘密情報Sを再構成することができる。
【0064】
このように、第2の実施形態においては、集まったメンバのメンバIDを公開するので、集まったメンバを匿名にすることはできないが(少なくとも、もとの秘密情報Sを秘密分散させるときのメンバIDは分かってしまうが)、秘密再構成の際のメンバ間の相互通信は、最初の分散情報を分散配布するための1回のみで済むため、通信量及び計算量の両方とも少なく、しかも、必ずしもメンバ全員、すなわちn人が集まらなくとも、k人(k≦n)が集まれば、もとの秘密情報Sを再構成することができる。
【0065】
さらに、第2の実施形態においては、第1の実施形態と同様に、予め秘密情報Sの分散情報を持たない人(演算記憶装置)が、この再構成に参加しようとしても、秘密情報Sの再構成に失敗することから、集まった複数人数からなるグループ全員が正当メンバ(予め秘密情報Sの分散情報を配布されたメンバ)か、そうでない人(演算記憶装置)が混在するか、ということを認証するような機能が備わる。さらにまた、第2の実施形態においては、前述のように分散情報を再利用可能なので、この認証機能は、秘密情報Sの分散情報を更新せずとも何度も利用できる。また、この認証機能は、集まったメンバから他へ送信される情報は、認証(秘密情報Sの再構成)のたびに異なるので、盗聴による“なりすまし”に非常に強い。このような認証機能は、秘密分散法の秘密再構成の性質と、マルチパーティ・プロトコルによる分散計算の性質との単なる組み合わせによって得られる機能ではなく、新しい機能である。なお、上記認証機能は、「もとの秘密情報S」を照合秘密情報S(予め登録されている情報で、認証が成立するか否かを、再構成結果と照らし合わせる情報)として用いる利用形態であるので、もとの秘密情報Sを各メンバに秘密にしない場合であっても、実現できる。
【0066】
≪第3の実施形態≫
[第3の実施形態の概要]
本発明の第3の実施形態においては、上記第1及び第2の実施形態と同様に、もとの秘密情報Sを再構成する際に、もとの秘密情報Sを再構成するために集まったメンバ(演算記憶装置)が保有する分散情報を用いてマルチパーティ・プロトコル(前述のマルチパーティ・プロトコルの第1方式)を実行することにより、各メンバが保有する分散情報を公開せずにもとの秘密情報Sの再構成を行う。なお、第3の実施形態に係る秘密再構成方法は、秘密再構成システムにより実施される。第3の実施形態に係る秘密再構成システムは、仮メンバID生成部(後述する図12における符号901)と、各メンバ(演算記憶装置)である分散秘密再構成装置(後述する分散秘密再構成計算部902)と、メンバのいずれかに又はメンバとは別のセンターに備えられた演算装置(後述する秘密再構成計算部903)とを主要な構成としている。
【0067】
第1の実施形態は、複数のメンバからなるあるグループで、もとの秘密情報Sを、加算秘密分散法を用いて分散し、各メンバに分散情報が秘密裏に配布されている状態を前提としていた。これに対し、第3の実施形態は、第2の実施形態と同様に、複数のメンバ(演算記憶装置)からなるあるグループで、もとの秘密情報Sを、(k,n)しきい値秘密分散法を用いて分散し、各メンバに分散情報が秘密裏に配布されている状態を前提とする。第3の実施形態の場合には、必ずしもメンバ全員(すなわち、n人のメンバ)が集まらなくとも、k人(k≦n)のメンバが集まれば、もとの秘密情報Sを再構成することができる。
【0068】
また、上記第2の実施形態においては、集まったメンバのメンバIDを公開して秘密再構成を行っていたが、第3の実施形態においては、各メンバが保有する分散情報だけでなく、メンバIDをも公開せずに秘密情報の再構成を行なう。第3の実施形態においては、マルチパーティ・プロトコルは、前述したマルチパーティ・プロトコルの第1方式を使用する。
【0069】
[第3の実施形態の構成]
第3の実施形態は、上記第2の実施形態と同様に、複数のメンバ(演算記憶装置)からなるあるグループで、もとの秘密情報Sを(k,n)しきい値秘密分散法を用いて分散し、各メンバに分散情報が秘密裏に配布されている状態を前提とする。このグループにはn人のメンバがいるものとし、各メンバに秘密情報Sを分散させるときに用いたメンバIDをm1,m2,…,mnとする。メンバIDがmj(j=1,2,…,n)であるメンバに配布した、秘密情報Sの分散情報をXmj(j=1,2,…,n)とする。もとの秘密情報Sを再構成させたいときに、集まったメンバがt人(t≧k)で、各メンバの持つ分散情報を持ち寄ったとする。このとき集まったメンバのメンバIDをm’1,m’2,…,m’tとし、そのメンバが持つ分散情報をXm’1,Xm’2,…,Xm’tとする。また、上記第1及び第2の実施形態と同様に、集まったメンバのうち、どの2人のメンバ間にも、その2人のメンバ以外には通信内容を秘密とすることができる秘密通信路が確立されているものとする(図3参照)。ただし、第2の実施形態とは異なり、集まったメンバのメンバID_m’1,m’2,…,m’tは公開されず、どのメンバIDを持つメンバが集まっているかを知ることができないようになっている。また、以降の計算(加算「+」及び乗算「×」などの四則演算)においては、有限体GF(q)上の演算を行うものとする。
【0070】
次に、図11を用いて、第3の実施形態に係る秘密再構成方法の概要を説明する。図11においては、メンバの人数は3人(すなわち、演算記憶装置の数は3台)とし、各メンバは、もとの秘密情報Sをしきい値秘密分散法で分散させた分散情報Xm1,Xm2,Xm3及びメンバID_m1,m2,m3をそれぞれ持っているものとする。もとの秘密情報Sを再構成する場合には、各メンバが持っている分散情報を、さらにしきい値秘密分散法で分散する。具体的に言えば、図11に符号▲1▼で示されるように、秘密情報Sの分散情報Xm1から秘密分散法により分散情報Xm1の分散情報Xm1,1,Xm1,2,Xm1,3を生成し、秘密情報Sの分散情報Xm2から秘密分散法により分散情報Xm2の分散情報Xm2,1,Xm2,2,Xm2,3を生成し、秘密情報Sの分散情報Xm3から秘密分散法により分散情報Xm3の分散情報Xm3,1,Xm3,2,Xm3,3を生成する。さらに、メンバID_m1から秘密分散法によりメンバID_m1の分散情報m1,1,m1,2,m1,3を生成し、メンバID_m2から秘密分散法によりメンバID_m2の分散情報m2,1,m2,2,m2,3を生成し、メンバID_m3から秘密分散法によりメンバID_m3の分散情報m3,1,m3,2,m3,3を生成する。そして、図11に符号▲2▼で示されるように、秘密情報Sの分散情報Xm1,Xm2,Xm3の分散情報Xm1,1,Xm1,2,Xm1,3及びXm2,1,Xm2,2,Xm2,3及びXm3,1,Xm3,2,Xm3,3を他のメンバに配布する。次に、図11に符号▲3▼で示されるように、各メンバは、受け取った分散情報の分散情報Xm1,1,Xm2,1,Xm3,1及びXm1,2,Xm2,2,Xm3,2及びXm1,3,Xm2,3,Xm3,3、並びに、メンバIDの分散情報m1,1,m2,1,m3,1及びm1,2,m2,2,m3,2及びm1,3,m2,3,m3,3をもとに、分散計算行行い、その分散計算の結果を出力する。次に、図11に符号▲4▼で示されるように、各メンバは、分散情報Xm1,1,Xm2,1,Xm3,1及びXm1,2,Xm2,2,Xm3,2及びXm1,3,Xm2,3,Xm3,3、並びに、分散情報m1,1,m2,1,m3,1及びm1,2,m2,2,m3,2及びm1,3,m2,3,m3,3を用いた分散計算の計算結果を集めることにより、もとの秘密情報Sを再構成する。
【0071】
図12は、本発明の第3の実施形態に係る秘密再構成方法を実施する構成(第3の実施形態に係る秘密再構成システム)を示すブロック図である。図12を用いて、第3の実施形態に係る秘密再構成方法を説明する。図12に示されるように、もとの秘密情報Sを再構成しようとする際に集まったメンバIDがm’1,m’2,…,m’tであるメンバ(すなわち、t台の演算記憶装置)は、それぞれ、分散計算により秘密情報を再構成する手段である分散秘密再構成計算部(すなわち、第3の実施形態に係る分散秘密再構成装置)902(902−1,902−2,…,902−t)が備えられている。また、秘密再構成方法を実施するシステムは、仮メンバID生成部901及び秘密再構成計算部903を有している。分散秘密再構成計算部902、及び秘密再構成計算部903は、第1及び第2の実施形態における分散秘密再構成計算部301及び601、並びに、秘密再構成計算部302及び602と、構成や動作に異なる点を持つ。仮メンバID生成部901は、集まった各メンバの分散秘密性構成計算部902−j(j=1,2,…,t)とそれぞれ接続されている。各メンバの分散秘密再構成計算部902−j(j=1,2,…,t)は、それぞれ他のメンバの分散秘密再構成計算部902とは、図3で説明した秘密通信路303で接続されている。また、各メンバの分散秘密再構成計算部902−j(j=1,2,…,t)からの出力は、秘密再構成計算部903へ入力される。
【0072】
仮メンバID生成部901は、これら集まったメンバt人に対し、互いに重複した値をとらないようなt個の値d1,d2,…,dtを生成し、これらの値を仮メンバIDとして、分散秘密再構成計算部902−j(j=1,2,…,t)へそれぞれ出力する。もし、IPアドレスなどの互いに重複した値をとらないようなt個の値が既に利用できる状態であるならば、値を生成する代わりに、各分散秘密再構成計算部902−j(j=1,2,…,t)からそのような値を申請させて、それを仮メンバID_d1,d2,…,dtとして利用することもできる。さらに、これら仮メンバID_d1,d2,…,dtは公開され、それぞれがどの仮メンバIDを持つかは、集まった各メンバにとっては既知の値であるとする。その公開方法は、例えば、図12に破線で示される制御信号を用いて、分散秘密再構成計算部902−j(j=1,2,…,t)が、仮メンバID_dj(j=1,2,…,t)に対応しているかを通知する方法を採ることにより公開することもできる。仮メンバID生成部901は、仮メンバID_d1,d2,…,dtを各分散秘密再構成計算部902−j(j=1,2,…,t)に対応付け、仮メンバIDを公開する機能を持つ。
【0073】
各メンバの分散秘密再構成計算部902−j(j=1,2,…,t)は、仮メンバIDがdjであるメンバの処理部分であり、仮メンバID生成部901から、自分に対する仮メンバIDを受け取り、各自処理(詳細は後述)した出力結果と仮メンバID_djを、秘密再構成計算部903へ出力する。
【0074】
秘密再構成計算部903は、各メンバの分散秘密再構成計算部902−j(j=1,2,…,t)からの出力を受け取り、それら受け取ったt個の情報を、t個の分散情報としたときの秘密情報の再構成を行う計算をし、その再構成された秘密情報を出力する。各メンバの分散秘密再構成計算部902−j(j=1,2,…,t)から出力される値をSdj(j=1,2,…,t)及び仮メンバID_djとすると、上記式(22)及び(4)において、m’jをdjに、Sm’jをSdjに置き換えた次式(27)及び(28)を計算し、もとの秘密情報Sを出力する。
【数13】
上記式(27)及び(28)における各演算は有限体GF(q)上で行う。
【0075】
各メンバの分散秘密再構成計算部902−j(j=1,2,…,t)における処理は、各メンバが、それぞれ他のメンバにはその処理の内容が分からないように行う。仮メンバID生成部901及び秘密再構成計算部903における処理は、処理を統合するセンター(メンバとは別の演算装置)のようなものが行ってもよいし、集まったメンバ(演算記憶装置)のうち、だれか1人、又は、複数人で行ってもよい。ただし、秘密再構成計算部903における処理は、秘密情報Sを必要としているメンバが行うのが望ましい。
【0076】
図13は、図12の分散秘密再構成計算部902−j(j=1,2,…,t)の構成を示すブロック図である。図13を用いて分散秘密再構成計算部902−j(j=1,2,…,t)を説明する。図13に示されるように、分散秘密再構成計算部902−jは、秘密分散計算部1001−jと、分散処理部1002−jとを有する。分散秘密再構成計算部902−jへの入力は、秘密分散計算部1001−jへ入力され、秘密分散計算部1001−jからの出力が分散処理部1002−jへ入力される。分散処理部1002−jからの出力が、分散秘密再構成計算部902−jの出力となる。秘密分散計算部1001−jには、図12の仮メンバID生成部901から出力される仮メンバID_djが入力される。さらに、秘密分散計算部1001−jには、仮メンバIDがdjで与えられるメンバの持つメンバID_m’jと、もとの秘密情報Sの分散情報Xm’jとが入力される。秘密分散計算部1001−jは、入力された分散情報Xm’j及びメンバID_m’jを、それぞれ(k’,t)しきい値秘密分散法を用いて分散し、他のメンバと通信する秘密通信路303を経由して配布する。第3の実施形態の場合には、第2の実施形態の場合とは異なり、分散乗算を行わなければならないので、この秘密分散法のしきい値k’は、
k’≦(t+1)/2 …(29)
を満たさなければならない(上記式(11)参照)。上記式(29)の演算は、有限体GF(q)上の演算ではなく、通常の実数、整数演算である。
【0077】
入力された分散情報Xm’jを分散するときの計算方法は、第2の実施形態と同様に、上記式(23)のようなk’−1次多項式である次式(29′)を作ることにより行う。
【数14】
ただし、メンバID_m’p(p=1,2,…,t)は非公開の値であるので、代わりに仮メンバID_dp(p=1,2,…,t)を用いる。ここで、R1dj , 1,R1dj , 2,…,R1dj , k ’ −1は、乱数として選ばれた有限体GF(q)上のk’−1個の値である。
【0078】
そして、仮メンバIDがdp(p=1,2,…,t)であるメンバに対して配布する分散情報Xm’j , pを、上記式(29′)を用いて次式(30)のように計算する。
【数15】
【0079】
入力されるメンバID_m’jを分散するときは、同様に、次式(31)なるk’−1次多項式を作る。
【数16】
ここで、R2dj , 1,R2dj , 2,…,R2dj , k ’ −1は、乱数として選ばれた有限体GF(q)上のk’−1個の値である。
【0080】
そして、仮メンバIDがdp(p=1,2,…,t)であるメンバに対して配布する分散情報m’j , pを、上記式(31)を用いて次式(32)のように計算する。
【数17】
【0081】
自分自身に対する分散情報Xm’j , j及びm’j , jは、分散処理部1002−jへ出力し、その他の分散情報Xm’j , p及びm’j , p(p=1,2,…,tであり、p≠jであるもの)を秘密通信路303を通して各メンバに配布する(他のメンバの分散処理部1002−p(p=1,2,…,tであり、p≠jであるもの)へ送信する)。
【0082】
分散処理部1002−jは、秘密分散計算部1001−jから、メンバIDの分散情報m’j , j、及び、もとの秘密情報Sの分散情報の分散情報Xm’j , jを受け取る。さらに、秘密通信路303を経由して、他のメンバから配布された(他のメンバの秘密分散計算部1001−p(p=1,2,…,tであり、p≠jであるもの)から送信された)、他のメンバのメンバIDの分散情報m’1,j,m’2,j,…,m’t,j、及び、もとの秘密情報Sの分散情報の分散情報であるXm’1・j,Xm’2・j,…,Xm’t・jを受け取る。これらメンバIDの分散情報m’p,j(p=1,2,…,t)と、もとの秘密情報Sの分散情報の分散情報Xm’p,j(p=1,2,…,t)、から、もとの秘密情報Sの分散情報となるSdjを計算して出力する。すなわち、集まったメンバのメンバID_m’1,m’2,…,m’t及び分散情報Xm’1,Xm’2,…,Xm’tを分散させたまま、上記式(3)で示される式の分散計算を行う。その結果得られる値Sは、分散秘密情報Sd1,Sd2,…,Sdtとして、各メンバがそれぞれ持っていることになる。
【0083】
図14は、図13の分散処理部1002−j(j=1,2,…,t)の構成を示すブロック図である。図14を用いて分散処理部1002−j(j=1,2,…,t)の構成を説明する。分散処理部1002−jは、t個の項計算部1101−j−a(a=1,2,…,t)と、t個の情報が入力される“(t)加算部”1102−jとを有する。秘密分散計算部1001−jからの出力Xm’j , j及びm’j , j、さらに、秘密通信路303を経由して、他のメンバから配布された(他のメンバの秘密分散計算部1001−p(p=1,2,…,tであり、p≠jであるもの)から送信された)、他のメンバのメンバIDの分散情報m’1,j,m’2,j,…,m’t,j、及び、もとの秘密情報Sの分散情報の分散情報Xm’1,j,Xm’2,j,…,Xm’t,jは、項計算部1101−j−a(a=1,2,…,t)へ入力される。項計算部1101−j−a(a=1,2,…,t)からの出力は、“(t)加算部”1102−jへ入力され、“(t)加算部”1102−jからの出力が、分散処理部1002−jの出力となる。項計算部1101−j−aは、それぞれ、他のメンバの秘密分散計算部1001−p及び項計算部1101−p−a(p=1,2,…,tであり、p≠jであるもの)との秘密通信路303を持っている。
【0084】
“(t)加算部”1102−jは、項計算部1101−1−a(a=1,2,…,t)からそれぞれ一つずつの出力(合計t個)を受け取り、それらをすべて(t個)加算する。すなわち、項計算部1101−j−aからの出力をYa(a=1,2,…,t)とすると、“(t)加算部”1102−jは、次式(33)、すなわち、
Sdj=Y1+Y2+…+Yt …(33)
を計算し、計算結果であるSdjを出力する。
【0085】
図15は、図14の項計算部1101−j−a(a=1,2,…,t)の構成を示すブロック図である。次に、図15を用いて項計算部1101−j−a(a=1,2,…,t)の構成を説明する。項計算部1101−j−a(a=1,2,…,t)は、差分計算部1201−j−aと、t−1個の情報が入力される“(t−1)分散乗算部”1202−j−aと、t−1個の情報が入力される“(t−1)分散乗算部”1204−j−aと、分散逆元計算部1203−j−aと、2個の情報が入力される“(2)分散乗算部”1205−j−aと、2個の情報が入力される“(2)分散乗算部”1206−j−aとを有する。項計算部1101−j−a(a=1,2,…,t)へ入力されるm’1,j,m’2,j,…,m’t,jは、秘密通信路303を通して、差分計算部1201−j−aへ入力され(ただし、m’j , jは、秘密分散計算部1001−jからの入力)、差分計算部1201−j−aからの出力は、“(t−1)分散乗算部”1202−j−aへ入力される。“(t−1)分散乗算部”1202−j−aからの出力は、分散逆元計算部1203−j−aへ入力され、分散逆元計算部1203−j−aからの出力は、“(2)分散乗算部”1205−j−aへ入力される。また、項計算部1101−j−a(a=1,2,…,t)へ秘密通信路303を通して入力されるm’1,j,m’2,j,…,m’t,j(ただし、m’j , jは、秘密分散計算部1001−jからの入力)のうちm’a,j以外の値は、“(t−1)分散乗算部”1204−j−aへも入力され、“(t−1)分散乗算部”1204−j−aからの出力は、分散逆元計算部1203−j−aからの出力とともに、“(2)分散乗算部”1205−j−aへ入力される。“(2)分散乗算部”1205−j−aからの出力は、項計算部1101−j−a(a=1,2,…,t)へ秘密通信路303を通して入力されるXm’a,j(ただし、項計算部1101−j−jへの入力Xm’j , jは、秘密分散計算部1001−jからの入力)とともに、“(2)分散乗算部”1206−j−aへ入力される。“(2)分散乗算部”1206−j−aからの出力が、項計算部1101−j−aの出力となる。また、“(t−1)分散乗算部”1202−j−a,1204−j−a、分散逆元計算部1203−j−a、“(2)分散乗算部”1205−j−a,1206−j−aはそれぞれ、他のメンバの、“(t−1)分散乗算部”1202−p−a,1204−p−a、分散逆元計算部1203−p−a、“(2)分散乗算部”1205−p−a,1206−p−a(p=1,2,…,tであり、p≠jであるもの)との秘密通信路303を持っている。
【0086】
差分計算部1201−j−aは、項計算部1101−j−aへ入力されるメンバID_m’1,j,m’2,j,…,m’t,jを受け取り、それぞれのメンバID_m’1,j,m’2,j,…,m’t,jとm’a,jの差分を計算する。ただし、m’a,j同士の差分は計算しない。すなわち、(m’1,j−m’a,j),(m’2,j−m’a,j),…,(m’(a−1),j−m’a,j),(m’(a+1),j−m’a,j),…,(m’t,j−m’a,j)のt−1個の差分の計算を行う。これらt−1個の計算結果は、“(t−1)分散乗算部”1202−j−aへ出力される。
【0087】
“(t−1)分散乗算部”1202−j−a,1204−j−aは、内部的には同じ構成であり、t−1個の入力を受け取り、それらの入力と秘密通信路303からの情報を用いて、t−1個の要素の分散乗算を行い、その計算結果を出力する。“(t−1)分散乗算部”1202−j−a,1204−j−aへ入力される値をA1,j,A2,j,…,A(t−1),jとする。Ai,j(i=1,2,…,t−1)と、他のメンバの“(t−1)分散乗算部”1202−p−a,1204−p−aへ入力されるAi,p(p=1,2,…,tであり、p≠jであるもの)の、t個の値Ai,p(p=1,2,…,t)を分散情報として再構成されるようなもとの秘密をAiとすると、“(t−1)分散乗算部”1202−j−a,1204−j−aは、Ai(i=1,2,…,t−1)をすべて乗算した値
B=A1×A2×…×At−1
の、仮メンバIDがdjであるメンバに対する分散情報Bjを計算することとなる。“(t−1)分散乗算部”1202−j−aは、差分計算部1201−j−aからのt−1個の出力を受け取り、それらを用いて計算し、その計算結果を分散逆元計算部1203−j−aへ出力する。“(t−1)分散乗算部”1202−j−aは、他のメンバの“(t−1)分散乗算部”1202−p−a(p=1,2,…,tであり、p≠jであるもの)と秘密通信路303を経由して必要な情報をやり取りする。“(t−1)分散乗算部”1204−j−aは、項計算部1101−j−aへ入力されるm’1,j,m’2,j,…,m’t,jのうち、m’a,j以外のものを受け取り、それらを用いて計算し、その計算結果を“(2)分散乗算部”1205−j−aへ出力する。“(t−1)分散乗算部”1204−j−aは、他のメンバの“(t−1)分散乗算部”1204−p−a(p=1,2,…,tであり、p≠jであるもの)と秘密通信路303を経由して必要な情報をやり取りする。
【0088】
分散逆元計算部1203−j−aは、“(t−1)分散乗算部”1202−j−aからの出力を受け取り、その値と秘密通信路303からの情報を用いて分散計算し、その計算結果を、“(2)分散乗算部”1205−j−aへ出力する。分散逆元計算部1203−j−aへ入力される値をAjとし、この入力Ajと他のメンバの分散逆元計算部1203−p−aへ入力されるAp(p=1,2,…,tであり、p≠jであるもの)の、t個の値Ap(p=1,2,…,t)を分散情報としてを再構成されるようなもとの秘密Aとすると、分散逆元計算部1203−j−aは、Aの有限体GF(q)上の逆元B=A−1の、仮メンバIDがdjであるメンバに対する分散情報Bjを計算することとなる。分散逆元計算部1203−j−aは、他のメンバの分散逆元計算部1203−p−a(p=1,2,…,tであり、p≠jであるもの)と秘密通信路303を経由して必要な情報をやり取りする。
【0089】
“(2)分散乗算部”1205−j−a,1206−j−aは、内部的には同じ構成であり、2個の入力を受け取り、それらの入力と秘密通信路303からの情報を用いて、2個の要素の分散乗算を行い、その計算結果を出力する。“(2)分散乗算部”1205−j−a,1206−j−aへ入力される値をA1,j,A2,jとする。Ai,j(i=1,2)と、他のメンバの“(2)分散乗算部”1205−p−a,1206−p−aへ入力されるAi,p(p=1,2,…,tであり、p≠jであるもの)の、2個の値Ai,p(p=1,2,…,t)を分散情報として再構成されるようなもとの秘密をAi(i=1,2)とすると、“(2)分散乗算部”1205−j−a,1206−j−aは、A1及びA2を乗算した値B=A1×A2の、仮メンバIDがdjであるメンバに対する分散情報Bjを計算することとなる。“(2)分散乗算部”1205−j−aは、“(t−1)分散乗算部”1204−j−a及び分散逆元計算部1203−j−aからの出力を受け取り、それらを用いて計算し、その計算結果を“(2)分散乗算部”1206−j−aへ出力する。“(2)分散乗算部”1205−j−aは、他のメンバの“(2)分散乗算部”1205−p−a(p=1,2,…,tであり、p≠jであるもの)と秘密通信路303を経由して必要な情報をやり取りする。“(2)分散乗算部”1206−j−aは、“(2)分散乗算部”1205−j−aからの出力、及び、項計算部1101−j−aへ入力されるXm’a,jを受け取り、それらを用いて計算し、その計算結果を出力する。“(2)分散乗算部”1206−j−aは、他のメンバの“(2)分散乗算部”1206−p−a(p=1,2,…,tであり、p≠jであるもの)と秘密通信路303を経由して必要な情報をやり取りする。
【0090】
図16は、図15の“(2)分散乗算部”1205−j−a,1206−j−a(j=1,2,…,t、a=1,2,…,t)の構成を示すブロック図である。図16を用いて“(2)分散乗算部”1205−j−a,1206−j−a(j=1,2,…,t、a=1,2,…,t)の構成を説明する。ここで、“(2)分散乗算部”1205−j−a,1206−j−aへ入力される2つの入力をそれぞれ、Adj及びBdjとし、“(2)分散乗算部”1205−j−a,1206−j−aからの出力をCdjとする。“(2)分散乗算部”1205−j−a,1206−j−aは、乗算部1301−jと、秘密分散計算部1302−jと、線形結合計算部1303−jとを有する。“(2)分散乗算部”1205−j−a,1206−j−aへ入力されるAdj及びBdjは、乗算部1301−jへ入力され、乗算部1301−jからの出力は、秘密分散計算部1302−jへ入力され、さらに、秘密分散計算部1302−jからの出力は、線形結合計算部1303−jへ入力される。線形結合計算部1303−jからの出力が、“(2)分散乗算部”1205−j−a,1206−j−aからの出力となる。
【0091】
乗算部1301−jは、“(2)分散乗算部”1205−j−a,1206−j−aへ入力されるAdj及びBdjを受け取り、それらを乗算する。すなわち、
C’dj=Adj×Bdj …(34)
を計算して、その計算結果C’djを、秘密分散計算部1302−jへ出力する。
【0092】
秘密分散計算部1302−jは、第2の実施形態における図9の秘密分散計算部701−jと内部的には同じ構成であり、入力される値を(k’,t)しきい値秘密分散法を用いて分散して出力する。前述の通り、第3の実施形態の場合、分散乗算を行わなければならないので、この秘密分散法のしきい値k’は、
k’≦(t+1)/2 …(29)
を満たさなければならない。ここで、式(29)の演算は、有限体GF(q)上の演算ではなく、通常の実数、整数演算である。
【0093】
また、分散に用いるときのメンバID_m’1,m’2,…,m’tは非公開なので、第3の実施形態においては、仮メンバID_d1,d2,…,dtを用いる。今、秘密分散計算部1302−jへ入力される値はC’djなので、次式(35)のk’−1次多項式を作り、R3dj , 1,R3dj , 2,…,R3dj , k ’ −1は、乱数として有限体GF(q)上の値をk’−1個選ぶ。
【数18】
【0094】
仮メンバIDがdp(p=1,2,…,t)であるメンバに対して配布する分散情報C’dj , pを、上記式(35)を用いて次式(36)のように計算する。
【数19】
【0095】
自分自身に対する分散情報C’dj , jは、線形結合計算部1303−jへ出力し、その他の分散情報C’dj , p(p=1,2,…,tであり、p≠jであるもの)を秘密通信路303を通して各メンバに配布する(他のメンバの線形結合計算部1303−p(p=1,2,…,tであり、p≠jであるもの)へ送信する)。
【0096】
線形結合計算部1303−jは、第2の実施形態における図9の線形結合計算部702−jと内部的には同じ構成であるが、計算に用いるメンバID_m’1,m’2,…,m’tは非公開なので、第3の実施形態においては、仮メンバID_d1,d2,…,dtを用いる。線形結合計算部1303−jは、秘密分散計算部1302−jから、分散情報C’dj , jを受け取る。さらに、秘密通信路303を経由して、他のメンバの秘密分散計算部1302−i(i=1,2,…,tでi≠jであるもの)から配布された分散情報C’d1,j,C’d2,j,…,C’dt,jを受け取る。線形結合計算部1303−jは、これら全部でt個ある分散情報C’dp,j(p=1,2,…,t)、から、次式(37)及び(38)のような計算を行い、出力となるCdjを算出する。
【数20】
各仮メンバID_d1,d2,…,dtは公開され、既知の値であるので式(38)のrdpを計算することができる。
【0097】
図17は、図15の“(t−1)分散乗算部”1202−j−a,1204−j−a(j=1,2,…,t;a=1,2,…,t)の構成を示すブロック図である。図17を用いて“(t−1)分散乗算部”1202−j−a,1204−j−a(j=1,2,…,t、a=1,2,…,t)の構成を説明する。今、“(t−1)分散乗算部”1202−j−a,1204−j−aへ入力されるt−1個の入力をA1,A2,…,At−1とする。“(t−1)分散乗算部”1202−j−a,1204−j−aは、t−2個の“(2)分散乗算部”1401−i(i=1,2,…,t−2)を有する。t−2個の“(2)分散乗算部”1401−i(i=1,2,…,t−2)は、“(2)分散乗算部”1401−iからの出力が次の“(2)分散乗算部”1401−(i+1)への入力の一つとなるように、多段に構成されている。“(t−1)分散乗算部”1202−j−a,1204−j−aへ入力される2つの入力A1及びA2は、“(2)分散乗算部”1401−1へ入力され、“(2)分散乗算部”1401−1からの出力は、次の“(2)分散乗算部”1401−2へ、“(t−1)分散乗算部”1202−j−a,1204−j−aへ入力されるA3とともに、入力される。“(2)分散乗算部”1401−i(i=2,…,t−2)へは、“(2)分散乗算部”1401−(i−1)からの出力が、“(t−1)分散乗算部”1202−j−a,1204−j−aへ入力されるA(i+1)とともに、入力され、“(2)分散乗算部”1401−i(i=1,…,t−3)からの出力は、“(2)分散乗算部”1401−(i+1)に入力される。“(2)分散乗算部”1401−(t−2)からの出力が、“(t−1)分散乗算部”1202−j−a,1204−j−aからの出力となる。
【0098】
“(2)分散乗算部”1401−i(i=1,2,…,t−2)は、前に説明した、“(2)分散乗算部”1205−j−a,1206−j−aと同じ構成をしている。“(2)分散乗算部”1401−i(i=1,2,…,t−2)は、他のメンバの“(2)分散乗算部”1401−i(i=1,2,…,t−2)とそれぞれ秘密通信路303を通して通信を行う。
【0099】
図18は、図15の分散逆元計算部1203−j−a(j=1,2,…,t、a=1,2,…,t)の構成を示すブロック図である。図18を用いて分散逆元計算部1203−j−a(j=1,2,…,t、a=1,2,…,t)の構成を説明する。分散逆元計算部1203−j−aは、qb−1個の“(2)分散乗算部”1501−i(i=1,2,…,qb−1)と、乗算制御部1502と、“(qb)分散乗算部”1503とを有する。qbは、第3の実施形態において前提としている有限体GF(q)の要素数qから2を引いた値の底2における対数をとった値(小数点以下切り上げ)であり、次式(39)のように計算できる。
qb=ceil(log2(q−2)) …(39)
【0100】
ここで、ceil(・)は、小数点以下切り上げの演算を表し、log2(・)は、底2の対数をとることを表す。上記式(39)の演算は、有限体GF(q)上の演算ではなく、通常の実数、整数演算である。今、分散逆元計算部1203−j−aへの入力をAjとすると、この入力Ajと他のメンバの分散逆元計算部1203−p−aへ入力されるAp(p=1,2,…,tであり、p≠jであるもの)の、t個の値Ap(p=1,2,…,t)を分散情報としてを再構成されるようなもとの秘密Aとする。この場合、分散逆元計算部1203−j−aは、Aの有限体GF(q)上の逆元B=A−1の、仮メンバIDがdjであるメンバに対する分散情報Bjを計算して出力することとなる。有限体の性質により、有限体GF(q)上の演算においては、有限体GF(q)のある要素Aに対して、次式(40)、すなわち、
A−1=Aq−2 …(40)
が成立するので、分散逆元計算部1203−j−aにおいては、Ajをq−2回分散乗算する計算を行う。
【0101】
qb−1個の“(2)分散乗算部”1501−i(i=1,2,…,qb−1)は、“(2)分散乗算部”1501−iからの出力が次の“(2)分散乗算部”1501−(i+1)への両方の入力となっているように、多段に構成されている。分散逆元計算部1203−j−aへ入力される入力Ajは、“(2)分散乗算部”1501−1へ入力され、“(2)分散乗算部”1501−1からの出力は、次の“(2)分散乗算部”1501−2へ入力される。分散逆元計算部1203−j−aへ入力される入力Aj、及び各“(2)分散乗算部”1501−i(i=1,2,…,qb−1)からの出力の、合計qb個の値は、乗算制御部1502へ入力され、乗算制御部1502から出力される値は、“(qb)分散乗算部”1503へ入力される。“(qb)分散乗算部”1503からの出力が分散逆元計算部1203−j−aからの出力となる。
【0102】
“(2)分散乗算部”1501−i(i=1,2,…,qb−1)は、前に説明した、“(2)分散乗算部”1205−j−a,1206−j−aと同じ構成をしている。“(2)分散乗算部”1501−i(i=1,2,…,qb−1)は、他のメンバの“(2)分散乗算部”1501−i(i=1,2,…,qb−1)とそれぞれ秘密通信路303を通して通信を行う。
【0103】
乗算制御部1502は、分散逆元計算部1203−j−aへ入力される入力Aj及び各“(2)分散乗算部”1501−i(i=1,2,…,qb−1)からの出力の、合計qb個の値を受け取り、入力されたqb個の値を、そのまま出力するか、又は、1を出力する、ということを制御する。入力されたそれぞれの値をどう出力するかは、次のようなルールで行う。まず、“(2)分散乗算部”1501−i(i=1,2,…,qb−1)からの出力をAj , i+1とする。乗算制御部1502へは、qb個の値Aj , i(i=1,2,…,qb)が入力されることとなる(ただし、Aj , 1=Aj)。また、q−2を2進数表現し、そのときの各桁の値を大きい桁からbqb,b(qb−1),…,b2,b1とする(q−2は、qb桁の2進数で表すことができる)。乗算制御部1502は、上記bi(i=1,2,…,qb)が1であるならば値Aj , iを出力し、上記bi(i=1,2,…,qb)が0であるならば値1を出力する。出力されたqb個の値は、“(qb)分散乗算部”1503へ入力される。
【0104】
“(qb)分散乗算部”1503は、前述した“(t−1)分散乗算部”1202−j−a,1204−j−aと同様な構成をしているが、“(2)分散乗算部”がt−2個ではなく、qb−1個になっている構成である。“(qb)分散乗算部”1503は、他のメンバの“(qb)分散乗算部”1503とそれぞれ秘密通信路303を通して通信を行う。
【0105】
[第3の実施形態の動作]
図19は、第3の実施形態に係る秘密再構成方法における動作を示すフローチャートである。ここで、もとの秘密情報Sを再構成するために集まったt人のメンバのメンバIDをm’1、m’2,…,m’tとし、各メンバが持つ分散情報をXm’1,Xm’2,…,Xm’tとする。
【0106】
図19に示されるように、まず、集まった各メンバに対して、分散計算時に用いる仮メンバIDを割り当てるために、仮メンバID_d1,d2,…,dtを生成し、各メンバに配布、そして、公開する(ステップS1601)。ステップS1601は、図12の仮メンバID生成部901における動作を示しており、各メンバに重複なく仮メンバID_d1,d2,…,dtを割り当て、配布、公開する。
【0107】
次に、各メンバが持つ分散情報及びメンバIDを(k’,t)しきい値秘密分散法を用いて分散し、他のメンバに配布する(ステップS1602)。ステップS1602は、図13の秘密分散計算部1001−jにおける動作を示しており、メンバIDがm’j(j=1,2,…,t)であるメンバの持つ分散情報Xm’jを上記式(29′)を用いて分散して、仮メンバIDがdp(p=1,2,…,t)であるメンバに対し、上記式(30)で計算されるXm’j , pを配布し、メンバID_m’jを上記式(31)を用いて分散して、仮メンバIDがdp(p=1,2,…,t)であるメンバに対し、上記式(32)で計算されるm’j , pを配布する。
【0108】
次に、各メンバは、公開されている集まったメンバの仮メンバID、自分自身の分散情報及びメンバIDのそれぞれの分散情報、及び、他のメンバから配布された分散情報及びメンバIDのそれぞれの分散情報を用いて演算を施し、もとの秘密情報Sの分散情報である値を求める(ステップS1603)。ステップS1603は、図13の分散処理部1002−jにおける動作を示しており、秘密再構成するための演算(上記式(3))を、メンバID_m’j(j=1,2,…,t)及び分散情報Xm’jを秘密にしたまま、上記式(3)の分散計算を行い、最終的に、仮メンバIDがdj(j=1,2,…,t)であるメンバは、再構成すればもとの秘密情報Sとなるような分散秘密情報Sdjを得る。
【0109】
次に、ステップS1603で、各メンバが計算した分散情報及び仮メンバIDからもとの秘密情報Sを再構成する(ステップS1604)。ステップS1604は、図12の秘密再構成計算部903における動作を示しており、仮メンバIDがdj(j=1,2,…,t)であるメンバがステップS1603で計算した結果Sdj(j=1,2,…,t)、及び仮メンバID_dj(j=1,2,…,t)から、上記式(27)を用いて計算し、もとの秘密情報Sを得ることができる。
【0110】
[第3の実施形態の効果]
以上説明したように、第3の実施形態によれば、上記第1及び第2の実施形態と同様に、もとの秘密情報Sを再構成するために集まったメンバの持つ分散情報を、他のメンバに公開せずに、もとの秘密情報Sを再構成することができる。したがって、各メンバが持つ分散情報を、次回の秘密再構成の際に再利用することができる。しかも、秘密再構成を行う第三者的なセンターのようなものを必要とせずに、上記の効果を達成することができる。
【0111】
また、第3の実施形態においては、第1の実施形態とは異なり、(k,n)しきい値秘密分散法を用いているので、必ずしもメンバ全員、すなわちn人が集まらなくとも、k人(k≦n)以上が集まれば、もとの秘密情報Sを再構成することができる。
【0112】
さらに、第3の実施形態においては、第2の実施形態とは異なり、各メンバが保有する分散情報だけでなく、メンバIDをも公開せずに秘密情報の再構成を行なう。したがって、集まったメンバの匿名性を確保することができる。
【0113】
さらに、第3の実施形態においては、第1及び第2の実施形態と同様に、予め秘密情報Sの分散情報を持たない人(演算記憶装置)が、この再構成に参加しようとしても、もとの秘密情報Sの再構成に失敗することから、第3の実施形態においては、集まった複数人数からなるグループ全員が正当メンバ(予め秘密情報Sの分散情報を配布されたメンバ)か、そうでない人(演算記憶装置)が混在するか、ということを認証するような機能が、効果として備わる。さらに、前述のように再利用可能なので、この認証機能は、秘密情報Sの分散情報を更新せずとも何度も利用できる。また、この認証機能は、集まったメンバから他へ送信される情報は、認証(もとの秘密情報Sの再構成)のたびに異なるので、盗聴によるなりすましに非常に強い。特に、第3の実施形態においては、前述のように、「[1]もとの秘密情報Sの分散情報を持つメンバの全員が集まらなくとも、しきい値以上のメンバが集まればよい。[2]匿名性がある。」という2つの効果があることから、集まった複数人数からなるグループ全員が正当メンバであると認証された場合でも、どのメンバが集まっているかを具体的に特定せずに認証が可能である。このような認証機能は、秘密分散法の秘密再構成の性質と、マルチパーティ・プロトコルによる分散計算の性質との単なる組み合わせによって得られる機能ではなく、新しい機能である。ただし、第1、第2の実施形態の効果で説明したと同様に、上記認証機能は、「もとの秘密情報S」を照合秘密情報S(予め登録されている情報で、認証が成立するか否かを、再構成結果と照らし合わせる情報)として用いる利用形態であるので、もとの秘密情報Sを各メンバに秘密にしない場合であっても、実現できる。
【0114】
≪第4の実施形態≫
[第4の実施形態の概要]
上記第3の実施形態においては、もとの秘密情報Sを再構成する際に用いるマルチパーティ・プロトコルは、計算するために集まったメンバのうち、どの2人のメンバ間にも、その2人のメンバ以外には通信内容を秘密とすることができる秘密通信路が確立されていることを前提とする方式(前述したマルチパーティ・プロトコルの第1方式)であったが、第4の実施形態においては、計算するために集まったメンバ間の通信には、上記秘密通信路を用いる通信手法に加え、紛失通信と呼ばれる通信手法を用いる方式(前述したマルチパーティ・プロトコルの第2方式)を用いる。これにより、第4の実施形態に係る秘密再構成方法によれば、第3の実施形態に係る秘密再構成方法による効果と同様の効果を得ることができる。さらに、第4の実施形態に係る秘密再構成方法によれば、上記第3の実施形態に係る秘密再構成方法における分散計算に用いる(k’,t)しきい値秘密分散法のしきい値k’の制限、すなわち、次式(29)の制限、
k’≦(t+1)/2 …(29)
を取り払い、しきい値k’のとり得る範囲を、k’≦tまで広げることができる。
【0115】
[第4の実施形態の構成]
第4の実施形態に係る秘密再構成方法を実施する構成(第4の実施形態に係る秘密再構成システム)は、上記第3の実施形態に係る秘密再構成方法を実施する構成とほぼ同じであるが、前述したマルチパーティ・プロトコルの第2方式を用いているので、図16の“(2)分散乗算部”1205−j−a,1206−j−aの構成のみが異なる。第4の実施形態の説明においては、上記第3の実施形態に係る秘密再構成方法を実施する構成と異なる部分、すなわち、“(2)分散乗算部”1205−j−a,1206−j−aの構成のみを説明する。
【0116】
図20は、本発明の第4の実施形態に係る秘密再構成方法で使用される“(2)分散乗算部”1205−j−a,1206−j−aの構成を示すブロック図である。第4の実施形態においては、“(2)分散乗算部”1205−j−a,1206−j−aを、図20に示されるように構成することによって、上記第3の実施形態における制限である、上記式(29)の制限を取り払うことができる。このため、しきい値k’のとり得る範囲を、k’≦tまで広げることができる。図20の構成は、前述したマルチパーティ・プロトコルの第2方式を利用している。
【0117】
次に、図20を用いて、第4の実施形態における、“(2)分散乗算部”1205−j−a,1206−j−aの構成を説明する。図20に示されるように、第4の実施形態における“(2)分散乗算部”1205−j−a,1206−j−aは、jj項計算部1701−jと、ij項計算部1702−jと、“(t)加算部”1703−jとを有している。“(2)分散乗算部”1205−j−a,1206−j−aに入力される2つの入力Adj,Bdjは、jj項計算部1701−jと、ij項計算部1702−jとの両方に入力される。jj項計算部1701−jからの出力及びij項計算部1702−jからの出力は、“(t)加算部”1703−jに入力される。“(t)加算部”1703−jからの出力が、“(2)分散乗算部”1205−j−a,1206−j−aの出力となる。
【0118】
jj項計算部1701−jは、“(2)分散乗算部”1205−j−a,1206−j−aに入力される2つの入力Adj,Bdjを受け取り、それらを乗算し、次式(41)で計算される係数rdjをさらに乗算して、“(t)加算部”1703−jに出力する。
【数21】
【0119】
詳細に言えば、jj項計算部1701−jは、Adj×Bdjを計算し、上記式(41)の係数rdjをさらに掛けたrdj(Adj×Bdj)を計算して、出力する。
【0120】
ij項計算部1702−jは、“(2)分散乗算部”1205−j−a,1206−j−aに入力される2つの入力Adj,Bdjを受け取り、受け取った入力Adj,Bdjと秘密通信路303を通して他のメンバから受け取った情報から、実質的に他のメンバの値との乗算結果が得られるように計算をする。例えば、仮メンバIDがdjであるメンバは、“(2)分散乗算部”1205−j−a,1206−j−aに入力されるAdjとBdjの乗算Adj×Bdjをjj項計算部1701−jで行うが、ij項計算部1702−jにおいては、他のメンバ(メンバIDがdpであり、p=1,2,…,tであり、p≠jであるもの)の値との乗算、Adj×Bdp及びAdp×Bdjの結果に相当するもの(乗算結果そのものではない)が得られるようにする。
【0121】
ij項計算部1702−jは、
Adj×Bdp=Ddj+Ddp …(42)
Adp×Bdj=Edj+Edp …(42′)
となるような、Ddj及びEdjを仮メンバIDがdjであるメンバが持つことができ、Ddp及びEdpを仮メンバIDがdpであるメンバが持つことができるように、計算を行う。
【0122】
図21は、図20のij項計算部1702−jの構成を示すブロック図である。図21を用いて、ij項計算部1702−jの構成を説明する。図21に示されるように、ij項計算部1702−jは、j−1個の項計算受信部1801−j−p(p=1,2,…,j−1)と、j−1個の項計算受信部1802−j−p(p=1,2,…,j−1)と、t−j個の項計算送信部1803−j−p,(p=j+1,j+2,…,t)と、t−j個の項計算送信部1804−j−p(p=j+1,j+2,…,t)と、t−1個の加算部1805−j−p(p=1,2,…,tであり、p≠jであるもの)と、t−1個の係数乗算部1806−j−p(p=1,2,…,tであり、p≠jであるもの)とを有している。
【0123】
ij項計算部1702−jへ入力される2つの入力のうち、一つは、項計算受信部1801−j−p(p=1,2,…,j−1)及び項計算送信部1803−j−p(p=j+1、j+2,…,t)へ、他の一つは、項計算受信部1802−j−p(p=1,2,…,j−1)及び項計算送信部1804−j−p(p=j+1,j+2,…,t)へ入力される。項計算受信部1801−j−p及び項計算受信部1802−j−p(p=1,2,…,j−1)からの出力は、加算部1805−j−p(p=1,2,…,j−1)へ入力され、項計算送信部1803−j−p及び項計算送信部1804−j−p(p=j+1,j+2,…,t)からの出力は、加算部1805−j−p(p=j+1,j+2,…,t)へ入力される。加算部1805−j−p(p=1,2,…,tであり、p≠jであるもの)からの出力は係数乗算部1806−j−p(p=1,2,…,tであり、p≠jであるもの)へ入力される。
【0124】
係数乗算部1806−j−p(p=1,2,…,tであり、p≠jであるもの)からの出力(全部でt−1個の出力)が、ij項計算部1702−jからの出力となる。項計算受信部1801−j−p,1802−j−p(p=1,2,…,j−1)、及び項計算送信部1803−j−p,1804−j−p(p=j+1,j+2,…,t)は、秘密通信路303を通して、他のメンバとの情報のやりとりを行うことにより、前述の通り、他のメンバ(メンバIDがdpであり、p=1,2,…,tであり、p≠jであるもの)の値との乗算、Adj×Bdp及びAdp×Bdjの結果に相当するもの(乗算結果そのものではない)が得られるようにするが、他のメンバの値Adp及びBdp(メンバIDがdpであり、p=1,2,…,tであり、p≠jであるもの)が分からないように、また、自分の値Adj及びBdjが、他のメンバに分からないように、紛失通信を行う。紛失通信とは、ここでは、送信側が、M個の情報を符号化(暗号化)して送信するが、受信側においては、そのうち一つしか受け取る(意味のあるように復号が可能となる)ことができず、また、送信側においては、受信側がどの情報を受け取った(意味のあるように復号が可能となった)かを知ることができない通信方法をいう。この実施形態においては、法qのもとにおける離散対数を計算することが困難であることを利用して、紛失通信を構成する。
【0125】
項計算受信部1801−j−p,1802−j−p(p=1,2,…,j−1)、及び項計算送信部1803−j−p,1804−j−p(p=j+1,j+2,…,t)は、jの値によって、項計算受信部又は項計算送信部を持つ場合と、持たない場合とがある。例えば、j=1の場合には、項計算受信部を持たず、2×(t−1)個の項計算送信部を持つ。また、j=tの場合には、項計算送信部を持たず、2×(t−1)個の項計算受信部を持つ。また、他のメンバとの送受信の関係は、仮メンバIDがdjであるメンバの項計算送信部1803−j−p,1804−j−p(p=j+1,j+2,…,t)からは、それぞれ、秘密通信路303を通して、仮メンバIDがdpであるメンバの項計算受信部1801−p−j,1802−p−jのそれぞれへ情報が渡される。これについては、図22及び図23で説明する。
【0126】
加算部1805−j−p(p=1,2,…,tであり、p≠jであるもの)は、項計算受信部1801−j−p,1802−j−p(p=1,2,…,j−1)、又は項計算送信部1803−j−p,1804−j−p(p=j+1,j+2,…,t)からの出力を受け取り、それらを加算して、係数乗算部1806−j−p(p=1,2,…,tであり、a≠jであるもの)へ出力する。項計算受信部1801−j−p又は項計算送信部1803−j−pからの出力をDdj , pとし、項計算受信部1802−j−p又は項計算送信部1804−j−pからの出力をEdj , pとすると、加算部1805−j−pにおいては、Ddj , p+Edj , pを計算して、その計算結果を係数乗算部1806−j−pへ出力する。
【0127】
係数乗算部1806−j−p(p=1,2,…,tであり、p≠jであるもの)は、加算部1805−j−p(p=1,2,…,tであり、p≠jであるもの)からの出力を受け取り、次式(43)で計算される係数を乗算して出力する。
【数22】
【0128】
加算部1805−j−pからの出力をFdj , pとすると、係数乗算部1806−j−pは、rdp×Fdj , pを計算して、その計算結果を出力する。係数乗算部1806−j−p(p=1,2,…,tであり、p≠jであるもの)からの出力(全部でt−1個の出力)が、ij項計算部1702−jからの出力となる。
【0129】
次に、図22を用いて、項計算受信部1801−j−p,1802−j−p(p=1,2,…,j−1)の構成を説明する。項計算受信部1801−j−p,1802−j−p(p=1,2,…,j−1)は、インデックス計算送信部1901−j及び受信復元部1902−jからなる。項計算受信部1801−j−pは、ij項計算部1702−jの2つの入力のうち一つの入力を受け取り、項計算受信部1802−j−pは、他の一つの入力を受け取る。ここでは、項計算受信部1801−j−pへの入力をAdj、項計算受信部1802−j−pへの入力をBdjとおく。項計算受信部1801−j−pと1802−j−pは、内部的に同じ構造なので、ここでは、項計算受信部1801−j−pについて説明し、項計算受信部1802−j−pに相当する説明は、括弧〔 〕の中に記述する。項計算受信部1801−j−p 〔1802−j−p〕 への入力は、インデックス計算送信部1901−jへ入力される。インデックス計算送信部1901−jからの出力は、受信復元部1902−jへ入力される。受信復元部1902−jからの出力が項計算受信部1801−j−p 〔1802−j−p〕 からの出力となる。
【0130】
インデックス計算送信部1901−jは、項計算受信部1801−j−p 〔1802−j−p〕 への入力Adj 〔Bdj〕 を受け取り、次式(44)及び(44′)で示す計算を施して、A’dj , p 〔B’dj , p〕 を計算し、秘密通信路303を通して、仮メンバIDがdpであるメンバへ送信する(p=1,2,…,j−1)。
【数23】
【0131】
上記式(44)及び(44′)において、h及びgは、有限体GF(q)上の2つの生成元とし、rAj , p 〔rBj , p〕 は、乱数として有限体GF(q)上の値を選ぶ。また、インデックス計算送信部1901−jは、上記式(44)〔(44′)〕 で用いた乱数rAj , p 〔rBj , p〕 を受信復元部1901−jへ出力する。
【0132】
受信復元部1901−jは、仮メンバIDがdp(p=1,2,…,j−1)であるメンバからq個(qは有限体GF(q)の要素数)の情報を受け取り、Adj番目の情報D’dj , p 〔Bdj番目の情報E’dj , p〕 を用いて、次式(45)及び(45′)で計算することにより、目的とする値Ddj , p 〔Edj , p〕 を計算する(それ以外の受け取った情報は、仮メンバIDがdjであるメンバにとっては、乱数に見える)。D’dj , p 〔E’dj , p〕 は、2つの情報、D’1dj , p及びD’2dj , p 〔E’1dj , p及びE’2dj , p〕 から成っているものとする。
【数24】
上記式(45)及び(45′)で計算されるDdj , p 〔Edj , p〕 が、受信復元部1902−jの出力となり、項計算受信部1801−j−p 〔1802−j−p〕 からの出力となる。
【0133】
次に、図23を用いて、項計算送信部1803−j−p,1804−j−p(p=j+1,j+2,…,t)の構成を説明する。図23に示されるように、項計算送信部1803−j−p,1804−j−p(p=j+1,j+2,…,t)は、乱数生成部2001−jと、有限体要素生成部2002−jと、乗数計算送信部2003−j−a(a=1,2,…,q)とを有している。項計算送信部1803−j−p,1804−j−p(p=j+1,j+2,…,t)への入力は、乱数生成部2001−j及び有限体要素生成部2002−jからの出力とともに、乗数計算送信部2003−j−a(a=1,2,…,q)へ入力される。乱数生成部2001−jからの出力が、項計算送信部1803−j−p,1804−j−p(p=j+1,j+2,…,t)からの出力となる。項計算送信部1803−j−pは、ij項計算部1702−jの2つの入力のうち一つの入力を受け取り、項計算送信部1804−j−pは、他の一つの入力を受け取る。ここでは、項計算送信部1803−j−pへの入力をAdj、項計算送信部1804−j−pへの入力をBdjとおく。項計算送信部1803−j−pと1804−j−pは、内部的に同じ構造なので、ここでは、項計算送信部1803−j−pについて説明し、項計算送信部1804−j−pに相当する説明は、括弧〔 〕の中に記述する。
【0134】
乱数生成部2001−jは、有限体GF(q)上の値の乱数を生成して出力する。乗数計算送信部2003−j−a(a=1,2,…,q)へは、同じ乱数が出力される。乱数生成部2001−jからの出力が項計算送信部1803−j−p 〔1804−j−p〕 (p=j+1,j+2,…,t)からの出力となる。
【0135】
有限体要素生成部2002−jは、有限体GF(q)上の値を0,1,…,q−1と、順次生成し、それぞれ、乗数計算送信部2003−j−a(a=1,2,…,q)へ出力する。すなわち、乗数計算送信部2003−j−1へは0を、乗数計算送信部2003−j−2へは1を、乗数計算送信部2003−j−iへはi−1を、乗数計算送信部2003−j−qへはq−1を、出力する。
【0136】
乗数計算送信部2003−j−a(a=1,2,…,q)は、項計算送信部1803−j−p 〔1804−j−p〕 (p=j+1,j+2,…,t)から入力される値Adj 〔Bdj〕 、乱数生成部2001−jからの乱数を、有限体要素生成部2002−jから対応する有限体要素a−1を、秘密通信路303を通して仮メンバIDがdp(p=j+1,j+2,…,t)であるメンバからの情報(他のメンバの項計算受信部1801−p−j 〔1802−p−j〕 のインデックス計算送信部1901−pからの出力)A’dp,j 〔B’dp,j〕 を、受け取り、それらの入力から計算をして、計算結果を出力する。乗数計算送信部2003−j−a(a=1,2,…,q)からの出力、合計q個の出力は、秘密通信路303を通して、aの小さい順に、仮メンバIDがdp(p=j+1,j+2,…,t)であるメンバへ送信する。
【0137】
今、乱数生成部2001−jからの出力をDdj , p 〔Edj , p〕 とする。また、秘密通信路303を通して受信する値を、A’dp,j(項計算送信部1803−j−pに相当) 〔B’dp,j(項計算送信部1804−j−pに相当)〕 とする。有限体要素生成部2002−jから乗数計算送信部2003−j−a(a=1,2,…,q)へは、a−1が入力される。乗数計算送信部2003−j−a(a=1,2,…,q)は、次式(46)、(46′)、(47)、(47′)、(48)、(48′)の計算を行い、D’dp,j , a 〔E’dp,j , a〕 をそれぞれ計算し(D’dp,j , a 〔E’dp,j , a〕 は式(45)〔式(45′)〕 の説明で述べたように2つの値からなる)、秘密通信路303を通して仮メンバIDがdp(p=j+1,j+2,…,t)であるメンバへ、a=1,2,…,qの順に送信する。
【0138】
【数25】
【0139】
上記式において、kAa 〔kBa〕(a=1,2,…,q)は、それぞれ、q個の有限体GF(q)上の値の乱数である。これらの出力D’dp,j , a又はE’dp,j , aを秘密通信路303を通して、仮メンバIDがdp(p=1+1,j+2,…,t)であるメンバの項計算受信部1801−p−j 〔項計算受信部1802−p−j〕 が受け取ると、受け取ったメンバは、a=Adp,j 〔Bdp,j〕 に相当するa番目の情報D’dp,j=D’dp,j , a 〔E’dp,j=E’dp,j , a〕 を式(45) 〔式(45′)〕 で復号することができる(それ以外の受け取った情報は、仮メンバIDがdpであるメンバにとっては、乱数に見える)。
【0140】
このように、図20から図23までに示されるような構成を採用した場合には、“(2)分散乗算部”1205−j−a,1206−j−aにおける式(29)の制限をなくすことができる(すなわちk’≦tまで、しきい値k’の範囲を拡大することができる)。
【0141】
[第4の実施形態の動作]
第4の実施形態に係る秘密再構成方法における動作は、上記第3の実施形態における動作とほぼ同じであり、図19のフローチャートとほぼ同じであるが、図19のステップS1603の動作に、異なる点を持つ。上記第3の実施形態においては、ステップS1603の計算に用いる“(2)分散乗算部”1205−j−a,1206−j−aは、図16のような構成で計算処理を行っていたが、第4の実施形態においては、図20のような構成で計算処理を行う。
【0142】
[第4の実施形態の効果]
以上説明したように、第4の実施形態によれば、上記第1、第2、第3の実施形態と同様に、もとの秘密情報Sを再構成するために集まったメンバの持つ分散情報を、他のメンバに公開せずに、もとの秘密情報Sを再構成することができる。したがって、各メンバが持つ分散情報を、次回の秘密再構成の際に再利用することができる。しかも、秘密再構成を行う第三者的なセンターのようなものを必要とせずに、上記の効果を達成することができる。
【0143】
また、第4の実施形態においては、上記第3の実施形態と同様な効果を得ることができるだけでなく、上記第3の実施形態における、分散計算に用いる(k’,t)しきい値秘密分散法のしきい値k’の制限、
k’≦(t+1)/2 …(29)
を取り払い、k’≦tまで、しきい値k’のとり得る範囲を広げることができる。
【0144】
≪第5の実施形態≫
[第5の実施形態の概要]
上記第3の実施形態においては、図15に示される分散逆元計算部1203−j−a(j=1,2,…,tであり、a=1,2,…,tである。)は、図18に示されるように、(qb−1)個の“(2)分散乗算部”を有している。これに対し、以下に説明する第5の実施形態によれば、分散逆元計算部1203−j−a内に備えられる“(2)分散乗算部”の個数を減らすことができる。
【0145】
分散逆元計算部1203−j−aへ入力される値をAjとし、この入力Ajと他のメンバの分散逆元計算部1203−p−aへ入力されるAp(p=1,2,…,tであり、p≠jである。)の、t個の値Ap(p=1,2,…,t)を分散情報として再構成されるようなもとの秘密情報をAとすると、分散逆元計算部1203−j−aは、もとの秘密情報Aの有限体GF(q)上の逆元C=A−1の、仮メンバIDがdjであるメンバに対する分散情報Cjを計算する。第5の実施形態においては、分散逆元計算部1203−j−aへの入力値Aj(j=1,2,…,t)に、各メンバそれぞれが生成した乱数Bj(j=1,2,…,t)を用いて分散乗算することにより、入力値Ajを隠蔽した上で、その乱数Bjを分散乗算された値Uj(j=1,2,…,t)を公開し、Ujを分散情報として再構成されるようなもとの秘密Uを再構成する。もとの秘密情報Uの逆元U−1を算出し、逆元U−1の分散情報U−1 jを各メンバに分散する。各メンバは、その受け取った分散情報U−1 jと発生させた乱数Bjから、求める値Cj=A−1 jを得る。
【0146】
[第5の実施形態の構成]
第5の実施形態の秘密再構成方法を実施する構成(第5の実施形態に係る秘密再構成システム)は、上記第3の実施形態に係る秘密再構成方法を実施する構成とほぼ同じであるが、図15の分散逆元計算部1203−j−a(j=1,2,…,tであり、a=1,2,…,tである。)の構成のみが異なる。第5の実施形態の説明においては、上記第3の実施形態と異なる部分、すなわち、分散逆元計算部1203−j−aの構成のみを説明する。
【0147】
図24(a)及び(b)を用いて、第5の実施形態の分散逆元計算部1203−j−a(j=1,2,…,tであり、a=1,2,…,tである。)の構成を説明する。図24(a)は、集まったメンバのうち、ある代表メンバを一つ決定し(その仮メンバIDをdjとする)、そのメンバの分散逆元計算部1203−j−a(a=1,2,…,t)の構成を表している。この代表メンバは、どのように決定してもよいが、例えば、仮メンバIDが最小(又は最大)であるメンバにすると予め決めておくことで可能である。また、図24(b)は、その代表メンバ以外のメンバ(仮メンバIDをdi(i=1,2,…,tであり、i≠jであるもの)とする)の分散逆元計算部1203−i−a(a=1,2,…,t)の構成を表している。
【0148】
まず、代表メンバの分散逆元計算部1203−j−a(図24(a))を説明する。図24(a)に示されるように、代表メンバの分散逆元計算部1203−j−aは、乱数生成部2101−jと、“(2)分散乗算部”2102−jと、2106−jと、線形結合計算部2103−jと、逆元計算部2104−jと、、秘密分散計算部2105−jとを有する。分散逆元計算部1203−j−aへの入力(Adjとする)は、乱数生成部2101−jからの出力とともに、“(2)分散乗算部”2102−jへ入力される。“(2)分散乗算部”2102−jからの出力は、線形結合計算部2103−jへ入力され、線形結合計算部2103−jからの出力は、逆元計算部2104−jへ入力され、さらに、逆元計算部2104−jからの出力は、秘密分散計算部2105−jへ入力される。秘密分散計算部2105−jからの出力は、乱数生成部2101−jからの出力とともに“(2)分散乗算部”2106−jへ入力される。“(2)分散乗算部”2106−jからの出力が、代表メンバの分散逆元計算部1203−j−aからの出力となる。
【0149】
乱数生成部2101−jは、有限体GF(q)上の値の乱数を生成して出力する。出力先は、“(2)分散乗算部”2102−j及び2106−jで、両方に同じ乱数を出力する。
【0150】
“(2)分散乗算部”2102−jは、分散逆元計算部1203−j−aへの入力Adj及び乱数生成部2101−jからの出力を受け取り、それらを入力として、秘密通信路303からの情報を用いながら演算を行い、その演算結果を、線形結合計算部2103−jへ出力する。第5の実施形態における“(2)分散乗算部”2102−jの構成は、図16の“(2)分散乗算部”1205−j−a,1206−j−aの構成、又は、図20の“(2)分散乗算部”1205−j−a,1206−j−aの構成と同じである。
【0151】
線形結合計算部2103−jは、“(2)分散乗算部”2102−jの出力結果、及び、秘密通信路303を通して他のメンバからの“(2)分散乗算部”2102−i(後述する図24(b)、i=1,2,…,tであり、i≠jであるもの)の出力結果を受け取り、線形結合計算を行い、計算結果を逆元計算部2104−jへ出力する。第5の実施形態における線形結合計算部2103−jの構成は、図9の線形結合計算部702−jの構成と同様なものである。“(2)分散乗算部”2102−jの出力結果をUdjとし、秘密通信路303を通して他のメンバからの“(2)分散乗算部”2102−i(後述する図24(b)、i=1,2,…,tでi≠jであるもの)の出力結果をUdi(i=1,2,…,tであり、i≠jであるもの)とすると、線形結合計算部2103−jは、前述した式(25)及び(26)と同様な次式(49)及び(50)を計算し、その結果Uを逆元計算部2104−jへ出力する。
【数26】
【0152】
逆元計算部2104−jは、線形結合計算部2103−jからの出力Uを受け取り、その逆元U−1を計算して、秘密分散計算部2105−jへ出力する。有限体GF(q)上の逆元は、もとの逆元をとりたい要素をq−2回乗算する次式(51)、すなわち、
U−1=Uq−2 …(51)
で計算することもできる。また、ユークリッドの互除法を用いて計算することもできる。
【0153】
秘密分散計算部2105−jは、逆元計算部2104−jからの出力U−1を受け取り、この出力U−1を分散して、他のメンバに秘密通信路303を通して配布する。第5の実施形態における秘密分散計算部2105−jの構成は、図16の秘密分散計算部1302−jの構成と同様なものである。第5の実施形態における秘密分散計算部2105−jは、次式(52)のk’−1次多項式f4(x)を作る
【数27】
ここで、R4,1,R4,2,…,R4,k ’ −1は、乱数として有限体GF(q)上の値をk’−1個選んだものである。
【0154】
秘密分散計算部2105−jは、仮メンバIDがdp(p=1,2,…,t)であるメンバに対して配布する分散情報U−1dpを、上記式(52)を用いて次式(53)のように計算する。
【数28】
【0155】
秘密分散計算部2105−jは、自分自身に対する分散情報U−1djは、“(2)分散乗算部”2106−jへ出力し、その他の分散情報U−1dp(p=1,2,…,tであり、p≠jであるもの)を秘密通信路303を通して各メンバに配布する。
【0156】
“(2)分散乗算部”2106−jは、乱数生成部2101−jからの出力と、秘密分散計算部2105−jからの出力U−1djを受け取り、それらを入力として、秘密通信路303からの情報を用いながら演算を行い、その演算結果を出力する。第5の実施形態における“(2)分散乗算部”2106−jの構成は、図16の“(2)分散乗算部”1205−j−a,1206−j−aの構成、又は、図20の“(2)分散乗算部”1205−j−a,1206−j−aの構成と同じである。第5の実施形態においては、図24(a)に示されるように、“(2)分散乗算部”2106−jからの出力が、仮メンバIDがdjである代表メンバの分散逆元計算部1203−j−aからの出力となる。
【0157】
次に、図24(b)を用いて、代表メンバ以外のメンバ(仮メンバIDをdi(i=1,2,…,tであり、i≠jであるもの)とする)の分散逆元計算部1203−i−a(a=1,2,…,t)の構成を説明する。図24(b)に示されるように、代表メンバ以外のメンバの分散逆元計算部1203−i−a(a=1,2,…,t)は、乱数生成部2101−iと、“(2)分散乗算部”2102−i,2106−iと、公開送信部2107−iと、公開受信部2108−iとを有する。乱数生成部2101−iからの出力は、代表メンバ以外のメンバの分散逆元計算部1203−i−aへ入力される入力Adiとともに、“(2)分散乗算部”2102−iへ入力される。また、乱数生成部2101−iからの出力は、“(2)分散乗算部”2106−iへも入力される。“(2)分散乗算部”2102−iからの出力は、公開送信部2107−iへ入力される。乱数生成部2101−iからの出力は、公開受信部2108−iからの出力とともに、“(2)分散乗算部”2106−iへ入力される。“(2)分散乗算部”2106−iからの出力が、代表メンバ以外のメンバの分散逆元計算部1203−i−aからの出力となる。
【0158】
図24(b)の乱数生成部2101−iの構成及び動作は、図24(a)の乱数生成部2101−jの構成及び動作と同様である。また、図24(b)の“(2)分散乗算部”2102−i,2106−iの構成及び動作は、図24(a)の“(2)分散乗算部”2102−j,2106−jの構成及び動作と同様である。
【0159】
公開送信部2107−iは、“(2)分散乗算部”2102−iからの出力を受け取り、それを、秘密通信路303を通して、代表メンバへ送信する。“(2)分散乗算部”2102−iからの出力をUdiとすると、代表メンバ以外の公開送信部2107−i(i=1,2,…,tであり、i≠jであるもの)からの出力Udiを、秘密通信路303を通して、代表メンバの線形結合計算部2103−jへ送信し、代表メンバの線形結合計算部2103−jは合計でt−1個のUdi(i=1,2,…,tであり、i≠jであるもの)を受け取る。
【0160】
公開受信部2108−iは、秘密通信路303を通して、代表メンバの秘密分散計算部2105−jからU−1diを受け取り、それを“(2)分散乗算部”2106−iへ入力する。
【0161】
“(2)分散乗算部”2106−iは、乱数生成部2101−iからの出力、及び、公開受信部2108−iからの出力を受け取り、それらを入力として、秘密通信路303からの情報を用いながら演算を行い、その演算結果を出力する。第5の実施形態における“(2)分散乗算部”2106−iの構成は、図16の“(2)分散乗算部”1205−j−a,1206−j−aの構成、又は、図20の“(2)分散乗算部”1205−j−a,1206−j−aの構成と同じである。図24(b)に示されるように、“(2)分散乗算部”2106−iからの出力が、代表メンバ以外のメンバの分散逆元計算部1203−i−aからの出力となる。
【0162】
このように、図24の構成をとると、分散逆元計算部1203−i−aの“(2)分散乗算部”の個数を減らすことができ、処理を簡素化することができる。
【0163】
[第5の実施形態の動作]
第5の実施形態に係る秘密再構成方法における動作は、上記第3の実施形態における動作とほぼ同じであり、図19のフローチャートとほぼ同じであるが、図19のステップS1603の動作が、異なる点を持つ。上記第3の実施形態においては、ステップS1603の計算に用いる分散逆元計算部1203−i−aは、図18のような構成により計算処理を行っていたが、第5の実施形態においては、図24のような構成により計算処理を行う。
【0164】
[第5の実施形態の効果]
以上説明したように、第5の実施形態によれば、上記第1、第2、第3の実施形態と同様に、もとの秘密情報Sを再構成するために集まったメンバの持つ分散情報を、他のメンバに公開せずに、もとの秘密情報Sを再構成することができる。したがって、各メンバが持つ分散情報を、次回の秘密再構成の際に再利用することができる。しかも、秘密再構成を行う第三者的なセンターのようなものを必要とせずに、上記の効果を達成することができる。
【0165】
また、第5の実施形態においては、上記第3の実施形態と同様な効果を得ることができるだけでなく、上記第3の実施形態における、分散逆元計算部1203−j−a(j=1,2,…,t、a=1,2,…,t)の“(2)分散乗算部”の個数を格段に減らすことができる。
【0166】
≪変形例≫
[第1の実施形態の変形例]
上記第1の実施形態においては、メンバのうち、どの2人のメンバ間にも、その2人のメンバ以外には通信内容を秘密とすることができる秘密通信路が確立されていることを前提としていたが、マルチパーティ・プロトコルで用いる秘密分散法に、加算秘密分散法を用いているため、すべてを盗聴されていたとしても秘密再構成は不可能であり、秘密通信路ではなく、秘密通信路ではない(盗聴される可能性のある)通信路で通信してもよい。
【0167】
[第3の実施形態の変形例]
図25は、本発明の第3の実施形態の変形例における項計算部1101−j−aの構成を示すブロック図である。上記第3の実施形態における項計算部1101−j−aにおいては、図15(第3の実施形態)に示されるように、“(2)分散乗算部”1205−j−a及び“(2)分散乗算部”1206−j−aは、項計算部1101−j−aへ入力されるXm’a,jと、分散逆元計算部1203−j−aからの出力と、“(t−1)分散乗算部”1204−j−aからの出力とを分散計算により掛け合わす処理を行っていたが、図15に示される“(2)分散乗算部”1205−j−a及び“(2)分散乗算部”1206−j−aを、図25に示されるように、1つの“(3)分散乗算部”1207−j−aに置き換えることも可能である。図25に示されるように、“(3)分散乗算部”1207−j−aは、入力される3つの値の分散乗算を行う部分であり、“(t−1)分散乗算部”1202−j−a,1204−j−aと同様な構成(すなわち、t−1=3とした構成)で実施できる。
【0168】
また、上記第3の実施形態においては、図17(第3の実施形態)に示されるように、“(t−1)分散乗算部”1202−j−a,1204−j−aは、入力される値を、A1,A2,…,A(t−1)と、Aのインデックス(下付き添え字)が小さい順に分散乗算するように構成している。しかし、分散乗算の順序は入れ替え可能なので、必ずしもこの順番(Aのインデックス(下付き添え字)が小さい順)に分散乗算するように構成する必要はない。
【0169】
[第2の実施形態の変形例]
上記第2の実施形態においては、分散秘密再構成計算部601−jの秘密分散計算部701−j、及び、秘密再構成計算部602が、それぞれ、(k’、t)しきい値秘密分散法による、秘密分散、及び、秘密再構成を行っている場合を説明したが、これに代えて、加算秘密分散法による、秘密分散、及び、秘密再構成を行うように構成してもよい。その場合には、秘密再構成計算部602において計算する上記式(22)及び(4)に代えて、次式(54)のような計算処理を行う。
【数29】
また、秘密分散計算部701−jにおいて計算する上記式(23)及び(24)に代えて、次のような計算により分散情報Xm’j,pを求める。まず、乱数として有限体GF(q)の値をt−1個選んで、分散情報Xm’j,p(p=1、2、…、t−1)に割り当て、Xm’j,tを次式(55)のように求める。
Xm’j,t
=Xm’j−(Xm’j,1+Xm’j,2+…+Xm’j,t−1) (55)
【0170】
[第4の実施形態の変形例]
図26は、本発明の第4の実施形態の変形例におけるij項計算部1702−jの構成を示すブロック図である。上記第4の実施形態においては、第3の実施形態に係る秘密再構成方法における分散計算に用いる(k’,t)しきい値秘密分散法のしきい値k’の式(29)の制限を取り払うことができるので、(k’,t)しきい値秘密分散法の代わりに、加算秘密分散法を用いることができる。分散秘密再構成計算部902−jの秘密分散計算部1001−jにおける計算処理、秘密再構成計算部903における計算処理、及び、“(2)分散乗算部”1205−j−a,1206−j−aにおけるjj項計算部1701−jにおける計算処理とij項計算部1702−jにおける構成を変更することにより、分散計算に用いる秘密分散法を加算秘密分散計算法に変更することができる。まず、分散秘密再構成計算部902−jの秘密分散計算部1001−jにおける計算処理は、式(29′)及び(30)を用いて分散情報Xm’j,pを求める代わりに、次のような計算処理に変更する。まず、乱数として有限体GF(q)の値をt−1個選んで、Xm’j,p(p=1,2,…,t−1)に割り当て、Xm’j,tを次式(56)のように求める。
Xm’j,t
=Xm’j−(Xm’j,1+Xm’j,2+…+Xm’j,t−1) (56)
また、秘密再構成計算部903における計算処理は、式(27)及び(28)を用いる代わりに、次式(57)のような計算処理に変更する。
【数30】
さらに、上記第4の実施形態においては、図21(第4の実施形態)に示されるように、“(2)分散乗算部”1205−j−a,1206−j−aにおけるjj項計算部1701−jにおける計算処理は、“(2)分散乗算部”1205−j−a,1206−j−aに入力される2つの入力Adj,Bdjを受け取りそれらを乗算して、式(41)で計算される係数rdjをさらに乗算する。しかし、第4の実施形態の変形例においては、図26に示されるように、“(2)分散乗算部”1205−j−a,1206−j−aは、係数rdjの乗算を省略するように構成されている。すなわち、第4の実施形態の変形例においては、Adj×Bdjを計算して出力するようにするため、図21(第4の実施形態)に示される係数乗算部1806−j−i(i=1,2,…,j−1,j+1,…,t)の構成部分が削除されている。
【0171】
[第5の実施形態の変形例]
図27(a)及び(b)は、本発明の第5の実施形態の変形例における分散逆元計算部1203−j−a,1203−i―aの構成を示すブロック図である。上記第5の実施形態においては、第3の実施形態に係る秘密再構成方法における分散計算に用いる(k’,t)しきい値秘密分散法のしきい値k’の式(29)の制限を取り払うことができる場合も考慮でき、その場合には、(k’,t)しきい値秘密分散法の代わりに、加算秘密分散法を用いることができる。上記の第4の実施形態の変更(すなわち、分散秘密再構成計算部902−jの秘密分散計算部1001−jにおける計算処理、秘密再構成計算部903における計算処理、及び、“(2)分散乗算部”1205−j−a,1206−j−aにおけるjj項計算部1701−jにおける計算処理とij項計算部1702−jにおける構成を変更する)に加え、さらに、分散逆元計算部1203−j−a,1203−i−aを図24(第5の実施形態)の構成から図27(第5の実施形態の変形例)のような構成に変更することにより、分散計算に用いる秘密分散法を加算秘密分散計算法に変更することができる。線形結合計算部2103−jを、“(t)加算部”2109−jに変更し、秘密分散計算部2105−j内の計算処理を変更する。秘密分散計算部2105−jの処理を変更するので、図27では、符号2110−jを付与する。“(t)加算部”2109−jは、“(2)分散乗算部”2102−jの出力結果、及び、秘密通信路303を通して他のメンバからの“(2)分散乗算部”2102−i(i=1,2,…,tであり、i≠jであるもの)の出力結果を受け取り、それらをすべて加算して、計算結果を逆元計算部2104−jへ出力する。“(2)分散乗算部”2102−jの出力結果をUdjとし、秘密通信路303を通して他のメンバからの“(2)分散乗算部”2102−i(i=1,2,…,tであり、i≠jであるもの)の出力結果をUdi(i=1,2,…,tであり、i≠jであるもの)とすると、線形結合計算部2103−jでは、式(49)および(50)の計算処理を行って、その結果のUを出力していたが、“(t)加算部”2109−jは、次式(58)を計算し、その結果Uを逆元計算部2104−jへ出力する。
【数31】
また、秘密分散計算部2105−jの処理を変更した秘密分散計算部2110−jは、逆元計算部2104−jからの出力U−1を受け取り、この出力U−1を分散して他のメンバに秘密通信路303を通して配布する。秘密分散計算部2105−jは、式(52)及び(53)の計算処理を行って分散情報U−1dp(p=1,2,…,t)を求めていたが、秘密分散計算部2110−jは、次のように分散情報U−1dp(p=1,2,…,t)を求める。まず、乱数として有限体GF(q)の値をt−1個選んで、U−1dp(p=1,2,…,t−1)に割り当て、U−1dtを次式のように求める。
U−1dt
=U−1−(U−1d1+U−1d2+…+U−1dt−1) (59)
【0172】
[他の変形例]
上記第4の実施形態(及び上記第4の実施形態の変形例)における、“(2)分散乗算部”1205−j−a,1206−j−aにおいて、▲1▼項計算受信部1801−j−p(p=1,2,…,j−1)を項計算送信部に置き換え、さらに、項計算送信部1803−j−p(p=j+1,j+2,…,t)を項計算受信部に置き換えた構成、又は、▲2▼項計算受信部1802−j−p(p=1,2,…,j−1)を項計算送信部に置き換え、さらに、項計算送信部1804−j−p(p=j+1,j+2,…,t)を項計算受信部に置き換えた構成、又は、▲3▼項計算受信部をすべて項計算送信部に、さらに、項計算送信部をすべて項計算受信部に置き換えた構成、などの構成でも、同様の効果を得ることができる。
【0173】
また、上記第4の実施形態(及び上記第4の実施形態の変形例)における、“(2)分散乗算部”1205−j−a,1206−j−aにおいて、項計算送信部1801−j−p(又は1802−j−p)と項計算受信部1803−p−j(又は1804−p−j)との間の秘密通信路303における情報のやり取りは、式(44)(又は式(44′))や式(46)〜(48)(又は式(46′)〜(48′))のように、暗号化されたような情報、すなわち、法qのもとにおける離散対数を計算することが困難であること利用して送りたい情報を隠蔽している情報なので、とくに秘密に通信する必要はない。式(44)(又は式(44′))においては、送りたい情報Adj(又はBdj)を有限体GF(q)の生成元hのべき数として隠蔽し、式(46)〜(48)(又は式(46′)〜(48′))で得られる情報から得るべき必要な情報Adj(a−1)−Ddj , p(又はBdj(a−1)−Edj , p)は、式(44)(又は式(44′))で用いた乱数rAp,j(又はrBp,j)を知らないと算出できないようになっている。したがって、上記における通信においては、秘密通信路ではない通信路(すなわち、放送型の通信路や盗聴される可能性のある通信路)で通信してもよい。
【0174】
また、上記第5の実施形態(及び上記第5の実施形態の変形例)における、分散逆元計算部1203−j−aにおいて、代表メンバの分散逆元計算部1203−j−aにおける線形結合計算部2103−j(及び“(t)加算部”2109−j)、逆元計算部2104−j、及び秘密分散計算部2105−j(2110−j)の処理(各メンバから“(2)分散乗算部”2102−iからの出力を集めて線形結合計算(加算)を行い、その結果の逆元を求め、求めた逆元をさらに秘密分散して各メンバに配布する処理)は、統合するセンターのようなものが行い、代表メンバなしで実施する、すなわち、集まったメンバすべての分散逆元計算部2103−j−aが、図24(b)のような構成をとることもできる。
【0175】
また、上記第5の実施形態(及び上記第5の実施形態の変形例)における、分散逆元計算部1203−j−aにおいて、代表メンバの線形結合計算部2103−j(及び“(t)加算部”2109−j)、と秘密通信路303との情報のやり取り(すなわち、代表メンバ以外のメンバの公開送信部2107−iと秘密通信路303との情報のやり取り)、及び、代表メンバの秘密分散計算部2105−jと秘密通信路303との情報のやり取り(すなわち、代表メンバ以外のメンバの公開受信部2108−iと秘密通信路303との情報のやり取り)は、とくに秘密に通信する必要はないので、放送型の通信路や盗聴される可能性のある通信路で通信してもよい。
【0176】
また、上記第1〜第5の実施形態においては「メンバ」を、演算記憶装置であるとして説明したが、本発明に係る秘密再構成方法は、複数のメンバ(人間)が分散情報を持ち寄って、複数の人間が秘密再構成処理を進めることもできる。
【0177】
さらに、上記第1〜第5の実施形態において、上記第1〜第3の実施形態の説明の効果として記述したように、集まった複数人からなるグループ全員が正当メンバ(予め秘密情報Sの分散情報を配布されたメンバ)か、そうでない人(装置)が混在するか、ということを認証するような機能があるので、その場合には、「もとの秘密情報S」は、照合秘密情報S(予め登録されている情報で、認証が成立するか否かを、再構成結果と照らし合わせる情報)として用いるため、必ずしもメンバに秘密な情報でなくても実現できる。
【0178】
【発明の効果】
以上説明したように、本発明によれば、各メンバが保有する分散情報又はメンバIDを公開せずに、もとの秘密情報の再構成を行うことができるという効果が得られる。
【図面の簡単な説明】
【図1】(k,n)しきい値秘密分散法を実施する構成を示す図である。
【図2】本発明の第1の実施形態における秘密分散法を実施する構成を示す図である。
【図3】本発明の第1の実施形態における各メンバ及び秘密通信路を示す図である。
【図4】本発明の第1の実施形態に係る秘密再構成方法の概要を説明するための図である。
【図5】本発明の第1の実施形態に係る秘密再構成方法を実施する構成(秘密再構成システム)を示すブロック図である。
【図6】図5の分散秘密再構成計算部(分散秘密再構成装置)の構成を示すブロック図である。
【図7】本発明の第1の実施形態に係る秘密再構成方法における動作を示すフローチャートである。
【図8】本発明の第2の実施形態に係る秘密再構成方法を実施する構成(秘密再構成システム)を示すブロック図である。
【図9】図8の分散秘密再構成計算部(分散秘密再構成装置)の構成を示すブロック図である。
【図10】本発明の第2の実施形態に係る秘密再構成方法における動作を示すフローチャートである。
【図11】本発明の第3の実施形態に係る秘密再構成方法の概要を説明するための図である。
【図12】本発明の第3の実施形態に係る秘密再構成方法を実施する構成(秘密再構成システム)を示すブロック図である。
【図13】図12の分散秘密再構成計算部(分散秘密再構成装置)の構成を示すブロック図である。
【図14】図13の分散処理部の構成を示すブロック図である。
【図15】図14の項計算部の構成を示すブロック図である。
【図16】図15の“(2)分散乗算部”の構成を示すブロック図である。
【図17】図15の“(t−1)分散乗算部”の構成を示すブロック図である。
【図18】図15の分散逆元計算部の構成を示すブロック図である。
【図19】本発明の第3の実施形態に係る秘密再構成方法における動作を示すフローチャートである。
【図20】本発明の第4の実施形態に係る秘密再構成方法で使用される“(2)分散乗算部”の構成を示すブロック図である。
【図21】図20のij項計算部の構成を示すブロック図である。
【図22】図21の項計算受信部の構成を示すブロック図である。
【図23】図21の項計算送信部の構成を示すブロック図である。
【図24】本発明の第5の実施形態に係る秘密再構成方法で使用される分散逆元計算部の構成を示すブロック図である。
【図25】本発明の第3の実施形態の変形例における項計算部の構成を示すブロック図である。
【図26】本発明の第4の実施形態の変形例におけるij項計算部の構成を示すブロック図である。
【図27】本発明の第5の実施形態の変形例における分散逆元計算部の構成を示すブロック図である。
【符号の説明】
201 秘密分散計算部、
301 メンバの分散秘密再構成計算部(分散秘密再構成装置)、
301−j メンバjの分散秘密再構成計算部、
302 秘密再構成装置の秘密再構成計算部、
303 秘密通信路、
401−j メンバjのの秘密分散計算部、
402−j メンバjの“(n)加算部”、
601 メンバの分散秘密再構成計算部(分散秘密再構成装置)、
601−j メンバIDがmjであるメンバの分散秘密再構成計算部、
602 秘密再構成装置の秘密再構成計算部、
701−j メンバIDがmjであるメンバの秘密分散計算部、
702−j メンバIDがmjであるメンバの線形結合計算部、
901 仮メンバID生成部、
902 メンバの分散秘密再構成計算部(分散秘密再構成装置)、
902−j 仮メンバIDがdjであるメンバの分散秘密再構成計算部、
903 秘密再構成装置の秘密再構成計算部、
1001−j 仮メンバIDがdjであるメンバの秘密分散計算部、
1002−j 仮メンバIDがdjであるメンバの分散処理部、
1101−j−a(a=1,2,…,t) 仮メンバIDがdjであるメンバの項計算部、
1102−j 仮メンバIDがdjであるメンバの“(t)加算部”、
1201−j−a(a=1,2,…,t) 仮メンバIDがdjであるメンバの差分計算部、
1202−j−a(a=1,2,…,t) 仮メンバIDがdjであるメンバの“(t−1)分散乗算部”、
1203−j−a(a=1,2,…,t) 仮メンバIDがdjであるメンバの分散逆元計算部、
1204−j−a(a=1,2,…,t) 仮メンバIDがdjであるメンバの“(t−1)分散乗算部”、
1205−j−a(a=1,2,…,t) 仮メンバIDがdjであるメンバの“(2)分散乗算部”、
1206−j−a(a=1,2,…,t) 仮メンバIDがdjであるメンバの“(2)分散乗算部”、
1301−j 仮メンバIDがdjであるメンバの乗算部、
1302−j 仮メンバIDがdjであるメンバの秘密分散計算部、
1303−j 仮メンバIDがdjであるメンバの線形結合計算部、
1401−1,…,1401−(t−2) “(2)分散乗算部”、
1501−1,…,1501−(qb−1) “(2)分散乗算部”、
1502 乗算制御部、
1503 (qb)分散乗算部、
1701−j 仮メンバIDがdjであるメンバのjj項計算部、
1702−j 仮メンバIDがdjであるメンバのij項計算部、
1703−j 仮メンバIDがdjであるメンバの“(t)加算部”、
1801−j−1,…,1801−j−(j−1) 仮メンバIDがdjであるメンバの項計算受信部、
1802−j−1,…,1802−j−(j−1) 仮メンバIDがdjであるメンバの項計算受信部、
1803−j−(j+1),…,1803−j−t 仮メンバIDがdjであるメンバの項計算送信部、
1804−j−(j+1),…,1804−j−t 仮メンバIDがdjであるメンバの項計算送信部、
1805−j−1,…,1805−j−(j−1),1805−j−(j+1),…,1805−j−t 仮メンバIDがdjであるメンバの加算部、
1806−j−1,…,1806−j−(j−1),1806−j−(j+1),…,1806−j−t 仮メンバIDがdjであるメンバの係数乗算部、
1901−j 仮メンバIDがdjであるメンバのインデックス計算送信部、
1902−j 仮メンバIDがdjであるメンバの受信復元部、
2001−j 仮メンバIDがdjであるメンバの乱数生成部、
2002−j 仮メンバIDがdjであるメンバの有限体要素生成部、
2003−j−1,…,2003−j−q 仮メンバIDがdjであるメンバの乗算計算送信部、
2101−j 仮メンバIDがdjであるメンバの乱数生成部、
2102−j 仮メンバIDがdjであるメンバの“(2)分散乗算部”、
2103−j 仮メンバIDがdjであるメンバの線形結合計算部、
2104−j 仮メンバIDがdjであるメンバの逆元計算部、
2105−j 仮メンバIDがdjであるメンバの秘密分散計算部、
2106−j 仮メンバIDがdjであるメンバの“(2)分散乗算部”、
2107−i 仮メンバIDがdjであるメンバの公開送信部、
2108−i 仮メンバIDがdjであるメンバの公開受信部、
S もとの秘密情報、
m1,m2,…,mn メンバID、
m’1,m’2,…,m’t 集まったメンバのメンバID、
d1,d2,…,dt 仮メンバID、
Xmj メンバIDがmjであるメンバに配布される分散情報、
Xmj , p メンバIDがmjであるメンバからメンバIDがmpであるメンバpに対して配布する分散情報、
Sj メンバjが分散再構成した分散情報。
Claims (35)
- 秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちのt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する秘密再構成方法において、
上記集まったt人のメンバのそれぞれが、秘密分散法を用いて、自分自身が保持する第1の分散情報からt個の第2の分散情報を生成し、上記集まったt人のメンバのそれぞれに配布する工程と、
上記集まったt人のメンバのそれぞれが、自分自身が生成した第2の分散情報及び他のメンバから自分自身が受け取った(t−1)個の第2の分散情報を用いた分散計算により、上記もとの秘密情報を再構成するためのt個の中間計算結果を生成する工程と、
上記t個の中間計算結果から、上記もとの秘密情報を再構成する工程と
を有することを特徴とする秘密再構成方法。 - 上記第1の分散情報は、上記n個の第1の分散情報をすべて加算した値が、上記もとの秘密情報となるような秘密分散法により得られたことを特徴とする請求項1に記載の秘密再構成方法。
- 上記第2の分散情報は、分散情報をすべて加算した値が第1の分散情報となるような秘密分散法により得られたことを特徴とする請求項1又は2のいずれかに記載の秘密再構成方法。
- あるメンバが生成した上記中間計算結果は、上記あるメンバ自身が生成した第2の分散情報及び上記あるメンバ自身が受け取った(t−1)個の第2の分散情報をすべて加算することによって得られたことを特徴とする請求項1から3までのいずれかに記載の秘密再構成方法。
- 上記n個の第1の分散情報は、上記メンバのそれぞれを識別するためのメンバIDを用いたしきい値秘密分散法により得られたことを特徴とする請求項1に記載の秘密再構成方法。
- 上記第2の分散情報は、上記集まったt人のメンバのそれぞれが持つ第1の分散情報を、メンバIDを用いたしきい値秘密分散法、又は、分散情報をすべて加算することにより秘密再構成を行うことができる秘密分散法を用いて秘密分散することにより得られたことを特徴とする請求項1又は5のいずれかに記載の秘密再構成方法。
- あるメンバが生成した上記中間計算結果は、上記あるメンバ自身が生成した第2の分散情報及び上記あるメンバ自身が受け取った(t−1)個の第2の分散情報を、上記あるメンバのメンバIDに基づく係数を用いて線形結合計算することによって得られたことを特徴とする請求項1、5、6のいずれかに記載の秘密再構成方法。
- 上記集まったt人のメンバに対して、互いに重複しない仮メンバIDを生成して配布する工程をさらに有し、
上記もとの秘密情報を再構成するための上記中間計算結果を、上記仮メンバIDを用いた分散計算により算出し、上記中間計算結果及び上記仮メンバIDから、上記もとの秘密情報を再構成する
ことを特徴とする請求項1、2、4、5、7のいずれかに記載の秘密再構成方法。 - 秘密分散法により上記集まったt人のメンバのメンバIDから第3の分散情報を生成し、上記集まったt人のメンバに配布する工程をさらに有することを特徴とする請求項1、3、5、6、8のいずれかに記載の秘密再構成方法。
- 秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちのt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する秘密再構成方法において分散計算を行う複数の分散秘密再構成装置の内の1台であって、上記各メンバが管理する分散秘密再構成装置において、
この分散秘密再構成装置が保有する第1の分散情報を秘密分散法を用いて分散し、第2の分散情報として他の分散秘密再構成装置に配布する秘密分散手段と、
上記秘密分散手段からの出力と、上記他の分散秘密再構成装置から受け取った第2の分散情報を用いて、上記もとの秘密情報を再構成するための中間計算結果を、分散計算により算出する分散秘密再構成計算手段と、
上記分散秘密再構成計算手段の出力である上記中間計算結果を送信する送信手段と
を有することを特徴とする分散秘密再構成装置。 - 秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちのt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する秘密再構成方法において分散計算を行う複数の分散秘密再構成装置の内の1台であって、上記各メンバが管理する分散秘密再構成装置において、
この分散秘密再構成装置が保有する第1の分散情報を秘密分散法を用いて分散し、第2の分散情報として他の分散秘密再構成装置に配布する秘密分散手段と、
上記秘密分散手段からの出力と、上記他の分散秘密再構成装置から受け取った第2の分散情報を用いて、上記もとの秘密情報を再構成するための中間計算結果を、分散計算により算出する分散秘密再構成計算手段と、
上記分散秘密再構成計算手段からの出力と、上記他の分散秘密再構成装置の出力を受け取り、それらの出力から、上記もと秘密情報を再構成する秘密再構成手段と
を有することを特徴とする分散秘密再構成装置。 - 上記分散秘密再構成計算手段からの出力と、他の分散秘密再構成装置のからの出力を受け取り、それらの出力から、もと秘密情報を再構成する秘密再構成手段をさらに有することを特徴とする請求項10に記載の分散秘密再構成装置。
- 上記秘密分散手段は、分散情報をすべて加算した値がもとの秘密情報となるような秘密分散法を用いることを特徴とする請求項10から12までのいずれかに記載の分散秘密再構成装置。
- 上記分散秘密再構成計算手段は、上記秘密分散手段からの出力と、他の分散再構成装置から受け取った第2の分散情報をすべて加算する加算手段を含むことを特徴とする請求項10から13までのいずれかに記載の分散秘密再構成装置。
- 上記秘密分散手段は、メンバIDを用いたしきい値秘密分散法を用いることを特徴とする請求項10、11、12、14のいずれかに記載の分散秘密再構成装置。
- 上記分散秘密再構成計算手段は、上記秘密分散手段からの出力と、秘密通信路を通して他の分散秘密再構成装置から受け取った第2の分散情報を、メンバIDから計算される係数を用いて線形結合計算をする線形結合計算手段を含むことを特徴とする請求項10、11、12、13、15のいずれかに記載の分散秘密再構成装置。
- 上記秘密分散手段は、この分散秘密再構成装置に配布された仮メンバIDを用いたしきい値秘密分散法を用いることを特徴とする請求項10、11、12、14、16のいずれかに記載の分散秘密再構成装置。
- 上記秘密分散手段は、この分散秘密再構成装置が保有するメンバIDを秘密分散法を用いて分散し、第3の分散情報として他の分散秘密再構成装置に配布し、
上記分散秘密再構成計算手段は、上記秘密分散手段から出力される第2及び第3の分散情報と、他の分散秘密再構成装置から受け取った第2及び第3の分散情報を用いて、秘密再構成の中間計算結果を、分散計算により算出する
ことを特徴とする請求項10、11、12、13、17のいずれかに記載の分散秘密再構成装置。 - 上記分散秘密再構成計算手段は、
上記秘密分散手段から出力される第2及び第3の分散情報と、他の分散秘密再構成装置から受け取ったの第2及び第3の分散情報を用いて、第2の分散情報に対する、第3の分散情報から計算される係数を分散計算した結果と、その各第2の分散情報との分散乗算を行う項計算手段と、
上記項計算手段の出力を、すべて足し合わせる加算手段と
を含むことを特徴とする請求項10、11、12、13、17,18のいずれかに記載の分散秘密再構成装置。 - 上記項計算手段は、
異なる第3の分散情報同士の差分をとる差分計算手段と、
上記差分計算手段の出力を分散乗算する第1の多項分散乗算手段と、
上記第1の多項分散乗算手段の出力の逆元を分散計算する分散逆元計算手段と、
第3の分散情報を分散乗算する第2の多項分散乗算手段と、
上記分散逆元計算手段の出力と、第2の多項分散乗算手段の出力と、対応する第2の分散情報とを分散乗算する第3の多項分散乗算手段と、
を含むことを特徴とする請求項10、11、12、13、17、18、19のいずれかに記載の分散秘密再構成装置。 - 上記第1、第2、及び第3の多項分散乗算手段はそれぞれ、分散乗算する値の個数よりも1小さい個数の、2つの値を分散乗算する二項分散乗算手段を含むことを特徴とする請求項10、11、12、13、17、18、19、20のいずれかに記載の分散秘密再構成装置。
- 上記二項分散乗算手段はそれぞれ、
入力される2つの入力を掛け合わせる乗算手段と、
上記乗算手段の出力を、仮メンバIDを用いたしきい値秘密分散法で分散し、第4の分散情報として他の分散秘密再構成装置に対して秘密通信路を通して配布する第2の秘密分散手段と、
上記第2の秘密分散手段からの出力と、他の分散秘密再構成装置から秘密通信路を通して受け取った第4の分散情報を、仮メンバIDから計算される係数を用いて線形結合計算をする線形結合計算手段と、
を含むことを特徴とする請求項10、11、12、17、18、19、20、21のいずれかに記載の分散秘密再構成装置。 - 上記二項分散乗算手段はそれぞれ、
入力される2つの入力を掛け合わせ、さらに仮メンバIDから計算される係数を掛け合わせる第1の乗算手段と、
入力される第1の入力と、他の分散秘密再構成装置の対応するに項分散乗算手段への第2の入力との乗算結果を、秘密通信路を通して紛失通信を行うことにより計算する第1の通信計算手段と、
入力される第2の入力と、他の分散秘密再構成装置の対応するに項分散乗算手段への第1の入力との乗算結果を、秘密通信路を通して紛失通信を行うことにより計算する第2の通信計算手段と、
第1の通信計算手段の出力と第2の計算手段の出力を足し合わせる加算手段と、
上記加算手段の出力に、仮メンバIDから計算される係数を掛け合わせる第2の乗算手段と、
上記第1の乗算手段の結果と上記第2の乗算手段の結果とをすべて足し合わせる第2の加算手段と、
を含むことを特徴とする請求項10、11、12、17、18、19、20、21のいずれかに記載の分散秘密再構成装置。 - 上記二項分散乗算手段はそれぞれ、
入力される2つの入力を掛け合わせる第1の乗算手段と、
入力される第1の入力と、他の分散秘密再構成装置の対応する二項分散乗算手段への第2の入力との乗算結果を、秘密通信路を通して紛失通信を行うことにより計算する第1の通信計算手段と、
入力される第2の入力と、他の分散秘密再構成装置の対応する二項分散乗算手段への第1の入力との乗算結果を、秘密通信路を通して紛失通信を行うことにより計算する第2の通信計算手段と、
第1の通信計算手段の出力と第2の計算手段の出力を足し合わせる加算手段と、
上記第1の乗算手段の結果と上記加算手段の結果とをすべて足し合わせる第2の加算手段と、
を含むことを特徴とする請求項10、11、12、13、18、19、20、21のいずれかに記載の分散秘密再構成装置。 - 上記分散逆元計算手段は、
演算に用いる有限体の大きさから計算される第1の個数の、上記請求項22、23又は24のいずれかに記載の二項分散乗算手段と同じ構成を持つ二項分散乗算手段と、
分散乗算する値の個数が、演算に用いる有限体の大きさから計算される第2の個数である上記請求項21に記載の第1、第2、及び第3の多項分散乗算手段と同じ構成を持つ多項分散乗算手段と
を含むことを特徴とする請求項10、11、12、13、17、18、19、20、21、22、23、24のいずれかに記載の分散秘密再構成装置。 - 上記分散逆元計算手段は、
乱数を生成する乱数生成手段と、
入力される値とその乱数生成手段の出力とを入力とする、上記請求項22又は請求項23のいずれかに記載の二項分散乗算手段と同じ構成を持つ第2の二項分散乗算手段と、
上記第2の二項分散乗算手段からの出力と、秘密通信路を通して受け取ったほかの分散秘密再構成装置の対応する第2の二項分散乗算手段の出力を、仮メンバIDから計算される係数を用いて線形結合計算をする線形結合計算手段と、
上記線形結合計算手段の出力の有限体上の演算における逆元を計算する逆元計算手段と、
上記逆元計算手段の結果を分散し、第5の分散情報として他の分散秘密再構成装置に対して秘密通信路を通して配布する秘密分散手段と、
上記秘密分散手段における第5の分散情報と、その乱数生成手段からの出力と入力とする、上記請求項22又は請求項23のいずれかに記載の二項分散乗算手段と同じ構成を持つ第3の二項分散乗算手段と、
を含むことを特徴とする請求項10、11、12、17、18、19、20、21、22、23のいずれかに記載の分散秘密再構成装置。 - 上記分散逆元計算手段は、
乱数を生成する乱数生成手段と、
入力される値とその乱数生成手段の出力とを入力とする、上記請求項24に記載の二項分散乗算手段と同じ構成を持つ第2の二項分散乗算手段と、
上記第2の二項分散乗算手段からの出力と、秘密通信路を通して受け取ったほかの分散秘密再構成装置の対応する第2の二項分散乗算手段の出力をすべて足し合わせる加算手段と、
上記線形結合計算手段の出力の有限体上の演算における逆元を計算する逆元計算手段と、
上記逆元計算手段の結果を分散し、第5の分散情報として他の分散秘密再構成装置に対して秘密通信路を通して配布する秘密分散手段と、
上記秘密分散手段における第5の分散情報と、その乱数生成手段からの出力とを入力とする、上記請求項24に記載の二項分散乗算手段と同じ構成を持つ第3の二項分散乗算手段と、
を含むことを特徴とする請求項10、11、12、13、18、19、20、21、24のいずれかに記載の分散秘密再構成装置。 - 上記分散逆元計算手段は、
乱数を生成する乱数生成手段と、
入力される値とその乱数生成手段の出力とを入力とする、上記請求項22、23又は24のいずれかに記載の二項分散乗算手段と同じ構成を持つ第4の二項分散乗算手段と、
上記第4の二項分散乗算手段の計算結果を、上記請求項26又は27に記載の分散秘密再構成装置と同じ構成を持つ分散秘密再構成装置へ送信する送信手段と、
上記請求項26又は27に記載の分散秘密再構成装置と同じ構成を持つ分散秘密再構成装置から、上記第5の分散情報を受信する受信手段と、
上記受信した第5の分散情報と、その乱数生成手段からの出力とを入力とする、上記請求項22、23又は24のいずれかに記載の二項分散乗算手段と同じ構成を持つ第5の二項分散乗算手段と
を含むことを特徴とする、請求項10、11、12、13、17、18、19、20、21、22、23、24のいずれかに記載の分散秘密再構成装置。 - 秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する秘密再構成方法を実施する秘密再構成システムにおいて、
上記請求項10、11、12のいずれかに記載の分散秘密再構成装置と同じ構成を持つ複数台の分散秘密再構成装置と、
上記分散秘密再構成装置の出力から、上記もとの秘密情報を再構成する秘密再構成装置と
を有することを特徴とする秘密再構成システム。 - 秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する秘密再構成方法を実施する秘密再構成システムにおいて、
上記請求項10から28までのいずれかに記載の分散秘密再構成装置と同じ構成を持つ複数台の分散秘密再構成装置を有し、
上記複数台の分散秘密再構成装置の内の少なくとも1台以上は、上記分散秘密再構成手段からの出力と、他の分散秘密再構成装置の出力を受け取り、それらの出力から、上記もとの秘密情報を再構成する秘密再構成手段を有する
ことを特徴とする秘密再構成システム。 - 秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する秘密再構成方法を実施する秘密再構成システムにおいて、
上記請求項10、11、12、13、14、16、18、19、20、21、24、25、27、28のいずれかに記載の分散秘密再構成装置と同じ構成を持つ複数台の分散秘密再構成装置と、
分散情報をすべて加算した値がもとの秘密情報となるような秘密分散法の再構成を用いて、上記複数台の分散情報再構成装置の出力から、上記もとの秘密情報を再構成する秘密再構成装置と
を有することを特徴とする秘密再構成システム。 - 秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する秘密再構成方法を実施する秘密再構成システムにおいて、
上記請求項10、11、12、14、15、16のいずれかに記載の分散秘密再構成装置と同じ構成を持つ複数台の分散秘密再構成装置と、
メンバIDを用いたしきい値秘密分散法の再構成方法を用いて、上記複数台の分散秘密再構成装置の出力から、上記もとの秘密情報を再構成する秘密再構成装置と、
を有することを特徴とする秘密再構成システム。 - 秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する秘密再構成方法を実施する秘密再構成システムにおいて、
集まったメンバが管理する分散秘密再構成装置に対して、互いに重複しない仮メンバIDを生成し、各分散秘密再構成装置に配布して、各分散秘密再構成装置にすべての仮メンバIDを公開する仮メンバID生成手段と、
上記請求項10、11、12、14、16、17、18、19、20、21、22、23、25、26、28のいずれかに記載の分散秘密再構成装置と同じ構成を持つ複数台の分散秘密再構成装置と、
仮メンバIDを用いたしきい値秘密分散法の再構成を用いて、上記複数台の分散秘密再構成装置の出力から、上記もとの秘密情報を再構成する秘密再構成装置と、
を有することを特徴とする秘密再構成システム。 - 上記第1の分散情報は、分散情報をすべて加算した値がもとの情報となるような秘密分散法を用いることを特徴とする請求項29、30、31、32、33のいずれかに記載の秘密再構成システム。
- 上記第1の分散情報はメンバIDを用いたしきい値秘密分散法を用いることを特徴とする請求項29、30、31、32、33のいずれかに記載の秘密再構成システム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003067834A JP4292835B2 (ja) | 2003-03-13 | 2003-03-13 | 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム |
CNA2004100282606A CN1531241A (zh) | 2003-03-13 | 2004-03-10 | 密码重构方法、分散密码重构装置及密码重构*** |
US10/798,578 US7421080B2 (en) | 2003-03-13 | 2004-03-12 | Method of reconstructing a secret, shared secret reconstruction apparatus, and secret reconstruction system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003067834A JP4292835B2 (ja) | 2003-03-13 | 2003-03-13 | 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004279526A true JP2004279526A (ja) | 2004-10-07 |
JP4292835B2 JP4292835B2 (ja) | 2009-07-08 |
Family
ID=32959308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003067834A Expired - Fee Related JP4292835B2 (ja) | 2003-03-13 | 2003-03-13 | 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US7421080B2 (ja) |
JP (1) | JP4292835B2 (ja) |
CN (1) | CN1531241A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005328123A (ja) * | 2004-05-12 | 2005-11-24 | Oki Electric Ind Co Ltd | 公開鍵の正当性判断方法及び通信端末装置 |
JP2009103774A (ja) * | 2007-10-22 | 2009-05-14 | Panasonic Corp | 秘密分散システム |
JP2013097351A (ja) * | 2011-11-07 | 2013-05-20 | Nippon Telegr & Teleph Corp <Ntt> | 画像評価方法 |
JP2013140310A (ja) * | 2012-01-06 | 2013-07-18 | Nippon Telegr & Teleph Corp <Ntt> | データ分散装置、分散データ変換装置、データ復元装置 |
WO2014007310A1 (ja) * | 2012-07-05 | 2014-01-09 | 日本電信電話株式会社 | 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム |
JP2014138349A (ja) * | 2013-01-18 | 2014-07-28 | Nippon Telegr & Teleph Corp <Ntt> | 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム |
JP2015505230A (ja) * | 2012-01-25 | 2015-02-16 | サーティボックス エルティーディーCertivox,Ltd. | 分散秘密鍵ジェネレータ(d−pkg)ノードから発行された秘密鍵をセキュリティ保護するためのシステム及び方法 |
JP2015068999A (ja) * | 2013-09-30 | 2015-04-13 | 日本電信電話株式会社 | 秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム |
WO2015059918A1 (ja) * | 2013-10-23 | 2015-04-30 | 株式会社インテック | データ秘匿型統計処理システム、統計処理結果提供サーバ装置及びデータ入力装置、並びに、これらのためのプログラム及び方法 |
JP2015158935A (ja) * | 2013-10-23 | 2015-09-03 | 株式会社インテック | データ秘匿型統計処理システム、統計処理結果提供サーバ装置及びデータ入力装置、並びに、これらのためのプログラム及び方法 |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1884059A2 (en) * | 2005-05-13 | 2008-02-06 | Temple University of the Commonwealth System of Higher Education | Secret sharing technique with low overhead information content |
JP4699099B2 (ja) * | 2005-06-14 | 2011-06-08 | 富士通株式会社 | 通信制御装置および通信制御方法 |
US8582777B2 (en) * | 2006-05-03 | 2013-11-12 | Samsung Electronics Co., Ltd. | Method and system for lightweight key distribution in a wireless network |
US20080005800A1 (en) * | 2006-06-07 | 2008-01-03 | Kaoru Yokota | Confidential information protection system, confidential information restoring device, and tally generating device |
JP4869804B2 (ja) * | 2006-06-21 | 2012-02-08 | 株式会社日立製作所 | 情報共有制御システム |
BRPI0718581A2 (pt) * | 2006-11-07 | 2014-03-11 | Security First Corp | Sistemas e métodos para distribuir e proteger dados |
US8050410B2 (en) * | 2006-12-08 | 2011-11-01 | Uti Limited Partnership | Distributed encryption methods and systems |
US20080144836A1 (en) * | 2006-12-13 | 2008-06-19 | Barry Sanders | Distributed encryption authentication methods and systems |
WO2008140798A1 (en) * | 2007-05-11 | 2008-11-20 | Indiana University Research & Technology Corporation | Flexible management of security for multi-user environments |
US8483386B2 (en) * | 2007-12-12 | 2013-07-09 | Nec Corporation | Share generation apparatus, reconstruction apparatus, verification apparatus, and secret sharing system |
US20100046740A1 (en) * | 2008-08-22 | 2010-02-25 | Schneider James P | Embedding a secret in a larger polynomial |
US8345861B2 (en) * | 2008-08-22 | 2013-01-01 | Red Hat, Inc. | Sharing a secret using polynomial division over GF(Q) |
US7995765B2 (en) * | 2008-08-28 | 2011-08-09 | Red Hat, Inc. | Sharing a secret using hyperplanes over GF(q) |
US7995764B2 (en) * | 2008-08-28 | 2011-08-09 | Red Hat, Inc. | Sharing a secret using hyperplanes over GF(2m) |
US8520854B2 (en) * | 2008-08-28 | 2013-08-27 | Red Hat, Inc. | Sharing a secret using polynomials over polynomials |
US8364958B2 (en) | 2008-08-29 | 2013-01-29 | Red Hat, Inc. | Sharing a secret via linear interpolation |
US8675877B2 (en) | 2008-08-29 | 2014-03-18 | Red Hat, Inc. | Sharing a secret via linear interpolation |
US8638926B2 (en) * | 2009-02-26 | 2014-01-28 | Red Hat, Inc. | Sharing a secret with modular inverses |
EP2423904B1 (en) * | 2009-04-24 | 2015-01-07 | Nippon Telegraph And Telephone Corporation | Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, processing methods therefore, secret sharing method, program, and recording medium |
US20120002811A1 (en) * | 2010-06-30 | 2012-01-05 | The University Of Bristol | Secure outsourced computation |
JP5379914B2 (ja) * | 2010-07-23 | 2013-12-25 | 日本電信電話株式会社 | 秘密分散システム、分散装置、分散管理装置、取得装置、秘密分散方法、プログラム、及び記録媒体 |
US8700906B2 (en) * | 2011-01-14 | 2014-04-15 | Microsoft Corporation | Secure computing in multi-tenant data centers |
US9311487B2 (en) * | 2011-03-15 | 2016-04-12 | Panasonic Corporation | Tampering monitoring system, management device, protection control module, and detection module |
JP5618881B2 (ja) * | 2011-03-25 | 2014-11-05 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム |
WO2013001021A1 (en) * | 2011-06-28 | 2013-01-03 | Nec Europe Ltd. | Method and system for obtaining a result of a joint public function for a plurality of parties |
JP6008316B2 (ja) * | 2012-08-24 | 2016-10-19 | パナソニックIpマネジメント株式会社 | 秘密分散装置および秘密分散プログラム |
US9292671B1 (en) * | 2012-08-31 | 2016-03-22 | Emc Corporation | Multi-server authentication using personalized proactivization |
EP3021518B1 (en) * | 2013-08-22 | 2018-04-18 | Nippon Telegraph And Telephone Corporation | Multi-party secure authentication system, authentication server, intermediate server, multi-party secure authentication method, and program |
US9313021B2 (en) * | 2013-08-29 | 2016-04-12 | National Chiao Tung University | Secret communication method with self-authentication capability |
CN103763100B (zh) * | 2013-10-29 | 2017-11-17 | 清华大学 | 保护任意用户群数据隐私安全的和与积计算方法 |
CN104683301B (zh) * | 2013-11-28 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 一种密码保存的方法及装置 |
JP6009697B2 (ja) * | 2014-01-17 | 2016-10-19 | 日本電信電話株式会社 | 秘密計算方法、秘密計算システム、ソート装置及びプログラム |
WO2015114947A1 (ja) * | 2014-01-28 | 2015-08-06 | 日本電信電話株式会社 | 秘密計算方法、秘密計算システム、秘密計算サーバ、登録者端末、利用者端末及びプログラム |
US10721063B2 (en) * | 2015-05-07 | 2020-07-21 | Nec Corporation | Secure computation data utilization system, method, apparatus and non-transitory medium |
US9813234B2 (en) * | 2015-05-11 | 2017-11-07 | The United States of America, as represented by the Secretery of the Air Force | Transferable multiparty computation |
US11115196B1 (en) * | 2015-12-08 | 2021-09-07 | EMC IP Holding Company LLC | Methods and apparatus for secret sharing with verifiable reconstruction type |
JP6538019B2 (ja) * | 2015-12-10 | 2019-07-03 | 日鉄ソリューションズ株式会社 | 情報処理装置、認可システム、情報処理方法及びプログラム |
US9813244B1 (en) * | 2015-12-30 | 2017-11-07 | EMC IP Holding Company LLC | Distributed proactive password-based secret sharing |
WO2018034079A1 (ja) * | 2016-08-18 | 2018-02-22 | 日本電気株式会社 | 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム |
EP3651141B1 (en) * | 2017-07-05 | 2021-12-08 | Nippon Telegraph and Telephone Corporation | Secure computing system, secure computing device, secure computing method, program, and recording medium |
EP3669491B1 (en) | 2017-08-15 | 2024-02-07 | nChain Licensing AG | Threshold ecdsa for securing bitcoin wallet |
SG11202000804PA (en) | 2017-08-15 | 2020-02-27 | Nchain Holdings Ltd | Threshold digital signature method and system |
JP6885467B2 (ja) | 2017-08-22 | 2021-06-16 | 日本電信電話株式会社 | シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体 |
US10460234B2 (en) * | 2018-01-19 | 2019-10-29 | Microsoft Technology Licensing, Llc | Private deep neural network training |
EP3860035A1 (en) | 2020-01-29 | 2021-08-04 | Sebastien Armleder | Storing and determining a data element |
JP2021128261A (ja) * | 2020-02-14 | 2021-09-02 | 株式会社野村総合研究所 | 秘密分散ベースのマルチパーティ計算のための装置 |
GB202111737D0 (en) * | 2021-08-16 | 2021-09-29 | Blockhouse Tech Limited | Storing cryptographic keys securely |
US11809588B1 (en) | 2023-04-07 | 2023-11-07 | Lemon Inc. | Protecting membership in multi-identification secure computation and communication |
US11829512B1 (en) | 2023-04-07 | 2023-11-28 | Lemon Inc. | Protecting membership in a secure multi-party computation and/or communication |
US11874950B1 (en) | 2023-04-07 | 2024-01-16 | Lemon Inc. | Protecting membership for secure computation and communication |
US11836263B1 (en) | 2023-04-07 | 2023-12-05 | Lemon Inc. | Secure multi-party computation and communication |
US11868497B1 (en) | 2023-04-07 | 2024-01-09 | Lemon Inc. | Fast convolution algorithm for composition determination |
US11886617B1 (en) | 2023-04-07 | 2024-01-30 | Lemon Inc. | Protecting membership and data in a secure multi-party computation and/or communication |
US11811920B1 (en) | 2023-04-07 | 2023-11-07 | Lemon Inc. | Secure computation and communication |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5764767A (en) * | 1996-08-21 | 1998-06-09 | Technion Research And Development Foundation Ltd. | System for reconstruction of a secret shared by a plurality of participants |
JP4112056B2 (ja) * | 1997-12-18 | 2008-07-02 | 東洋エンジニアリング株式会社 | 改良された尿素の合成方法および装置 |
JP3560860B2 (ja) * | 1999-07-23 | 2004-09-02 | 株式会社東芝 | 秘密分散システム、装置及び記憶媒体 |
FI20000760A0 (fi) * | 2000-03-31 | 2000-03-31 | Nokia Corp | Autentikointi pakettidataverkossa |
US6436154B1 (en) * | 2000-09-28 | 2002-08-20 | Fmc Wyoming Corporation | Use of dodecylbenzene sulfonic acid or salt as a scale inhibitor |
US20030046210A1 (en) * | 2001-08-31 | 2003-03-06 | Vora Poorvi L. | Anonymous acquisition of digital products based on secret splitting |
GB2381916B (en) * | 2001-11-08 | 2005-03-23 | Ncr Int Inc | Biometrics template |
US20030221131A1 (en) * | 2002-03-08 | 2003-11-27 | Toshifumi Mori | Data processing device |
US8050409B2 (en) * | 2004-04-02 | 2011-11-01 | University Of Cincinnati | Threshold and identity-based key management and authentication for wireless ad hoc networks |
-
2003
- 2003-03-13 JP JP2003067834A patent/JP4292835B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-10 CN CNA2004100282606A patent/CN1531241A/zh active Pending
- 2004-03-12 US US10/798,578 patent/US7421080B2/en active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005328123A (ja) * | 2004-05-12 | 2005-11-24 | Oki Electric Ind Co Ltd | 公開鍵の正当性判断方法及び通信端末装置 |
JP2009103774A (ja) * | 2007-10-22 | 2009-05-14 | Panasonic Corp | 秘密分散システム |
JP2013097351A (ja) * | 2011-11-07 | 2013-05-20 | Nippon Telegr & Teleph Corp <Ntt> | 画像評価方法 |
JP2013140310A (ja) * | 2012-01-06 | 2013-07-18 | Nippon Telegr & Teleph Corp <Ntt> | データ分散装置、分散データ変換装置、データ復元装置 |
JP2015505230A (ja) * | 2012-01-25 | 2015-02-16 | サーティボックス エルティーディーCertivox,Ltd. | 分散秘密鍵ジェネレータ(d−pkg)ノードから発行された秘密鍵をセキュリティ保護するためのシステム及び方法 |
WO2014007310A1 (ja) * | 2012-07-05 | 2014-01-09 | 日本電信電話株式会社 | 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム |
JP5885840B2 (ja) * | 2012-07-05 | 2016-03-16 | 日本電信電話株式会社 | 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム |
US9432188B2 (en) | 2012-07-05 | 2016-08-30 | Nippon Telegraph And Telephone Corporation | Secret sharing system, data distribution apparatus, distributed data transform apparatus, secret sharing method and program |
JP2014138349A (ja) * | 2013-01-18 | 2014-07-28 | Nippon Telegr & Teleph Corp <Ntt> | 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム |
JP2015068999A (ja) * | 2013-09-30 | 2015-04-13 | 日本電信電話株式会社 | 秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム |
WO2015059918A1 (ja) * | 2013-10-23 | 2015-04-30 | 株式会社インテック | データ秘匿型統計処理システム、統計処理結果提供サーバ装置及びデータ入力装置、並びに、これらのためのプログラム及び方法 |
JP2015158935A (ja) * | 2013-10-23 | 2015-09-03 | 株式会社インテック | データ秘匿型統計処理システム、統計処理結果提供サーバ装置及びデータ入力装置、並びに、これらのためのプログラム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1531241A (zh) | 2004-09-22 |
JP4292835B2 (ja) | 2009-07-08 |
US20040179686A1 (en) | 2004-09-16 |
US7421080B2 (en) | 2008-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4292835B2 (ja) | 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム | |
JP7202358B2 (ja) | 閾ボールトを生成する、コンピュータにより実施される方法 | |
JP7301039B2 (ja) | 閾値デジタル署名方法及びシステム | |
US9736128B2 (en) | System and method for a practical, secure and verifiable cloud computing for mobile systems | |
Dong et al. | Achieving an effective, scalable and privacy-preserving data sharing service in cloud computing | |
Li et al. | Fine-grained access control system based on outsourced attribute-based encryption | |
US7590236B1 (en) | Identity-based-encryption system | |
TWI821248B (zh) | 用以移轉數位資產支配權之電腦實施方法及系統 | |
Unal et al. | A secure and efficient Internet of Things cloud encryption scheme with forensics investigation compatibility based on identity-based encryption | |
RU2534944C2 (ru) | Способ обеспечения безопасности связи в сети, используемые для этого устройство связи, сеть и компьютерная программа | |
Kate et al. | Pairing-based onion routing with improved forward secrecy | |
JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
CN112383388B (zh) | 一种基于云计算大数据的双秘钥加密***及方法 | |
Mejri et al. | A new group Diffie-Hellman key generation proposal for secure VANET communications | |
WO2021062518A1 (en) | Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems | |
CN118160275A (zh) | 阈值签名方案 | |
Dolev et al. | Efficient private multi-party computations of trust in the presence of curious and malicious users | |
JP4305049B2 (ja) | 秘密分散方法、秘密分散システム、及び分散演算装置 | |
CN115336224A (zh) | 自适应抗攻击分布式对称加密 | |
Premnath et al. | A practical, secure, and verifiable cloud computing for mobile systems | |
JP2006227411A (ja) | 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法 | |
Hyla et al. | Certificate-based encryption scheme with general access structure | |
RU2452111C1 (ru) | Способ пороговой генерации ключей для системы защиты информации на основе идентификационных данных | |
Dolev et al. | Magnifying computing gaps: Establishing encrypted communication over unidirectional channels | |
WO2021062517A1 (en) | Broadcasting in supersingular isogeny-based cryptosystems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090223 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090317 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090330 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120417 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130417 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140417 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |