JP3328597B2 - 分散乗算装置及びそのプログラム記録媒体 - Google Patents
分散乗算装置及びそのプログラム記録媒体Info
- Publication number
- JP3328597B2 JP3328597B2 JP01541099A JP1541099A JP3328597B2 JP 3328597 B2 JP3328597 B2 JP 3328597B2 JP 01541099 A JP01541099 A JP 01541099A JP 1541099 A JP1541099 A JP 1541099A JP 3328597 B2 JP3328597 B2 JP 3328597B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- secret
- value
- polynomial
- verifiable
- 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 - Lifetime
Links
Landscapes
- Complex Calculations (AREA)
Description
【0001】
【発明の属する技術分野】この発明は、電気通信システ
ムで通信を行う複数のプロセッサが協調して計算を行う
協調計算装置、特に、複数の秘密の入力値をどの他のプ
ロセッサにも知られることなく、それらの積を出力する
協調分散乗算装置に関する。
ムで通信を行う複数のプロセッサが協調して計算を行う
協調計算装置、特に、複数の秘密の入力値をどの他のプ
ロセッサにも知られることなく、それらの積を出力する
協調分散乗算装置に関する。
【0002】
【従来の技術】複数のプロセッサが、分散された秘密の
入力値を持ち、その値を互いに明かすことなく、ある関
数を計算する方法をマルチパーフィープロトコルとい
い、文献岡本龍明、山本博資:現代暗号(産業図書,1
997)、p227に詳しい。計算すべき関数が加算の
場合は比較的実現が容易である。すなわち、秘密Aがt
次の多項式A(X)=A+a1X+…+atXt により
秘密分散され、各プロセッサPiが分散秘密値A(w
i)を持ち、同様に、秘密Bがt次の多項式B(X)=
B+b1X+…+btXt により秘密分散され、各プロ
セッサPiが分散秘密値B(wi)を持つものとする
と、C(X):=A(X)+B(X)=(A+B)+
(a1+b1)X+…+(at+bt)Xt が成り立つ
ので、各プロセッサPiは単にA(wi)とB(wi)
の和を計算するだけで、C(wi)に等しい値を得るこ
とができ、従って、A+Bのt次の多項式による分散秘
密値を得ることができる。
入力値を持ち、その値を互いに明かすことなく、ある関
数を計算する方法をマルチパーフィープロトコルとい
い、文献岡本龍明、山本博資:現代暗号(産業図書,1
997)、p227に詳しい。計算すべき関数が加算の
場合は比較的実現が容易である。すなわち、秘密Aがt
次の多項式A(X)=A+a1X+…+atXt により
秘密分散され、各プロセッサPiが分散秘密値A(w
i)を持ち、同様に、秘密Bがt次の多項式B(X)=
B+b1X+…+btXt により秘密分散され、各プロ
セッサPiが分散秘密値B(wi)を持つものとする
と、C(X):=A(X)+B(X)=(A+B)+
(a1+b1)X+…+(at+bt)Xt が成り立つ
ので、各プロセッサPiは単にA(wi)とB(wi)
の和を計算するだけで、C(wi)に等しい値を得るこ
とができ、従って、A+Bのt次の多項式による分散秘
密値を得ることができる。
【0003】一方、乗算の場合、各プロセッサが保持す
る分散秘密値の積A(wi)・B(wi)は、2t次の
多項式A(X)・B(X)によるA・Bの分散秘密値と
なり、秘密を復元するには、2t+1個の正しい分散秘
密値が必要となる。従って、分散乗算を行う都度、復元
に必要な分散秘密値の数はt個ずつ増加してしまい、プ
ロセッサの数nを越えると、秘密の復元が不可能とな
る。
る分散秘密値の積A(wi)・B(wi)は、2t次の
多項式A(X)・B(X)によるA・Bの分散秘密値と
なり、秘密を復元するには、2t+1個の正しい分散秘
密値が必要となる。従って、分散乗算を行う都度、復元
に必要な分散秘密値の数はt個ずつ増加してしまい、プ
ロセッサの数nを越えると、秘密の復元が不可能とな
る。
【0004】この問題を解決する方法として、文献 Ben
-Or, Goldwasser, Wigderson: “Completeness Theorem
s for non-cryptographic fault-tolerant distributed
computation”, STOC'88, pp.1-10, 1988による Degre
e Reduction と呼ばれる方法がある。この方法では2t
次の多項式A(X)・B(X)の分散秘密値の積のベク
トルI=(A(w1)・B(w1),A(w2)・B
(w2),…,A(wn)・B(wn))の線形結合に
よって、0次からt次までの係数がA(X)・B(X)
の係数と等しいt次の多項式C(X)による秘密分散値
のベクトルW=(C(w1),C(w2),…,C(w
n))を表現することができる。即ち、n×nの定数ベ
クトルHが存在し、W=H・Iとなるという事実を利用
して、全プロセッサが協力して、入力値に関する正当性
を保証しつつ、H・Iなる演算を実行するという方法が
用いられていた。
-Or, Goldwasser, Wigderson: “Completeness Theorem
s for non-cryptographic fault-tolerant distributed
computation”, STOC'88, pp.1-10, 1988による Degre
e Reduction と呼ばれる方法がある。この方法では2t
次の多項式A(X)・B(X)の分散秘密値の積のベク
トルI=(A(w1)・B(w1),A(w2)・B
(w2),…,A(wn)・B(wn))の線形結合に
よって、0次からt次までの係数がA(X)・B(X)
の係数と等しいt次の多項式C(X)による秘密分散値
のベクトルW=(C(w1),C(w2),…,C(w
n))を表現することができる。即ち、n×nの定数ベ
クトルHが存在し、W=H・Iとなるという事実を利用
して、全プロセッサが協力して、入力値に関する正当性
を保証しつつ、H・Iなる演算を実行するという方法が
用いられていた。
【0005】
【発明が解決しようとする課題】しかしながら、この方
法においては、各プロセッサが正しく動作していること
を保証しながら計算を進めるために、各プロセッサがそ
の分散秘密値をさらに分散し、その分散された分散秘密
値を用いて、BCH符号のチェックベクトルを計算する
という複雑な手順が必要であった。
法においては、各プロセッサが正しく動作していること
を保証しながら計算を進めるために、各プロセッサがそ
の分散秘密値をさらに分散し、その分散された分散秘密
値を用いて、BCH符号のチェックベクトルを計算する
という複雑な手順が必要であった。
【0006】
【課題を解決するための手段】この発明では、2t次の
多項式A(X)・B(X)と、t次の多項式C(X)を
それぞれ用いた二つの検証可能秘密分散が行われたと
き、A(X)・B(X)とC(X)の定数項が等しいこ
とを容易に確認できる手段を提供できるような検証可能
秘密分散方法を用いることによって、各プロセッサから
の入力値が正しいか否かを容易に検証可能とし、通信
量、計算量の少ない分散乗算装置を構成する。
多項式A(X)・B(X)と、t次の多項式C(X)を
それぞれ用いた二つの検証可能秘密分散が行われたと
き、A(X)・B(X)とC(X)の定数項が等しいこ
とを容易に確認できる手段を提供できるような検証可能
秘密分散方法を用いることによって、各プロセッサから
の入力値が正しいか否かを容易に検証可能とし、通信
量、計算量の少ない分散乗算装置を構成する。
【0007】プロセッサPiは分散秘密値A(wi)お
よびB(wi)を、それぞれA(wi)、B(wi)を
定数項とするt次の多項式Ai(X)、Bi(X)を用
いる検証可能秘密分散方法によって各プロセッサPjが
Ai(wj)およびBi(wj)を持つように分散す
る。つぎに、Piは2t次の多項式ABi(X)=Ai
(X)・Bi(X)を用いる検証可能秘密分散方法によ
ってAi(wi)・B(wi)を分散する。
よびB(wi)を、それぞれA(wi)、B(wi)を
定数項とするt次の多項式Ai(X)、Bi(X)を用
いる検証可能秘密分散方法によって各プロセッサPjが
Ai(wj)およびBi(wj)を持つように分散す
る。つぎに、Piは2t次の多項式ABi(X)=Ai
(X)・Bi(X)を用いる検証可能秘密分散方法によ
ってAi(wi)・B(wi)を分散する。
【0008】各プロセッサPjはすでに保持しているA
i(wj)とBi(wj)の積がABi(X)上の点A
Bi(wj)に等しいことを検証する。即ち、ABi
(wj)=Ai(wj)・Bi(wj)であることを検
証する。成り立たない場合は、他の全員のプロセッサへ
不合格であることを通知する。ここで、不合格の通知が
t個以下の場合、2t次の多項式ABi(X)は少なく
とも2t+1個の点wjにおいて曲線Ai(X)・Bi
(X)と一致していることになり、そのような2t次の
曲線ABi(X)は結局全ての点において曲線Ai
(X)・Bi(X)と一致するので、ABi(X)を用
いて分散された秘密、すなわちABi(X)の定数項は
Ai(X)・Bi(X)の定数項すなわちA(wi)・
B(wi)に等しい。
i(wj)とBi(wj)の積がABi(X)上の点A
Bi(wj)に等しいことを検証する。即ち、ABi
(wj)=Ai(wj)・Bi(wj)であることを検
証する。成り立たない場合は、他の全員のプロセッサへ
不合格であることを通知する。ここで、不合格の通知が
t個以下の場合、2t次の多項式ABi(X)は少なく
とも2t+1個の点wjにおいて曲線Ai(X)・Bi
(X)と一致していることになり、そのような2t次の
曲線ABi(X)は結局全ての点において曲線Ai
(X)・Bi(X)と一致するので、ABi(X)を用
いて分散された秘密、すなわちABi(X)の定数項は
Ai(X)・Bi(X)の定数項すなわちA(wi)・
B(wi)に等しい。
【0009】つづいて、Piは定数項をA(wi)・B
(wi)とするt次のランダム多項式Ci(X)を用い
る検証可能秘密分散方法によって各プロセッサPjがC
i(wj)を持つように分散する。ここで用いる秘密分
散方法は、2t次の多項式ABi(X)と、t次の多項
式Ci(X)の定数項が等しいことを容易に検証する手
段を提供するので、各プロセッサはこれを確認する。
(wi)とするt次のランダム多項式Ci(X)を用い
る検証可能秘密分散方法によって各プロセッサPjがC
i(wj)を持つように分散する。ここで用いる秘密分
散方法は、2t次の多項式ABi(X)と、t次の多項
式Ci(X)の定数項が等しいことを容易に検証する手
段を提供するので、各プロセッサはこれを確認する。
【0010】このような手段を提供する検証可能秘密分
散方法には、例えば、Pedersenによる方法や、
Feldmannによる方法がある。Pedersen
の方法によれば、検証可能秘密分散に用いる多項式の各
係数はビットコミットメント関数により、それぞれコミ
ットされた後、公開される。同様に、Feldmann
の方法によれば、多項式の各係数はそれぞれ暗号化され
た後、公開される。従って、各プロセッサは定数項に対
する公開されたコミット値あるいは暗号化された値が、
A(wi)・B(wi)とCi(wj)で等しいことを
確認することにより、この検証が可能である。
散方法には、例えば、Pedersenによる方法や、
Feldmannによる方法がある。Pedersen
の方法によれば、検証可能秘密分散に用いる多項式の各
係数はビットコミットメント関数により、それぞれコミ
ットされた後、公開される。同様に、Feldmann
の方法によれば、多項式の各係数はそれぞれ暗号化され
た後、公開される。従って、各プロセッサは定数項に対
する公開されたコミット値あるいは暗号化された値が、
A(wi)・B(wi)とCi(wj)で等しいことを
確認することにより、この検証が可能である。
【0011】上述の各分散処理は並列に行ってもよく、
各検証も並列につまり同時的にまとめて行ってもよい。
上記いずれかの検証に不合格となった場合は不合格であ
ることを公開する。上記手順を全てのプロセッサPiに
ついて実行し、各プロセッサは、少なくとも2t+1個
のプロセッサが合格と判断したiについて、Ci(w
j)を正しい値と見なす。この合格と判断されたプロセ
ッサのインデックスiの集合をαとすると、2t+1個
以上が正しければ、|α|≧2t+1となる。
各検証も並列につまり同時的にまとめて行ってもよい。
上記いずれかの検証に不合格となった場合は不合格であ
ることを公開する。上記手順を全てのプロセッサPiに
ついて実行し、各プロセッサは、少なくとも2t+1個
のプロセッサが合格と判断したiについて、Ci(w
j)を正しい値と見なす。この合格と判断されたプロセ
ッサのインデックスiの集合をαとすると、2t+1個
以上が正しければ、|α|≧2t+1となる。
【0012】最後に、各プロセッサPjは正しいCi
(wj)を多項式補間により補間する。すなわち、La
grange補間係数を
(wj)を多項式補間により補間する。すなわち、La
grange補間係数を
【0013】
【数1】 を計算し、その結果をPjが保持するA・Bの分散秘密
値とする。その値をCjとすると、正しいCjを持つプ
ロセッサのインデックスの集合βから、|β|>=t+
1のとき、
値とする。その値をCjとすると、正しいCjを持つプ
ロセッサのインデックスの集合βから、|β|>=t+
1のとき、
【0014】
【数2】 となり、乗算結果A・Bを回復することができる。ある
いは、乗ずべき秘密値AおよびBの分散秘密値にゼロが
含まれていない場合は、以下の手段によって、より効率
的に解決できる。すなわち、秘密分散に用いる多項式の
係数をビットコミットして公開するような検証可能秘密
分散方法を利用する場合に、ビットコミットの同形性を
利用することによって、使用された多項式の定数項が、
二つの秘密の積であることを容易に確認することを可能
とする。
いは、乗ずべき秘密値AおよびBの分散秘密値にゼロが
含まれていない場合は、以下の手段によって、より効率
的に解決できる。すなわち、秘密分散に用いる多項式の
係数をビットコミットして公開するような検証可能秘密
分散方法を利用する場合に、ビットコミットの同形性を
利用することによって、使用された多項式の定数項が、
二つの秘密の積であることを容易に確認することを可能
とする。
【0015】パラメータgおよび秘密値xを入力とする
関数BC(g,x)を、BC(BC(g,x),y)=
BC(g,x・y)なる性質を有するビットコミットメ
ント関数とする。秘密値sを定数項とする多項式S
(X)およびパラメータgを用いる検証可能秘密分散方
法は、BC(g,s)を公開するものとし、各プロセッ
サは受信した分散秘密値が公開されたBC(g,s)と
整合することを確認する検証手段を持つものとする。
関数BC(g,x)を、BC(BC(g,x),y)=
BC(g,x・y)なる性質を有するビットコミットメ
ント関数とする。秘密値sを定数項とする多項式S
(X)およびパラメータgを用いる検証可能秘密分散方
法は、BC(g,s)を公開するものとし、各プロセッ
サは受信した分散秘密値が公開されたBC(g,s)と
整合することを確認する検証手段を持つものとする。
【0016】プロセッサPiは分散秘密値A(wi)
を、A(wi)を定数項とするt次の多項式Ai(X)
およびパラメータgを用いる検証可能秘密分散方法によ
って、各プロセッサPjがAi(wj)を持つように分
散する。この際、PiはAi0:=BC(g,A(w
i))を公開し、各プロセッサPjは、BC(g,A
(wi))が受信したAi(wj)と整合することを検
証する。
を、A(wi)を定数項とするt次の多項式Ai(X)
およびパラメータgを用いる検証可能秘密分散方法によ
って、各プロセッサPjがAi(wj)を持つように分
散する。この際、PiはAi0:=BC(g,A(w
i))を公開し、各プロセッサPjは、BC(g,A
(wi))が受信したAi(wj)と整合することを検
証する。
【0017】同様に、プロセッサPiは分散秘密値B
(wi)を、B(wi)を定数項とするt次の多項式B
i(X)およびパラメータgを用いる検証可能秘密分散
方法によって分散する。この際、PiはBi0=BC
(g,B(wi))を公開し、各プロセッサPjは分散
秘密値Bi(wj)および公開値Bi0:=BC(g,
B(wi))を受信し、Bi0がBi(wj)と整合す
ることを検証する。
(wi)を、B(wi)を定数項とするt次の多項式B
i(X)およびパラメータgを用いる検証可能秘密分散
方法によって分散する。この際、PiはBi0=BC
(g,B(wi))を公開し、各プロセッサPjは分散
秘密値Bi(wj)および公開値Bi0:=BC(g,
B(wi))を受信し、Bi0がBi(wj)と整合す
ることを検証する。
【0018】さらに、Piはパラメータgの代わりにB
C(g,A(wi))をパラメータとして用い、また、
前記多項式Bi(X)を用いて分散秘密値B(wi)を
分散する。利用している多項式が同一であるため、Pj
の分散秘密値は直前の秘密分散と同じBi(wj)とな
るので、これを送付する必要はない。一方、ABi0:
=BC(BC(g,A(wi)),B(wi))が公開
され、各プロセッサPjはABi0がBi(wj)とパ
ラメータBC(g,A(wi))に関して整合すること
を検証する。
C(g,A(wi))をパラメータとして用い、また、
前記多項式Bi(X)を用いて分散秘密値B(wi)を
分散する。利用している多項式が同一であるため、Pj
の分散秘密値は直前の秘密分散と同じBi(wj)とな
るので、これを送付する必要はない。一方、ABi0:
=BC(BC(g,A(wi)),B(wi))が公開
され、各プロセッサPjはABi0がBi(wj)とパ
ラメータBC(g,A(wi))に関して整合すること
を検証する。
【0019】つづいて、Piは定数項をA(wi)・B
(wi)とするt次のランダム多項式Ci(X)および
パラメータgを用いる検証可能秘密分散方法によって各
プロセッサPjがCi(wj)を持つように分散する。
この際、Ci0:=BC(g,A(wi)・B(w
i))が公開され、各プロセッサPjはCi0が受信し
たCi(wj)と整合することを検証する。
(wi)とするt次のランダム多項式Ci(X)および
パラメータgを用いる検証可能秘密分散方法によって各
プロセッサPjがCi(wj)を持つように分散する。
この際、Ci0:=BC(g,A(wi)・B(w
i))が公開され、各プロセッサPjはCi0が受信し
たCi(wj)と整合することを検証する。
【0020】ここで、Piが正しくA(wi)・B(w
i)を分散したならば、公開値Ci0は、Ci0=BC
(g,A(wi)・B(wi))=BC(BC(g,A
(wi),B(wi))=ABi0となり、直前の公開
値と同一になる。そのため、各プロセッサは、Ci0が
Bi0と等しいことを検証することで、分散された値の
正当性を検証することができる。
i)を分散したならば、公開値Ci0は、Ci0=BC
(g,A(wi)・B(wi))=BC(BC(g,A
(wi),B(wi))=ABi0となり、直前の公開
値と同一になる。そのため、各プロセッサは、Ci0が
Bi0と等しいことを検証することで、分散された値の
正当性を検証することができる。
【0021】この場合も、上記各分散は並列的(同時
的)に行い、各検証をまとめて行ってもよい。上記全て
の検証に関して各プロセッサは合格または不合格の通知
を公開し、いずれかの検証に不合格となった場合は不合
格であることを公開する。上記手順を全てのプロセッサ
Piについて実行し、各プロセッサは、少なくともt+
1個のプロセッサが不合格と判断したiについて、Ci
(wj)を不合格とする。合格と判断されたインデック
スiの集合をαとすると、t+1個以上が正しければ、
|α|≧t+1となる。
的)に行い、各検証をまとめて行ってもよい。上記全て
の検証に関して各プロセッサは合格または不合格の通知
を公開し、いずれかの検証に不合格となった場合は不合
格であることを公開する。上記手順を全てのプロセッサ
Piについて実行し、各プロセッサは、少なくともt+
1個のプロセッサが不合格と判断したiについて、Ci
(wj)を不合格とする。合格と判断されたインデック
スiの集合をαとすると、t+1個以上が正しければ、
|α|≧t+1となる。
【0022】最後に、各プロセッサPjは正しいCi
(wj)を多項式補間により補間する。すなわち、La
grange補間係数を
(wj)を多項式補間により補間する。すなわち、La
grange補間係数を
【0023】
【数3】 を計算し、その結果をPjが保持するA・Bの分散秘密
値とする。その値をCjとすると、正しいCjを持つプ
ロセッサのインデックスの集合βから、|β|≧t+1
のとき、
値とする。その値をCjとすると、正しいCjを持つプ
ロセッサのインデックスの集合βから、|β|≧t+1
のとき、
【0024】
【数4】 となり、乗算結果A・Bを回復することができる。この
発明によれば、各プロセッサPiが分散した秘密の等価
性は、検証可能秘密分散方法が出力する値を比較するだ
けで検証可能であり、通信量、計算量の少ない分散乗算
装置が実現できる。
発明によれば、各プロセッサPiが分散した秘密の等価
性は、検証可能秘密分散方法が出力する値を比較するだ
けで検証可能であり、通信量、計算量の少ない分散乗算
装置が実現できる。
【0025】
【発明の実施の形態】実施例1 以下に、この発明の実施例1について説明する。まず、
n個の利用者(プロセッサ)をP1〜Pnとし、図1に
示すように各々の利用者装置111 〜11n 間を安全な
通信路12で接続し、また、全復号者装置12i (i=
1,2,…,n)が同一の内容を受信することが保証さ
れる放送型通信路13を各利用者が利用できるようにす
る。
n個の利用者(プロセッサ)をP1〜Pnとし、図1に
示すように各々の利用者装置111 〜11n 間を安全な
通信路12で接続し、また、全復号者装置12i (i=
1,2,…,n)が同一の内容を受信することが保証さ
れる放送型通信路13を各利用者が利用できるようにす
る。
【0026】積を計算すべき秘密値AおよびBは、予め
検証可能秘密分散方法により、分散されているものとす
る。以下では、検証可能秘密分散方法にPederse
nの方法を用いた場合を記述する。まず、大きな素数
p,qがあり、qはp−1を割り切るものとする。以下
の説明では、p,qが作る体をそれぞれFp,Fqと書
き、Fpの位数qの部分群をGqと書く。各利用者Pj
に対し、wj∈Zqなる固有の値wjが公開されている
ものとする。AおよびBはいずれもFqの元であるとす
る。
検証可能秘密分散方法により、分散されているものとす
る。以下では、検証可能秘密分散方法にPederse
nの方法を用いた場合を記述する。まず、大きな素数
p,qがあり、qはp−1を割り切るものとする。以下
の説明では、p,qが作る体をそれぞれFp,Fqと書
き、Fpの位数qの部分群をGqと書く。各利用者Pj
に対し、wj∈Zqなる固有の値wjが公開されている
ものとする。AおよびBはいずれもFqの元であるとす
る。
【0027】各プロセッサPjは二つのFq上のランダ
ム多項式A(X)=a0 +a1 X+…+at Xt および
U(X)=u0 +u1 X+…+ut Xt のwjに対する
値A(wj)、U(wj)を保持する。ただし、a0 =
Aとする。ランダムに選択されたGqの元g,hに対し
て、EAk :=gakhuk modpがk=0,…,tについ
て公開されているものとする。
ム多項式A(X)=a0 +a1 X+…+at Xt および
U(X)=u0 +u1 X+…+ut Xt のwjに対する
値A(wj)、U(wj)を保持する。ただし、a0 =
Aとする。ランダムに選択されたGqの元g,hに対し
て、EAk :=gakhuk modpがk=0,…,tについ
て公開されているものとする。
【0028】このとき、(A(wj),U(wj))の
対が秘密値Aに対するPjの分散秘密値である。各プロ
セッサPjは、
対が秘密値Aに対するPjの分散秘密値である。各プロ
セッサPjは、
【0029】
【数5】 が成り立つことを確認することによって、保持している
分散秘密値(A(wj),U(wj))の正当性を検証
することができる。以下の説明では、上記Peders
enの方法を Ped(A,u0 ) → (Aj,Uj)(EA0 ,…,EAt ) と記述する。ここで、Ped(A,u0 )の括弧中のA
およびu0 は、前述の通り、秘密分散に用いる二つのラ
ンダム多項式の定数項を意味する。(Aj,Uj)はP
jが安全な通信路を介して受信するAの分散秘密値を意
味しており、それぞれAおよびu0 を定数項とするラン
ダム多項式Aj(X)およびUj(X)のX=wjにお
ける値であり、jは1,…,nを取るものとする。ま
た、EAk は多項式のk次の係数のgakhuk modpなる
コミットメントであり、放送型通信路を介して公開され
る。
分散秘密値(A(wj),U(wj))の正当性を検証
することができる。以下の説明では、上記Peders
enの方法を Ped(A,u0 ) → (Aj,Uj)(EA0 ,…,EAt ) と記述する。ここで、Ped(A,u0 )の括弧中のA
およびu0 は、前述の通り、秘密分散に用いる二つのラ
ンダム多項式の定数項を意味する。(Aj,Uj)はP
jが安全な通信路を介して受信するAの分散秘密値を意
味しており、それぞれAおよびu0 を定数項とするラン
ダム多項式Aj(X)およびUj(X)のX=wjにお
ける値であり、jは1,…,nを取るものとする。ま
た、EAk は多項式のk次の係数のgakhuk modpなる
コミットメントであり、放送型通信路を介して公開され
る。
【0030】上記の検証可能秘密分散法により、秘密値
Bも同様に分散されているものとする。すなわち、乱数
v0 を用い、 Ped(B,v0 ) → (Bj,Vj)(EB0 ,…,EBt ) とされているものとする。上記初期状態から、プロセッ
サPjは、まずAj,Bjを、乱数ui0 およびvi0
を選び、 Ped(Aj,ui0 )→(Aji,Uji)(EAj0 ,…,EAjt ) Ped(Bj,vi0 )→(Bji,Vji)(EBj0 ,…,EBjt ) のように分散する。即ちPjは図2に示すようにt次の
ランダム多項式Aj(X)=aj0+aj1X+…+ajtX
t とUj(X)=uj0+uj1X+…+ujtXt を生成し
(S1)、コミットメント値EAjk=gajk hujk mod
pをk=0,…,tについて計算し(S2)、またラン
ダム多項式Bj(X)=bj0+bj1X+…+bjtXt と
Vj(X)=vj0+vj1X+…+vjtXt を生成し(S
3)、コミットメント値EBjk=gbjk hvjk mod pを
k=0,…,tについて計算し(S4)、全てのプロセ
ッサPiに(Aji,Uji)および(Bji,Vj
i)を安全な通信路を介して送信し(S5)、放送型通
信路を介して(EAj0 ,…,EAjt )および(EB
j0 ,…,EBjt )を送信する(S6)。
Bも同様に分散されているものとする。すなわち、乱数
v0 を用い、 Ped(B,v0 ) → (Bj,Vj)(EB0 ,…,EBt ) とされているものとする。上記初期状態から、プロセッ
サPjは、まずAj,Bjを、乱数ui0 およびvi0
を選び、 Ped(Aj,ui0 )→(Aji,Uji)(EAj0 ,…,EAjt ) Ped(Bj,vi0 )→(Bji,Vji)(EBj0 ,…,EBjt ) のように分散する。即ちPjは図2に示すようにt次の
ランダム多項式Aj(X)=aj0+aj1X+…+ajtX
t とUj(X)=uj0+uj1X+…+ujtXt を生成し
(S1)、コミットメント値EAjk=gajk hujk mod
pをk=0,…,tについて計算し(S2)、またラン
ダム多項式Bj(X)=bj0+bj1X+…+bjtXt と
Vj(X)=vj0+vj1X+…+vjtXt を生成し(S
3)、コミットメント値EBjk=gbjk hvjk mod pを
k=0,…,tについて計算し(S4)、全てのプロセ
ッサPiに(Aji,Uji)および(Bji,Vj
i)を安全な通信路を介して送信し(S5)、放送型通
信路を介して(EAj0 ,…,EAjt )および(EB
j0 ,…,EBjt )を送信する(S6)。
【0031】ここで、Ped(Aj,ui0 )なる秘密
分散で用いたAjを定数項とする多項式をAj(X)=
aj0+aj1X+…+ajtXt とする。同様に、Ped
(Bj,vi0 )なる秘密分散で用いたBjを定数項と
する多項式をBj(X)=bj0+bj1X+…+bjtXt
とする。ここで、aj0=Aj,bj0=Bjである。プロ
セッサPjは、二つの多項式の積Aj(X)・Bj
(X)を計算し、これをABj(X)=ej0+ej1X+
…+ej2t X2tとする(S7)。また、2t次のランダ
ム多項式Dj(X)=dj0+dj1X+…+dj2t X2tを
生成する(図3、S8)。ABj(X)およびDj
(X)のk次の項の係数をそれぞれejk、djkとして、
PjはEABjk:=gejk hdjk mod pをk=0,
…,2tについて計算し(S9)、(EABj0,…,E
ABj2t )を放送型通信路を通じて公開する(S1
0)。また、Dji:=Dj(wi)を安全な通信路を
通じてPiへ送付する(S11)。
分散で用いたAjを定数項とする多項式をAj(X)=
aj0+aj1X+…+ajtXt とする。同様に、Ped
(Bj,vi0 )なる秘密分散で用いたBjを定数項と
する多項式をBj(X)=bj0+bj1X+…+bjtXt
とする。ここで、aj0=Aj,bj0=Bjである。プロ
セッサPjは、二つの多項式の積Aj(X)・Bj
(X)を計算し、これをABj(X)=ej0+ej1X+
…+ej2t X2tとする(S7)。また、2t次のランダ
ム多項式Dj(X)=dj0+dj1X+…+dj2t X2tを
生成する(図3、S8)。ABj(X)およびDj
(X)のk次の項の係数をそれぞれejk、djkとして、
PjはEABjk:=gejk hdjk mod pをk=0,
…,2tについて計算し(S9)、(EABj0,…,E
ABj2t )を放送型通信路を通じて公開する(S1
0)。また、Dji:=Dj(wi)を安全な通信路を
通じてPiへ送付する(S11)。
【0032】さらに、プロセッサPjは、 Ped(Aj・Bj,dj0 )→(Cji,Rji)(ECj0 ,…,ECjt ) を実行する。つまりt次のランダム多項式Cj(X)=
cj0+cj1X+…+cjtXt と、Rj(X)=rj0+r
j1X+…+rjtXt を生成し(S12)、コミットメン
ト値ECjk=gcjk hrjk mod pをk=0,…,tにつ
いて計算し(S13)、Cji=Cj(wi),Rji
=Rj(wi)を安全な通信路を通じてプロセッサPi
へ送信し(S14)、ECj1 ,…,ECjt を放送型
通信路を通じて公開する(S15)。
cj0+cj1X+…+cjtXt と、Rj(X)=rj0+r
j1X+…+rjtXt を生成し(S12)、コミットメン
ト値ECjk=gcjk hrjk mod pをk=0,…,tにつ
いて計算し(S13)、Cji=Cj(wi),Rji
=Rj(wi)を安全な通信路を通じてプロセッサPi
へ送信し(S14)、ECj1 ,…,ECjt を放送型
通信路を通じて公開する(S15)。
【0033】各プロセッサPiは、Aji,Uji,B
ji,Vji,Dji,Cji,Rji,EAik,E
Bik,ECik,k=0,…,t,EABik k=
0,…,2tをPjより受信し、j=1,…,n j≠
i(図4、S1)について、検証式
ji,Vji,Dji,Cji,Rji,EAik,E
Bik,ECik,k=0,…,t,EABik k=
0,…,2tをPjより受信し、j=1,…,n j≠
i(図4、S1)について、検証式
【0034】
【数6】 が成り立つことを確認し(S2)、一つでも成り立たな
い場合は、「不合格」を放送型通信路を介して他の全て
のプロセッサに通知する(S3)。不合格の通知がt個
以下の場合は(S4)、Piは受信した(Cji,Rj
i)を合格とする。不合格がt以下の場合は集合αにそ
の合格のjを追加する(S5)。
い場合は、「不合格」を放送型通信路を介して他の全て
のプロセッサに通知する(S3)。不合格の通知がt個
以下の場合は(S4)、Piは受信した(Cji,Rj
i)を合格とする。不合格がt以下の場合は集合αにそ
の合格のjを追加する(S5)。
【0035】上記手順を全てのプロセッサPj j=
1,…,nが実行する(S6,S7)。検証可能秘密分
散方法による分散処理は必ず検証処理を含むものであ
り、Aj,Ujの分散時における検証は式(1)、式
(5)で行われ、Bj,Vjの分散時における検証は式
(2)、式(6)で行われる。ABj,Djの分散時に
おける検証は式(3)で行われ、この検証はAj(w
i)とBj(wi)の積がABj(X)上の点ABj
(wi)に等しいことを検証し、Aj・BjのCi
(X)、Ri(X)を用いる分散における検証は式
(4)で行われ、Cj(X)の定数項がABj(X)の
定数項に等しいことが式(7)で検証される。
1,…,nが実行する(S6,S7)。検証可能秘密分
散方法による分散処理は必ず検証処理を含むものであ
り、Aj,Ujの分散時における検証は式(1)、式
(5)で行われ、Bj,Vjの分散時における検証は式
(2)、式(6)で行われる。ABj,Djの分散時に
おける検証は式(3)で行われ、この検証はAj(w
i)とBj(wi)の積がABj(X)上の点ABj
(wi)に等しいことを検証し、Aj・BjのCi
(X)、Ri(X)を用いる分散における検証は式
(4)で行われ、Cj(X)の定数項がABj(X)の
定数項に等しいことが式(7)で検証される。
【0036】上述した検証を全てのプロセッサPjにつ
いて行った後、各プロセッサPiは、合格したCjiの
インデックスjに関する集合をαとし、Lagrang
e補間係数
いて行った後、各プロセッサPiは、合格したCjiの
インデックスjに関する集合をαとし、Lagrang
e補間係数
【0037】
【数7】 を計算し、これをAとBの積に対する分散秘密値(C
i,Ri)として保持する(S8)。また、検証用コミ
ットメントを
i,Ri)として保持する(S8)。また、検証用コミ
ットメントを
【0038】
【数8】 のようにk=0,…,tについて計算する(S9)。乗
算結果を実際に公開する場合には、図5に示すように、
各プロセッサPiは分散秘密値(Ci,Ri)を公開し
(S1)、これを各プロセッサは受信し(S2)、各プ
ロセッサはwik=wik mod qとして
算結果を実際に公開する場合には、図5に示すように、
各プロセッサPiは分散秘密値(Ci,Ri)を公開し
(S1)、これを各プロセッサは受信し(S2)、各プ
ロセッサはwik=wik mod qとして
【0039】
【数9】 が成り立つか否かを検証し(S3)、不成立の場合はそ
のjを公開し(S4)、不正通知がt以下であれば(S
5)、検証に合格した場合は正しい分散秘密値として受
理し、集合βにjを追加する(S6)。ステップS3の
検証を全てのプロセッサPjについて行う(S7,S
8)。以上の手段で得られた正しい分散秘密値のインデ
ックスの集合をβとする。
のjを公開し(S4)、不正通知がt以下であれば(S
5)、検証に合格した場合は正しい分散秘密値として受
理し、集合βにjを追加する(S6)。ステップS3の
検証を全てのプロセッサPjについて行う(S7,S
8)。以上の手段で得られた正しい分散秘密値のインデ
ックスの集合をβとする。
【0040】|β|≧t+1のとき、
【0041】
【数10】 となり、各プロセッサは乗算結果A・Bを回復すること
ができる(S9)。前記検証式中の式(1),(2),
(4)中の各k=0の場合EAj0 ,EBj0 ,ECj
0 であるから、これらは送付せずに、検証式(1),
(5),(2),(6),(4),(7)の代わりに、
ができる(S9)。前記検証式中の式(1),(2),
(4)中の各k=0の場合EAj0 ,EBj0 ,ECj
0 であるから、これらは送付せずに、検証式(1),
(5),(2),(6),(4),(7)の代わりに、
【0042】
【数11】 として検証することも可能である。不合格の通知は、全
てのプロセッサが検証可能秘密分散を終えた後にまとめ
て行うことも可能である。実施例2 以下に、この発明の実施例2について説明する。
てのプロセッサが検証可能秘密分散を終えた後にまとめ
て行うことも可能である。実施例2 以下に、この発明の実施例2について説明する。
【0043】まず、n個の利用者(プロセッサ)をP1
〜Pnとし、各々の利用者装置(プロセッサ)間を安全
な通信路で接続し、また、全利用者装置(プロセッサ)
が同一の内容を受信することが保証される放送型通信路
を各利用者が利用できるようにする。積を計算すべき秘
密値AおよびBは、予め検証可能秘密分散方法により、
分散されているものとする。以下では、検証可能秘密分
散方法にPedersenの方法を用いた場合を記述す
る。
〜Pnとし、各々の利用者装置(プロセッサ)間を安全
な通信路で接続し、また、全利用者装置(プロセッサ)
が同一の内容を受信することが保証される放送型通信路
を各利用者が利用できるようにする。積を計算すべき秘
密値AおよびBは、予め検証可能秘密分散方法により、
分散されているものとする。以下では、検証可能秘密分
散方法にPedersenの方法を用いた場合を記述す
る。
【0044】まず、大きな素数p,qがあり、qはp−
1を割り切るものとする。以下の説明では、p,qが作
る体をそれぞれFp,Fqと書き、Fpの位数qの部分
群をGqと書く。各復号者Pjに対し、wj∈Zqなる
固有の値wjが公開されているものとする。AおよびB
はいずれもFqの元であるとする。各プロセッサPjは
二つのFq上のランダム多項式A(X)=a0 +a1 X
+…+at Xt およびU(X)=u0 +u1 X+…+u
t Xt のwjに対する値A(wj)、U(wj)を保持
する。ただし、a0 =Aとする。ランダムに選択された
Gqの元g,hに対して、EAk :=gakhuk modpが
k=0,…,tについて公開されているものとする。
1を割り切るものとする。以下の説明では、p,qが作
る体をそれぞれFp,Fqと書き、Fpの位数qの部分
群をGqと書く。各復号者Pjに対し、wj∈Zqなる
固有の値wjが公開されているものとする。AおよびB
はいずれもFqの元であるとする。各プロセッサPjは
二つのFq上のランダム多項式A(X)=a0 +a1 X
+…+at Xt およびU(X)=u0 +u1 X+…+u
t Xt のwjに対する値A(wj)、U(wj)を保持
する。ただし、a0 =Aとする。ランダムに選択された
Gqの元g,hに対して、EAk :=gakhuk modpが
k=0,…,tについて公開されているものとする。
【0045】このとき、(A(wj),U(wj))の
対が秘密値Aに対するPjの分散秘密値である。各プロ
セッサPjは、
対が秘密値Aに対するPjの分散秘密値である。各プロ
セッサPjは、
【0046】
【数12】 が成り立つことを確認することによって、保持している
分散秘密値(A(wj),U(wj))の正当性を検証
することができる。以下の説明では、上記Peders
enの方法を Ped(A,u0 )[g,h]→(Aj,Uj)(EA0 ,…,EAt ) と記述する。ここで、Ped(A,u0 )の括弧中のA
およびu0 は、前述の通り、秘密分散に用いる二つのラ
ンダム多項式の定数項を意味する。[g,h]は、コミ
ットメント関数がべき乗の底としてgおよびhを用いる
ことを意味する。(Aj,Uj)はPjが安全な通信路
を介して受信するAの分散秘密値を意味しており、それ
ぞれAおよびu0 を定数項とするランダム多項式Aj
(X)およびUj(X)のX=wjにおける値であり、
jは1,…,nを取るものとする。また、EAk は多項
式のk次の係数のgakhuk modpなるコミットメントで
あり、放送型通信路を介して公開される。ここで、Pj
の持つ秘密値(Aj,Uj)に対するコミットメントを
EAj0 :=gAjhUj modpとする。このEAj0 は、
公開されたEA0 ,…,EAt を用いて、
分散秘密値(A(wj),U(wj))の正当性を検証
することができる。以下の説明では、上記Peders
enの方法を Ped(A,u0 )[g,h]→(Aj,Uj)(EA0 ,…,EAt ) と記述する。ここで、Ped(A,u0 )の括弧中のA
およびu0 は、前述の通り、秘密分散に用いる二つのラ
ンダム多項式の定数項を意味する。[g,h]は、コミ
ットメント関数がべき乗の底としてgおよびhを用いる
ことを意味する。(Aj,Uj)はPjが安全な通信路
を介して受信するAの分散秘密値を意味しており、それ
ぞれAおよびu0 を定数項とするランダム多項式Aj
(X)およびUj(X)のX=wjにおける値であり、
jは1,…,nを取るものとする。また、EAk は多項
式のk次の係数のgakhuk modpなるコミットメントで
あり、放送型通信路を介して公開される。ここで、Pj
の持つ秘密値(Aj,Uj)に対するコミットメントを
EAj0 :=gAjhUj modpとする。このEAj0 は、
公開されたEA0 ,…,EAt を用いて、
【数20】 のように、誰でも計算する事ができることに注意。
【0047】上記の検証可能秘密分散法により、秘密値
Bも同様に分散されているものとする。すなわち、乱数
v0 を用い、 Ped(B,v0 )[g,h]→(Bj,Vj)(EB0 ,…,EBt ) とされているものとする。上記初期状態から、プロセッ
サPjは、まず乱数ui0 およびvi0 を選び、 Ped(Bj,vi0 )[g,h]→(Bji,Vji)(EBj0 ,…,E Bjt ) のようにBjを分散する。つまり図6に示すようにt次
のランダム多項式Bj(X)とVj(X)を生成し(S
1)、コミットメント値EBjkをk=0,…,tについ
て計算する(S2)、そしてBj(wi),Vj(w
i)を安全な通信路を通じてプロセッサPiへ送り(S
3)、EAj0 〜EAjt ,EBj0 〜EBjt を放送
型通信路を通じて公開する(S4)。
Bも同様に分散されているものとする。すなわち、乱数
v0 を用い、 Ped(B,v0 )[g,h]→(Bj,Vj)(EB0 ,…,EBt ) とされているものとする。上記初期状態から、プロセッ
サPjは、まず乱数ui0 およびvi0 を選び、 Ped(Bj,vi0 )[g,h]→(Bji,Vji)(EBj0 ,…,E Bjt ) のようにBjを分散する。つまり図6に示すようにt次
のランダム多項式Bj(X)とVj(X)を生成し(S
1)、コミットメント値EBjkをk=0,…,tについ
て計算する(S2)、そしてBj(wi),Vj(w
i)を安全な通信路を通じてプロセッサPiへ送り(S
3)、EAj0 〜EAjt ,EBj0 〜EBjt を放送
型通信路を通じて公開する(S4)。
【0048】ここで、Ped(Bj,ui0 )なる秘密
分散で用いたBjを定数項とする多項式をBj(X)=
bj0+bj1X+…+bjtXt とする。ただし、bj0=B
jである。次に、Bjを乱数di0 を選んで、底gの代
わりにEAj0 を底として、 Ped(Bj,di0 )[EAj0 ,h]→(Bji,Dji)(EABj0 , …,EABjt ) のように分散する。ただし、Bjを定数項とする多項式
は、直前と同じ多項式Bj(X)を用いる。そのためこ
れに対応する分散秘密値は直前のPed(Bj,d
i0 )[g,h]におけるBjの分散秘密値と等しくな
る。一方、di0 を定数項とする多項式Dj(X)=d
j0+dj1X+…+djtXt はランダムに選択する(図
7、S5)。またEABjk をk=0,…,tについて
計算し(S6)、Dj(wi)を安全な通信路を通じて
Piへ送信し(S7)、EABj0 〜EABjt を放送
型通信路を通じて公開する(S8)。更に、Aj・Bj
およびui0・Bj+di0をそれぞれ定数項とするt次の
ランダム多項式Cj(X)およびRj(X)を生成する
(S9)。Cj(X)およびRj(X)のk次の項の係
数をそれぞれcjk,rjkとして、PjはEABjk:=
gcjk hrjk mod pをk=0,…,tについて計算し
(S10)、(ECj0,…,ECjt)を放送型通信路を
通じて公開する(S11)。また、Cji:=Cj(w
i)およびRji:=Rj(wi)を安全な通信路を通
じてPiへ送付する(S12)。
分散で用いたBjを定数項とする多項式をBj(X)=
bj0+bj1X+…+bjtXt とする。ただし、bj0=B
jである。次に、Bjを乱数di0 を選んで、底gの代
わりにEAj0 を底として、 Ped(Bj,di0 )[EAj0 ,h]→(Bji,Dji)(EABj0 , …,EABjt ) のように分散する。ただし、Bjを定数項とする多項式
は、直前と同じ多項式Bj(X)を用いる。そのためこ
れに対応する分散秘密値は直前のPed(Bj,d
i0 )[g,h]におけるBjの分散秘密値と等しくな
る。一方、di0 を定数項とする多項式Dj(X)=d
j0+dj1X+…+djtXt はランダムに選択する(図
7、S5)。またEABjk をk=0,…,tについて
計算し(S6)、Dj(wi)を安全な通信路を通じて
Piへ送信し(S7)、EABj0 〜EABjt を放送
型通信路を通じて公開する(S8)。更に、Aj・Bj
およびui0・Bj+di0をそれぞれ定数項とするt次の
ランダム多項式Cj(X)およびRj(X)を生成する
(S9)。Cj(X)およびRj(X)のk次の項の係
数をそれぞれcjk,rjkとして、PjはEABjk:=
gcjk hrjk mod pをk=0,…,tについて計算し
(S10)、(ECj0,…,ECjt)を放送型通信路を
通じて公開する(S11)。また、Cji:=Cj(w
i)およびRji:=Rj(wi)を安全な通信路を通
じてPiへ送付する(S12)。
【0049】各プロセッサPiは、検証式
【0050】
【数13】 が成り立つことを確認し、一つでも成り立たない場合
は、「不合格」を放送型通信路を介して他の全てのプロ
セッサに通知する。不合格の通知がt個以下の場合は、
Piは受信した(Cji,Rji)を合格とする。上記
手順を全てのプロセッサPj j=1,…,nが実行す
る。
は、「不合格」を放送型通信路を介して他の全てのプロ
セッサに通知する。不合格の通知がt個以下の場合は、
Piは受信した(Cji,Rji)を合格とする。上記
手順を全てのプロセッサPj j=1,…,nが実行す
る。
【0051】次に、各プロセッサは、合格したCjiの
インデックスjに関する集合をαとし、Lagrang
e補間係数
インデックスjに関する集合をαとし、Lagrang
e補間係数
【0052】
【数14】 を計算し、これをAとBの積に対する分散秘密値(C
i,Ri)として保持する。また、検証用コミットメン
トを
i,Ri)として保持する。また、検証用コミットメン
トを
【0053】
【数15】 のようにk=0,…,tについて計算する。以上の検証
と分散秘密値(Ci,Ri)を得る処理を図9に示す。
乗算結果を実際に公開する場合には、図5と同様に、各
プロセッサPiは分散秘密値(Ci,Ri)を公開し、
これを受信した各プロセッサは
と分散秘密値(Ci,Ri)を得る処理を図9に示す。
乗算結果を実際に公開する場合には、図5と同様に、各
プロセッサPiは分散秘密値(Ci,Ri)を公開し、
これを受信した各プロセッサは
【0054】
【数16】 が成り立つか否かを検証し、成り立つ場合は正しい分散
秘密値として受理する。以上の手段で得られた正しい分
散秘密値のインデックスの集合をβとする。|β|≧t
+1のとき、
秘密値として受理する。以上の手段で得られた正しい分
散秘密値のインデックスの集合をβとする。|β|≧t
+1のとき、
【0055】
【数17】 となり、各プロセッサは乗算結果A・Bを回復すること
ができる。実施例1の場合と同様に、EAj0 ,EBj
0 ,ECj0 は送付せずに、検証式(2)(5),
(4)(7)の代わりに、
ができる。実施例1の場合と同様に、EAj0 ,EBj
0 ,ECj0 は送付せずに、検証式(2)(5),
(4)(7)の代わりに、
【0056】
【数18】 として検証することも可能である。不合格の通知は、全
てのプロセッサが検証可能秘密分散を終えた後にまとめ
て行うことも可能である。実施例1、実施例2において
も、検証可能秘密分散における各検証をその分散ごとに
行ってもよく、先に述べたように、全ての検証をまとめ
て行ってもよい。また各分散値の安全通信路を通じての
伝送もその都度、あるいはまとめて行ってもよく、各コ
ミットメント値の公開も、その都度、あるいはまとめて
行ってもよい。
てのプロセッサが検証可能秘密分散を終えた後にまとめ
て行うことも可能である。実施例1、実施例2において
も、検証可能秘密分散における各検証をその分散ごとに
行ってもよく、先に述べたように、全ての検証をまとめ
て行ってもよい。また各分散値の安全通信路を通じての
伝送もその都度、あるいはまとめて行ってもよく、各コ
ミットメント値の公開も、その都度、あるいはまとめて
行ってもよい。
【0057】上記手順のうち、放送型通信路を介した通
信は、代わりに「消去不可能提示板」を用いて実現して
もよい。図8に実施例1(又は2)に用いられたプロセ
ッサ(分散乗算装置)の機能構成例を示す。メモリ21
にはp,q,g,h,分散秘密値A(wj),B(w
j)などが記憶されると共に、分散処理、検証処理、回
復処理などにおける各種情報(値)を一時記憶するため
などに用いられる。検証可能秘密分散部22はランダム
多項式生成部23、コミットメント計算部24、分散秘
密検証部25よりなり、ランダム多項式生成部23はB
j(X),Vj(X),Dj(X),Cj(X),Rj
(X)などを生成し、コミットメント計算部24はEA
j0 ,EBjk ,ECjk ,EABjk などの計算を行
い、分散秘密検証部25は式(1)〜(7)に示した各
検証式による検証を行う。分散秘密復元部26は
信は、代わりに「消去不可能提示板」を用いて実現して
もよい。図8に実施例1(又は2)に用いられたプロセ
ッサ(分散乗算装置)の機能構成例を示す。メモリ21
にはp,q,g,h,分散秘密値A(wj),B(w
j)などが記憶されると共に、分散処理、検証処理、回
復処理などにおける各種情報(値)を一時記憶するため
などに用いられる。検証可能秘密分散部22はランダム
多項式生成部23、コミットメント計算部24、分散秘
密検証部25よりなり、ランダム多項式生成部23はB
j(X),Vj(X),Dj(X),Cj(X),Rj
(X)などを生成し、コミットメント計算部24はEA
j0 ,EBjk ,ECjk ,EABjk などの計算を行
い、分散秘密検証部25は式(1)〜(7)に示した各
検証式による検証を行う。分散秘密復元部26は
【0058】
【数19】 の復元演算を行う。各種分散秘密値の安全型通信送信部
27、同受信部28、放送型送信部29、同受信部31
が設けられ、更に各部の順次動作が制御部32により行
われる。これらの各機能はコンピュータによりプログラ
ムを解読実行させて行うこともできる。
27、同受信部28、放送型送信部29、同受信部31
が設けられ、更に各部の順次動作が制御部32により行
われる。これらの各機能はコンピュータによりプログラ
ムを解読実行させて行うこともできる。
【0059】
【発明の効果】上述したこの発明の分散乗算装置によれ
ば、各プロセッサは他のプロセッサの不正を検証式の検
査によって容易に検出することが可能であり、分散秘密
値を持ち寄って回復される結果がAとBの積であること
を検証することができる。
ば、各プロセッサは他のプロセッサの不正を検証式の検
査によって容易に検出することが可能であり、分散秘密
値を持ち寄って回復される結果がAとBの積であること
を検証することができる。
【図1】この発明の実施例におけるシステム構成例を示
すブロック図。
すブロック図。
【図2】この発明の実施例1におけるプロセッサPj
の、秘密分散の処理手順の途中までを示す流れ図。
の、秘密分散の処理手順の途中までを示す流れ図。
【図3】図2の続きを示す流れ図。
【図4】実施例1におけるプロセッサPiの、検証処理
より乗算結果の分散秘密値を得るまでの処理手順を示す
流れ図。
より乗算結果の分散秘密値を得るまでの処理手順を示す
流れ図。
【図5】この発明の実施例1,2におけるプロセッサP
iの、乗算結果を回復する手順を示す流れ図。
iの、乗算結果を回復する手順を示す流れ図。
【図6】この発明の実施例2におけるプロセッサPjの
秘密分散の処理手順の途中までを示す流れ図。
秘密分散の処理手順の途中までを示す流れ図。
【図7】図6の続きを示す流れ図。
【図8】この発明の実施例1,2におけるプロセッサ
(分散乗算装置)の機能構成例を示すブロック図。
(分散乗算装置)の機能構成例を示すブロック図。
【図9】実施例2におけるプロセッサPiの検証処理よ
り乗算結果の分散秘密値を得るまでの処理手順を示す流
れ図。
り乗算結果の分散秘密値を得るまでの処理手順を示す流
れ図。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 Verifiable Secret Sharing and Multi party Protocols wi th Honest Majorit y,proc.of STOC’89, p.73−85 Span Programs and General Secure Mu lti−Party Computat ion,BRICS Raport s eries,RS−97−28 Efficient Multipa rty Computations w ith Dishonest Mino rity,BRICS Report series,RS−98−36 (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 650 G09C 1/00 640 G06F 17/10 JICSTファイル(JOIS)
Claims (6)
- 【請求項1】 n個のプロセッサをP1〜Pnとし、i
番目のプロセッサPiは固有の公開値wiを持ち、 二つの秘密値A、BはそれぞれA、Bを定数項とするt
次の多項式A(X)、B(X)を用いる検証可能秘密分
散方法によってn個のプロセッサへ分散されており、 i番目のプロセッサPiは分散秘密値A(wi)、B
(wi)を保持している場合に、n個のプロセッサが協
力して、A・Bを定数項とする秘密のt次の多項式C
(X)を生成し、分散秘密値C(wi)をプロセッサP
iが得る分散乗算装置であって、各 プロセッサPjは、 分散秘密値A(wj)およびB(wj)を、それぞれA
(wj)、B(wj)を定数項とするt次の多項式Aj
(X)、Bj(X)を用いる検証可能秘密分散方法によ
って各プロセッサPiがAj(wi)およびBj(w
i)を持つように分散する手段を備え、2 t次の多項式ABj(X)=Aj(X)・Bj(X)
を用いる検証可能秘密分散方法によって、各プロセッサ
PiがAj(wi)とBj(wi)の積がAj(X)・
Bj(X)上の点ABj(wi)に等しいことを検証す
るための値を持つように分散する手段を備え、定 数項をA(wj)・B(wj)とするt次のランダム
多項式Cj(X)を用いる検証可能秘密分散方法によっ
て各プロセッサPjがCi(wj)を持つように分散す
る手段を備え、 各プロセッサPiは、 Aj(wi)とBj(wi)の積がABj(X)上の点
ABj(wi)に等しいこと、及び Ci(X)の定数項
がABi(X)の定数項に等しいことをj=1〜n(た
だしj≠i)にわたって検証し、これらの検証に関して
合格または不合格の通知を公開する手段を備え、 t+1個以上のプロセッサが合格とした全てのjに対す
るCj(wi)を多項式補間により補間した値を、A・
Bを定数項とする秘密のt次の多項式C(X)に対する
Piの分散秘密値C(wi)とする手段を備えることを
特徴とする分散乗算装置。 - 【請求項2】 請求項1の分散乗算装置において、 関数BC()をビットコミットメント関数とし、各プロセッサPjは、 上記分散秘密値A(wj)およびB(wj)の分散の際
にBC(A(wj))およびBC(B(wj))をそれ
ぞれAj0およびBj0として公開する手段を備え、上記A(wj)・B(wj)の分散の際に、BC(A
(wj)・B(wj))としてCj0を公開する手段を
備え 、 各プロセッサPiは、 受信したAj(wi)、Bj(wi)がAi0,Bi0
とそれぞれ整合することを検証する手段を備え、上記Aj(wi)とBj(wi)との積が公開された、
Ci0と 整合することにより検証する手段を備え、 受信したCj(wi)が公開されたCi0と整合するこ
とを検証する手段を備えることを特徴とする分散乗算装
置。 - 【請求項3】 n個のプロセッサをP1〜Pnとし、i
番目のプロセッサPiは固有の公開値wiを持ち、二つ
の秘密値A、BはそれぞれA、Bを定数項とするt次の
多項式A(X)、B(X)を用いる検証可能秘密分散方
法によってn個のプロセッサへ分散されており、 i番目のプロセッサPiは分散秘密値A(wi)、B
(wi)を保持している場合に、n個のプロセッサが協
力して、A・Bを定数項とする秘密のt次の多項式C
(X)を生成し、分散秘密値C(wi)をプロセッサP
iが得る分散乗算装置であって、 関数BC(a,x)は、aを公開パラメータとし、xを
秘密値とするビットコミットメント関数であって、BC
(BC(g,x),y)=BC(g,x・y)なる性質
を有するものとし、各 プロセッサPjは、 分散秘密値A(wj)を、A(wj)を定数項とするt
次の多項式Aj(X)およびパラメータgを用いる検証
可能秘密分散方法によって、各プロセッサPiがAj
(wi)を持つように分散すると共に、BC(g,A
(wi))をAi0として公開する手段を備え、 分散秘密値B(wj)を、B(wj)を定数項とするt
次の多項式Bj(X)およびパラメータgを用いる検証
可能秘密分散方法によって、各プロセッサPiがBj
(wi)を持つように分散すると共に、BC(g,B
(wi))をBi0として公開する手段を備え、 分散秘密値B(wj)を、前記多項式Bj(X)および
パラメータBC(g,A(wi))を用いる検証可能秘
密分散方法によって、各プロセッサPiがBj(wi)
を持つように分散すると共に、BC(BC(g,A(w
i)),B(wi))をABi0として公開する手段を
備え、 定数項をA(wj)・B(wj)とするt次のランダム
多項式Ci(X)およびパラメータgを用いる検証可能
秘密分散方法によって各プロセッサPiがCj(wi)
を持つように分散すると共に、BC(g,C(wi))
をCi0として公開する手段をそれぞれ備え、 各プロセッサPiは、A i0が正しい値であること、 受信したBj(wi)がBi0と整合し、かつABi0
と整合すること、 受信したCj(wi)がCi0と整合すること、Ci0
とABi0とが等しいことをj=1〜n(ただしj≠
i)にわたって検証し、これらの検証に関して合格また
は不合格の通知を公開する手段と、 t+1個以上のプロセッサが合格とした全てのjに対す
るCj(wi)を多項式補間により補間した値を、A・
Bを定数項とする秘密のt次の多項式C(X)に対する
Piの分散秘密値C(wi)とする手段とをそれぞれ備
えることを特徴とする分散乗算装置。 - 【請求項4】 n個のプロセッサをP1〜Pnとし、i
番目のプロセッサPiは固有の公開値wiを持ち、二つ
の秘密値A、BはそれぞれA、Bを定数項とするt次の
多項式A(X)、B(X)を用いる検証可能秘密分散方
法によってn個のプロセッサへ分散されており、i番目
のプロセッサPiは分散秘密値A(wi)、B(wi)
を保持している場合に、n個のプロセッサが協力して、
A・Bを定数項とする秘密のt次の多項式C(X)を生
成し、分散秘密値C(wi)をPiが得る分散乗算装置
で、各プロセッサPjとして、 分散秘密値A(wj)およびB(wj)を、それぞれA
(wj)、B(wj)を定数項とするt次の多項式Aj
(X)、Bj(X)を用いる検証可能秘密分散方法によ
って各プロセッサPiがAj(wi)およびBj(w
i)を持つように分散する手段と、 2t次の多項式ABj(X)=Aj(X)・Bj(X)
を用いる検証可能秘密分散方法によって、各プロセッサ
PiがAj(wi)とBj(wi)の積がABj(X)
上の点ABj(wi)に等しいことを検証するための値
を持つように分散する手段と、 定数項をA(wj)・B(wj)とするt次のランダム
多項式Cj(X)を用いる検証可能秘密分散方法によっ
て各プロセッサPiがCj(wi)を持つように分散す
る手段とを備え、各プロセッサPiとして、 Aj(wi)とBj(wi)の積がABj(X)上の点
ABj(wi)に等しいこと、及び Cj(X)の定数項
がABj(X)の定数項に等しいことをj=1〜n(た
だしj≠i)にわたって検証し、これらの検証に関して
合格または不合格の通知を公開する手段と、 t+1個以上のプロセッサが合格した全てのjに対する
Cj(wi)を多項式補間により補間した値を、A・B
を定数項とする秘密のt次の多項式C(X)に対するP
iの分散秘密値C(wi)とする手段とを備える 分散乗
算装置としてコンピュータを機能させるプログラムを記
録したコンピュータ読み取り可能な記録媒体。 - 【請求項5】 請求項4の記録媒体において、 関数BC()をビットコミットメント関数とし、上記分散乗算装置は、 各プロセッサPjとして、 上記A(wj)、B(wj)の分散処理の際にBC(A
(wj))およびBC(B(wj))をAj0およびB
j0として公開する手段と、 上記A(wj)・B(wj)の分散処理の際に、BC
(A(wj)・B(wj))をCj0として公開する手
段と、各プロセッサPiとして、 Aj(wi)、Bj(wi)がそれぞれ公開されたAi
0、Bi0と整合することを検証する手段と、 上記Aj(wi)とBj(wi)の積が公開されたAB
i0と整合することを検証する手段と、 受信したCj(wi)がCi0と整合することを検証す
る手段と、を含 むことを特徴とする記録媒体。 - 【請求項6】 n個のプロセッサをP1〜Pnとし、i
番目のプロセッサPiは固有の公開値wiを持ち、二つ
の秘密値A、BはそれぞれA、Bを定数項とするt次の
多項式A(X)、B(X)を用いる検証可能秘密分散方
法によってn個のプロセッサへ分散されており、 i番目のプロセッサPiは分散秘密値A(wi)、B
(wi)を保持している場合に、n個のプロセッサが協
力して、A・Bを定数項とする秘密のt次の多項式C
(X)を生成し、分散秘密値CiをPiが得る分散乗算
装置で、 関数BC(a,x)は、aを公開パラメータとし、xを
秘密値とするビットコミットメント関数であって、BC
(BC(g,x),y)=BC(g,x・y)なる性質
を有するものとし、 各プロセッサPjとして、 分散秘密値A(wj)を、A(wj)を定数項とするt
次の多項式Aj(X)およびパラメータgを用いる検証
可能秘密分散方法によって、各プロセッサPiがAj
(wi)を持つように分散すると共に、BC(g,A
(wi))をAi0として公開する手段と、 分散秘密値B(wj)を、B(wj)を定数項とするt
次の多項式Bj(X)およびパラメータgを用いる検証
可能秘密分散方法によって、各プロセッサPiがBj
(wi)を持つように分散すると共に、BC(g,B
(wi))をBi0として公開する手段と、 分散秘密値B(wj)を、前記多項式Bj(X)および
パラメータBC(g,A(wj))を用いる検証可能秘
密分散方法によって、各プロセッサPiがBj(wi)
を持つように分散すると共にBC(BC(g,A(w
i)),B(wi))をABi0として公開する手段
と、 定数項をA(wj)・B(wj)とするとt次のランダ
ム多項式Cj(X)およびパラメータgを用いる検証可
能秘密分散方法によって各プロセッサPiがCj(w
i)を持つように分散すると共にBC(g,C(w
i))をCi0として公開する手段とを備え、 各プロセッサPiとして、公 開されたAi0が正しい値であること、 受信したBj(wi)が公開されたBi0と整合するこ
と、 受信したBj(wi)が公開されたABi0と整合する
こと、 受信したCj(wi)が、公開されたCi0と整合する
こと、 Ci0とABi0とが等しいことをj=1〜n(ただし
j≠i)にわたって検証し、これらの検証に関して合格
または不合格の通知を公開する手段と、 t+1個以上のプロセッサが合格とした全てのjに対す
るCj(wi)を多項式補間により補間した値を、A・
Bを定数項とする秘密のt次の多項式C(X)に対する
Piの分散秘密値Ciとする手段を備える分散乗算装置
としてコンピュータを機能させるプログラムを記録した
コンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01541099A JP3328597B2 (ja) | 1999-01-25 | 1999-01-25 | 分散乗算装置及びそのプログラム記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01541099A JP3328597B2 (ja) | 1999-01-25 | 1999-01-25 | 分散乗算装置及びそのプログラム記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000214774A JP2000214774A (ja) | 2000-08-04 |
JP3328597B2 true JP3328597B2 (ja) | 2002-09-24 |
Family
ID=11887981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01541099A Expired - Lifetime JP3328597B2 (ja) | 1999-01-25 | 1999-01-25 | 分散乗算装置及びそのプログラム記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3328597B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE60207691T2 (de) | 2001-03-16 | 2006-07-06 | International Business Machines Corp. | Verfahren zur prüfbaren teilung eines geheimnisses in potentiell asynchronen netzwerken |
WO2008050544A1 (fr) * | 2006-10-24 | 2008-05-02 | Nec Corporation | Dispositif de génération d'informations distribuées et dispositif de décodage |
JP5316411B2 (ja) * | 2007-08-06 | 2013-10-16 | 日本電気株式会社 | 送信装置と受信装置 |
US8861734B2 (en) | 2007-08-22 | 2014-10-14 | Nec Corporation | Secret information distribution system, method, program, and transmission system |
US20210287573A1 (en) * | 2018-05-25 | 2021-09-16 | Nippon Telegraph And Telephone Corporation | Secret batch approximation system, secure computation device, secret batch approximation method, and program |
-
1999
- 1999-01-25 JP JP01541099A patent/JP3328597B2/ja not_active Expired - Lifetime
Non-Patent Citations (3)
Title |
---|
Efficient Multiparty Computations with Dishonest Minority,BRICS Report series,RS−98−36 |
Span Programs and General Secure Multi−Party Computation,BRICS Raport series,RS−97−28 |
Verifiable Secret Sharing and Multiparty Protocols with Honest Majority,proc.of STOC’89,p.73−85 |
Also Published As
Publication number | Publication date |
---|---|
JP2000214774A (ja) | 2000-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yuan et al. | Proofs of retrievability with public verifiability and constant communication cost in cloud | |
Beerliova-Trubiniova et al. | Efficient multi-party computation with dispute control | |
Yuan et al. | Secure and constant cost public cloud storage auditing with deduplication | |
JP5174828B2 (ja) | 暗黙の証明書検証 | |
EP1078491B1 (en) | Robust efficient distributed rsa-key generation | |
JP5329676B2 (ja) | 鍵合意プロトコルの加速 | |
CN112686672B (zh) | 区块链上背书签名压缩方法、电子设备及存储介质 | |
JPWO2017099117A1 (ja) | 事前計算装置、方法、およびコンピュータ読取可能な記録媒体、並びにベクトル乗算装置、および方法 | |
KR20230024369A (ko) | 비밀 공유의 생성 | |
WO2019110399A1 (en) | Two-party signature device and method | |
US20220086006A1 (en) | Computer-implemented system and method for asset mixing | |
EP3935779B1 (en) | A method for providing a digital signature to a message | |
US11080393B2 (en) | Secure computation system, secure computation apparatus, secure computation method, and secure computation program | |
CN118160275A (zh) | 阈值签名方案 | |
JP3328597B2 (ja) | 分散乗算装置及びそのプログラム記録媒体 | |
US9577828B2 (en) | Batch verification method and apparatus thereof | |
CN114640463B (zh) | 一种数字签名方法、计算机设备及介质 | |
KR100971038B1 (ko) | 다수의 엔티티와 그에 따른 장치에 부하를 분배하는암호화 방법 | |
CN114221753B (zh) | 密钥数据处理方法和电子设备 | |
KR20240045231A (ko) | 디지털 서명 셰어의 생성 | |
Lochter | Blockchain as cryptanalytic tool | |
CN101325596B (zh) | 一种具有容错功能的密码学分布式计算与分步检验方法 | |
JP3331321B2 (ja) | 複数のデジタル署名を一括して検証する方法及びそのための装置とその方法を記録した記録媒体 | |
Dossogne et al. | Secure and practical threshold RSA | |
Patra et al. | Information theoretically secure multi party set intersection re-visited |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080712 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080712 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090712 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090712 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100712 Year of fee payment: 8 |