JP4292835B2 - 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム - Google Patents

秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム Download PDF

Info

Publication number
JP4292835B2
JP4292835B2 JP2003067834A JP2003067834A JP4292835B2 JP 4292835 B2 JP4292835 B2 JP 4292835B2 JP 2003067834 A JP2003067834 A JP 2003067834A JP 2003067834 A JP2003067834 A JP 2003067834A JP 4292835 B2 JP4292835 B2 JP 4292835B2
Authority
JP
Japan
Prior art keywords
secret
distributed
information
calculation
members
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
Application number
JP2003067834A
Other languages
English (en)
Other versions
JP2004279526A (ja
Inventor
靖子 松村
聰 中川
康平 圓藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2003067834A priority Critical patent/JP4292835B2/ja
Priority to CNA2004100282606A priority patent/CN1531241A/zh
Priority to US10/798,578 priority patent/US7421080B2/en
Publication of JP2004279526A publication Critical patent/JP2004279526A/ja
Application granted granted Critical
Publication of JP4292835B2 publication Critical patent/JP4292835B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、秘密分散法により各メンバに分散された分散情報からもとの秘密情報を再構成する秘密再構成方法、この秘密再構成方法を実施する際に使用される分散秘密再構成装置、及びこの分散秘密再構成装置を含む秘密再構成システムに関するものである。
【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+Rx+R+…+Rk−1k−1 …(1)
ここで、Sは、もとの秘密情報であり、R,R,…,Rk−1は、分配者が決める乱数である。
【0005】
分散情報が配布されるn人の各メンバにメンバIDとして、m,m,…,mが付与されている場合に、メンバID_m(j=1,2,…,n)に対する分散情報Xmは、上記式(1)を用いて、次式(2)のように計算できる。
Xm
=f(m
=S+R+R(m+…+Rk−1(mk−1 …(2)
【0006】
図1は、(k,n)しきい値秘密分散法に基づく秘密分散を実施する秘密分散計算部101の動作を説明するための図である。図1に示されるように、秘密分散計算部101は、もとの秘密情報S及びこの秘密情報の分散情報が配布されるメンバ全員のメンバID_m(j=1,2,…,n)を受け取り、もとの秘密情報Sに基づいて上記式(1)の多項式f(x)を生成し、その多項式f(x)及びメンバID_mに基づいて、各メンバID_mに対応する分散情報Xmを、上記式(2)を用いて生成して出力する。出力した各分散情報Xmはそれぞれ、対応するメンバIDを持つメンバに秘密裏に配布する。
【0007】
各メンバに配布した分散情報からもとの秘密情報Sを再構成する際には、分散情報が分配されたn人のメンバのうちt人(k≦t≦n)のメンバを集め、集められたt人のメンバのメンバID_m',m',…,m'と分散情報Xm',Xm',…,Xm'を持ち寄り、次式(3)及び(4)を用いて、もとの秘密情報Sを計算する。
【数1】
Figure 0004292835
【0008】
【非特許文献1】
岡本龍明他、「現代暗号」(産業図書)、第214−216ページ及び第227−236ページ
【0009】
【発明が解決しようとする課題】
しかしながら、上記した方法により、もとの秘密情報Sの再構成を行う場合には、集まったメンバのメンバID_m',m',…,m'や、そのメンバの分散情報Xm',Xm',…,Xm'を公開しなければ、もとの秘密情報Sを計算することができない。また、秘密再構成を行うセンターのようなものがあった場合であっても、集まったメンバのメンバID_m',m',…,m'や分散情報Xm',Xm',…,Xm'をセンターに対して申告しなければ、もとの秘密情報Sを計算することができない。すなわち、集まったメンバを匿名にしたまま秘密情報Sを計算することはできなかった。
【0010】
また、秘密再構成を行うセンターのようなものがない場合には、集まったメンバに、自分の持つ分散情報Xm',Xm',…,Xm'を公開しなければ、もとの秘密情報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個の中間計算結果から、上記もとの秘密情報を再構成する工程とを有する。
【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としてm(j=1,2,…,t)と、そのメンバ固有の秘密情報Xm(j=1,2,…,t)を所有しており、次式(5)に示される関数値Yをマルチパーティ・プロトコルで計算する場合を考える。
Y=f(Xm,Xm,…,Xm) …(5)
ここで、各メンバのメンバIDであるm及び秘密情報Xm(j=1,2,…,t)は、有限体GF(q)(qは素数又は素数のべき乗)上の値であるものとする。また、上記式(5)の関数fにおける演算は、有限体GF(q)上の演算であるものとし、したがって、得られる関数値Yも、有限体GF(q)上の値となる。
【0016】
各メンバ固有の秘密情報Xm(j=1,2,…,t)を、他のメンバに公開しないまま、関数値Yを計算するために、マルチパーティ・プロトコルでは、まず、各メンバ固有の秘密情報Xm(j=1,2,…,t)を、(k,t)しきい値秘密分散法を用いて秘密分散し、各メンバに配布する。メンバIDがmであるメンバの秘密情報がXmであるとすると、このメンバは、次式(6)のk−1(k≦t)次多項式fm(x)を作る。
【数2】
Figure 0004292835
ここで、Rm , ,Rm , ,…,Rm , k−1は、有限体GF(q)上の値から選ばれたk−1個の乱数である。
【0017】
秘密情報Xmを秘密分散法により分散し、メンバIDがm(p=1,2,…,t)であるメンバに対して配布される分散情報をXm , と表記する場合に、分散情報Xm , は、上記式(6)を用いて、次式(7)のよう計算できる。
【数3】
Figure 0004292835
なお、分散情報Xm , は、メンバIDがm(p=1,2,…,t)であるメンバ以外には秘密となるよう、秘密通信路を用いて、メンバIDがm(p=1,2,…,t)であるメンバに配布する。
【0018】
上記式(6)及び(7)における足し算及び掛け算は、有限体GF(q)上における加算及び乗算であるものとする。したがって、得られる分散情報Xm , (j=1,2,…,t;p=1,2,…,t)は、有限体GF(q)上の値である。なお、以下の説明においては、断りがない限り、演算は有限体GF(q)上で行われるものとする。
【0019】
以上の処理によって、各メンバは、他の各メンバの秘密情報Xmの分散情報Xm , を持っている状態になる。メンバIDがmであるメンバは、他のメンバから配布された分散情報(及び自分自身の秘密情報の分散情報)Xm1,j,Xm2,j,…,Xmt,jのt個の分散情報を持っていることになる。
【0020】
ここで、マルチパーティ・プロトコルにおける分散加算(足し算計算)を行う。上記式(5)の関数が、例えば、次式(8)に示されるような、ある2つの入力Xm及びXmの足し算となっている場合、
Y=f(Xm,Xm,…,Xm)=Xm+Xm …(8)
マルチパーティ・プロトコルでは、各メンバは、入力Xm及びXmの分散情報同士の足し算を行うことで、計算結果Yの分散情報Ym(j=1,2,…,t)を得ることができる。例えば、メンバIDがmであるメンバは、入力Xm及びXmの分散情報として、それぞれXm , 及びXm , を持っているので、次式(9)のような計算を行い、計算結果Yの分散情報Ymを得る。
Ym=Xm , +Xm , …(9)
【0021】
次に、マルチパーティ・プロトコルにおける分散乗算(掛け算計算)を説明する。上記式(5)の関数が、例えば、次式(10)のような、ある2つの入力Xm及びXmの掛け算となっている場合、
Y=f(Xm,Xm,…,Xm)=Xm×Xm …(10)
マルチパーティ・プロトコルでは、各メンバは、次のようなステップS101〜S103の処理を行う。ステップS101においては、入力Xm及びXmの分散情報同士の掛け算を行い、ステップS102においては、その掛け算結果をさらに、他のメンバに秘密分散して配布し、ステップS103においては、受け取った側でそれらの再構成を行うことで、計算結果Yの分散情報Ym(j=1,2,…,t)を得ることができる。ただし、第1方式における、マルチパーティ・プロトコルの分散乗算では、秘密分散のしきい値kは、次式(11)となっている必要がある。
k≦(t+1)/2 …(11)
ここで、上記式(11)の演算は、有限体GF(q)上の演算ではなく、通常の実数、整数演算である。
【0022】
具体的に説明すると、例えば、メンバIDがmであるメンバは、入力Xm及びXmの分散情報として、それぞれXm , 及びXm , を持っているので、まず、次式(12)のような計算を行い、途中計算結果Y'mを得る(上記ステップS101)。
Y'm=Xm , ×Xm , …(12)
【0023】
次に、この途中計算結果Y'mを次式(13)のような多項式で秘密分散を行う(上記ステップS102)。
【数4】
Figure 0004292835
ここで、R'm , ,R'm , ,…,R'm , k−1は、乱数として有限体GF(q)上の値をk−1個選ぶことによって得られる。
【0024】
次に、メンバIDがm(p=1,2,…,t)であるメンバに対して配布する自分の途中計算結果Y'mの分散情報Y'm , を、上記式(13)を用いて、次式(14)のように計算する。
【数5】
Figure 0004292835
なお、メンバIDがm(p=1,2,…,t)であるメンバ以外には秘密となるよう、秘密通信路を用いてメンバIDがm(p=1,2,…,t)であるメンバに配布する。上記式(14)のような計算で分散した結果、メンバIDがmであるメンバは、Y'm1,j,Y'm2,j,…,Y'mt,jのt個の分散情報を受け取る。
【0025】
メンバIDがmであるメンバは、これら分散情報Y'm1,j,Y'm2,j,…,Y'mt,jから、掛け算結果の分散情報Ymを次式(15)及び(16)のように計算する。
【数6】
Figure 0004292835
この計算は、秘密情報の再構成時の計算(前述した式(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個選ぶ。それらの乱数X,X,…,Xn−1から、次式(17)を満たすXを求める。
=S−(X+X+…+Xn−1) …(17)
【0028】
秘密分散計算部201は、上記式(17)により得られた値X,X,…,Xを出力し、各メンバに重複しないように配布する。値X,X,…,Xのうち、いくつかは等しい値であってもよい。上記式(17)の計算は、有限体GF(q)上で行われる。以降の説明においては、断りがない限り、演算は、有限体GF(q)上で行われるものとする。
【0029】
上記したような秘密分散法によりもとの秘密情報Sを分散した場合には、分散情報が配布されたメンバ全員(すなわちn人)が集まらない限り、もとの秘密情報Sを再構成することができない。もとの秘密情報Sは、次式(18)を計算することにより、再構成できる。
S=X+X+…+X …(18)
【0030】
上記したような秘密分散法を、「加算秘密分散法」と呼ぶこととする。第1の実施形態は、上記した加算秘密分散法により秘密分散された分散情報を各メンバに配布し、各メンバが分散情報を所有している状態を前提とする。もとの秘密情報Sを再構成させたいときに、集まったメンバ(n人)が分散情報を持ち寄り、上記式(18)を用いてもとの秘密情報Sを再構成することができるが、第1の実施形態に係る秘密再構成方法においては、この再構成時の計算を、マルチパーティ・プロトコルで分散計算することにより、集まった各メンバの分散情報を公開せずに、もとの秘密情報Sを再構成する。
【0031】
第1の実施形態においては、複数のメンバからなるあるグループで、前述の秘密分散法(上記式(17)による方法)を用いてもとの秘密情報Sから生成された分散情報が、各メンバに秘密裏に配布されている状態を前提とする。このグループにはn人のメンバがいるものとし、もとの秘密情報Sから生成され、各メンバに配布された分散情報をX(j=1,2,…,n)とする。
【0032】
第1の実施形態において、もとの秘密情報Sを再構成する際に、メンバ全員(すなわち、n人のメンバ)が集まり、各メンバの持つ分散情報を持ち寄る。また、メンバのうち、どの2人のメンバ間にも、その2人のメンバ以外には通信内容を秘密とすることができる秘密通信路が確立されているものとする。図3は、第1の実施形態において各メンバ間の通信に用いる秘密通信路303を示す図である。図3において、四角形で示されるブロックは集まったメンバを示し、m',m',…,m',…,m'は、メンバIDを示し、両方向の矢印は、それぞれ対応するメンバ以外には通信内容を秘密とする秘密通信路303を示している。
【0033】
次に、図4を用いて、第1の実施形態に係る秘密再構成方法の概要を説明する。図4においては、メンバの人数は3人(すなわち、演算記憶装置の数は3台)とし、各メンバは、もとの秘密情報Sを加算秘密分散法で分散させた分散情報A,B,Cをそれぞれ持っているものとする。もとの秘密情報Sを再構成する場合には、まず、各メンバが持っている分散情報A,B,Cを加算秘密分散法でさらに分散して、分散情報A,B,Cの分散情報を生成する。具体的に言えば、図4に符号▲1▼で示されるように、分散情報Aを分散して分散情報Aの分散情報A,A,Aを生成し、分散情報Bを分散して分散情報Bの分散情報B,B,Bを生成し、分散情報Cを分散して分散情報Cの分散情報C,C,Cを生成する。次に、図4に符号▲2▼で示されるように、分散情報A,B,Cの分散情報を他のメンバに配布する。図4に符号▲3▼で示されるように、各メンバは、分散情報A,B,Cの分散情報A,B,C又はA,B,C又はA,B,Cを受け取り、これらをもとに分散計算を行い、その分散計算の結果を出力する。次に、図4に符号▲4▼で示されるように、分散情報A,B,Cの分散情報A,B,Cと、A,B,Cと、A,B,Cとをそれぞれ用いて分散計算した計算結果を集めることにより、もとの秘密情報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)から出力される値(すなわち、秘密再構成計算の中間計算結果)をS(j=1,2,…,n)とすると、次式(19)を用いて、もとの秘密情報Sを計算することができる。
【数7】
Figure 0004292835
上記式(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の分散情報Xが入力される。秘密分散計算部401−jは、入力された分散情報Xを加算秘密分散法を用いて分散し、他のメンバと通信する秘密通信路303を経由して配布する。分散情報Xの分散情報X , の計算は、X , ,X , ,…,X , n−1を、乱数として有限体GF(q)上の値をn−1個選び、次式(20)で、X , 求める。
, =X−(X , +X , +…+X , n−1) …(20)
値X , ,X , ,…,X , のうち、自分自身に対する分散情報X , は、“(n)加算部”402−jへ出力し、その他の分散情報X , (p=1,2,…,nであり、p≠jであるもの)は、秘密通信路303を通して各メンバに配布される。
【0039】
“(n)加算部”402−jは、秘密分散計算部401−jから、もとの秘密情報Sの分散情報Xの分散情報X , を受け取る。さらに、秘密通信路303を経由して、他のメンバから配布された、もとの秘密情報Sの分散情報X(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の分散情報S(秘密情報Sの再構成時に得られる秘密情報Sの分散情報Sと、秘密情報Sの分散時に得られる秘密情報Sの分散情報Xとは異なるものである)を計算し出力する。“(n)加算部”402−jは、次式(21)のような計算を行い、秘密情報Sの分散情報Sを出力する。
【数8】
Figure 0004292835
【0040】
[第1の実施形態の動作]
図7は、第1の実施形態に係る秘密再構成方法における動作を示すフローチャートである。ここで、もとの秘密情報Sを再構成するために集まったメンバ全員(n人のメンバ)が持つ分散情報をX,X,…,Xとする。
【0041】
まず、各メンバが持つ分散情報X,X,…,Xを加算秘密分散方法を用いて分散し、他のメンバに配布する(ステップS501)。ステップS501は、図6の秘密分散計算部401−jにおける動作を示しており、各メンバの持つ分散情報Xから乱数生成及び上記式(20)を用いて分散情報X , (p=1,2,…,n)を計算し、他のメンバに対して配布する。
【0042】
次に、各メンバは、自分自身の分散情報Xの分散情報及び他のメンバから配布された分散情報、すなわち、分散情報Xp,j(p=1,2,…,n)を用いて演算を施し、もとの秘密情報Sの分散情報Sを求める(ステップS502)。ステップS502は、図6の加算部402−jにおける動作を示しており、メンバjは、他のメンバから配布された分散情報Xp,j(p=1,2,…,n)(自分自身の分散情報Xの分散情報X , が含まれている)から、上記式(21)を用いて計算する。その計算結果Sは、もとの秘密情報Sの分散情報となっている。
【0043】
次に、ステップS502で各メンバが計算した分散情報Sからもとの秘密情報Sを再構成する(ステップS503)。ステップS503は、図5の秘密再構成計算部302における動作を示しており、メンバjがステップS502で計算した結果S(j=1,2,…,n)から、上記式(19)を用いて計算し、もとの秘密情報Sを得ることができる。
【0044】
[第1の実施形態の効果]
以上説明したように、第1の実施形態によれば、もとの秘密情報Sを再構成するために集まったメンバ(演算記憶装置)の持つ分散情報Xを、他のメンバに公開せずに、もとの秘密情報Sを再構成することができる。したがって、各メンバが持つ分散情報Xを、次回の秘密再構成の際に再利用することができる。しかも、秘密再構成を行う第三者的なセンターのようなものを設けなくても、上記の効果を達成することができる。また、第1の実施形態においては、分散情報Xを持つメンバ全員が集まらないと、もとの秘密情報Sを再構成することができないが、各メンバの匿名性は保たれており、さらに、秘密再構成の際のメンバ間の相互通信は、最初の分散情報を分散配布するための1回のみで済むため、通信量及び計算量の両方とも少ない。
【0045】
さらに、秘密情報Sの分散情報Xを持たない人(演算記憶装置)が、この再構成に参加しようとしても、秘密情報Sの再構成に失敗することから、第1の実施形態においては、集まった複数人数からなるグループ全員が正当メンバ(予め秘密情報Sの分散情報Xを配布されたメンバ)か、そうでない人(演算記憶装置)が混在するか、ということを認証するような機能が備わる。さらにまた、第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をm,m,…,mとする。メンバIDがm(j=1,2,…,n)であるメンバに配布した、秘密情報Sの分散情報をXm(j=1,2,…,n)とする。もとの秘密情報Sを再構成させたいときに、集まったメンバがt人(t≧k)で、各メンバの持つ分散情報を持ち寄ったとする。このとき集まったメンバのメンバIDをm',m',…,m'とし、集まったメンバが持つ分散情報をXm',Xm',…,Xm'とする。また、集まったメンバのうち、どの2人のメンバ間にも、その2人のメンバ以外には通信内容を秘密とすることができる秘密通信路が確立されているものとする。図3は、第2の実施形態において各メンバ間の通信に用いる秘密通信路303を示す図である。図3はおいて、四角形で示されるブロックは集まったメンバを示し、m',m',…,m',…,m'は、メンバIDを示し、両方向の矢印は、それぞれ対応するメンバ以外には通信内容を秘密とする秘密通信路303を示している。さらに、集まったt人のメンバに与えられたメンバID_m',m',…,m'は公開された値であるものとする。
【0050】
図8は、本発明の第2の実施形態に係る秘密再構成方法を実施する構成(第2の実施形態に係る秘密再構成システム)を示すブロック図である。図8を用いて、第2の実施形態に係る秘密再構成方法を説明する。図8に示されるように、もとの秘密情報Sを再構成しようとする際に集まったメンバIDがm',m',…,m'であるt人のメンバ(すなわち、t台の演算記憶装置)は、それぞれ、分散計算により秘密情報を再構成する手段である分散秘密再構成計算部(すなわち、第2の実施形態に係る分散秘密再構成装置)601(601−1,601−2,…,601−t)が備えられている。分散秘密再構成計算部601−j(j=1,2,…,t)における処理は、メンバIDがm'であるメンバが行う。各メンバの分散秘密再構成計算部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=1,2,…,t)とすると、上記式(3)のXm'をSm'に置き換えた次式(22)及び(4)を用いて計算し、もとの秘密情報Sを出力する。
【数9】
Figure 0004292835
上記式(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'であるメンバが持つもとの秘密情報Sの分散情報Xm'が入力される。秘密分散計算部701−jは、入力された分散情報Xm'を(k',t)しきい値秘密分散法(k'≦t)を用いて分散し、他のメンバと通信する秘密通信路303を経由して配布する。分散するときの計算においては、上記式(6)のmがm'に置き換わり、kがk'に置き換わったk'−1次多項式である次式(23)を作る。
【数10】
Figure 0004292835
ここで、Rm' , ,Rm' , ,…,Rm' , ' −1は、乱数として選ばれた有限体GF(q)上のk'−1個の値である。
【0055】
そして、メンバIDがm'(p=1,2,…,t)であるメンバに対して配布する分散情報Xm' , を、上記式(23)を用いて次式(24)のように計算する(上記式(7)参照)。
【数11】
Figure 0004292835
【0056】
自分自身に対する分散情報Xm' , は、線形結合計算部702−jへ出力し、その他の分散情報Xm' , (p=1,2,…,tであり、p≠jであるもの)を秘密通信路303を通して各メンバに配布する。
【0057】
線形結合計算部702−jは、秘密分散計算部701−jから、もとの秘密情報Sの分散情報Xm'の分散情報Xm' , を受け取る。さらに、秘密通信路303を経由して、他のメンバから配布された、もとの秘密情報Sの分散情報Xm'の分散情報Xm'1,j,…,Xm'j−1,j,Xm'j+1,j,…,Xm't,jを受け取る。これらt個ある、もとの秘密情報Sの分散情報Xm'の分散情報Xm'p,j(p=1,2,…,t)、から、もとの秘密情報Sの分散情報Sm'(秘密情報Sの再構成時に得られる秘密情報Sの分散情報Sm'と、秘密情報Sの分散時に得られる秘密情報Sの分散情報Xm'とは異なるものである)を計算し出力する。線形結合計算部702−jは、次式(25)及び(26)のような計算を行う。
【数12】
Figure 0004292835
ここで、各メンバID_m',m',…,m'は公開された値であるので、上記式(26)のrm'を計算することができる。
【0058】
[第2の実施形態の動作]
図10は、第2の実施形態に係る秘密再構成方法における動作を示すフローチャートである。ここで、もとの秘密情報Sを再構成するために集まったt人のメンバのメンバIDをm',m',…,m'とし、各メンバが持つ分散情報をXm',Xm',…,Xm'とする。
【0059】
第2の実施形態に係る秘密再構成方法においては、図10に示されるように、まず、各メンバが持つ分散情報を(k',t)しきい値秘密分散法を用いて分散し、他のメンバに配布する(ステップS801)。ステップS801は、図9の秘密分散計算部701−jにおける動作を示しており、メンバIDがm'(j=1,2,…,t)であるメンバの持つ分散情報Xm'を上記式(23)を用いて分散し、メンバIDがm'(p=1,2,…,t)であるメンバに対し、上記式(24)で計算されるXm' , を配布する。
【0060】
次に、各メンバは、公開されている集まったメンバのメンバID、自分自身の分散情報Xm'の分散情報及び他のメンバから配布された分散情報、すなわち、分散情報Xm'p,j(p=1,2,…,t)を用いて演算を施し、もとの秘密情報Sの分散情報Sm'である値を求める(ステップS802)。ステップS802は、図9の線形結合計算部702−jにおける動作を示しており、メンバIDがm'(j=1,2,…,t)であるメンバは、他のメンバから配布された分散情報Xm'p,j(p=1,2,…,t)(自分自身の分散情報Xm'の分散情報Xm' , が含まれている)、及び公開されているメンバID_m'(p=1,2,…,t)から、上記式(25)を用いて計算する。その計算結果Sm'は、もとの秘密情報Sの分散情報となっている。
【0061】
次に、ステップS802で、各メンバが計算した分散情報からもとの秘密情報Sを再構成する(ステップS803)。ステップS803は、図8の秘密再構成計算部602における動作を示しており、メンバIDがm'(j=1,2,…,t)であるメンバがステップS802で計算した結果Sm'(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をm,m,…,mとする。メンバIDがm(j=1,2,…,n)であるメンバに配布した、秘密情報Sの分散情報をXm(j=1,2,…,n)とする。もとの秘密情報Sを再構成させたいときに、集まったメンバがt人(t≧k)で、各メンバの持つ分散情報を持ち寄ったとする。このとき集まったメンバのメンバIDをm',m',…,m'とし、そのメンバが持つ分散情報をXm',Xm',…,Xm'とする。また、上記第1及び第2の実施形態と同様に、集まったメンバのうち、どの2人のメンバ間にも、その2人のメンバ以外には通信内容を秘密とすることができる秘密通信路が確立されているものとする(図3参照)。ただし、第2の実施形態とは異なり、集まったメンバのメンバID_m',m',…,m'は公開されず、どのメンバIDを持つメンバが集まっているかを知ることができないようになっている。また、以降の計算(加算「+」及び乗算「×」などの四則演算)においては、有限体GF(q)上の演算を行うものとする。
【0070】
次に、図11を用いて、第3の実施形態に係る秘密再構成方法の概要を説明する。図11においては、メンバの人数は3人(すなわち、演算記憶装置の数は3台)とし、各メンバは、もとの秘密情報Sをしきい値秘密分散法で分散させた分散情報Xm,Xm,Xm及びメンバID_m,m,mをそれぞれ持っているものとする。もとの秘密情報Sを再構成する場合には、各メンバが持っている分散情報を、さらにしきい値秘密分散法で分散する。具体的に言えば、図11に符号▲1▼で示されるように、秘密情報Sの分散情報Xmから秘密分散法により分散情報Xmの分散情報Xm1,1,Xm1,2,Xm1,3を生成し、秘密情報Sの分散情報Xmから秘密分散法により分散情報Xmの分散情報Xm2,1,Xm2,2,Xm2,3を生成し、秘密情報Sの分散情報Xmから秘密分散法により分散情報Xmの分散情報Xm3,1,Xm3,2,Xm3,3を生成する。さらに、メンバID_mから秘密分散法によりメンバID_mの分散情報m1,1,m1,2,m1,3を生成し、メンバID_mから秘密分散法によりメンバID_mの分散情報m2,1,m2,2,m2,3を生成し、メンバID_mから秘密分散法によりメンバID_mの分散情報m3,1,m3,2,m3,3を生成する。そして、図11に符号▲2▼で示されるように、秘密情報Sの分散情報Xm,Xm,Xmの分散情報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',m',…,m'であるメンバ(すなわち、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個の値d,d,…,dを生成し、これらの値を仮メンバIDとして、分散秘密再構成計算部902−j(j=1,2,…,t)へそれぞれ出力する。もし、IPアドレスなどの互いに重複した値をとらないようなt個の値が既に利用できる状態であるならば、値を生成する代わりに、各分散秘密再構成計算部902−j(j=1,2,…,t)からそのような値を申請させて、それを仮メンバID_d,d,…,dとして利用することもできる。さらに、これら仮メンバID_d,d,…,dは公開され、それぞれがどの仮メンバIDを持つかは、集まった各メンバにとっては既知の値であるとする。その公開方法は、例えば、図12に破線で示される制御信号を用いて、分散秘密再構成計算部902−j(j=1,2,…,t)が、仮メンバID_d(j=1,2,…,t)に対応しているかを通知する方法を採ることにより公開することもできる。仮メンバID生成部901は、仮メンバID_d,d,…,dを各分散秘密再構成計算部902−j(j=1,2,…,t)に対応付け、仮メンバIDを公開する機能を持つ。
【0073】
各メンバの分散秘密再構成計算部902−j(j=1,2,…,t)は、仮メンバIDがdであるメンバの処理部分であり、仮メンバID生成部901から、自分に対する仮メンバIDを受け取り、各自処理(詳細は後述)した出力結果と仮メンバID_dを、秘密再構成計算部903へ出力する。
【0074】
秘密再構成計算部903は、各メンバの分散秘密再構成計算部902−j(j=1,2,…,t)からの出力を受け取り、それら受け取ったt個の情報を、t個の分散情報としたときの秘密情報の再構成を行う計算をし、その再構成された秘密情報を出力する。各メンバの分散秘密再構成計算部902−j(j=1,2,…,t)から出力される値をSd(j=1,2,…,t)及び仮メンバID_dとすると、上記式(22)及び(4)において、m'をdに、Sm'をSdに置き換えた次式(27)及び(28)を計算し、もとの秘密情報Sを出力する。
【数13】
Figure 0004292835
上記式(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_dが入力される。さらに、秘密分散計算部1001−jには、仮メンバIDがdで与えられるメンバの持つメンバID_m'と、もとの秘密情報Sの分散情報Xm'とが入力される。秘密分散計算部1001−jは、入力された分散情報Xm'及びメンバID_m'を、それぞれ(k',t)しきい値秘密分散法を用いて分散し、他のメンバと通信する秘密通信路303を経由して配布する。第3の実施形態の場合には、第2の実施形態の場合とは異なり、分散乗算を行わなければならないので、この秘密分散法のしきい値k'は、
k'≦(t+1)/2 …(29)
を満たさなければならない(上記式(11)参照)。上記式(29)の演算は、有限体GF(q)上の演算ではなく、通常の実数、整数演算である。
【0077】
入力された分散情報Xm'を分散するときの計算方法は、第2の実施形態と同様に、上記式(23)のようなk'−1次多項式である次式(29′)を作ることにより行う。
【数14】
Figure 0004292835
ただし、メンバID_m'(p=1,2,…,t)は非公開の値であるので、代わりに仮メンバID_d(p=1,2,…,t)を用いる。ここで、R , ,R , ,…,R , ' −1は、乱数として選ばれた有限体GF(q)上のk'−1個の値である。
【0078】
そして、仮メンバIDがd(p=1,2,…,t)であるメンバに対して配布する分散情報Xm' , を、上記式(29′)を用いて次式(30)のように計算する。
【数15】
Figure 0004292835
【0079】
入力されるメンバID_m'を分散するときは、同様に、次式(31)なるk'−1次多項式を作る。
【数16】
Figure 0004292835
ここで、R , ,R , ,…,R , ' −1は、乱数として選ばれた有限体GF(q)上のk'−1個の値である。
【0080】
そして、仮メンバIDがd(p=1,2,…,t)であるメンバに対して配布する分散情報m' , を、上記式(31)を用いて次式(32)のように計算する。
【数17】
Figure 0004292835
【0081】
自分自身に対する分散情報Xm' , 及びm' , は、分散処理部1002−jへ出力し、その他の分散情報Xm' , 及びm' , (p=1,2,…,tであり、p≠jであるもの)を秘密通信路303を通して各メンバに配布する(他のメンバの分散処理部1002−p(p=1,2,…,tであり、p≠jであるもの)へ送信する)。
【0082】
分散処理部1002−jは、秘密分散計算部1001−jから、メンバIDの分散情報m' , 、及び、もとの秘密情報Sの分散情報の分散情報Xm' , を受け取る。さらに、秘密通信路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の分散情報となるSdを計算して出力する。すなわち、集まったメンバのメンバID_m',m',…,m'及び分散情報Xm',Xm',…,Xm'を分散させたまま、上記式(3)で示される式の分散計算を行う。その結果得られる値Sは、分散秘密情報Sd1,Sd,…,Sdとして、各メンバがそれぞれ持っていることになる。
【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' , 及びm' , 、さらに、秘密通信路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からの出力をY(a=1,2,…,t)とすると、“(t)加算部”1102−jは、次式(33)、すなわち、
Sd=Y+Y+…+Y …(33)
を計算し、計算結果であるSdを出力する。
【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' , は、秘密分散計算部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' , は、秘密分散計算部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' , は、秘密分散計算部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)を分散情報として再構成されるようなもとの秘密をAとすると、“(t−1)分散乗算部”1202−j−a,1204−j−aは、A(i=1,2,…,t−1)をすべて乗算した値
B=A×A×…×At−1
の、仮メンバIDがdであるメンバに対する分散情報Bを計算することとなる。“(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へ入力される値をAとし、この入力Aと他のメンバの分散逆元計算部1203−p−aへ入力されるA(p=1,2,…,tであり、p≠jであるもの)の、t個の値A(p=1,2,…,t)を分散情報としてを再構成されるようなもとの秘密Aとすると、分散逆元計算部1203−j−aは、Aの有限体GF(q)上の逆元B=A−1の、仮メンバIDがdであるメンバに対する分散情報Bを計算することとなる。分散逆元計算部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)を分散情報として再構成されるようなもとの秘密をA(i=1,2)とすると、“(2)分散乗算部”1205−j−a,1206−j−aは、A及びAを乗算した値B=A×Aの、仮メンバIDがdであるメンバに対する分散情報Bを計算することとなる。“(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つの入力をそれぞれ、Ad及びBdとし、“(2)分散乗算部”1205−j−a,1206−j−aからの出力をCdとする。“(2)分散乗算部”1205−j−a,1206−j−aは、乗算部1301−jと、秘密分散計算部1302−jと、線形結合計算部1303−jとを有する。“(2)分散乗算部”1205−j−a,1206−j−aへ入力されるAd及びBdは、乗算部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へ入力されるAd及びBdを受け取り、それらを乗算する。すなわち、
C'd=Ad×Bd …(34)
を計算して、その計算結果C'dを、秘密分散計算部1302−jへ出力する。
【0092】
秘密分散計算部1302−jは、第2の実施形態における図9の秘密分散計算部701−jと内部的には同じ構成であり、入力される値を(k',t)しきい値秘密分散法を用いて分散して出力する。前述の通り、第3の実施形態の場合、分散乗算を行わなければならないので、この秘密分散法のしきい値k'は、
k'≦(t+1)/2 …(29)
を満たさなければならない。ここで、式(29)の演算は、有限体GF(q)上の演算ではなく、通常の実数、整数演算である。
【0093】
また、分散に用いるときのメンバID_m',m',…,m'は非公開なので、第3の実施形態においては、仮メンバID_d1,,…,dを用いる。今、秘密分散計算部1302−jへ入力される値はC'dなので、次式(35)のk'−1次多項式を作り、R , ,R , ,…,R , ' −1は、乱数として有限体GF(q)上の値をk'−1個選ぶ。
【数18】
Figure 0004292835
【0094】
仮メンバIDがd(p=1,2,…,t)であるメンバに対して配布する分散情報C'd , を、上記式(35)を用いて次式(36)のように計算する。
【数19】
Figure 0004292835
【0095】
自分自身に対する分散情報C'd , は、線形結合計算部1303−jへ出力し、その他の分散情報C'd , (p=1,2,…,tであり、p≠jであるもの)を秘密通信路303を通して各メンバに配布する(他のメンバの線形結合計算部1303−p(p=1,2,…,tであり、p≠jであるもの)へ送信する)。
【0096】
線形結合計算部1303−jは、第2の実施形態における図9の線形結合計算部702−jと内部的には同じ構成であるが、計算に用いるメンバID_m',m',…,m'は非公開なので、第3の実施形態においては、仮メンバID_d1,,…,dを用いる。線形結合計算部1303−jは、秘密分散計算部1302−jから、分散情報C'd , を受け取る。さらに、秘密通信路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)のような計算を行い、出力となるCdを算出する。
【数20】
Figure 0004292835
各仮メンバID_d,d,…,dは公開され、既知の値であるので式(38)のrdを計算することができる。
【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個の入力をA,A,…,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つの入力A及びAは、“(2)分散乗算部”1401−1へ入力され、“(2)分散乗算部”1401−1からの出力は、次の“(2)分散乗算部”1401−2へ、“(t−1)分散乗算部”1202−j−a,1204−j−aへ入力されるAとともに、入力される。“(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は、q−1個の“(2)分散乗算部”1501−i(i=1,2,…,q−1)と、乗算制御部1502と、“(q)分散乗算部”1503とを有する。qは、第3の実施形態において前提としている有限体GF(q)の要素数qから2を引いた値の底2における対数をとった値(小数点以下切り上げ)であり、次式(39)のように計算できる。q=ceil(log(q−2)) …(39)
【0100】
ここで、ceil(・)は、小数点以下切り上げの演算を表し、log(・)は、底2の対数をとることを表す。上記式(39)の演算は、有限体GF(q)上の演算ではなく、通常の実数、整数演算である。今、分散逆元計算部1203−j−aへの入力をAとすると、この入力Aと他のメンバの分散逆元計算部1203−p−aへ入力されるA(p=1,2,…,tであり、p≠jであるもの)の、t個の値A(p=1,2,…,t)を分散情報としてを再構成されるようなもとの秘密Aとする。この場合、分散逆元計算部1203−j−aは、Aの有限体GF(q)上の逆元B=A−1の、仮メンバIDがdであるメンバに対する分散情報Bを計算して出力することとなる。有限体の性質により、有限体GF(q)上の演算においては、有限体GF(q)のある要素Aに対して、次式(40)、すなわち、
−1=Aq−2 …(40)
が成立するので、分散逆元計算部1203−j−aにおいては、Aをq−2回分散乗算する計算を行う。
【0101】
−1個の“(2)分散乗算部”1501−i(i=1,2,…,q−1)は、“(2)分散乗算部”1501−iからの出力が次の“(2)分散乗算部”1501−(i+1)への両方の入力となっているように、多段に構成されている。分散逆元計算部1203−j−aへ入力される入力Aは、“(2)分散乗算部”1501−1へ入力され、“(2)分散乗算部”1501−1からの出力は、次の“(2)分散乗算部”1501−2へ入力される。分散逆元計算部1203−j−aへ入力される入力A、及び各“(2)分散乗算部”1501−i(i=1,2,…,q−1)からの出力の、合計q個の値は、乗算制御部1502へ入力され、乗算制御部1502から出力される値は、“(q)分散乗算部”1503へ入力される。“(q)分散乗算部”1503からの出力が分散逆元計算部1203−j−aからの出力となる。
【0102】
“(2)分散乗算部”1501−i(i=1,2,…,q−1)は、前に説明した、“(2)分散乗算部”1205−j−a,1206−j−aと同じ構成をしている。“(2)分散乗算部”1501−i(i=1,2,…,q−1)は、他のメンバの“(2)分散乗算部”1501−i(i=1,2,…,q−1)とそれぞれ秘密通信路303を通して通信を行う。
【0103】
乗算制御部1502は、分散逆元計算部1203−j−aへ入力される入力A及び各“(2)分散乗算部”1501−i(i=1,2,…,q−1)からの出力の、合計q個の値を受け取り、入力されたq個の値を、そのまま出力するか、又は、1を出力する、ということを制御する。入力されたそれぞれの値をどう出力するかは、次のようなルールで行う。まず、“(2)分散乗算部”1501−i(i=1,2,…,q−1)からの出力をA , i+1とする。乗算制御部1502へは、q個の値A , (i=1,2,…,q)が入力されることとなる(ただし、A , =A)。また、q−2を2進数表現し、そのときの各桁の値を大きい桁からbqb,b(qb−1),…,b,bとする(q−2は、q桁の2進数で表すことができる)。乗算制御部1502は、上記b(i=1,2,…,q)が1であるならば値A , を出力し、上記b(i=1,2,…,q)が0であるならば値1を出力する。出力されたq個の値は、“(q)分散乗算部”1503へ入力される。
【0104】
“(q)分散乗算部”1503は、前述した“(t−1)分散乗算部”1202−j−a,1204−j−aと同様な構成をしているが、“(2)分散乗算部”がt−2個ではなく、q−1個になっている構成である。“(q)分散乗算部”1503は、他のメンバの“(q)分散乗算部”1503とそれぞれ秘密通信路303を通して通信を行う。
【0105】
[第3の実施形態の動作]
図19は、第3の実施形態に係る秘密再構成方法における動作を示すフローチャートである。ここで、もとの秘密情報Sを再構成するために集まったt人のメンバのメンバIDをm'、m',…,m'とし、各メンバが持つ分散情報をXm',Xm',…,Xm'とする。
【0106】
図19に示されるように、まず、集まった各メンバに対して、分散計算時に用いる仮メンバIDを割り当てるために、仮メンバID_d,d,…,dを生成し、各メンバに配布、そして、公開する(ステップS1601)。ステップS1601は、図12の仮メンバID生成部901における動作を示しており、各メンバに重複なく仮メンバID_d,d,…,dを割り当て、配布、公開する。
【0107】
次に、各メンバが持つ分散情報及びメンバIDを(k',t)しきい値秘密分散法を用いて分散し、他のメンバに配布する(ステップS1602)。ステップS1602は、図13の秘密分散計算部1001−jにおける動作を示しており、メンバIDがm'(j=1,2,…,t)であるメンバの持つ分散情報Xm'を上記式(29′)を用いて分散して、仮メンバIDがd(p=1,2,…,t)であるメンバに対し、上記式(30)で計算されるXm' , を配布し、メンバID_m'を上記式(31)を用いて分散して、仮メンバIDがd(p=1,2,…,t)であるメンバに対し、上記式(32)で計算されるm' , を配布する。
【0108】
次に、各メンバは、公開されている集まったメンバの仮メンバID、自分自身の分散情報及びメンバIDのそれぞれの分散情報、及び、他のメンバから配布された分散情報及びメンバIDのそれぞれの分散情報を用いて演算を施し、もとの秘密情報Sの分散情報である値を求める(ステップS1603)。ステップS1603は、図13の分散処理部1002−jにおける動作を示しており、秘密再構成するための演算(上記式(3))を、メンバID_m'(j=1,2,…,t)及び分散情報Xm'を秘密にしたまま、上記式(3)の分散計算を行い、最終的に、仮メンバIDがd(j=1,2,…,t)であるメンバは、再構成すればもとの秘密情報Sとなるような分散秘密情報Sdを得る。
【0109】
次に、ステップS1603で、各メンバが計算した分散情報及び仮メンバIDからもとの秘密情報Sを再構成する(ステップS1604)。ステップS1604は、図12の秘密再構成計算部903における動作を示しており、仮メンバIDがd(j=1,2,…,t)であるメンバがステップS1603で計算した結果Sd(j=1,2,…,t)、及び仮メンバID_d(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つの入力Ad,Bdは、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つの入力Ad,Bdを受け取り、それらを乗算し、次式(41)で計算される係数rdをさらに乗算して、“(t)加算部”1703−jに出力する。
【数21】
Figure 0004292835
【0119】
詳細に言えば、jj項計算部1701−jは、Ad×Bdを計算し、上記式(41)の係数rdをさらに掛けたrd(Ad×Bd)を計算して、出力する。
【0120】
ij項計算部1702−jは、“(2)分散乗算部”1205−j−a,1206−j−aに入力される2つの入力Ad,Bdを受け取り、受け取った入力Ad,Bdと秘密通信路303を通して他のメンバから受け取った情報から、実質的に他のメンバの値との乗算結果が得られるように計算をする。例えば、仮メンバIDがdであるメンバは、“(2)分散乗算部”1205−j−a,1206−j−aに入力されるAdとBdの乗算Ad×Bdをjj項計算部1701−jで行うが、ij項計算部1702−jにおいては、他のメンバ(メンバIDがdであり、p=1,2,…,tであり、p≠jであるもの)の値との乗算、Ad×Bd及びAd×Bdの結果に相当するもの(乗算結果そのものではない)が得られるようにする。
【0121】
ij項計算部1702−jは、
Ad×Bd=Dd+Dd …(42)
Ad×Bd=Ed+Ed …(42′)
となるような、Dd及びEdを仮メンバIDがdであるメンバが持つことができ、Dd及びEdを仮メンバIDがdであるメンバが持つことができるように、計算を行う。
【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がdであり、p=1,2,…,tであり、p≠jであるもの)の値との乗算、Ad×Bd及びAd×Bdの結果に相当するもの(乗算結果そのものではない)が得られるようにするが、他のメンバの値Ad及びBd(メンバIDがdであり、p=1,2,…,tであり、p≠jであるもの)が分からないように、また、自分の値Ad及びBdが、他のメンバに分からないように、紛失通信を行う。紛失通信とは、ここでは、送信側が、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がdであるメンバの項計算送信部1803−j−p,1804−j−p(p=j+1,j+2,…,t)からは、それぞれ、秘密通信路303を通して、仮メンバIDがdであるメンバの項計算受信部180−p−j,180−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からの出力をDd , とし、項計算受信部1802−j−p又は項計算送信部1804−j−pからの出力をEd , とすると、加算部1805−j−pにおいては、Dd , +Ed , を計算して、その計算結果を係数乗算部1806−j−pへ出力する。
【0127】
係数乗算部1806−j−p(p=1,2,…,tであり、p≠jであるもの)は、加算部1805−j−p(p=1,2,…,tであり、p≠jであるもの)からの出力を受け取り、次式(43)で計算される係数を乗算して出力する。
【数22】
Figure 0004292835
【0128】
加算部1805−j−pからの出力をFd , とすると、係数乗算部1806−j−pは、rd×Fd , を計算して、その計算結果を出力する。係数乗算部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への入力をAd、項計算受信部1802−j−pへの入力をBdとおく。項計算受信部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〕 への入力Ad 〔Bd〕 を受け取り、次式(44)及び(44′)で示す計算を施して、A’d , 〔B’d , 〕 を計算し、秘密通信路303を通して、仮メンバIDがdであるメンバの項計算送信部1804−p−j〔1803−p−j〕へ送信する(p=1,2,…,j−1)。
【数23】
Figure 0004292835
【0131】
上記式(44)及び(44′)において、h及びgは、有限体GF(q)上の2つの生成元とし、rA , 〔rB , 〕 は、乱数として有限体GF(q)上の値を選ぶ。また、インデックス計算送信部1901−jは、上記式(44)
〔(44′)〕 で用いた乱数rA , 〔rB , 〕 を受信復元部190−jへ出力する。
【0132】
受信復元部190−jは、仮メンバIDがd(p=1,2,…,j−1)であるメンバの項計算送信部1804−p−j〔1803−p−j〕からq個(qは有限体GF(q)の要素数)の情報を受け取り、Ad+1 番目の情報D’d , 〔Bd+1 番目の情報E’d , 〕 を用いて、次式(45)及び(45′)で計算することにより、目的とする値Dd , 〔Ed , 〕 を計算する(それ以外の受け取った情報は、仮メンバIDがdであるメンバにとっては、乱数に見える)。D’d , 〔E’d , 〕 は、2つの情報、D’ , 及びD’ , 〔E’ , 及びE’ , 〕 から成っているものとする。
【数24】
Figure 0004292835
上記式(45)及び(45′)で計算されるDd , 〔Ed , 〕 が、受信復元部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への入力をAd、項計算送信部1804−j−pへの入力をBdとおく。項計算送信部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)から入力される値Ad 〔Bd〕 、乱数生成部2001−jからの乱数を、有限体要素生成部2002−jから対応する有限体要素a−1を、秘密通信路303を通して仮メンバIDがd(p=j+1,j+2,…,t)であるメンバからの情報(他のメンバの項計算受信部180−p−j
〔180−p−j〕 のインデックス計算送信部1901−pからの出力)’dp,j
’dp,j〕 を、受け取り、それらの入力から計算をして、計算結果を出力する。乗数計算送信部2003−j−a(a=1,2,…,q)からの出力、合計q個の出力は、秘密通信路303を通して、aの小さい順に、仮メンバIDがd(p=j+1,j+2,…,t)であるメンバの項計算受信部1802−p−j〔1801−p−j〕へ送信する。
【0137】
今、乱数生成部2001−jからの出力をDd , 〔Ed , 〕 とする。また、秘密通信路303を通して受信する値を、’dp,j(項計算送信部1803−j−pに相当) 〔’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 , 〔E’dp,j , 〕 をそれぞれ計算し(D’dp,j , 〔E’dp,j , 〕 は式(45) 〔式(45′)〕 の説明で述べたように2つの値からなる)、秘密通信路303を通して仮メンバIDがd(p=j+1,j+2,…,t)であるメンバの項計算受信部1802−p−j〔1801−p−j〕へ、a=1,2,…,qの順に送信する。
【0138】
【数25】
Figure 0004292835
【0139】
上記式において、kA
〔kB〕(a=1,2,…,q)は、それぞれ、q個の有限体GF(q)上の値の乱数である。これらの出力D’dp,j , 又はE’dp,j , を秘密通信路303を通して、仮メンバIDがd(p=1+1,j+2,…,t)であるメンバの項計算受信部1801−p−j
〔項計算受信部1802−p−j〕 が受け取ると、受け取ったメンバは、a=p,jp,j
に相当する(a+1)番目の情報D’dp,j=D’dp,j , 〔E’dp,j=E’dp,j , 〕 を式(45) 〔式(45′)〕 で復号することができる(それ以外の受け取った情報は、仮メンバIDがdであるメンバにとっては、乱数に見える)。
【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に示されるように、(q−1)個の“(2)分散乗算部”を有している。これに対し、以下に説明する第5の実施形態によれば、分散逆元計算部1203−j−a内に備えられる“(2)分散乗算部”の個数を減らすことができる。
【0145】
分散逆元計算部1203−j−aへ入力される値をAとし、この入力Aと他のメンバの分散逆元計算部1203−p−aへ入力されるA(p=1,2,…,tであり、p≠jである。)の、t個の値A(p=1,2,…,t)を分散情報として再構成されるようなもとの秘密情報をAとすると、分散逆元計算部1203−j−aは、もとの秘密情報Aの有限体GF(q)上の逆元C=A−1の、仮メンバIDがdであるメンバに対する分散情報Cを計算する。第5の実施形態においては、分散逆元計算部1203−j−aへの入力値A(j=1,2,…,t)に、各メンバそれぞれが生成した乱数B(j=1,2,…,t)を用いて分散乗算することにより、入力値Aを隠蔽した上で、その乱数Bを分散乗算された値U(j=1,2,…,t)を公開し、Uを分散情報として再構成されるようなもとの秘密Uを再構成する。もとの秘密情報Uの逆元U−1を算出し、逆元U−1の分散情報U−1 を各メンバに分散する。各メンバは、その受け取った分散情報U−1 と発生させた乱数Bから、求める値C=A−1 を得る。
【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をdとする)、そのメンバの分散逆元計算部1203−j−a(a=1,2,…,t)の構成を表している。この代表メンバは、どのように決定してもよいが、例えば、仮メンバIDが最小(又は最大)であるメンバにすると予め決めておくことで可能である。また、図24(b)は、その代表メンバ以外のメンバ(仮メンバIDをd(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への入力(Adとする)は、乱数生成部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への入力Ad及び乱数生成部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の出力結果をUdとし、秘密通信路303を通して他のメンバからの“(2)分散乗算部”2102−i(後述する図24(b)、i=1,2,…,tでi≠jであるもの)の出力結果をUd(i=1,2,…,tであり、i≠jであるもの)とすると、線形結合計算部2103−jは、前述した式(25)及び(26)と同様な次式(49)及び(50)を計算し、その結果Uを逆元計算部2104−jへ出力する。
【数26】
Figure 0004292835
【0152】
逆元計算部2104−jは、線形結合計算部2103−jからの出力Uを受け取り、その逆元U−1を計算して、秘密分散計算部2105−jへ出力する。有限体GF(q)上の逆元は、もとの逆元をとりたい要素をq−2回乗算する次式(51)、すなわち、
−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次多項式f(x)を作る
【数27】
Figure 0004292835
ここで、R4,1,R4,2,…,R4,k ' −1は、乱数として有限体GF(q)上の値をk'−1個選んだものである。
【0154】
秘密分散計算部2105−jは、仮メンバIDがd(p=1,2,…,t)であるメンバに対して配布する分散情報U−1を、上記式(52)を用いて次式(53)のように計算する。
【数28】
Figure 0004292835
【0155】
秘密分散計算部2105−jは、自分自身に対する分散情報U−1は、“(2)分散乗算部”2106−jへ出力し、その他の分散情報U−1(p=1,2,…,tであり、p≠jであるもの)を秘密通信路303を通して各メンバに配布する。
【0156】
“(2)分散乗算部”2106−jは、乱数生成部2101−jからの出力と、秘密分散計算部2105−jからの出力U−1を受け取り、それらを入力として、秘密通信路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がdである代表メンバの分散逆元計算部1203−j−aからの出力となる。
【0157】
次に、図24(b)を用いて、代表メンバ以外のメンバ(仮メンバIDをd(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へ入力される入力Adとともに、“(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からの出力をUdとすると、代表メンバ以外の公開送信部2107−i(i=1,2,…,tであり、i≠jであるもの)からの出力Udを、秘密通信路303を通して、代表メンバの線形結合計算部2103−jへ送信し、代表メンバの線形結合計算部2103−jは合計でt−1個のUd(i=1,2,…,tであり、i≠jであるもの)を受け取る。
【0160】
公開受信部2108−iは、秘密通信路303を通して、代表メンバの秘密分散計算部2105−jからU−1を受け取り、それを“(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は、入力される値を、A,A,…,A(t−1)と、Aのインデックス(下付き添え字)が小さい順に分散乗算するように構成している。しかし、分散乗算の順序は入れ替え可能なので、必ずしもこの順番(Aのインデックス(下付き添え字)が小さい順)に分散乗算するように構成する必要はない。
【0169】
[第2の実施形態の変形例]
上記第2の実施形態においては、分散秘密再構成計算部601−jの秘密分散計算部701−j、及び、秘密再構成計算部602が、それぞれ、(k'、t)しきい値秘密分散法による、秘密分散、及び、秘密再構成を行っている場合を説明したが、これに代えて、加算秘密分散法による、秘密分散、及び、秘密再構成を行うように構成してもよい。その場合には、秘密再構成計算部602において計算する上記式(22)及び(4)に代えて、次式(54)のような計算処理を行う。
【数29】
Figure 0004292835
また、秘密分散計算部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'−(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'−(Xm'j,1+Xm'j,2+…+Xm'j,t−1) (56)
また、秘密再構成計算部903における計算処理は、式(27)及び(28)を用いる代わりに、次式(57)のような計算処理に変更する。
【数30】
Figure 0004292835
さらに、上記第4の実施形態においては、図21(第4の実施形態)に示されるように、“(2)分散乗算部”1205−j−a,1206−j−aにおけるjj項計算部1701−jにおける計算処理は、“(2)分散乗算部”1205−j−a,1206−j−aに入力される2つの入力Ad,Bdを受け取りそれらを乗算して、式(41)で計算される係数rdをさらに乗算する。しかし、第4の実施形態の変形例においては、図26に示されるように、“(2)分散乗算部”1205−j−a,1206−j−aは、係数rdの乗算を省略するように構成されている。すなわち、第4の実施形態の変形例においては、Ad×Bdを計算して出力するようにするため、図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の出力結果をUdとし、秘密通信路303を通して他のメンバからの“(2)分散乗算部”2102−i(i=1,2,…,tであり、i≠jであるもの)の出力結果をUd(i=1,2,…,tであり、i≠jであるもの)とすると、線形結合計算部2103−jでは、式(49)および(50)の計算処理を行って、その結果のUを出力していたが、“(t)加算部”2109−jは、次式(58)を計算し、その結果Uを逆元計算部2104−jへ出力する。
【数31】
Figure 0004292835
また、秘密分散計算部2105−jの処理を変更した秘密分散計算部2110−jは、逆元計算部2104−jからの出力U−1を受け取り、この出力U−1を分散して他のメンバに秘密通信路303を通して配布する。秘密分散計算部2105−jは、式(52)及び(53)の計算処理を行って分散情報U−1(p=1,2,…,t)を求めていたが、秘密分散計算部2110−jは、次のように分散情報U−1(p=1,2,…,t)を求める。まず、乱数として有限体GF(q)の値をt−1個選んで、U−1(p=1,2,…,t−1)に割り当て、U−1を次式のように求める。
−1
=U−1−(U−1+U−1+…+U−1t−1) (59)
【0172】
[他の変形例]
上記第4の実施形態(及び上記第4の実施形態の変形例)における、“(2)分散乗算部”1205−j−a,1206−j−aにおいて、〈1〉項計算受信部1801−j−p(p=1,2,…,j−1)を項計算送信部に置き換え、さらに、項計算送信部180−j−p(p=j+1,j+2,…,t)を項計算受信部に置き換えた構成、又は、〈2〉項計算受信部1802−j−p(p=1,2,…,j−1)を項計算送信部に置き換え、さらに、項計算送信部180−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)と項計算信部180−p−j(又は180−p−j)との間の秘密通信路303における情報のやり取りは、式(44)(又は式(44′))や式(46)〜(48)(又は式(46′)〜(48′))のように、暗号化されたような情報、すなわち、法qのもとにおける離散対数を計算することが困難であること利用して送りたい情報を隠蔽している情報なので、とくに秘密に通信する必要はない。式(44)(又は式(44′))においては、送りたい情報Ad(又はBd)を有限体GF(q)の生成元hのべき数として隠蔽し、式(46)〜(48)(又は式(46′)〜(48′))で得られる情報から得るべき必要な情報Ad(a−1)−Dd , (又はBd(a−1)−Ed , )は、式(44′)(又は式(44))で用いた乱数r p,j(又はr p,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がmであるメンバの分散秘密再構成計算部、
602 秘密再構成装置の秘密再構成計算部、
701−j メンバIDがmであるメンバの秘密分散計算部、
702−j メンバIDがmであるメンバの線形結合計算部、
901 仮メンバID生成部、
902 メンバの分散秘密再構成計算部(分散秘密再構成装置)、
902−j 仮メンバIDがdであるメンバの分散秘密再構成計算部、
903 秘密再構成装置の秘密再構成計算部、
1001−j 仮メンバIDがdであるメンバの秘密分散計算部、
1002−j 仮メンバIDがdであるメンバの分散処理部、
1101−j−a(a=1,2,…,t) 仮メンバIDがdであるメンバの項計算部、
1102−j 仮メンバIDがdであるメンバの“(t)加算部”、
1201−j−a(a=1,2,…,t) 仮メンバIDがdであるメンバの差分計算部、
1202−j−a(a=1,2,…,t) 仮メンバIDがdであるメンバの“(t−1)分散乗算部”、
1203−j−a(a=1,2,…,t) 仮メンバIDがdであるメンバの分散逆元計算部、
1204−j−a(a=1,2,…,t) 仮メンバIDがdであるメンバの“(t−1)分散乗算部”、
1205−j−a(a=1,2,…,t) 仮メンバIDがdであるメンバの“(2)分散乗算部”、
1206−j−a(a=1,2,…,t) 仮メンバIDがdであるメンバの“(2)分散乗算部”、
1301−j 仮メンバIDがdであるメンバの乗算部、
1302−j 仮メンバIDがdであるメンバの秘密分散計算部、
1303−j 仮メンバIDがdであるメンバの線形結合計算部、
1401−1,…,1401−(t−2) “(2)分散乗算部”、
1501−1,…,1501−(q−1) “(2)分散乗算部”、
1502 乗算制御部、
1503 (q)分散乗算部、
1701−j 仮メンバIDがdであるメンバのjj項計算部、
1702−j 仮メンバIDがdであるメンバのij項計算部、
1703−j 仮メンバIDがdであるメンバの“(t)加算部”、
1801−j−1,…,1801−j−(j−1) 仮メンバIDがdであるメンバの項計算受信部、
1802−j−1,…,1802−j−(j−1) 仮メンバIDがdであるメンバの項計算受信部、
1803−j−(j+1),…,1803−j−t 仮メンバIDがdであるメンバの項計算送信部、
1804−j−(j+1),…,1804−j−t 仮メンバIDがdであるメンバの項計算送信部、
1805−j−1,…,1805−j−(j−1),1805−j−(j+1),…,1805−j−t 仮メンバIDがdであるメンバの加算部、
1806−j−1,…,1806−j−(j−1),1806−j−(j+1),…,1806−j−t 仮メンバIDがdであるメンバの係数乗算部、
1901−j 仮メンバIDがdであるメンバのインデックス計算送信部、
1902−j 仮メンバIDがdであるメンバの受信復元部、
2001−j 仮メンバIDがdであるメンバの乱数生成部、
2002−j 仮メンバIDがdであるメンバの有限体要素生成部、
2003−j−1,…,2003−j−q 仮メンバIDがdであるメンバの乗算計算送信部、
2101−j 仮メンバIDがdであるメンバの乱数生成部、
2102−j 仮メンバIDがdであるメンバの“(2)分散乗算部”、
2103−j 仮メンバIDがdであるメンバの線形結合計算部、
2104−j 仮メンバIDがdであるメンバの逆元計算部、
2105−j 仮メンバIDがdであるメンバの秘密分散計算部、
2106−j 仮メンバIDがdであるメンバの“(2)分散乗算部”、
2107−i 仮メンバIDがdであるメンバの公開送信部、
2108−i 仮メンバIDがdであるメンバの公開受信部、
S もとの秘密情報、
,m,…,m メンバID、
m',m',…,m' 集まったメンバのメンバID、
,d,…,d 仮メンバID、
Xm メンバIDがmであるメンバに配布される分散情報、
Xm , メンバIDがmであるメンバからメンバIDがmであるメンバpに対して配布する分散情報、
メンバjが分散再構成した分散情報。

Claims (35)

  1. もとの秘密情報から、複数のメンバのそれぞれに配布される分散情報を生成する秘密分散法を用いて、上記もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちのt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する秘密再構成方法であって
    上記秘密再構成方法は、秘密分散手段と分散秘密再構成計算手段を備え、上記各メンバが管理する複数の分散秘密再構成装置と、秘密再構成手段を備えた演算装置とによって実施され、
    上記集まったt人のメンバのそれぞれが管理する上記分散秘密再構成装置の上記秘密分散手段が、秘密分散法を用いて、自身が保持する第1の分散情報からt個の第2の分散情報を生成し、上記集まったt人のメンバのそれぞれが管理する上記分散秘密再構成装置に配布する工程と、
    上記集まったt人のメンバのそれぞれが管理する上記分散秘密再構成装置の上記分散秘密再構成計算手段が、自身が生成した第2の分散情報及び他のメンバから自身が受け取った(t−1)個の第2の分散情報を用いた分散計算により、上記もとの秘密情報を再構成するためのt個の中間計算結果を生成する工程と、
    上記演算装置の上記秘密再構成手段が、上記t個の中間計算結果から、上記もとの秘密情報を再構成する工程と
    を有することを特徴とする秘密再構成方法。
  2. 上記第1の分散情報は、上記n個の第1の分散情報をすべて加算した値が、上記もとの秘密情報となるような秘密分散法により得られたことを特徴とする請求項1に記載の秘密再構成方法。
  3. 上記分散秘密再構成装置の上記秘密分散手段は、上記第2の分散情報、分散情報をすべて加算した値が第1の分散情報となるような秘密分散法により得ることを特徴とする請求項1又は2のいずれかに記載の秘密再構成方法。
  4. あるメンバが管理する上記分散秘密再構成装置の上記分散秘密再構成計算手段は、自身が生成した上記中間計算結果を、上記あるメンバが管理する上記分散秘密再構成装置自身が生成した第2の分散情報及び上記あるメンバが管理する上記分散秘密再構成装置自身が受け取った(t−1)個の第2の分散情報をすべて加算することによって得ことを特徴とする請求項1から3までのいずれかに記載の秘密再構成方法。
  5. 上記n個の第1の分散情報は、上記メンバのそれぞれを識別するためのメンバIDを用いたしきい値秘密分散法により得られたことを特徴とする請求項1に記載の秘密再構成方法。
  6. 上記分散秘密再構成装置の上記秘密分散手段は、上記第2の分散情報、上記集まったt人のメンバのそれぞれが持つ第1の分散情報を、メンバIDを用いたしきい値秘密分散法、又は、分散情報をすべて加算することにより秘密再構成を行うことができる秘密分散法を用いて秘密分散することにより得ることを特徴とする請求項1又は5のいずれかに記載の秘密再構成方法。
  7. あるメンバが管理する上記分散秘密再構成装置の上記分散秘密再構成計算手段は、自身が生成した上記中間計算結果を、上記あるメンバが管理する上記分散秘密再構成装置自身が生成した第2の分散情報及び上記あるメンバが管理する上記分散秘密再構成装置自身が受け取った(t−1)個の第2の分散情報を、上記あるメンバのメンバIDに基づく係数を用いて線形結合計算することによって得ことを特徴とする請求項1、5、6のいずれかに記載の秘密再構成方法。
  8. 上記集まったt人のメンバに対して、互いに重複しない仮メンバIDが生成され配布されている場合に、
    あるメンバが管理する上記分散秘密再構成装置の上記分散秘密再構成計算手段は、上記もとの秘密情報を再構成するための上記中間計算結果を、上記仮メンバIDを用いた分散計算により算出し、
    上記集まったt人のメンバのそれぞれが管理する上記分散秘密再構成装置の上記秘密再構成手段が、上記中間計算結果及び上記仮メンバIDから、上記もとの秘密情報を再構成する
    ことを特徴とする請求項1、2、4、5、7のいずれかに記載の秘密再構成方法。
  9. 上記分散秘密再構成装置の上記秘密分散手段が、秘密分散法により上記集まったt人のメンバのメンバIDから第3の分散情報を生成し、上記集まったt人のメンバに配布する工程をさらに有することを特徴とする請求項1、3、5、6、8のいずれかに記載の秘密再構成方法。
  10. もとの秘密情報から、複数のメンバのそれぞれに配布される分散情報を生成する秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちのt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する複数の分散秘密再構成装置の内の1台であって、上記各メンバが管理する分散秘密再構成装置において、
    この分散秘密再構成装置が保有する第1の分散情報を秘密分散法を用いて分散し、第2の分散情報として他の分散秘密再構成装置に配布する秘密分散手段と、
    上記秘密分散手段からの出力と、上記他の分散秘密再構成装置から受け取った第2の分散情報を用いて、上記もとの秘密情報を再構成するための中間計算結果を、分散計算により算出する分散秘密再構成計算手段と、
    上記分散秘密再構成計算手段の出力である上記中間計算結果を送信する送信手段と
    を有することを特徴とする分散秘密再構成装置。
  11. もとの秘密情報から、複数のメンバのそれぞれに配布される分散情報を生成する秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちのt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する複数の分散秘密再構成装置の内の1台であって、上記各メンバが管理する分散秘密再構成装置において、
    この分散秘密再構成装置が保有する第1の分散情報を秘密分散法を用いて分散し、第2の分散情報として他の分散秘密再構成装置に配布する秘密分散手段と、
    上記秘密分散手段からの出力と、上記他の分散秘密再構成装置から受け取った第2の分散情報を用いて、上記もとの秘密情報を再構成するための中間計算結果を、分散計算により算出する分散秘密再構成計算手段と、
    上記分散秘密再構成計算手段からの出力と、上記他の分散秘密再構成装置の出力を受け取り、それらの出力から、上記もと秘密情報を再構成する秘密再構成手段と
    を有することを特徴とする分散秘密再構成装置。
  12. 上記分散秘密再構成計算手段からの出力と、他の分散秘密再構成装置のからの出力を受け取り、それらの出力から、もと秘密情報を再構成する秘密再構成手段をさらに有することを特徴とする請求項10に記載の分散秘密再構成装置。
  13. 上記秘密分散手段は、分散情報をすべて加算した値がもとの秘密情報となるような秘密分散法を用いることを特徴とする請求項10から12までのいずれかに記載の分散秘密再構成装置。
  14. 上記分散秘密再構成計算手段は、上記秘密分散手段からの出力と、他の分散再構成装置から受け取った第2の分散情報をすべて加算する加算手段を含むことを特徴とする請求項10から13までのいずれかに記載の分散秘密再構成装置。
  15. 上記秘密分散手段は、メンバIDを用いたしきい値秘密分散法を用いることを特徴とする請求項10、11、12、14のいずれかに記載の分散秘密再構成装置。
  16. 上記分散秘密再構成計算手段は、上記秘密分散手段からの出力と、秘密通信路を通して他の分散秘密再構成装置から受け取った第2の分散情報を、メンバIDから計算される係数を用いて線形結合計算をする線形結合計算手段を含むことを特徴とする請求項10、11、12、13、15のいずれかに記載の分散秘密再構成装置。
  17. 上記秘密分散手段は、この分散秘密再構成装置に配布された仮メンバIDを用いたしきい値秘密分散法を用いることを特徴とする請求項10、11、12、14、16のいずれかに記載の分散秘密再構成装置。
  18. 上記秘密分散手段は、この分散秘密再構成装置が保有するメンバIDを秘密分散法を用いて分散し、第3の分散情報として他の分散秘密再構成装置に配布し、
    上記分散秘密再構成計算手段は、上記秘密分散手段から出力される第2及び第3の分散情報と、他の分散秘密再構成装置から受け取った第2及び第3の分散情報を用いて、秘密再構成の中間計算結果を、分散計算により算出する
    ことを特徴とする請求項10、11、12、13、17のいずれかに記載の分散秘密再構成装置。
  19. 上記分散秘密再構成計算手段は、
    上記秘密分散手段から出力される第2及び第3の分散情報と、他の分散秘密再構成装置から受け取った第2及び第3の分散情報を用いて、第2の分散情報に対する、第3の分散情報から計算される係数を分散計算した結果と、その各第2の分散情報との分散乗算を行う項計算手段と、
    上記項計算手段の出力を、すべて足し合わせる加算手段と
    を含むことを特徴とする請求項10、11、12、13、17,18のいずれかに記載の分散秘密再構成装置。
  20. 上記項計算手段は、
    異なる第3の分散情報同士の差分をとる差分計算手段と、
    上記差分計算手段の出力を分散乗算する第1の多項分散乗算手段と、
    上記第1の多項分散乗算手段の出力の逆元を分散計算する分散逆元計算手段と、
    第3の分散情報を分散乗算する第2の多項分散乗算手段と、
    上記分散逆元計算手段の出力と、第2の多項分散乗算手段の出力と、対応する第2の分散情報とを分散乗算する第3の多項分散乗算手段と、
    を含むことを特徴とする請求項10、11、12、13、17、18、19のいずれかに記載の分散秘密再構成装置。
  21. 上記第1、第2、及び第3の多項分散乗算手段はそれぞれ、分散乗算する値の個数よりも1小さい個数の、2つの値を分散乗算する二項分散乗算手段を含むことを特徴とする請求項10、11、12、13、17、18、19、20のいずれかに記載の分散秘密再構成装置。
  22. 上記二項分散乗算手段はそれぞれ、
    入力される2つの入力を掛け合わせる乗算手段と、
    上記乗算手段の出力を、仮メンバIDを用いたしきい値秘密分散法で分散し、第4の分散情報として他の分散秘密再構成装置に対して秘密通信路を通して配布する第2の秘密分散手段と、
    上記第2の秘密分散手段からの出力と、他の分散秘密再構成装置から秘密通信路を通して受け取った第4の分散情報を、仮メンバIDから計算される係数を用いて線形結合計算をする線形結合計算手段と、
    を含むことを特徴とする請求項10、11、12、17、18、19、20、21のいずれかに記載の分散秘密再構成装置。
  23. 上記二項分散乗算手段はそれぞれ、
    入力される2つの入力を掛け合わせ、さらに仮メンバIDから計算される係数を掛け合わせる第1の乗算手段と、
    入力される第1の入力と、他の分散秘密再構成装置の対応するに項分散乗算手段への第2の入力との乗算結果を、秘密通信路を通して紛失通信を行うことにより計算する第1の通信計算手段と、
    入力される第2の入力と、他の分散秘密再構成装置の対応するに項分散乗算手段への第1の入力との乗算結果を、秘密通信路を通して紛失通信を行うことにより計算する第2の通信計算手段と、
    第1の通信計算手段の出力と第2の計算手段の出力を足し合わせる加算手段と、
    上記加算手段の出力に、仮メンバIDから計算される係数を掛け合わせる第2の乗算手段と、
    上記第1の乗算手段の結果と上記第2の乗算手段の結果とをすべて足し合わせる第2の加算手段と、
    を含むことを特徴とする請求項10、11、12、17、18、19、20、21のいずれかに記載の分散秘密再構成装置。
  24. 上記二項分散乗算手段はそれぞれ、
    入力される2つの入力を掛け合わせる第1の乗算手段と、
    入力される第1の入力と、他の分散秘密再構成装置の対応する二項分散乗算手段への第2の入力との乗算結果を、秘密通信路を通して紛失通信を行うことにより計算する第1の通信計算手段と、
    入力される第2の入力と、他の分散秘密再構成装置の対応する二項分散乗算手段への第1の入力との乗算結果を、秘密通信路を通して紛失通信を行うことにより計算する第2の通信計算手段と、
    第1の通信計算手段の出力と第2の計算手段の出力を足し合わせる加算手段と、
    上記第1の乗算手段の結果と上記加算手段の結果とをすべて足し合わせる第2の加算手段と、
    を含むことを特徴とする請求項10、11、12、13、18、19、20、21のいずれかに記載の分散秘密再構成装置。
  25. 上記分散逆元計算手段は、
    演算に用いる有限体の大きさから計算される第1の個数の、上記請求項22、23又は24のいずれかに記載の二項分散乗算手段と同じ構成を持つ二項分散乗算手段と、
    分散乗算する値の個数が、演算に用いる有限体の大きさから計算される第2の個数である上記請求項21に記載の第1、第2、及び第3の多項分散乗算手段と同じ構成を持つ多項分散乗算手段と
    を含むことを特徴とする請求項10、11、12、13、17、18、19、20、21、22、23、24のいずれかに記載の分散秘密再構成装置。
  26. 上記分散逆元計算手段は、
    乱数を生成する乱数生成手段と、
    入力される値とその乱数生成手段の出力とを入力とする、上記請求項22又は請求項23のいずれかに記載の二項分散乗算手段と同じ構成を持つ第2の二項分散乗算手段と、
    上記第2の二項分散乗算手段からの出力と、秘密通信路を通して受け取ったほかの分散秘密再構成装置の対応する第2の二項分散乗算手段の出力を、仮メンバIDから計算される係数を用いて線形結合計算をする線形結合計算手段と、
    上記線形結合計算手段の出力の有限体上の演算における逆元を計算する逆元計算手段と、
    上記逆元計算手段の結果を分散し、第5の分散情報として他の分散秘密再構成装置に対して秘密通信路を通して配布する秘密分散手段と、
    上記秘密分散手段における第5の分散情報と、その乱数生成手段からの出力と入力とする、上記請求項22又は請求項23のいずれかに記載の二項分散乗算手段と同じ構成を持つ第3の二項分散乗算手段と、
    を含むことを特徴とする請求項10、11、12、17、18、19、20、21、22、23のいずれかに記載の分散秘密再構成装置。
  27. 上記分散逆元計算手段は、
    乱数を生成する乱数生成手段と、
    入力される値とその乱数生成手段の出力とを入力とする、上記請求項24に記載の二項分散乗算手段と同じ構成を持つ第2の二項分散乗算手段と、
    上記第2の二項分散乗算手段からの出力と、秘密通信路を通して受け取ったほかの分散秘密再構成装置の対応する第2の二項分散乗算手段の出力をすべて足し合わせる加算手段と、
    上記線形結合計算手段の出力の有限体上の演算における逆元を計算する逆元計算手段と、
    上記逆元計算手段の結果を分散し、第5の分散情報として他の分散秘密再構成装置に対して秘密通信路を通して配布する秘密分散手段と、
    上記秘密分散手段における第5の分散情報と、その乱数生成手段からの出力とを入力とする、上記請求項24に記載の二項分散乗算手段と同じ構成を持つ第3の二項分散乗算手段と、
    を含むことを特徴とする請求項10、11、12、13、18、19、20、21、24のいずれかに記載の分散秘密再構成装置。
  28. 上記分散逆元計算手段は、
    乱数を生成する乱数生成手段と、
    入力される値とその乱数生成手段の出力とを入力とする、上記請求項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のいずれかに記載の分散秘密再構成装置。
  29. もとの秘密情報から、複数のメンバのそれぞれに配布される分散情報を生成する秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する秘密再構成システムにおいて、
    上記請求項10、11、12のいずれかに記載の分散秘密再構成装置と同じ構成を持つ複数台の分散秘密再構成装置と、
    上記分散秘密再構成装置の出力から、上記もとの秘密情報を再構成する秘密再構成装置と
    を有することを特徴とする秘密再構成システム。
  30. もとの秘密情報から、複数のメンバのそれぞれに配布される分散情報を生成する秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する秘密再構成システムにおいて、
    上記請求項10から28までのいずれかに記載の分散秘密再構成装置と同じ構成を持つ複数台の分散秘密再構成装置を有し、
    上記複数台の分散秘密再構成装置の内の少なくとも1台以上は、上記分散秘密再構成手段からの出力と、他の分散秘密再構成装置の出力を受け取り、それらの出力から、上記もとの秘密情報を再構成する秘密再構成手段を有する
    ことを特徴とする秘密再構成システム。
  31. もとの秘密情報から、複数のメンバのそれぞれに配布される分散情報を生成する秘密分散法を用いて、もとの秘密情報から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のいずれかに記載の分散秘密再構成装置と同じ構成を持つ複数台の分散秘密再構成装置と、
    分散情報をすべて加算した値がもとの秘密情報となるような秘密分散法の再構成を用いて、上記複数台の分散情報再構成装置の出力から、上記もとの秘密情報を再構成する秘密再構成装置と
    を有することを特徴とする秘密再構成システム。
  32. もとの秘密情報から、複数のメンバのそれぞれに配布される分散情報を生成する秘密分散法を用いて、もとの秘密情報からn個の第1の分散情報を生成し、上記n個の第1の分散情報をn人(2≦n)のメンバのそれぞれに配布している場合に、上記n人のメンバのうちt(2≦t≦n)人のメンバが集まって、上記もとの秘密情報を再構成する秘密再構成システムにおいて、
    上記請求項10、11、12、14、15、16のいずれかに記載の分散秘密再構成装置と同じ構成を持つ複数台の分散秘密再構成装置と、
    メンバIDを用いたしきい値秘密分散法の再構成方法を用いて、上記複数台の分散秘密再構成装置の出力から、上記もとの秘密情報を再構成する秘密再構成装置と、
    を有することを特徴とする秘密再構成システム。
  33. もとの秘密情報から、複数のメンバのそれぞれに配布される分散情報を生成する秘密分散法を用いて、もとの秘密情報から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を用いたしきい値秘密分散法の再構成を用いて、上記複数台の分散秘密再構成装置の出力から、上記もとの秘密情報を再構成する秘密再構成装置と、
    を有することを特徴とする秘密再構成システム。
  34. 上記第1の分散情報は、分散情報をすべて加算した値がもとの情報となるような秘密分散法を用いることを特徴とする請求項29、30、31、32、33のいずれかに記載の秘密再構成システム。
  35. 上記第1の分散情報はメンバIDを用いたしきい値秘密分散法を用いることを特徴とする請求項29、30、31、32、33のいずれかに記載の秘密再構成システム。
JP2003067834A 2003-03-13 2003-03-13 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム Expired - Fee Related JP4292835B2 (ja)

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 JP2004279526A (ja) 2004-10-07
JP4292835B2 true 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)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005328123A (ja) * 2004-05-12 2005-11-24 Oki Electric Ind Co Ltd 公開鍵の正当性判断方法及び通信端末装置
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
JP2009103774A (ja) * 2007-10-22 2009-05-14 Panasonic Corp 秘密分散システム
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
JP5687601B2 (ja) * 2011-11-07 2015-03-18 日本電信電話株式会社 画像評価方法
JP5458116B2 (ja) * 2012-01-06 2014-04-02 日本電信電話株式会社 データ分散装置、分散データ変換装置、データ復元装置
US9065637B2 (en) * 2012-01-25 2015-06-23 CertiVox Ltd. System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
CN104429019B (zh) * 2012-07-05 2017-06-20 日本电信电话株式会社 秘密分散***、数据分散装置、分散数据变换装置以及秘密分散方法
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
JP5944841B2 (ja) * 2013-01-18 2016-07-05 日本電信電話株式会社 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム
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
JP5937556B2 (ja) * 2013-09-30 2016-06-22 日本電信電話株式会社 秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム
JP5895080B2 (ja) * 2013-10-23 2016-03-30 株式会社インテック データ秘匿型統計処理システム、統計処理結果提供サーバ装置及びデータ入力装置、並びに、これらのためのプログラム及び方法
JP2015108807A (ja) * 2013-10-23 2015-06-11 株式会社インテック データ秘匿型統計処理システム、統計処理結果提供サーバ装置及びデータ入力装置、並びに、これらのためのプログラム及び方法
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JP2004279526A (ja) 2004-10-07
CN1531241A (zh) 2004-09-22
US20040179686A1 (en) 2004-09-16
US7421080B2 (en) 2008-09-02

Similar Documents

Publication Publication Date Title
JP4292835B2 (ja) 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
KR102627049B1 (ko) 임계치 볼트를 생성하는 컴퓨터로 구현되는 방법
JP7301039B2 (ja) 閾値デジタル署名方法及びシステム
US10033708B2 (en) Secure computation using a server module
JP4547158B2 (ja) バイリニアマッピングを使用する署名スキーム
US8180047B2 (en) Trapdoor pairings
JP2021519541A (ja) デジタル資産へのアクセスを移すためのコンピュータ実施方法及びシステム
CN111819815B (zh) 用于转移对数字资产的控制的计算机实现的方法和***
Unal et al. A secure and efficient Internet of Things cloud encryption scheme with forensics investigation compatibility based on identity-based encryption
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
CN111600875A (zh) 基于数据源和数据主隐藏的匿名数据共享方法及***
Mejri et al. A new group Diffie-Hellman key generation proposal for secure VANET communications
WO2021254702A1 (en) Generating secret shares
CN110635912B (zh) 数据处理方法及装置
CN114785480A (zh) 多方安全计算的方法、装置及***
Wei et al. EFADS: Efficient, flexible and anonymous data sharing protocol for cloud computing with proxy re-encryption
CN118160275A (zh) 阈值签名方案
WO2023094453A1 (en) Secure multi-party computations
JP4305049B2 (ja) 秘密分散方法、秘密分散システム、及び分散演算装置
JP4300838B2 (ja) 分散計算装置及び分散計算システム
CN116319058A (zh) 一种基于区块链的属性和策略隐藏的访问控制方法
JP2006227411A (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
CN113114470A (zh) 群组的签名方法和装置、电子设备和存储介质
JP2004274320A (ja) 秘密分散装置、秘密再構成装置、秘密分散再構成システム、秘密分散方法、及び秘密再構成方法
Dolev et al. Magnifying computing gaps: Establishing encrypted communication over unidirectional channels

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