JP4305049B2 - 秘密分散方法、秘密分散システム、及び分散演算装置 - Google Patents
秘密分散方法、秘密分散システム、及び分散演算装置 Download PDFInfo
- Publication number
- JP4305049B2 JP4305049B2 JP2003136814A JP2003136814A JP4305049B2 JP 4305049 B2 JP4305049 B2 JP 4305049B2 JP 2003136814 A JP2003136814 A JP 2003136814A JP 2003136814 A JP2003136814 A JP 2003136814A JP 4305049 B2 JP4305049 B2 JP 4305049B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- distributed
- secret
- unit
- partial
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 166
- 238000004364 calculation method Methods 0.000 claims description 195
- 230000005540 biological transmission Effects 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 20
- 239000006185 dispersion Substances 0.000 claims description 3
- 238000004148 unit process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 17
- 239000000654 additive Substances 0.000 description 6
- 230000000996 additive effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Images
Description
【発明の属する技術分野】
本発明は、秘密とする情報を分散して管理するために、その秘密とする情報を分散する秘密分散方法、秘密分散システム、及び分散演算装置に関し、特に、暗号化や認証における秘密鍵や認証情報を分散して管理するために、それら秘密鍵や認証情報を分散する秘密分散方法、秘密分散システム、及び分散演算装置に関するものである。
【0002】
【従来の技術】
情報の秘匿のための暗号化に用いる秘密鍵や認証を行うための秘密情報など、重要な秘密情報を保管する場合、その秘密情報の紛失や破壊の心配と、その秘密情報の盗難の心配がある。秘密情報の紛失、破壊により失ってしまうことへの対策としては、その秘密情報のコピーを作成し保管することが考えられるが、秘密情報のコピーが増えることにより、その秘密情報の盗難の危険性が増してしまう。この問題を解決する方法として、秘密分散法がある。
【0003】
秘密分散法の一つに、Shamir法(シャミア法)と呼ばれる(k,n)しきい値秘密分散法がある(例えば、非特許文献1参照)。(k,n)しきい値秘密分散法においては、秘密情報をn(nは2以上の整数)個の分散情報に符号化し、k(kはn以下の整数)個以上の分散情報が集まれば、もとの秘密情報を復元することができるが、k−1個以下の分散情報を集めても、もとの秘密情報を全く知ることができないという性質を、多項式補間を用いることにより実現している。また、他の秘密分散法として、よりシンプルな加算秘密分散法がある。以下に、Shamirの(k,n)しきい値秘密分散法、及び、加算秘密分散法について説明する。
【0004】
[Shamirの(k,n)しきい値秘密分散法の説明]
Shamirの(k,n)しきい値秘密分散法においては、具体的には、次式(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】
図2は、(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′j(j=1,2,…,t)と分散情報Xm′j(j=1,2,…,t)を持ち寄り、次式(3)及び(4)を用いて、もとの秘密情報Sを計算する。
【数1】
式(3)は、式(4)で計算されるメンバIDから求めた係数rm′jと分散情報Xm′jを乗算したものを、集まったメンバt人すべてに関して加算している。式(4)は、分散情報Xm′jに対応するメンバID m′j以外のメンバID m′i(i=1,2,…,tでi≠jとなるもの)についての値m′i/(m′i−m′j)をすべて乗算している。
【0008】
[加算秘密分散法の説明]
次に、加算秘密分散法について説明する。加算秘密分散法は、複数のメンバからなるあるグループで、もとの秘密情報Sを単純な加減算により秘密分散する秘密分散法である。図3は、加算秘密分散法に基づく秘密分散を実施する秘密分散計算部201の動作を説明するための図である。秘密分散計算部201は、次のような計算を行う。秘密分散計算部201へ入力されるもとの秘密情報をSとし、分散情報を配布するメンバがn人であるとすると、秘密分散計算部201は、まず、乱数をn−1個選ぶ。それらの乱数X1,X2,…,Xn−1から、次式(5)を満たすXnを求める。
Xn=S−(X1+X2+…+Xn−1) …(5)
【0009】
秘密分散計算部201は、式(5)により得られた値X1,X2,…,Xnを出力し、各メンバに重複しないように配布する。値X1,X2,…,Xnのうち、いくつかは等しい値が在ってもよい。このような加算秘密分散法においては、メンバ全員(すなわちn人)が集まらない限り、もとの秘密情報Sを再構成することができない。もとの秘密情報Sを再構成するときには、次式(6)を計算する。
S=X1+X2+…+Xn …(6)
【0010】
[マルチパーティ・プロトコルの説明]
前述の秘密分散法とは別に、マルチパーティ・プロトコルという技術がある。ここで、マルチパーティ・プロトコルとは、ある関数への入力値を公開せずに、その関数の計算を集まったメンバで協力して行う方式であり、分散計算とも呼ばれる(例えば、非特許文献1参照)。ここでは、有限体要素の分散計算(加算と定数乗算の計算)について簡単に説明する。
【0011】
マルチパーティ・プロトコルを実行するメンバがn人いるとする。そのメンバそれぞれが、メンバIDとしてmj(j=1,2,…,n)と、そのメンバ固有の秘密情報Xmj(j=1,2,…,n)を保有しており、次式(7)のような関数値Yをマルチパーティ・プロトコルの分散計算で計算したいとする。
Y=F(Xm1,Xm2,…,Xmn) …(7)
ここで、各メンバのメンバIDであるmj及び秘密情報Xmj(j=1,2,…,n)は、有限体GF(q)(qは素数又は素数のべき乗)上の値であるものとする。また、上記式(7)の関数Fにおける演算は、有限体GF(q)上の演算であるものとする。
【0012】
各メンバ固有の秘密情報Xmj(j=1,2,…,t)を、他のメンバに公開しないまま、関数値Yを計算するために、マルチパーティ・プロトコルでは、まず、各メンバ固有の秘密情報Xmj(j=1,2,…,n)を、加算秘密分散法、又は、(k,n)しきい値秘密分散法を用いて秘密分散して部分情報を生成し、他のメンバに配布する。メンバIDがmjであるメンバの秘密情報が、Xmjであるとすると、このメンバは、加算秘密分散法を用いる場合、n−1個の乱数Rmj,p(p=1,2,…,nで、p≠jとなるもの)を生成し、メンバIDがmpであるメンバにXmjの部分情報Xmj,p(p=1,2,…,nで、p≠jとなるもの)として、
Xmj,p=Rmj,p …(8)
を配布する。
【0013】
自分自身に対するXmjの部分情報Xmj,jとしては、次式(9)で算出する。
【数2】
【0014】
また、メンバIDがmjであるメンバの秘密情報がXmjであるとし、このメンバが(k,n)しきい値秘密分散法を用いる場合、
fmj(x)
=Xmj+Rmj,1x+Rmj,2x2+…+Rmj,k−1xk−1…(10)
なるk−1次の多項式(k≦n)を作り(Rmj,1、Rmj,2、…、Rmj,k−1は、乱数としてk−1個選ぶ)、メンバIDがmp(p=1,2,…,n)であるメンバに対して配布する部分情報Xmj,pを、式(10)を用いて次式(11)のように計算する。
Xmj,p=fmj(mp) …(11)
なお、部分情報Xmj,pの配布は、メンバIDがmp(p=1,2,…,n)であるメンバ以外には秘密となるよう、秘密通信路を用いて行う。
【0015】
このようにすると、各メンバは、他の各メンバの秘密情報の部分情報を持っている状態になる。メンバIDがmjであるメンバは、他のメンバから配布された部分情報(及び自分自身の秘密情報の部分情報)Xm1,j、Xm2,j、…、Xmn,jのn個の分散情報を持っていることになる。
【0016】
まず、マルチパーティ・プロトコルにおける分散加算(足し算計算)を説明する。各メンバは、値A及びBの部分情報Amj及びBmjを既に持っているとする。これは、分散計算の途中結果であってもよいし、上記のような秘密情報の部分情報Xmp,jであってもよい。マルチパーティ・プロトコルでは、各メンバは、部分情報AmjとBmjの足し算を行うことで、計算結果C=A+Bの分散情報Cmj(j=1,2,…,n)を得ることができる。例えば、メンバIDがmjであるメンバは、値A及びBの部分情報として、それぞれAmj及びBmjを持っているので、次式(12)のような計算を行い、計算結果Cmjを得る。
Cmj=Amj+Bmj …(12)
【0017】
次に、マルチパーティ・プロトコルにおける分散定数乗算(定数の掛け算計算)を説明する。各メンバは、値Aの部分情報Amjを既に持っているとし、ある定数をDとおく。部分情報Amjは、分散計算の途中結果であってもよいし、上記のような秘密情報の分散情報Xmp,jであってもよい。マルチパーティ・プロトコルでは、各メンバは、定数Dと部分情報Amjの掛け算を行うことで、計算結果C=D・Aの分散情報Cmj(j=1,2,…,n)を得ることができる。例えば、メンバIDがmjであるメンバは、値Aの部分情報としてAmjを持っているので、次式(13)のような計算を行い、計算結果Cmjを得る。
Cmj=D・Amj …(13)
【0018】
【非特許文献1】
岡本龍明他著、「現代暗号」(産業図書)、第214−216ページ及び第227−236ページ
【非特許文献2】
ドナルド・ビーバー及びシャフィ・ゴールドワッセル、「マルチパーティ・プロトコル・コンピューテーション・ウィズ・フォールティ・マジョリティ」、プロシーディングズ・オブ・エフオーシーエス、第468〜473ページ、1989年(D. Beaver and S. Goldwasser, “Multiparty Computation with Faulty Majority”, Proc. of FOCS (Foundations of Computer Science), pp. 468-473, 1989)
【0019】
【発明が解決しようとする課題】
しかしながら、上記秘密分散法においては、次のような課題があった。数人のメンバが分散情報Xmjを既に持っている場合、他の分散情報Xmp(p≠j)を算出するためには、もとの秘密情報Sと、既にメンバに保有されている分散情報Xmjを、少なくとも秘密分散を実行する組織(センター等であってもよいし、メンバの1人であってもよい)に公開するか、又は、既にメンバに保有されている分散情報Xmjを含むすべてのメンバの分散情報を再計算し直す必要があった。より具体的に説明すれば、次の2通りの場合がある。
【0020】
場合〔1〕は、既にn人のメンバに秘密情報Sの分散情報Xm1,Xm2,…,Xmnが配布されており、t1人の新規メンバが追加され、新規メンバのそれぞれに、分散情報Xmn+1,Xmn+2,…,Xmn+t1を与える場合である。この場合には、既に分散情報を配布されたメンバの分散情報Xm1,Xm2,…,Xmnを公開することにより、上記式(1)の多項式を復元し、追加された新規メンバ分の分散情報Xmn+1,Xmn+2,…,Xmn+t1を計算し直すか、追加された新規メンバをも含むすべてのメンバの分散情報を秘密情報Sから再計算し直す必要があった。
【0021】
場合〔2〕は、数人(t3人とする)のメンバがなんらかの分散情報Xmjを既に持っており、新たな秘密情報S′を与え、その秘密情報S′を再構成させるための分散情報として、分散情報Xmjを含んだn個(n>t3)の分散情報Xmpを算出する場合である。この場合も、既に保有されている分散情報Xmjと秘密情報S′を公開することにより、他の分散情報Xmp(p≠j)を算出するか、秘密情報S′からメンバ全員の分散情報を再計算し直す必要があった。
【0022】
そこで、本発明は、上記したような従来技術の課題を解決するためになされたものであり、その目的は、既に何人かのメンバが保有している分散情報を秘密にしたまま、既に保有されている分散情報を変更せず、分散情報を未だ保有していないメンバの分散情報を算出することができる秘密分散方法、秘密分散システム、及びこの秘密分散システムを構成する分散演算装置を提供することである。
【0023】
【課題を解決するための手段】
本発明に係る秘密分散方法は、もとの秘密情報を(k,n)しきい値秘密分散法を用いて秘密分散することによって生成されたn個の分散情報Xi(i=1,2,…,n)をそれぞれ保有しているn(nは正の整数)人の初期メンバの分散演算装置からなるグループに、t(tは正の整数)人の新規メンバの分散演算装置が追加された場合に、上記n人の初期メンバの分散演算装置及び上記t人の新規メンバの分散演算装置のうちのk(kはn以下の整数)人以上のメンバの分散演算装置が保有する分散情報から上記もとの秘密情報を再構成することができるように、且つ、上記n人の初期メンバの分散演算装置が保有する分散情報Xi(i=1,2,…,n)をそのままにして、上記t人の新規メンバの分散演算装置に保有させるt個の分散情報Xy(y=n+1,n+2,…,n+t)を算出するシステムにおける秘密分散方法であって、上記初期メンバの分散演算装置のそれぞれが、自身の分散演算装置が保有する分散情報Xi(i=1,2,…,n)を分散して複数の部分情報を生成し、上記部分情報のそれぞれを上記初期メンバの分散演算装置及び上記新規メンバの分散演算装置のそれぞれに配布する工程と、上記初期メンバの分散演算装置及び上記新規メンバの分散演算装置のそれぞれが、自身の分散演算装置が保有する部分情報を用いた分散計算により中間計算結果を生成し、上記新規メンバの分散演算装置のそれぞれに配布する工程と、上記新規メンバの分散演算装置のそれぞれが、受け取った上記中間計算結果を用いて、自身の分散演算装置が保有することになる上記分散情報Xy(y=n+1,n+2,…,n+t)を算出する工程とを有するものである。
【0024】
また、本発明に係る他の秘密分散方法は、n(nは正の整数)人のメンバの分散演算装置からなるグループがあり、上記n人のメンバの分散演算装置のうちのt(tはnより小さい正の整数)人のメンバの分散演算装置のそれぞれが既に分散情報Xi(i=1,2,…,t)を保有している既保有メンバの分散演算装置であり、残りのn−t人のメンバの分散演算装置が分散情報を保有していない未保有メンバの分散演算装置である場合に、上記n人のメンバの分散演算装置のうちのk(kはn以下の整数)人以上のメンバの分散演算装置の保有する分散情報からもとの秘密情報を再構成することができるように、且つ、上記t人の既保有メンバの分散演算装置が保有する分散情報Xi(i=1,2,…,t)をそのままにして、上記n−t人の未保有メンバの分散演算装置に保有させるn−t個の分散情報Xy(y=t+1,t+2,…,n)を算出するシステムにおける秘密分散方法であって、上記既保有メンバの分散演算装置のそれぞれが、自身の分散演算装置が保有する分散情報Xi(i=1,2,…,t)を分散して複数の第1の部分情報を生成し、上記第1の部分情報のそれぞれを上記メンバの分散演算装置のそれぞれに配布する工程と、上記メンバの分散演算装置に情報を配布できる装置が、上記もとの秘密情報から生成された複数の第2の部分情報のそれぞれを、上記メンバの分散演算装置のそれぞれに配布する工程と、上記メンバの分散演算装置のそれぞれが、自身の分散演算装置が保有する第1及び第2の部分情報を用いた分散計算により中間計算結果を生成し、上記未保有メンバの分散演算装置に配布する工程と、上記未保有メンバの分散演算装置が、受け取った上記中間計算結果を用いて、自身の分散演算装置が保有することになる上記分散情報Xy(y=t+1,t+2,…,n)を算出する工程とを有するものである。
【0025】
また、本発明に係る分散演算装置は、もとの秘密情報を(k,n)しきい値秘密分散法を用いて秘密分散することによって得られたn個の分散情報Xi(i=1,2,…,n)が既に与えられている場合に、上記もとの秘密情報を(k,n+t)しきい値秘密分散法を用いて秘密分散したような、さらにt個の分散情報Xy(y=n+1,n+2,…,n+t)を分散計算により算出するために、その分散情報の部分情報を算出する分散演算装置であって、既に与えられている分散情報Xi(i=1,2,…,n)の部分情報を受信する部分情報用受信部と、分散情報Xy(y=n+1,n+2,…,n+t)の部分情報を算出する部分情報計算部と、上記部分情報計算部で算出した分散情報Xy(y=n+1,n+2,…,n+t)の部分情報を送信する部分情報用送信部とを有し、上記部分情報計算部は、既に与えられている分散情報Xi(i=1,2,…,n)を保持する分散演算装置を特定するメンバID、及び、算出する分散情報Xyを最終的に受け取る分散演算装置を特定するメンバIDより計算される係数を算出し、上記算出された係数と、上記部分情報用受信部で受信した、対応する分散情報Xyの部分情報とを掛け合わせ、上記掛け合わせによって得られた値を足し合わせることによって分散情報Xyの部分情報を算出するものである。
【0026】
また、本発明に係る他の分散演算装置は、すべてを加算するともとの秘密情報を再構成できる加算秘密分散法を用いて秘密分散されたn個の分散情報Xi(i=1,2,…,n)のうち、t個(t<n)の分散情報Xi(i=1,2,…,t)が既に与えられている場合に、残りの分散情報Xy(y=t+1,t+2,…,n)を分散計算により算出するために、その分散情報の部分情報を算出する分散演算装置であって、既に与えられている分散情報Xi(i=1,2,…,t)の部分情報、及び、もとの秘密情報の部分情報を受信する部分情報用受信部と、分散情報Xy(y=t+1,t+2,…,n)の部分情報を算出する部分情報計算部と、上記部分情報計算部で算出した分散情報Xy(y=t+1,t+2,…,n)の部分情報を送信する部分情報用送信部とを有し、上記部分情報計算部は、分散情報Xi(i=t+1,t+2,…,n)のうち、n−t−1個の分散情報Xy(y=t+1,t+2,…,n−1)の部分情報を算出するために、乱数を生成してそれを分散情報Xy(y=t+1,t+2,…,n−1)とし、分散情報Xi(i=t+1,t+2,…,n)のうち、1個の分散情報Xy(y=n)の部分情報を算出するために、上記部分情報用受信部で受信した既に与えられている分散情報Xi(i=1,2,…,t)の部分情報、及び、上記算出した分散情報Xi(i=t+1,t+2,…,n−1)の部分情報を足し合わせ、上記部分情報用受信部で受信したもとの秘密情報の部分情報から、上記足し合わせによって算出した値を引き算することによって上記部分情報を算出するものである。
【0027】
また、本発明に係る他の分散演算装置は、もとの秘密情報を(k,n)しきい値秘密分散法を用いて秘密分散することによって得られたn個の分散情報Xi(i=1,2,…,n)のうち、t個の分散情報Xi(i=1,2,…,t)が既に与えられている場合に、n≧k>tなる関係があって、残りの分散情報Xy(y=t+1,t+2,…,n)を分散計算により算出するために、その分散情報の部分情報を算出する分散演算装置であって、既に与えられている分散情報Xi(i=1,2,…,t)の部分情報、及び、上記もとの秘密情報の部分情報を受信する部分情報用受信部と、分散情報Xy(y=t+1,t+2,…,n)の部分情報を算出する部分情報計算部と、上記部分情報計算部で算出した分散情報Xy(y=t+1,t+2,…,n)の部分情報を送信する部分情報用送信部と
を有し、上記部分情報計算部は、分散情報Xi(i=t+1,t+2,…,n)のうち、k−t−1個の分散情報Xy(y=t+1,t+2,…,k−1)の部分情報を算出するために、乱数を生成してそれを分散情報Xy(y=t+1,t+2,…,k−1)とし、分散情報Xi(i=t+1,t+2,…,n)のうち、n−k+1個の分散情報Xy(y=k,k+1,…,n)の部分情報を算出するために、上記部分情報用受信部で受信した既に与えられている分散情報Xi(i=1,2,…,t)を保有する分散演算装置を特定するメンバIDと、上記算出した分散情報Xi(i=t+1,t+2,…,k−1)の部分情報を最終的に受け取る分散演算装置を特定するメンバIDと、算出する分散情報Xyを最終的に受け取る分散演算装置を特定するメンバIDと、から計算される係数を算出し、分散情報Xi(i=t+1,t+2,…,n)のうち、n−k+1個の分散情報Xy(y=k,k+1,…,n)の部分情報を算出するために、上記部分情報用受信部で受信したもとの秘密情報の部分情報と、上記算出された係数とを掛け合わせて第1の乗算値を算出し、分散情報Xi(i=t+1,t+2,…,n)のうち、n−k+1個の分散情報Xy(y=k,k+1,…,n)の部分情報を算出するために、上記掛け合わせた係数と、上記部分情報用受信部で受信した、対応する分散情報Xyの部分情報とを掛け合わせて第2の乗算値を算出し、
分散情報Xi(i=t+1,t+2,…,n)のうち、n−k+1個の分散情報Xy(y=k,k+1,…,n)の部分情報を算出するために、上記第1の乗算値と上記第2の乗算値を足し合わせるものである。
【0028】
また、本発明に係る他の分散演算装置は、もとの秘密情報を(k,n)しきい値秘密分散法を用いて秘密分散することによって得られたn個の分散情報Xi(i=1,2,…,n)のうち、t個の分散情報Xi(i=1,2,…,t)が既に与えられている場合に、n≧k>tなる関係があって、残りの分散情報Xy(y=t+1,t+2,…,n)を分散計算により算出するために、その分散情報の部分情報を算出する分散演算装置であって、既に与えられている分散情報Xi(i=1,2,…,t)の部分情報、及び、上記もとの秘密情報の部分情報を受信する部分情報用受信部と、分散情報Xy(y=t+1,t+2,…,n)の部分情報を算出する部分情報計算部と、上記部分情報計算部で算出した分散情報Xy(y=t+1,t+2,…,n)の部分情報を送信する部分情報用送信部とを有し、上記部分情報計算部は、分散情報Xi(i=t+1,t+2,…,n)のうち、k−t−1個の分散情報Xy(y=t+1,t+2,…,k−1)の部分情報を算出するために、乱数を生成してそれを分散情報Xy(y=t+1,t+2,…,k−1)とし、分散情報Xi(i=t+1,t+2,…,n)のうち、1個の分散情報Xy(y=k)の部分情報を算出するために、上記部分情報用受信部で受信した既に与えられている分散情報Xi(i=1,2,…,t)を保有する分散演算装置を特定するメンバIDと、上記算出した分散情報Xi(i=t+1,t+2,…,k−1)の部分情報を最終的に受け取る分散演算装置を特定するメンバIDと、算出する分散情報Xyを最終的に受け取る分散演算装置を特定するメンバIDと、から計算される係数を算出し、分散情報Xi(i=t+1,t+2,…,n)のうち、1個の分散情報Xy(y=k)の部分情報を算出するために、上記部分情報用受信部で受信したもとの秘密情報の部分情報と、上記算出された係数とを掛け合わせて第1の乗算値を算出し、分散情報Xi(i=t+1,t+2,…,n)のうち、1個の分散情報Xy(y=k)の部分情報を算出するために、上記係数と、上記部分情報用受信部で受信した、対応する分散情報Xyの部分情報とを掛け合わせて第2の乗算値を算出し、分散情報Xi(i=t+1,t+2,…,n)のうち、1個の分散情報Xy(y=k)の部分情報を算出するために、上記第1の乗算値と上記第2の乗算値を足し合わせ、分散情報Xi(i=t+1,t+2,…,n)のうち、n−k個の分散情報Xy(y=k+1,k+2,…,n)の部分情報を算出するために、上記部分情報用受信部で受信した既に与えられている分散情報Xi(i=1,2,…,t)を保有する分散演算装置を特定するメンバIDと、上算出した分散情報Xi(i=t+1,t+2,…,k−1)の部分情報を最終的に受け取る分散演算装置を特定するメンバIDと、上記加算により算出した分散情報Xi(i=k)の部分情報を最終的に受け取る分散演算装置を特定するメンバIDと、算出する分散情報Xyを最終的に受け取る分散演算装置を特定するメンバIDと、から計算される係数を算出し、分散情報Xi(i=t+1,t+2,…,n)のうち、n−k個の分散情報Xy(y=k+1,k+2,…,n)の部分情報を算出するために、上記係数と、上記受信部で受信した、対応する分散情報Xiの部分情報とを掛け合わせて第3の乗算値を算出し、分散情報Xi(i=t+1,t+2,…,n)のうち、n−k個の分散情報Xy(y=k+1,k+2,…,n)の部分情報を算出するために、上記第3の乗算値を足し合わせるものである。
【0029】
【発明の実施の形態】
以下の説明においては、数人のメンバが分散情報Xmjを既に持っている場合に、その分散情報Xmj、必要ならば、秘密情報S又はS′を入力とするマルチパーティ・プロトコルによる分散計算を行うことにより、固定となっている(すなわち、変更されずそのまま保有され続ける)分散情報Xmjや、秘密情報S又はS′を秘密にしたまま、秘密情報の他の分散情報Xmp(p≠j)を、メンバの分散演算装置が協力して求める場合を説明する。第1の実施形態は、従来技術の説明において場合〔1〕として記載した課題を解決する実施形態であり、(k,n)しきい値秘密分散法を用いて、分散情報を既に保有している当初からのメンバの分散情報をそのまま変更せずに、追加される新規メンバに保有させる分散情報を求める。また、第2の実施形態は、従来技術の説明において場合〔2〕として記載した課題を解決する実施形態であり、加算秘密分散法、又は、(k,n)しきい値秘密分散法を用いて、分散情報を既に保有しているメンバの分散情報をそのまま変更せずに、分散情報を未だ保有していないメンバに保有させる分散情報を求める。
【0030】
≪第1の実施形態≫
第1の実施形態においては、既にn人のメンバ(初期メンバ)に、秘密情報Sを(k,n)しきい値秘密分散法で分散した分散情報Xm1,Xm2,…,Xmnが配布されており、新たに追加されたt1人の新規メンバに分散情報Xmn+y(y=1,2,…,t1)を与える場合を考える。第1の実施形態においては、既に配布されている分散情報Xmj(j=1,2,…,n)を入力とするマルチパーティ・プロトコルによる分散計算を行うことにより、固定となっている分散情報Xmj(j=1,2,…,n)、及び、もとの秘密情報Sを公開せずに、秘密情報Sの新規メンバに保有させる分散情報Xmn+y(y=1,2,…,t1)を、各メンバの分散演算装置が協力して求める。
【0031】
第1の実施形態においては、まず前提として、複数(n人)のメンバからなるあるグループで、秘密情報Sを(k,n)しきい値秘密分散法(k≦n)を用いて分散し、その分散情報が秘密裏に既に配布されている状態を考える。秘密情報Sを分散させるときに用いたメンバIDをm1,m2,…,mnとする。メンバIDがmj(j=1,2,…,n)であるメンバに配布した分散情報をXmj(j=1,2,…,n)とする。そして、新たにグループに参加するt1人の新規メンバ(メンバIDをmn+1,mn+2,…,mn+t1とする)に保有させる秘密情報Sの分散情報Xmj(j=n+1,n+2,…,n+t1)を生成して該当メンバに配布する場合を考える。
【0032】
また、メンバのうち、どの2人のメンバ間にも、その2人のメンバ以外には通信内容を秘密とすることができる秘密通信路が確立されているものとする。図4は、第1の実施形態において各メンバ間の通信に用いる秘密通信路を示す図である。図4において、四角形で示されるブロックは集まったメンバ(分散演算装置)を示し、m1,m2,…,mj,…,mnは、メンバIDを示し、両方向の矢印は、それぞれ対応するメンバ以外には通信内容を秘密とする秘密通信路を示している。
【0033】
次に、図5を用いて、第1の実施形態の概要を簡単に説明する。図5は、第1の実施形態に係る秘密分散方法を実施する秘密分散システムの構成を示す図である。図5においては、メンバ(分散演算装置)の人数は4人とし、そのうち3人のメンバPA,PB,PCは、もとの秘密情報Sを(2,3)又は(3,3)しきい値秘密分散法で分散させた分散情報A,B,Cをそれぞれ持っているとし、新規メンバPDの分散情報Dを、分散情報A,B,Cや、もとの秘密情報Sを公開しないで新たに計算したいとする。このとき、分散情報を既に持つメンバPA,PB,PCが、各自持っている分散情報A,B,Cをさらに秘密分散して部分情報を生成し(図5の処理▲1▼であり、分散情報Aから部分情報A1,A2,A3,A4を生成し、分散情報Bから部分情報B1,B2,B3,B4を生成し、分散情報Cから部分情報C1,C2,C3,C4を生成する。)、それらを他のメンバに配布する(図5の処理▲2▼)。各メンバPA,PB,PC,PDは、受け取った分散情報の部分情報をもとに、分散計算を行う(図5の処理▲3▼)。各メンバPA,PB,PC,PDは、その分散計算の結果を新規メンバPDへ送信し(図5の処理▲4▼)、メンバPDは、受け取った計算結果に基づいて分散情報Dを生成する(図5の処理▲5▼)。この結果、メンバPA,PB,PC,PDは、それぞれ、もとの秘密情報Sを(2,4)又は(3,4)しきい値秘密分散法で分散した分散情報A,B,C,Dを持つことになる。
【0034】
図6は、第1の実施形態(又は後述する第2の実施形態)に係る秘密分散システムを構成する分散演算装置及び秘密通信路を示す図である。分散情報を計算するメンバは、それぞれ、分散計算で分散情報を計算するために必要な手段を持つ分散演算装置301を持っており、図6の秘密分散システムは、複数の分散演算装置301を有している。各メンバの分散演算装置301は、それぞれ他のメンバの分散演算装置301とは、図4で説明した秘密通信路302で接続されている。各メンバの分散演算装置301における処理は、各メンバがそれぞれ他のメンバにはその処理の内容が分からないように行う。
【0035】
次に、図1を用いて分散演算装置301の構成を説明する。分散演算装置301は、秘密分散法を実行して分散情報から部分情報を生成し配布するSSS部(秘密分散法実行部)401、部分情報に基づいて分散計算を行い、分散計算結果を配布する分散計算部402、及び、分散計算結果に基づいて分散情報を生成するRSSS部(秘密再構成法実行部)403のうち、少なくともいずれか1つを有する。例えば、図5の例を取り上げて説明すると、SSS部401は、図5における処理▲1▼及び処理▲2▼、すなわち、分散情報を分散して部分情報を生成し配布する処理を行う。また、分散計算部402は、図5における処理▲3▼及び処理▲4▼、すなわち、分散計算を行って、その結果を分散情報が必要なメンバに送信する処理を行う。また、RSSS部403は、図5における処理▲5▼、すなわち、他のメンバから分散計算結果を受信して分散情報を生成する処理を行う。したがって、図5においてメンバPA,PB,PCとして示される分散演算装置301は、少なくとも、SSS部401と、分散計算部402とを有していればよい(図7)。これに対し、図5においてメンバPDとして示される分散演算装置301は、少なくとも、分散計算部402と、RSSS部403とを有していればよい(図8)。特に、計算資源が限られる分散演算装置301は、SSS部401、分散計算部402、又は、RSSS部403のうち、いずれか1つのみしか持たない場合もありうる(図9、図10、図11)。
【0036】
SSS部401は、メンバIDがmj(j=1,2,…,n)であるメンバに既に配布されている秘密情報Sの分散情報Xmjを分散して部分情報を求め、各メンバへの配布の処理を行う。SSS部401は、秘密分散部4011と、送信部4012とからなる。既に分散情報を保有している、メンバIDがmj(j=1,2,…,n)であるメンバの分散演算演算部301は、SSS部401を持つ。
【0037】
SSS部401の秘密分散部4011へは、メンバIDがmj(j=1,2,…,n)であるメンバに既に配布されている秘密情報Sの分散情報Xmjが入力される。秘密分散システムにおける分散演算装置301のうち、分散計算部402を持つものがt2個存在するとし、それらのメンバIDをm′1,m′2,…,m′t2とする。秘密分散部4011は、入力された分散情報Xmjを(k′,t2)しきい値秘密分散法(k′≦t2)、又は、加算秘密分散法を用いて分散して、t2個の部分情報Xm′j,p(p=1,2,…,t2)を生成し、それら部分情報Xm′j,pを送信部4012へ出力する。
【0038】
SSS部401の送信部4012は入力された分散情報を他のメンバと通信する秘密通信路302を経て、分散計算部402を持つ分散演算装置301(メンバIDがm′p(p=1,2,…,t2)であるメンバの分散演算装置301)へ配布する。分散演算装置301がSSS部401と分散計算部402を有する場合(図1又は図7の場合)には、秘密分散部4011は、自分自身への部分情報Xm′j,p(mj=m′p)を、(後述する)分散計算部402の部分情報計算部4021へ出力する。
【0039】
分散計算部402は、他の分散演算装置301から部分情報を受け取って、計算したい分散情報Xmn+y(メンバIDがmn+y(y=1,2,…,t1)の分散情報)の部分情報Xm′n+y,p(p=1,2,…,t2)を計算する部分である。分散計算部402は、部分情報計算部4021及び送受信部4022からなる。メンバIDがm′p(p=1,2,…,t2)であるメンバのt2個の分散演算装置301が分散計算部402を持つとする。
【0040】
分散計算部402の送受信部4022(メンバIDがm′p(p=1,2,…,t2))は、SSS部401を持つ分散演算装置301(メンバIDがmj(j=1,2,…,n))からの部分情報Xm′j,pを受信して、部分情報計算部4021へ出力し、また、部分情報計算部4021からの出力(計算結果)を受け取って、他の分散演算装置301へ送信する。
【0041】
分散計算部402の部分情報計算部4021(メンバIDがm′p(p=1,2,…,t2))は、送受信部4022からの部分情報を受け取る。また、分散演算装置301がSSS部401と分散計算部402とを有する場合(図1又は図7の場合)には、秘密分散部4011から、自分自身への部分情報Xm′j,p(mj=m′p)も受け取る。部分情報計算部4021は、受け取った情報から、次式(14)及び(15)を用いた計算を行って、t1個の部分情報Xm′n+y,p(y=1,2,…,t1)を算出する。
【数3】
【0042】
RSSS部403は、分散計算部402を持つ分散演算装置301から部分情報の計算結果を受信して、それら部分情報から求めたい分散情報を算出する処理を行う部分である。RSSS部403は、秘密再構成部4031及び受信部4032からなる。求めたい分散情報に該当するメンバ(すなわち、メンバIDがmj(j=n+1,n+2,…,n+t1)であるメンバ)の分散演算装置301は、このRSSS部403を持つ。
【0043】
RSSS部403の受信部4032(メンバIDがmj(j=n+1,n+2,…,n+t1))は、分散計算部402を持つ分散演算装置301から、計算結果である、分散情報Xmjの部分情報Xm′j,p(p=1,2,…,t2)を受信して、その受信情報を秘密再構成部4031へ出力する。
【0044】
RSSS部403の秘密再構成部4031(メンバIDがmj(j=n+1,n+2,…,n+t1))は、受信部4032から部分情報Xm′j,p(p=1,2,…,t2)を受け取る。また、分散演算装置301が分散計算部402とRSSS部403とを有する場合(図1又は図8の場合)には、部分情報計算部4021から自分自身への部分情報Xm′j,p(mj=m′p)を受け取る。それら受け取った部分情報を再構成することにより、分散情報Xmjを得る。この再構成は、SSS部401を持つ分散演算装置301の秘密分散部4011での秘密分散法が、(k′,t2)しきい値秘密分散法(k′≦t2)を用いたならば、しきい値秘密分散法の再構成方法、加算秘密分散法を用いたならば加算秘密分散法の再構成方法で行う。
【0045】
図12は、第1の実施形態の秘密分散システムの動作を示すフローチャートである。複数(n人の)メンバからなるあるグループで、秘密情報Sを(k,n)しきい値秘密分散法(k≦n)を用いて分散し、その分散情報が秘密裏に既に配布されている状態を考え、追加されたt1人の新規メンバ(メンバIDをmn+1,mn+2,…,mn+t1とする)の秘密情報Sの分散情報Xmj(j=n+1,n+2,…,n+t1)を生成して該当メンバに配布する場合を考える。秘密情報Sを分散させるときに用いたメンバIDをm1,m2,…,mnとし、メンバIDがmj(j=1,2,…,n)であるメンバに配布した分散情報をXmj(j=1,2,…,n)とする。
【0046】
まず、分散情報を既に持つ、メンバIDがmj(j=1,2,…,n)であるメンバの分散演算装置301は、自身の持つ分散情報Xmj(j=1,2,…,n)を、しきい値秘密分散法、又は、加算秘密分散法で分散して部分情報を生成し、分散計算部402を持つメンバ(メンバIDをm′p(p=1,2,…,t2)とする)の分散演算装置301へ配布する(ステップS501)。ステップS501は、SSS部401における動作を示しており、メンバIDがmj(j=1,2,…,n)であるメンバの分散演算装置301は、自身の持つ分散情報Xmjから部分情報Xm′j,p(p=1,2,…,t2)を生成し、その部分情報をメンバIDがm′pであるメンバの分散演算装置301へ配布する。
【0047】
次に、分散計算部402を持つメンバ(メンバIDをm′p(p=1,2,…,t2)とする)の分散演算装置301は、配布された部分情報Xm′j,p(j=1,2,…,n)を用いて演算を施し、新たに求めたい分散情報の部分情報を求め、RSSS部403を持つメンバ(メンバIDがmn+y(y=1,2,…,t1))の分散演算装置301へ送信する(ステップS502)。ステップS502は、分散計算部402における動作を示しており、メンバIDがm′p(p=1,2,…,t2)であるメンバの分散演算装置301は、配布される部分情報Xm′j,p(j=1,2,…,n)から、式(14)及び(15)を用いて新たに求めたい分散情報の部分情報Xm′n+y,p(y=1,2,…,t1)を算出し、メンバIDがmn+yであるメンバの分散演算装置301へ送信する。
【0048】
次に、RSSS部403を持つメンバ(メンバIDがmn+y(y=1,2,…,t1))の分散演算装置301は、受け取ったt2個の部分情報Xm′n+y,p(p=1,2,…,t2)から、しきい値秘密分散法、又は、加算秘密分散法の再構成方法を用いて(ただし、ステップS501と同じ秘密分散法の再構成方法を用いる)、分散情報Xmn+yを再構成する(ステップS503)。ステップS503は、RSSS部403における動作を示している。
【0049】
この結果、メンバIDがmj(j=1,2,…,n+t1)であるメンバは、それぞれ、もとの秘密情報Sを(k,n+t1)しきい値秘密分散法で分散した分散情報Xmj(j=1,2,…,n+t1)を持つことになり、さらに、秘密分散する前に既に配布されていた分散情報Xmj(j=1,2,…,n)はそのまま変更せずに再利用することができている。
【0050】
以上説明したように、第1の実施形態に係る秘密分散方法又は秘密分散システムを用いれば、複数のメンバからなるあるグループで、秘密情報Sを(k,n)しきい値秘密分散法(k≦n)を用いて分散し、その分散情報Xmj(j=1,2,…,n)が秘密裏に既に配布されている状態を考え、t1人の新規メンバ(メンバIDをmn+1,mn+2,…,mn+t1とする)の秘密情報Sの分散情報Xmj(j=n+1,n+2,…,n+t1)を新たに生成して該当メンバに配布する場合に、秘密情報S、及び、既に配布されている分散情報Xmj(j=1,2,…,n)を公開することなく、新たに追加するt1個の分散情報Xmj(j=n+1,n+2,…,n+t1)を生成して該当メンバに配布することができる。このとき、既に配布されていた分散情報Xmj(j=1,2,…,n)は、そのまま有効に利用でき、既に配布されていた分散情報の再計算も必要としない。
【0051】
また、第1の実施形態に係る秘密分散方法又は秘密分散システムを用いれば、秘密分散を行うためのセンターを必要としないという利点もある。秘密分散を行うためのセンターがある場合、メンバの保有する分散情報をすべてセンターが把握してしまうため、センターがメンバになりすます不正(「分散情報Xmjを持っているので、私はメンバIDがmjのメンバです」といった「なりすまし」のような不正)があり得るが、第1の実施形態によれば、このような不正を防ぐことができる。
【0052】
≪第2の実施形態≫
第2の実施形態において、t3人のメンバがなんらかの分散情報Xmj(j=1,2,…,t3)を既に持っており、新たな秘密情報S′を与え、その秘密情報S′を再構成させるための分散情報として分散情報Xmjを含むn個(n>t3)の分散情報Xmpを算出する場合を考える。すなわち、n(nは正の整数)人のメンバからなるグループがあり、これらn人のメンバのうちのt3(t3はnより小さい正の整数)人のメンバのそれぞれが既に分散情報Xmj(j=1,2,…,t3)を保有している既保有メンバであり、残りのn−t3人のメンバが分散情報を保有していない未保有メンバである場合に、上記n人のメンバのうちのk(kはn以下の整数)人以上のメンバの保有する分散情報からもとの秘密情報を再構成することができるように、且つ、t3人の既保有メンバが保有する分散情報Xmj(j=1,2,…,t3)をそのままにして、n−t3人の未保有メンバに保有させるn−t3個の分散情報Xmy(y=t3+1,t3+2,…,n)を算出する場合を考える。このときの秘密情報S′の秘密分散法としては、加算秘密分散法、又は、(k,n)しきい値秘密分散法の場合を考え、既に保有されていた分散情報Xmj(j=1,2,…,t3)と、算出する他のn−t3個の分散情報Xmy(y=t3+1,t3+2,…,n)とから、秘密情報S′が再構成できるようにする。第2の実施形態においては、秘密情報S′、及び、既に保有されている分散情報Xmj(j=1,2,…,t3)を入力とするマルチパーティ・プロトコルによる分散計算を行うことにより、その既に保有されている分散情報Xmj(j=1,2,…,t3)、及び、もとの秘密情報S′を公開しないまま、秘密分散の他のn−t3個の分散情報Xmy(y=t3+1,t3+2,…,n)を、メンバの分散演算装置が協力して求める。
【0053】
第2の実施形態においては、t3人のメンバがなんらかの分散情報Xmj(j=1,2,…,t3)を既に持っている状態を考える。これらのメンバのメンバIDをそれぞれm1,m2,…,mt3とする。そして、秘密情報S′が与えられたとき、その秘密情報S′を秘密分散したn個(n>t3)の分散情報を算出したいとする。秘密情報S′を秘密分散する秘密分散法は、次の2通りを考える。
【0054】
第1の秘密分散法(第1のSSS)は、加算秘密分散法(n個の分散情報を加算することで秘密情報S′を得られるようにする秘密分散法)である。ただし、n>t3である場合を考える。
【0055】
第2の秘密分散法(第2のSSS)は、(k,n)しきい値秘密分散法(秘密分散したn個の分散情報のうち、k個以上の分散情報から秘密情報S′を再構成することができる秘密分散法)である。ただし、n≧k>t3である場合を考える。
【0056】
このとき、第1のSSS及び第2のSSSのどちらの場合においても、既に保有されている分散情報Xmj(j=1,2,…,t3)を、算出したい分散情報に含まれるようにする。そして、残りのn−t3個の分散情報Xmy(y=t3+1,t3+2,…,n)を生成して該当メンバに配布する場合を考える。
【0057】
第1の実施形態と同様に、メンバのうち、どの2人のメンバ間にも、その2人のメンバ以外には通信内容を秘密とすることができる秘密通信路が確立されているとする(図4)。
【0058】
まず、図13を用いて、第2の実施形態の概要を簡単に説明する。図13は、第2の実施形態に係る秘密分散方法を実施する秘密分散システムの構成を示す図である。図13においては、メンバ(分散演算装置)の人数は4人とし、そのうち1人のメンバPAは、なんらかの分散情報Aを既に保有しているとする。そのとき、秘密情報S′のメンバPAの分散情報をAとし、他のメンバPB,PC,PDの秘密情報S′の分散情報B,C,Dを、分散情報Aや、秘密情報S′を公開しないで計算したいとする。このとき、メンバPA(分散情報を既に保有するメンバ)が持っている分散情報Aをさらに分散して部分情報A1,A2,A3,A4を生成し(図13の処理▲1▼)、さらに、秘密情報S′を分散して部分情報S′1,S′2,S′3,S′4を生成して(図13の処理▲1▼′)、それらを他のメンバに配布する(図13の処理▲2▼′)。図13においては、秘密情報S′を分散するのに、メンバ以外の組織の秘密情報S′の保管機関が行うように描いているが、実際には、メンバのうちの1人であっても構わない。各メンバは、受け取った分散情報や秘密情報の部分情報をもとに、分散計算を行う(図13の処理▲3▼)。この分散計算においては、各メンバは、計算結果である、分散情報B,C,Dそれぞれの部分情報を出力する(各メンバは3個ずつ部分情報を出力する)。各メンバは、その分散計算の計算結果をそれぞれ該当するメンバ(メンバPB,PC,PD)へ送信し(図13の処理▲4▼)、メンバPB,PC,PDは、それらを集めて再構成することで、それぞれ、分散情報B,C,Dを得ることができる(図13の処理▲5▼)。
【0059】
このとき、第1のSSS(加算秘密分散法)の場合には、分散情報A,B,C,Dをすべて加算すると秘密情報S′を得ることができ(t3=1;n=4である)、第2のSSS((k,n)しきい値秘密分散法)の場合には、秘密情報S′を、(2,4)、(3,4)又は、(4,4)しきい値秘密分散法で分散した分散情報がA,B,C,Dとなっている(t3=1;n=4;k=2、3、又は、4)。
【0060】
第2の実施形態の秘密分散システムは、第1の実施形態と同様な構成(図6)をしているが、分散演算装置の構成と動作が異なるので、分散演算装置の符号を601として説明する。分散情報を計算するメンバは、それぞれ、分散計算で分散情報を計算するために必要な手段を持つ分散演算装置601を持っており、この秘密分散システムは、複数の分散演算装置601からなる(図6)。各メンバの分散演算装置601は、それぞれ他のメンバの分散演算装置601とは、図4で説明した秘密通信路302で接続されている。各メンバの分散演算装置601における処理は、各メンバがそれぞれ他のメンバにはその処理の内容が分からないように行う。
【0061】
次に、図14を用いて分散演算装置601の構成を説明する。分散演算装置601は、SSS部(秘密分散法実行部)701、分散計算部702、RSSS部(秘密再構成法実行部)703、及びSSS部(秘密分散法実行部)704のうち、少なくともいずれか1つを有する。例えば、図13の例を取り上げて説明すると、SSS部701は、図13における処理▲1▼及び処理▲2▼、すなわち、分散情報を分散して部分情報を生成し配布する処理を行う。SSS部704は、図13における処理▲1▼′及び処理▲2▼′、すなわち、秘密情報S′を分散して部分情報を生成し配布する処理を行う。また、分散計算部702は、図13における処理▲3▼及び処理▲4▼、すなわち、分散計算を行って、その結果を分散情報が必要なメンバに送信する処理を行う。また、RSSS部703は、図13における処理▲5▼、すなわち、他のメンバから分散計算の結果を受信して分散情報を生成する処理を行う。したがって、図13におけるメンバPAの分散演算装置601は、少なくともSSS部701及び分散計算部702を有し(図15)、メンバPB,PC,PDの分散演算装置601は、少なくとも分散計算部702及びRSSS部703を有する(図16)。また、秘密情報S′を分散するSSS部704をメンバPAの分散演算装置601に含めたような構成(図17)、又は、メンバPB,PC,PDの分散演算装置601に含めたような構成(図18)も可能である。特に、計算資源が限られる分散演算装置601は、SSS部701、分散計算部702、RSSS部703、又は、SSS部704のうち、いずれか1つのみしか持たない場合もありうる(図19、図20、図21、図22)。また、SSS部701とSSS部704との組み合わせ、又は、SSS部701と分散計算部702との組み合わせ、又は、RSSS部703とSSS部704との組み合わせの構成(図23、図24、図25)も可能である。
【0062】
SSS部701は、メンバIDがmj(j=1,2,…,t3)であるメンバが既に保有している分散情報Xmjを分散して部分情報を求め、各メンバへの配布の処理を行う。SSS部701は、第1の実施形態のSSS部401と同様に、秘密分散部7011及び送信部7012からなる。既に分散情報を保有している、メンバIDがmj(j=1,2,…,t3)であるメンバの分散演算装置601は、SSS部701を持つ。
【0063】
SSS部701の秘密分散部7011へは、メンバIDがmj(j=1,2,…,t3)であるメンバが既に保有する分散情報Xmjが入力される。秘密分散システムにおける分散演算装置601のうち、分散計算部702を持つものがt4個存在するとし、それらのメンバIDをm′1,m′2,…,m′t4とする。秘密分散部7011は、入力された分散情報Xmjを、(k′,t4)しきい値秘密分散法(k′≦t4)、又は、加算秘密分散法を用いて分散して(上記第1のSSS又は第2のSSSどちらの場合でも、(k′,t4)しきい値秘密分散法、又は、加算秘密分散法を用いることができる)、t4個の部分情報Xm′j,p(p=1,2,…,t4)を生成し、これらの部分情報Xm′j,pを送信部7012へ出力する。
【0064】
SSS部701の送信部7012は、入力された分散情報を他のメンバと通信する秘密通信路302を経て、分散計算部702を持つ分散演算装置601(メンバIDがm′p(p=1,2,…,t4)であるメンバの分散演算装置601)へ配布する。分散演算装置601がSSS部701と分散計算部702とを有する場合には、秘密分散部7011は、自分自身への部分情報Xm′j,p(mj=m′p)を、(後述する)分散計算部702の部分情報計算部7021へ出力する。
【0065】
分散計算部702は、他の分散演算装置601から部分情報を受け取って、計算したい分散情報Xmy(メンバIDがmy(y=t3+1,t3+2,…,n)の分散情報)の部分情報Xm′y,pを計算する部分である。分散計算部702は、第1の実施形態のSSS部401と同様に、部分情報計算部7021及び送受信部7022からなる。メンバIDがm′p(p=1,2,…,t4)であるメンバの、t4個の分散演算装置601が分散計算部702を持つとする。
【0066】
分散計算部702の送受信部7022(メンバIDがm′p(p=1,2,…,t4))は、SSS部701を持つ分散演算装置601(メンバIDがmj(j=1,2,…,t3))からの部分情報Xm′j,pを受信して、部分情報計算部7021へ出力し、また、部分情報計算部7021からの出力(計算結果)を受け取って、他の分散演算装置601へ送信する。
【0067】
分散計算部702の部分情報計算部7021(メンバIDがm′p(p=1,2,…,t4))は、送受信部7022で受信した部分情報を受け取る。また、分散演算装置601がSSS部701と分散計算部702とを有する場合には、秘密分散部7011から、自分自身への部分情報Xm′j,p(mj=m′p)も受け取る。部分情報計算部7021は、受け取った情報から、次のような計算を行って、n−t3個の部分情報Xm′y,p(y=t3+1,t3+2,…,n)を算出する。この算出方法は、上記第1のSSS又は第2のSSSの場合によって異なる。まず、第1のSSSの場合から説明する。
【0068】
[第1のSSS(加算秘密分散法)の場合]
n−t3個の部分情報Xm′j,p(j=t3+1,t3+2,…,n)のうち、n−t3−1個の部分情報Xm′y,p(y=t3+1,t3+2,…,n−1)は、乱数Ry,pを生成し、
Xm′y,p=Ry,p …(16)
とする。また、それ以外の残りの1個の部分情報Xm′n,pは、既に保有されている分散情報Xmjの部分情報Xm′j,p(j=1,2,…,t3)、及び、式(16)で求めた部分情報Xm′j,p(j=t3+1,t3+2,…,n−1)を用いて、次式(17)により算出する。ここで、S′pは秘密情報S′の部分情報であり詳細は後述する。
【数4】
なお、t3=n−1の場合には、算出したい分散情報は、n−t3=1個となるので、式(16)の処理、すなわち乱数生成して、その乱数を部分情報に割り当てる処理は行わない。
【0069】
[第2のSSS((k,n)しきい値秘密分散法)の場合]
n−t3個の部分情報Xm′j,p(j=t3+1,t3+2,…,n)のうち、k−t3−1個の部分情報Xm′y,p(y=t3+1,t3+2,…,k−1)は、乱数Ry,pを生成し、
Xm′y,p=Ry,p …(18)
とする。また、それ以外の部分情報Xm′j,p(j=k,k+1,…,n)のうち、1個の部分情報Xm′y,p(y=k)は、秘密情報S′の部分情報S′p(詳細は後述)、既に保有されている分散情報Xmjの部分情報Xm′j,p(j=1,2,…,t3)、及び、式(18)で求めた部分情報Xm′j,p(j=t3+1,t3+2,…,k−1)を用いて、次式(19)〜(21)を用いて算出する。
【数5】
【0070】
また、それ以外の残りのn−k個の部分情報Xm′y,p(y=k+1,k+2,…,n)は、上記式(19)〜(21)と同様に求めるか、又は、次のように求める。既に保有されている分散情報Xmjの部分情報Xm′j,p(j=1,2,…,t3)、式(18)で求めた部分情報Xm′j,p(j=t3+1,t3+2,…,k−1)、及び、式(19)〜(21)で求めた部分情報Xm′j,p(j=k)を用いて、次式(22)及び(23)を用いて算出する。
【数6】
【0071】
なお、t3=k−1の場合には、算出したい分散情報は、k−t3−1=0となるので、式(18)の処理、すなわち乱数生成して、その乱数を部分情報に割り当てる処理は行わない。また、n=kの場合には、n−k=0となるので、最後に記述した残りのn−k個の部分情報Xm′y,p(y=k+1,k+2,…,n)の算出方法については行わない。
【0072】
RSSS部703は、分散計算部702を持つ分散演算装置601から部分情報の計算結果を受信して、それら計算結果から求めたい分散情報を算出する処理を行う部分である。RSSS部703は、秘密再構成部7031及び受信部7032からなる。求めたい分散情報に該当するメンバ(メンバIDがmt3+1,mt3+2,…,mnであるメンバ)の分散演算装置601は、このRSSS部703を持つ。
【0073】
RSSS部703の受信部7032(メンバIDがmj(j=t3+1,t3+2,…,n))は、分散計算部702を持つ分散演算装置601から、計算結果である、分散情報Xmjの部分情報Xm′j,p(p=1,2,…,t4)を受信して、その受信情報を秘密再構成部7031へ出力する。
【0074】
RSSS部703の秘密再構成部7031(メンバIDがmj(j=t3+1,t3+2,…,n))は、受信部7032から部分情報Xm′j,p(p=1,2,…,t4)を受け取る。また、分散演算装置601が分散計算部702とRSSS部703を有する場合には、部分情報計算部7021から自分自身への部分情報Xm′j,p(mj=m′p)を受け取る。それら受け取った部分情報を再構成することにより、分散情報Xmjを得る。この再構成は、SSS部701を持つ分散演算装置601の秘密分散部7011での秘密分散法が、(k′,t4)しきい値秘密分散法(k′≦t4)を用いたならば、しきい値秘密分散法の再構成方法、加算秘密分散法を用いたならば加算秘密分散法の再構成方法で行う。
【0075】
SSS部704は、分散したいもとの秘密情報S′を分散して部分情報S′pを生成し、分散計算部702を持つ分散演算装置601へ配布する処理を行う部分である。図13で説明したように、SSS部704は、メンバの分散演算装置601以外の装置が独立して持っていてもよいし、メンバの1人が持っていてもよいが、この秘密分散システムを構成する処理部分(分散演算装置601)のうち、少なくとも1つは、SSS部704を持っている必要がある。複数の分散演算装置601がSSS部704を持っていてもよいが、実際に秘密分散の計算を行う場合には、そのうちただ1つのみが動作する。SSS部704は、秘密分散部7041及び送信部7042からなる。
【0076】
SSS部704の秘密分散部7041へは、分散したいもとの秘密情報S′が入力される。秘密分散装置における分散演算装置601のうち、分散計算部702を持つものがt4個存在するとし、それらのメンバIDをm′1,m′2,…,m′t4とする。秘密分散部7041は、入力された分散情報S′を(k′,t4)しきい値秘密分散法(k′≦t4)、又は、加算秘密分散法を用いて分散して、t4個の部分情報S′p(p=1,2,…,t4)を生成し、それら部分情報S′pを送信部7042へ出力する。この秘密分散法は、SSS部701を持つ分散演算装置601の秘密分散部7011での秘密分散法が、(k′,t4)しきい値秘密分散法(k′≦t4)を用いたならば、(k′,t4)しきい値秘密分散法、加算秘密分散法を用いたならば加算秘密分散法で行う。
【0077】
SSS部704の送信部7042は入力された分散情報を他のメンバと通信する秘密通信路302を経て、分散計算部702を持つ分散演算装置601(メンバIDがm′p(p=1,2,…,t4)であるメンバの分散演算装置601)へ配布する。分散演算装置601がSSS部704と分散計算部702とを有する場合(メンバIDをmjとする)には、秘密分散部7041は、自分自身への部分情報S′p(mj=m′p)を、分散計算部702の部分情報計算部7021へ出力する。
【0078】
図26は、第2の実施形態の秘密分散システムの動作を示すフローチャートである。t3人のメンバがなんらかの分散情報Xmj(j=1,2,…,t3)を既に持っている状態を考え、これらのメンバのメンバIDをそれぞれm1,m2,…,mt3とする。そして、ある秘密情報S′が与えられたとき、n個(n>t3)の分散情報から秘密情報S′が得られるような秘密分散法のn個の分散情報を算出したいとする。ただし、既に保有されている分散情報Xmj(j=1,2,…,t3)を、そのまま変更せずに、算出したい分散情報に含まれるようにする。そして、残りのn−t3個の分散情報Xmj(j=t3+1,t3+2,…,n)を生成して該当メンバに配布する場合を考える。
【0079】
まず、分散情報を既に持つ、メンバIDがmj(j=1,2,…,t3)であるメンバの分散演算装置601は、自身の持つ分散情報Xmjを、しきい値秘密分散法、又は、加算秘密分散法で分散して部分情報を生成し、分散計算部702を持つメンバ(メンバIDをm′p(p=1,2,…,t4)とする)の分散演算装置601へ配布する(ステップS801)。また、SSS部704を持つ分散演算装置601は、秘密情報S′をしきい値秘密分散法、又は、加算秘密分散法で分散して(ただし、ステップS801と同じ秘密分散法を用いる)部分情報を生成し、分散計算部702を持つメンバ(メンバIDをm′p(p=1,2,…,t4))の分散演算装置601へ配布する(ステップS802)。ステップS801とステップS802は、図26に示されるように並列に動作させてもよいし、プログラムソフトウェアで実行させるように直列に動作させてもよい。直列に動作させるときには、ステップS801とステップS802のどちらを先に実行してもよい。ステップS801は、分散演算装置601のSSS部701の動作に相当し、メンバIDがmj(j=1,2,…,t3)であるメンバの分散演算装置601は、自身の持つ分散情報Xmjから部分情報Xm′j,p(p=1,2,…,t4)を生成し、その部分情報Xm′j,pを、メンバIDがm′pであるメンバの分散演算装置601へ配布する。ステップS802は、分散演算装置601のSSS部704の動作に相当し、秘密情報S′から部分情報S′p(p=1,2,…,t4)を生成し、その部分情報S′pを、メンバIDがm′pであるメンバの分散演算装置601へ配布する。
【0080】
次に、分散計算部702を持つメンバ(メンバIDをm′p(p=1,2,…,t4))の分散演算装置601は、配布された部分情報Xm′j,p(j=1,2,…,t3)、及び、部分情報S′pを用いて演算を施し、新たに求めたい分散情報の部分情報を求め、RSSS部703を持つメンバ(メンバIDがmj(j=t3+1,t3+2,…,n))の分散演算装置601へ送信する(ステップS803)。ステップS803は、分散計算部702における動作を示しており、メンバIDがm′p(p=1,2,…,t4)であるメンバの分散演算装置601は、配布される部分情報Xm′j,p(j=1,2,…,t3)から、上記第1のSSSの場合は式(16)及び(17)を用い、上記第2のSSSの場合は式(18)〜(23)を用いて、新たに求めたい分散情報の部分情報Xm′j(j=t3+1,t3+2,…,n)を算出し、メンバIDがmjであるメンバの分散演算装置601へ送信する。
【0081】
次に、RSSS部703を持つメンバ(メンバIDがmj(j=t3+1,t3+2,…,n))の分散演算装置601は、受け取った部分情報Xm′j,p(p=1,2,…,t4)から、しきい値秘密分散法、又は、加算秘密分散法の再構成方法を用いて(ただし、ステップS801と同じ秘密分散法の再構成方法を用いる)、分散情報Xmj(j=t3+1,t3+2,…,n)を再構成する(ステップS804)。ステップS804は、RSSS部703における動作を示している。
【0082】
この結果、メンバIDがmj(j=1,2,…,n)であるメンバは、それぞれ、もとの秘密情報S′を、秘密分散法で分散した分散情報Xmjを持つことになる。さらに、秘密分散する前に既に配布されていた分散情報Xmj(j=1,2,…,t3)はそのまま変更せずに再利用することができている。
【0083】
以上説明したように、第2の実施形態に係る秘密分散方法又は秘密分散システムを用いれば、n人のメンバからなるグループがあり、これらn人のメンバのうちのt3人のメンバのそれぞれが既に分散情報Xmj(j=1,2,…,t3)を保有している既保有メンバであり、残りのn−t3人のメンバが分散情報を保有していない未保有メンバである場合に、上記n人のメンバのうちのk人以上のメンバの保有する分散情報からもとの秘密情報を再構成することができるように、且つ、t3人の既保有メンバが保有する分散情報Xmj(j=1,2,…,t3)をそのままにして、n−t3人の未保有メンバに保有させるn−t3個の分散情報Xmy(y=t3+1,t3+2,…,n)を算出することができる。したがって、第2の実施形態によれば、秘密情報S′や、既に保有されている分散情報Xmj(j=1,2,…,t3)を全員に公開することなく、残りの分散情報Xmy(y=t3+1,t3+2,…,n)を生成して該当メンバに配布することができる。このとき、既に配布されていた分散情報Xmj(j=1,2,…,t3)は、そのまま有効に利用でき、既に配布されていた分散情報の再計算も必要としない。
【0084】
また、第1の実施形態と同様に、秘密分散を行うためのセンターを必要としないといった利点もある。秘密分散を行うためのセンターがある場合、メンバの保有する分散情報をすべてセンターが把握してしまうため、センターがメンバになりすます不正(「分散情報Xmjを持っているので、私はメンバIDがmjのメンバです」といった「なりすまし」のような不正)があり得るが、第2の実施形態によれば、このような不正を防ぐことができる。
【0085】
さらに、第2の実施形態に係る秘密分散方法及び秘密分散システムは、次のような用途に適用可能である。この用途例を図27を用いて説明する。参加者PA,PB,PCからなるグループ▲1▼で秘密情報Sを分散し、参加者PA,PB,PCは、それぞれ、ある秘密情報Sの分散情報A,B,Cを既に保有している場合を考える。参加者PAとPBは、参加者PA,PB,PD,PEからなるグループ▲2▼にも所属しており、秘密情報S′の分散情報をも得る必要がある場合、従来の技術だと、参加者PAの既にもつ秘密情報Sの分散情報Aと、秘密情報S′の分散情報A′とは、通常一致することはなく、参加者PAは、この場合、2つの分散情報を持つ必要があった(参加者PBも同様)。分散情報Aと分散情報A′とを一致させようとして秘密情報S′の秘密分散を行う場合、分散情報Aを公開しなければ算出することができなかった。これを、第2の実施形態に係る秘密分散方法を用いて、参加者PA,PBの既に保有する情報A,Bを再利用できるよう、参加者PD,PEの分散情報D,Eを算出すると、参加者PA,PBは、それぞれ、1つの分散情報A,Bのみを保管しておくだけでよくなり、情報A,Bを公開することもない。すなわち、第2の実施形態によると、複数の秘密情報からの分散情報を保有しなければならない場合に、その分散情報の個数を少なくする(記憶装置が小さくて済む)ことができる。しかも、分散情報を公開することなく秘密分散を行うことができる。
【0086】
≪変形例≫
上記第1及び第2の実施形態においての「メンバ」は、必ずしも1人の人間である必要はなく、計算手段(SSS部、部分情報計算部、RSSS部)を構成要素として持つ装置とすることができる。
【0087】
また、1人の人間が、上記装置を複数個持って処理を進めることができるし(この場合は、1人の人間が複数のメンバとなる)、一つの上記装置を複数の人間が持って処理を進めることもできる(この場合は、複数の人間が1人のメンバとなる)。
【0088】
また、第1の実施形態の分散演算装置においては、SSS部401、分散計算部402、RSSS部403のうち、2つ以上を構成要素として持つ場合、送信する手段(送信部4012、送受信部4022)や受信する手段(送受信部4022、受信部4032)を、それぞれ複数持つ場合が生じるが、そのような場合には、共通となる部分を共通化して構成することもできる。
【0089】
同様に、第2の実施形態の分散演算装置でも、SSS部701、分散計算部702、RSSS部703、SSS部704のうち、2つ以上を構成要素として持つ場合、送信する手段(送信部7012、送受信部7022、送信部7042)や受信する手段(送受信部7022、受信部7032)を、それぞれ複数持つ場合が生じるが、そのような場合には、共通となる部分を共通化して構成することもできる。
【0090】
【発明の効果】
以上説明したように、本発明によれば、もとの秘密情報及び既に何人かのメンバが保有している分散情報を秘密にしたまま、既に保有されている分散情報を変更せず、分散情報を未だ保有していないメンバの分散情報を算出することができるという効果がある。
【0091】
また、本発明によれば、秘密分散を行うためのセンターを必要とせず、センターがメンバになりすます不正を防止できるという効果がある。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態に係る分散演算装置(SSS部、分散計算部、及びRSSS部を有する場合)の構成を示すブロック図である。
【図2】 (k,n)しきい値秘密分散法に基づく秘密分散を実施する秘密分散計算部の動作を説明するための図である。
【図3】 加算秘密分散法に基づく秘密分散を実施する秘密分散計算部の動作を説明するための図である。
【図4】 秘密通信路の説明図である。
【図5】 本発明の第1の実施形態に係る秘密分散システムの構成を示す図である。
【図6】 本発明の第1及び第2の実施形態に係る秘密分散システムを構成する分散演算装置及び秘密通信路を示す図である。
【図7】 本発明の第1の実施形態に係る分散演算装置(SSS部及び分散計算部を有する場合)の構成を示すブロック図である。
【図8】 本発明の第1の実施形態に係る分散演算装置(分散計算部及びRSSS部を有する場合)の構成を示すブロック図である。
【図9】 本発明の第1の実施形態に係る分散演算装置(SSS部を有する場合)の構成を示すブロック図である。
【図10】 本発明の第1の実施形態に係る分散演算装置(分散計算部を有する場合)の構成を示すブロック図である。
【図11】 本発明の第1の実施形態に係る分散演算装置(RSSS部を有する場合)の構成を示すブロック図である。
【図12】 本発明の第1の実施形態に係る秘密分散システムの動作を示すフローチャートである。
【図13】 本発明の第2の実施形態に係る秘密分散システムの構成を示す図である。
【図14】 本発明の第2の実施形態に係る分散演算装置(分散情報から部分情報を生成するSSS部、分散計算部、RSSS部、及びもとの秘密情報から分散情報を生成するSSS部を有する場合)の構成を示すブロック図である。
【図15】 本発明の第2の実施形態に係る分散演算装置(分散情報から部分情報を生成するSSS部及び分散計算部を有する場合)の構成を示すブロック図である。
【図16】 本発明の第2の実施形態に係る分散演算装置(分散計算部及びRSSS部を有する場合)の構成を示すブロック図である。
【図17】 本発明の第2の実施形態に係る分散演算装置(分散情報から部分情報を生成するSSS部、分散計算部、及びもとの秘密情報から分散情報を生成するSSS部を有する場合)の構成を示すブロック図である。
【図18】 本発明の第2の実施形態に係る分散演算装置(分散計算部、RSSS部、及びもとの秘密情報から分散情報を生成するSSS部を有する場合)の構成を示すブロック図である。
【図19】 本発明の第2の実施形態に係る分散演算装置(分散情報から部分情報を生成するSSS部を有する場合)の構成を示すブロック図である。
【図20】 本発明の第2の実施形態に係る分散演算装置(分散計算部を有する場合)の構成を示すブロック図である。
【図21】 本発明の第2の実施形態に係る分散演算装置(RSSS部を有する場合)の構成を示すブロック図である。
【図22】 本発明の第2の実施形態に係る分散演算装置(もとの秘密情報から分散情報を生成するSSS部を有する場合)の構成を示すブロック図である。
【図23】 本発明の第2の実施形態に係る分散演算装置(分散情報から部分情報を生成するSSS部、及びもとの秘密情報から分散情報を生成するSSS部を有する場合)の構成を示すブロック図である。
【図24】 本発明の第2の実施形態に係る分散演算装置(分散計算部、及びもとの秘密情報から分散情報を生成するSSS部を有する場合)の構成を示すブロック図である。
【図25】 本発明の第2の実施形態に係る分散演算装置(RSSS部、及びもとの秘密情報から分散情報を生成するSSS部を有する場合)の構成を示すブロック図である。
【図26】 本発明の第2の実施形態に係る秘密分散システムの動作を示すフローチャートである。
【図27】 本発明の第2の実施形態に係る分散演算装置の用途例を示す図である。
【符号の説明】
301 分散演算装置、
302 秘密通信路、
401 SSS部(秘密分散法実行部)、
4011 秘密分散部、
4012 送信部、
402 分散計算部、
4021 部分情報計算部、
4022 送受信部、
403 RSSS部(秘密再構成法実行部)、
4031 秘密再構成部、
4032 受信部、
601 分散演算装置、
701 SSS部(分散情報から部分情報を生成する秘密分散法実行部)、
7011 秘密分散部、
7012 送信部、
702 分散計算部、
7021 部分情報計算部、
7022 送受信部、
703 RSSS部(秘密再構成法実行部)、
7031 秘密再構成部、
7032 受信部、
704 SSS部(もとの秘密情報から分散情報を生成する秘密分散法実行部)、
7041 秘密分散部、
7042 送信部、
S,S′ もとの秘密情報、
A,B,C,D もとの秘密情報の分散情報、
A1〜A4,B1〜B4,C1〜C4 分散情報の部分情報、
PA,PB,PC,PD メンバ、
m1,m2,…,mn メンバID、
Xmj メンバIDがmjであるメンバに配布される分散情報。
Claims (15)
- もとの秘密情報を(k,n)しきい値秘密分散法を用いて秘密分散することによって生成されたn個の分散情報Xi(i=1,2,…,n)をそれぞれ保有しているn(nは正の整数)人の初期メンバの分散演算装置からなるグループに、t(tは正の整数)人の新規メンバの分散演算装置が追加された場合に、
上記n人の初期メンバの分散演算装置及び上記t人の新規メンバの分散演算装置のうちのk(kはn以下の整数)人以上のメンバの分散演算装置が保有する分散情報から上記もとの秘密情報を再構成することができるように、且つ、上記n人の初期メンバの分散演算装置が保有する分散情報Xi(i=1,2,…,n)をそのままにして、上記t人の新規メンバの分散演算装置に保有させるt個の分散情報Xy(y=n+1,n+2,…,n+t)を算出するシステムにおける秘密分散方法であって、
上記初期メンバの分散演算装置のそれぞれが、自身の分散演算装置が保有する分散情報Xi(i=1,2,…,n)を分散して複数の部分情報を生成し、上記部分情報のそれぞれを上記初期メンバの分散演算装置及び上記新規メンバの分散演算装置のそれぞれに配布する工程と、
上記初期メンバの分散演算装置及び上記新規メンバの分散演算装置のそれぞれが、自身の分散演算装置が保有する部分情報を用いた分散計算により中間計算結果を生成し、上記新規メンバの分散演算装置のそれぞれに配布する工程と、
上記新規メンバの分散演算装置のそれぞれが、受け取った上記中間計算結果を用いて、自身の分散演算装置が保有することになる上記分散情報Xy(y=n+1,n+2,…,n+t)を算出する工程と
を有することを特徴とする秘密分散方法。 - n(nは正の整数)人のメンバの分散演算装置からなるグループがあり、上記n人のメンバの分散演算装置のうちのt(tはnより小さい正の整数)人のメンバの分散演算装置のそれぞれが既に分散情報Xi(i=1,2,…,t)を保有している既保有メンバの分散演算装置であり、残りのn−t人のメンバの分散演算装置が分散情報を保有していない未保有メンバの分散演算装置である場合に、
上記n人のメンバの分散演算装置のうちのk(kはn以下の整数)人以上のメンバの分散演算装置の保有する分散情報からもとの秘密情報を再構成することができるように、且つ、上記t人の既保有メンバの分散演算装置が保有する分散情報Xi(i=1,2,…,t)をそのままにして、上記n−t人の未保有メンバの分散演算装置に保有させるn−t個の分散情報Xy(y=t+1,t+2,…,n)を算出するシステムにおける秘密分散方法であって、
上記既保有メンバの分散演算装置のそれぞれが、自身の分散演算装置が保有する分散情報Xi(i=1,2,…,t)を分散して複数の第1の部分情報を生成し、上記第1の部分情報のそれぞれを上記メンバの分散演算装置のそれぞれに配布する工程と、
上記メンバの分散演算装置に情報を配布できる装置が、上記もとの秘密情報から生成された複数の第2の部分情報のそれぞれを、上記メンバの分散演算装置のそれぞれに配布する工程と、
上記メンバの分散演算装置のそれぞれが、自身の分散演算装置が保有する第1及び第2の部分情報を用いた分散計算により中間計算結果を生成し、上記未保有メンバの分散演算装置に配布する工程と、
上記未保有メンバの分散演算装置が、受け取った上記中間計算結果を用いて、自身の分散演算装置が保有することになる上記分散情報Xy(y=t+1,t+2,…,n)を算出する工程と
を有することを特徴とする秘密分散方法。 - 分散演算に参加するメンバとしての分散演算装置を複数台有し、
上記複数台の分散演算装置は、初期メンバとしてのn(nは正の整数)台の初期分散演算装置及び新規メンバとしてのt(tは正の整数)台の新規分散演算装置を含み、
上記n台の初期分散演算装置が、もとの秘密情報を(k,n)しきい値秘密分散法を用いて秘密分散することによって生成されたn個の分散情報Xi(i=1,2,…,n)を、それぞれ保有している場合に、
上記n台の初期分散演算装置及び上記t台の新規分散演算装置のうちのk(kはn以下の整数)台以上の分散演算装置の保有する分散情報から上記もとの秘密情報を再構成することができるように、且つ、上記n台の初期分散演算装置が保有する分散情報Xi(i=1,2,…,n)をそのままにして、上記t台の新規分散演算装置に保有させるt個の分散情報Xy(y=n+1,n+2,…,n+t)を算出する秘密分散システムであって、
上記初期分散演算装置のそれぞれが、自身が保有する分散情報Xi(i=1,2,…,n)を分散して複数の部分情報を生成し、上記部分情報のそれぞれを上記初期分散演算装置及び上記新規分散演算装置のそれぞれに配布し、
上記初期分散演算装置及び上記新規分散演算装置のそれぞれが、自身が保有する部分情報を用いた分散計算により中間計算結果を生成し、上記新規分散演算装置のそれぞれに配布し、
上記新規分散演算装置のそれぞれが、受け取った上記中間計算結果を用いて、自身が保有することになる上記分散情報Xy(y=n+1,n+2,…,n+t)を算出する
ことを特徴とする秘密分散システム。 - 分散演算に参加するメンバとしての分散演算装置をn(nは正の整数)台有し、
上記n台の分散演算装置のうちのt(tはnより小さい正の整数)台の分散演算装置のそれぞれが既に分散情報Xi(i=1,2,…,t)を保有している既保有メンバとしての既保有分散演算装置であり、残りのn−t台の分散演算装置が分散情報を保有していない未保有メンバとしての未保有分散演算装置である場合に、
上記n台の分散演算装置のうちのk(kはn以下の整数)台以上の分散演算装置の保有する分散情報からもとの秘密情報を再構成することができるように、且つ、上記t台の既保有分散演算装置が保有する分散情報Xi(i=1,2,…,t)をそのままにして、上記n−t台の未保有分散演算装置に保有させるn−t個の分散情報Xy(y=t+1,t+2,…,n)を算出する秘密分散システムであって、
上記既保有分散演算装置のそれぞれが、自身が保有する分散情報Xi(i=1,2,…,t)を分散して複数の第1の部分情報を生成し、上記第1の部分情報のそれぞれを上記分散演算装置のそれぞれに配布し、
上記もとの秘密情報から複数の第2の部分情報を生成し、上記第2の部分情報のそれぞれを上記分散演算装置のそれぞれに配布し、
上記分散演算装置のそれぞれが、自身が保有する第1及び第2の部分情報を用いた分散計算により中間計算結果を生成し、上記未保有分散演算装置に配布し、
上記未保有分散演算装置が、受け取った上記中間計算結果を用いて上記分散情報Xy(y=t+1,t+2,…,n)を算出する
ことを特徴とする秘密分散システム。 - もとの秘密情報を(k,n)しきい値秘密分散法を用いて秘密分散することによって得られたn個の分散情報Xi(i=1,2,…,n)が既に与えられている場合に、上記もとの秘密情報を(k,n+t)しきい値秘密分散法を用いて秘密分散したような、さらにt個の分散情報Xy(y=n+1,n+2,…,n+t)を分散計算により算出するために、その分散情報の部分情報を算出する分散演算装置において、
既に与えられている分散情報Xi(i=1,2,…,n)の部分情報を受け取り、受信する部分情報用受信部と、
分散情報Xy(y=n+1,n+2,…,n+t)の部分情報を算出する部分情報計算部と、
上記部分情報計算部で算出した分散情報Xy(y=n+1,n+2,…,n+t)の部分情報を送信する部分情報用送信部と
を有し、
上記部分情報計算部は、
既に与えられている分散情報Xi(i=1,2,…,n)を保持する分散演算装置を特定するメンバID、及び、算出する分散情報Xyを最終的に受け取る分散演算装置を特定するメンバIDより計算される係数を算出し、
上記算出された係数と、上記部分情報用受信部で受信した、対応する分散情報Xyの部分情報とを掛け合わせ、
上記掛け合わせによって得られた値を足し合わせることによって分散情報Xyの部分情報を算出する
ことを特徴とする分散演算装置。 - 上記既に与えられている分散情報Xi(i=1,2,…,n)を秘密分散することにより、その部分情報を生成する秘密分散部と、
上記秘密分散部で生成した部分情報を送信する秘密分散用送信部と
を有することを特徴とする請求項5に記載の分散演算装置。 - 上記算出したい分散情報Xy(y=n+1,n+2,…,n+t)の部分情報を受信する秘密再構成用受信部と、
上記秘密再構成用受信部で受信した部分情報を秘密再構成することにより、分散情報Xyを算出する秘密再構成部と
を有することを特徴とする請求項5又は6のいずれかに記載の分散演算装置。 - すべてを加算するともとの秘密情報を再構成できる加算秘密分散法を用いて秘密分散されたn個の分散情報Xi(i=1,2,…,n)のうち、t個(t<n)の分散情報Xi(i=1,2,…,t)が既に与えられている場合に、残りの分散情報Xy(y=t+1,t+2,…,n)を分散計算により算出するために、その分散情報の部分情報を算出する分散演算装置において、
既に与えられている分散情報Xi(i=1,2,…,t)の部分情報、及び、もとの秘密情報の部分情報を受信する部分情報用受信部と、
分散情報Xy(y=t+1,t+2,…,n)の部分情報を算出する部分情報計算部と、
上記部分情報計算部で算出した分散情報Xy(y=t+1,t+2,…,n)の部分情報を送信する部分情報用送信部と
を有し、
上記部分情報計算部は、
分散情報Xi(i=t+1,t+2,…,n)のうち、n−t−1個の分散情報Xy(y=t+1,t+2,…,n−1)の部分情報を算出するために、乱数を生成してそれを分散情報Xy(y=t+1,t+2,…,n−1)とし、
分散情報Xi(i=t+1,t+2,…,n)のうち、1個の分散情報Xy(y=n)の部分情報を算出するために、上記部分情報用受信部で受信した既に与えられている分散情報Xi(i=1,2,…,t)の部分情報、及び、上記算出した分散情報Xi(i=t+1,t+2,…,n−1)の部分情報を足し合わせ、
上記部分情報用受信部で受信したもとの秘密情報の部分情報から、上記足し合わせによって算出した値を引き算することによって上記部分情報を算出する
ことを特徴とする分散演算装置。 - もとの秘密情報を(k,n)しきい値秘密分散法を用いて秘密分散することによって得られたn個の分散情報Xi(i=1,2,…,n)のうち、t個の分散情報Xi(i=1,2,…,t)が既に与えられている場合に、
n≧k>tなる関係があって、残りの分散情報Xy(y=t+1,t+2,…,n)を分散計算により算出するために、その分散情報の部分情報を算出する分散演算装置において、
既に与えられている分散情報Xi(i=1,2,…,t)の部分情報、及び、上記もとの秘密情報の部分情報を受信する部分情報用受信部と、
分散情報Xy(y=t+1,t+2,…,n)の部分情報を算出する部分情報計算部と、
上記部分情報計算部で算出した分散情報Xy(y=t+1,t+2,…,n)の部分情報を送信する部分情報用送信部と
を有し、
上記部分情報計算部は、
分散情報Xi(i=t+1,t+2,…,n)のうち、k−t−1個の分散情報Xy(y=t+1,t+2,…,k−1)の部分情報を算出するために、乱数を生成してそれを分散情報Xy(y=t+1,t+2,…,k−1)とし、
分散情報Xi(i=t+1,t+2,…,n)のうち、n−k+1個の分散情報Xy(y=k,k+1,…,n)の部分情報を算出するために、上記部分情報用受信部で受信した既に与えられている分散情報Xi(i=1,2,…,t)を保有する分散演算装置を特定するメンバIDと、上記算出した分散情報Xi(i=t+1,t+2,…,k−1)の部分情報を最終的に受け取る分散演算装置を特定するメンバIDと、算出する分散情報Xyを最終的に受け取る分散演算装置を特定するメンバIDと、から計算される係数を算出し、
分散情報Xi(i=t+1,t+2,…,n)のうち、n−k+1個の分散情報Xy(y=k,k+1,…,n)の部分情報を算出するために、上記部分情報用受信部で受信したもとの秘密情報の部分情報と、上記算出された係数とを掛け合わせて第1の乗算値を算出し、
分散情報Xi(i=t+1,t+2,…,n)のうち、n−k+1個の分散情報Xy(y=k,k+1,…,n)の部分情報を算出するために、上記掛け合わせた係数と、上記部分情報用受信部で受信した、対応する分散情報Xyの部分情報とを掛け合わせて第2の乗算値を算出し、
分散情報Xi(i=t+1,t+2,…,n)のうち、n−k+1個の分散情報Xy(y=k,k+1,…,n)の部分情報を算出するために、上記第1の乗算値と上記第2の乗算値を足し合わせる
ことを特徴とする分散演算装置。 - もとの秘密情報を(k,n)しきい値秘密分散法を用いて秘密分散することによって得られたn個の分散情報Xi(i=1,2,…,n)のうち、t個の分散情報Xi(i=1,2,…,t)が既に与えられている場合に、
n≧k>tなる関係があって、残りの分散情報Xy(y=t+1,t+2,…,n)を分散計算により算出するために、その分散情報の部分情報を算出する分散演算装置において、
既に与えられている分散情報Xi(i=1,2,…,t)の部分情報、及び、上記もとの秘密情報の部分情報を受信する部分情報用受信部と、
分散情報Xy(y=t+1,t+2,…,n)の部分情報を算出する部分情報計算部と、
上記部分情報計算部で算出した分散情報Xy(y=t+1,t+2,…,n)の部分情報を送信する部分情報用送信部と
を有し、
上記部分情報計算部は、
分散情報Xi(i=t+1,t+2,…,n)のうち、k−t−1個の分散情報Xy(y=t+1,t+2,…,k−1)の部分情報を算出するために、乱数を生成してそれを分散情報Xy(y=t+1,t+2,…,k−1)とし、
分散情報Xi(i=t+1,t+2,…,n)のうち、1個の分散情報Xy(y=k)の部分情報を算出するために、上記部分情報用受信部で受信した既に与えられている分散情報Xi(i=1,2,…,t)を保有する分散演算装置を特定するメンバIDと、上記算出した分散情報Xi(i=t+1,t+2,…,k−1)の部分情報を最終的に受け取る分散演算装置を特定するメンバIDと、算出する分散情報Xyを最終的に受け取る分散演算装置を特定するメンバIDと、から計算される係数を算出し、
分散情報Xi(i=t+1,t+2,…,n)のうち、1個の分散情報Xy(y=k)の部分情報を算出するために、上記部分情報用受信部で受信したもとの秘密情報の部分情報と、上記算出された係数とを掛け合わせて第1の乗算値を算出し、
分散情報Xi(i=t+1,t+2,…,n)のうち、1個の分散情報Xy(y=k)の部分情報を算出するために、上記係数と、上記部分情報用受信部で受信した、対応する分散情報Xyの部分情報とを掛け合わせて第2の乗算値を算出し、
分散情報Xi(i=t+1,t+2,…,n)のうち、1個の分散情報Xy(y=k)の部分情報を算出するために、上記第1の乗算値と上記第2の乗算値を足し合わせ、
分散情報Xi(i=t+1,t+2,…,n)のうち、n−k個の分散情報Xy(y=k+1,k+2,…,n)の部分情報を算出するために、上記部分情報用受信部で受信した既に与えられている分散情報Xi(i=1,2,…,t)を保有する分散演算装置を特定するメンバIDと、上算出した分散情報Xi(i=t+1,t+2,…,k−1)の部分情報を最終的に受け取る分散演算装置を特定するメンバIDと、上記加算により算出した分散情報Xi(i=k)の部分情報を最終的に受け取る分散演算装置を特定するメンバIDと、算出する分散情報Xyを最終的に受け取る分散演算装置を特定するメンバIDと、から計算される係数を算出し、
分散情報Xi(i=t+1,t+2,…,n)のうち、n−k個の分散情報Xy(y=k+1,k+2,…,n)の部分情報を算出するために、上記係数と、上記受信部で受信した、対応する分散情報Xiの部分情報とを掛け合わせて第3の乗算値を算出し、
分散情報Xi(i=t+1,t+2,…,n)のうち、n−k個の分散情報Xy(y=k+1,k+2,…,n)の部分情報を算出するために、上記第3の乗算値を足し合わせる
ことを特徴とする分散演算装置。 - 上記既に与えられている分散情報Xi(i=1,2,…,t)を秘密分散することにより、その部分情報を生成する秘密分散部と、
上記秘密分散部で生成した部分情報を送信する秘密分散用送信部と
を有することを特徴とする請求項9又は10のいずれかに記載の分散演算装置。 - 上記算出したい分散情報Xyの部分情報を受信する秘密再構成用受信部と、
上記秘密再構成用受信部で受信した部分情報を秘密再構成することにより、分散情報Xyを算出する秘密再構成部と
を有することを特徴とする請求項9から11までのいずれかに記載の分散演算装置。 - 上記もとの秘密情報を秘密分散することにより、その部分情報を生成する第2の秘密分散部と、
上記第2の秘密分散部で生成した部分情報を送信する第2の秘密分散用送信部と
を有することを特徴とする請求項9から12までのいずれかに記載の分散演算装置。 - (k,n)しきい値秘密分散法を用いて秘密分散されてn個の分散情報Xi(i=1,2,…,n)が既に与えられている場合に、もとの秘密情報を(k,n+t)しきい値秘密分散法を用いて秘密分散したような、さらにt個の分散情報Xy(y=n+1,n+2,…,n+t)を分散計算により算出する秘密分散システムにおいて、
上記請求項5から7までのいずれかに記載された分散演算装置と同じ構成を有する第1の分散演算装置、
上記既に与えられている分散情報Xi(i=1,2,…,n)を秘密分散することにより、その部分情報を生成する秘密分散部、その秘密分散部で生成した部分情報を送信する秘密分散用送信部を有する第2の分散演算装置、及び
上記算出したい分散情報Xy(y=n+1,n+2,…,n+t)の部分情報を受信する受信部、その受信部で受信した部分情報を秘密再構成することにより分散情報Xyを算出する秘密再構成部を有する第3の分散演算装置
のうちの2台以上の分散演算装置を有することを特徴とする秘密分散システム。 - もとの秘密情報を秘密分散法を用いて秘密分散することによって得られたn個の分散情報Xi(i=1,2,…,n)のうち、t個の分散情報Xi(i=1,2,…,t)が既に与えられている場合に、残りの分散情報Xy(y=t+1,t+2,…,n)を分散計算により算出する秘密分散システムにおいて、
請求項8から13までのいずれかに記載の分散演算装置と同じ構成を持つ第1に分散演算装置、
上記既に与えられている分散情報Xi(i=1,2,…,t)を秘密分散することによりその部分情報を生成する秘密分散部、その秘密分散部で生成した部分情報を送信する送信部を有する第2の分散演算装置、
上記算出したい分散情報Xy(y=t+1,t+2,…,n)の部分情報を受信する受信部、その受信部で受信した部分情報を秘密再構成することにより分散情報Xyを算出する秘密再構成部を有する第3の分散演算装置、
上記もとの秘密情報を秘密分散することによりその部分情報を生成する第2の秘密分散部、上記第2の秘密分散部で生成した部分情報を送信する第2の送信部を有する第4の分散演算装置、
上記既に与えられている分散情報Xi(i=1,2,…,t)を秘密分散することによりその部分情報を生成する第3の秘密分散部、その秘密分散部で生成した部分情報を送信する第3の送信部、上記もとの秘密情報を秘密分散することによりその部分情報を生成する第4の秘密分散部、上記秘密分散部で生成した部分情報を送信する第4の送信部を有する第5の分散演算装置、及び
上記算出したい分散情報Xy(y=t+1,t+2,…,n)の部分情報を受信する第2の受信部、その第2の受信部で受信した部分情報を秘密再構成することにより分散情報Xyを算出する第2の秘密再構成部、上記もとの秘密情報を秘密分散することによりその部分情報を生成する第5の秘密分散部、上記秘密分散部で生成した部分情報を送信する第5の送信部を有する第6の分散演算装置
のうちの2台以上の分散演算装置を有することを特徴とする秘密分散システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003136814A JP4305049B2 (ja) | 2003-05-15 | 2003-05-15 | 秘密分散方法、秘密分散システム、及び分散演算装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003136814A JP4305049B2 (ja) | 2003-05-15 | 2003-05-15 | 秘密分散方法、秘密分散システム、及び分散演算装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2004341152A JP2004341152A (ja) | 2004-12-02 |
| JP4305049B2 true JP4305049B2 (ja) | 2009-07-29 |
Family
ID=33526630
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003136814A Expired - Fee Related JP4305049B2 (ja) | 2003-05-15 | 2003-05-15 | 秘密分散方法、秘密分散システム、及び分散演算装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4305049B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10885814B2 (en) | 2015-03-18 | 2021-01-05 | Nippon Telegraph And Telephone Corporation | Share recovery system, share recovery apparatus, share recovery method, and program |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006109776A1 (ja) * | 2005-04-11 | 2006-10-19 | Matsushita Electric Industrial Co., Ltd. | 割符配布装置、認証サーバおよび認証方法 |
| JP5151987B2 (ja) * | 2006-10-24 | 2013-02-27 | 日本電気株式会社 | 分散情報生成装置および復元装置 |
| JP4966232B2 (ja) * | 2008-03-13 | 2012-07-04 | 株式会社東芝 | 分散情報追加装置、方法及びプログラム |
| JP2010186232A (ja) * | 2009-02-10 | 2010-08-26 | Kddi Corp | 管理者追加処理システム、管理者追加処理方法およびプログラム |
| WO2012124270A1 (ja) * | 2011-03-15 | 2012-09-20 | パナソニック株式会社 | 改ざん監視システム、管理装置、保護制御モジュール及び検知モジュール |
| WO2016129363A1 (ja) * | 2015-02-12 | 2016-08-18 | 学校法人東京理科大学 | 秘密分散を用いた秘匿演算システムに関する計算装置 |
| JP6925346B2 (ja) | 2016-02-23 | 2021-08-25 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | ブロックチェーンベースのトークナイゼーションを用いた交換 |
| PL3257191T3 (pl) | 2016-02-23 | 2019-01-31 | Nchain Holdings Ltd | Rejestr i zautomatyzowany sposób zarządzania łańcuchem bloków - egzekwowane umowy inteligentne |
| MX2018010059A (es) | 2016-02-23 | 2019-01-21 | Nchain Holdings Ltd | Metodo implementado por cadena de bloques para el control y distribucion de contenido digital. |
| JP6799061B2 (ja) | 2016-02-23 | 2020-12-09 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | ウォレット管理システムと併せたブロックチェーンベースのシステムのための暗号鍵のセキュアなマルチパーティ損失耐性のある記憶及び転送 |
| WO2017145005A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Blockchain implemented counting system and method for use in secure voting and distribution |
| CN109314636B (zh) | 2016-02-23 | 2022-01-11 | 区块链控股有限公司 | 用于从区块链中安全提取数据的密码方法和系统 |
| MX2018009356A (es) | 2016-02-23 | 2018-12-19 | Nchain Holdings Ltd | Determinacion de un secreto comun para el intercambio seguro de informacion y claves criptograficas deterministas y jerarquicas. |
| CN116957790A (zh) | 2016-02-23 | 2023-10-27 | 区块链控股有限公司 | 一种实现区块链上交换的通证化方法及系统 |
| EA201891829A1 (ru) | 2016-02-23 | 2019-02-28 | Нчейн Холдингс Лимитед | Способ и система для эффективного перевода криптовалюты, связанной с заработной платой, в блокчейне для создания способа и системы автоматизированной выплаты заработной платы на основе смарт-контрактов |
| JP6300286B1 (ja) * | 2016-12-27 | 2018-03-28 | 株式会社ZenmuTech | アクセス管理システム、アクセス管理方法及びプログラム |
| JP2018110442A (ja) * | 2018-02-21 | 2018-07-12 | 株式会社ZenmuTech | アクセス管理システム、アクセス管理方法及びプログラム |
| EP4201019A1 (en) | 2020-09-30 | 2023-06-28 | Dfinity Stiftung | Redistribution of secret sharings |
-
2003
- 2003-05-15 JP JP2003136814A patent/JP4305049B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10885814B2 (en) | 2015-03-18 | 2021-01-05 | Nippon Telegraph And Telephone Corporation | Share recovery system, share recovery apparatus, share recovery method, and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2004341152A (ja) | 2004-12-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4305049B2 (ja) | 秘密分散方法、秘密分散システム、及び分散演算装置 | |
| JP4292835B2 (ja) | 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム | |
| US11316676B2 (en) | Quantum-proof multiparty key exchange system, quantum-proof multiparty terminal device, quantum-proof multiparty key exchange method, program, and recording medium | |
| TWI821248B (zh) | 用以移轉數位資產支配權之電腦實施方法及系統 | |
| JP2020515087A5 (ja) | ||
| CN110557245A (zh) | 用于spdz的容错和安全多方计算的方法和系统 | |
| CN111512589A (zh) | 用于利用spdz的快速安全多方内积的方法 | |
| CN109951443A (zh) | 一种云环境下隐私保护的集合交集计算方法及系统 | |
| CN113518092A (zh) | 实现多方隐私的集合交集方法 | |
| Yang et al. | Secret sharing based on quantum Fourier transform | |
| Fujioka et al. | Supersingular isogeny Diffie–Hellman authenticated key exchange | |
| JP2021510954A (ja) | デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム | |
| KR102806992B1 (ko) | 다자간 보안컴퓨팅을 이용하여 샤미르 비밀정보 조각이 유실된 단말에 비밀정보 조각을 복구하는 방법 | |
| JP7599771B2 (ja) | マルチ・パーティー秘密計算 | |
| Mahdavi et al. | Practical over-threshold multi-party private set intersection | |
| Mejri et al. | A new group Diffie-Hellman key generation proposal for secure VANET communications | |
| Kate et al. | Pairing-based onion routing with improved forward secrecy | |
| Bai et al. | Verifiable quantum secret sharing scheme using d-dimensional GHZ state | |
| CN109257169A (zh) | 顺序通信的可验证门限量子秘密共享方法 | |
| CN119599095B (zh) | 一种基于函数加密的公平联邦学习方法 | |
| Li et al. | Efficient arbitrated quantum signature and its proof of security | |
| Wang et al. | Verifiable threshold scheme in multi-secret sharing distributions upon extensions of ECC | |
| Sutradhar et al. | An efficient simulation of quantum secret sharing | |
| Jin et al. | Blockchain based publicly auditable multi-party computation with cheater detection | |
| CN117349888A (zh) | 一种车辆仿真模型联合训练方法、系统、设备及存储介质 |
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: 20090113 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090312 |
|
| 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: 20090407 |
|
| 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: 20090420 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4305049 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 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: 20120515 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: 20130515 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140515 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |