JP3466688B2 - 複数の情報処理装置を有する通信システムにおける分散演算方法及びその通信システム、及びその情報処理装置 - Google Patents

複数の情報処理装置を有する通信システムにおける分散演算方法及びその通信システム、及びその情報処理装置

Info

Publication number
JP3466688B2
JP3466688B2 JP00703794A JP703794A JP3466688B2 JP 3466688 B2 JP3466688 B2 JP 3466688B2 JP 00703794 A JP00703794 A JP 00703794A JP 703794 A JP703794 A JP 703794A JP 3466688 B2 JP3466688 B2 JP 3466688B2
Authority
JP
Japan
Prior art keywords
devices
distributed
information
secret
multiplication
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
JP00703794A
Other languages
English (en)
Other versions
JPH07210370A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP00703794A priority Critical patent/JP3466688B2/ja
Publication of JPH07210370A publication Critical patent/JPH07210370A/ja
Application granted granted Critical
Publication of JP3466688B2 publication Critical patent/JP3466688B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、通信路によって接続さ
れた複数の計算機間で、1つの演算を秘密に分散して実
行するシステム及びその方法に関するものである。
【0002】
【従来の技術】複数の計算機間で1つの計算を分散して
行うシステムは、1つの計算機またはその計算機を利用
するシステムの加入者の物理的な安全性(ここで、物理
的な安全性とは、ある加入者が持っている情報がその加
入者以外に漏れないこと、及びある加入者内で行われて
いる計算がその加入者以外からは制御できないことを意
味する)のみに依存する計算の信頼度を高めることがで
きる。すなわち、複数の加入者間で計算を分散して行う
ことによって、これらの加入者のうちのいくつかの物理
的な安全性が保証されない場合でも、信頼性の高い出力
を得るフォールトトレランスを実現する。
【0003】例えば、RSA暗号やラビン暗号(池野,
小山:“現代暗号理論”,電子情報通信学会,1986. 参
照)や2乗乱数(辻井,笠原:“暗号と情報セキュリテ
ィ”,昭晃堂,1990. 参照)等を用いる多くの暗号シス
テムは1人の加入者またはセンタが次の処理を実行する
ことによって構成されている。 (1) 乱数を生成し、これに基づいて、ランダムに選ばれ
た整数をK個生成する。ただし、このKはその中の少な
くとも2個の整数が素数である確率が十分高い程度の数
である(通常、nビットの素数を得たい場合、Kは2n
程度の数である)。(2) 素数判定法(前記“現代暗号理
論”参照)を用いて、2つの素数p,qを見つける。 (3) 素数p,qの積N=p・qを計算する。 (4) 素数p,qを秘密とし、その積Nを公開し放送す
る。
【0004】この処理を行う1人の加入者またはセンタ
の物理的な安全性が保証されない場合、この暗号システ
ムによって与えられる守秘や認証等のサービスは信頼す
ることができない。しかし、このような処理が複数の加
入者間で分散されて行われるならば、このシステムの安
全性は、何人かの加入者の物理的安全性が保証されない
としても信頼することができる。
【0005】ただし、このような暗号システムにおいて
は、計算結果である積Nは公開の値であるが、そのNを
構成するp,qは秘密の値である。よって、p、qの素
数判定に必要な計算およびN=p・qの演算を複数の加
入者によって行おうとする場合、p,qの値を他の加入
者に知らせることができないという問題が生じる。
【0006】このように入力値を秘密にしながら、複数
の加入者のいくつかに予測できない事態によって(偶発
及び故意を含む)誤りが生じたとしても、正しい演算結
果を得るための方式(安全な分散計算方式という)が近
年研究されており、そのための計算方法や通信方法、ま
たは耐えられる誤り(誤りが生じたとしても、正しい演
算結果が得られる誤り)の種類について、いくつかの具
体的な結果が得られている。
【0007】特に、秘密の通信路をもつ通信システムに
対して、全加入者数の1/3より少ない数であればどの
ような誤りをもつ加入者が存在しても、安全に分散計算
を実行する方式が、M. Ben-Or, S. Goldwasser, A. Wig
derson ("Completeness Theorems for Non-Cryptograph
ic Fault-Tolerant Distributed Computation", ACMSTO
C 1988)によって提案されている。但し、この方式によ
って安全に実現されている分散計算とは、p個の元から
なる有限体Zp上の加算及び乗算を意味する。ある有限
体Zp上の演算に限らず、直接に通常の演算回路(ただ
し、ANDゲート及びXORゲートしか含まないように
変更された回路とする)を分散した形で安全に実現する
方式は、D. Chaum, C. Crepeau, I. Damgard ("Multipa
rty Unconditionally Secure Protocols", ACM STOC 19
88) によって提案されている。
【0008】更に、全ての加入者が同じメッセージを受
信したことを確認できる放送型通信路を全加入者がもつ
とした場合、全加入者の半分より少ない数であればどの
ような誤りをもつ加入者にも耐えられ、かつ、ある有限
体上の分散演算を実現する方式が T. Rabin, M. Ben-Or
("Verifiable Secret Sharing and Multiparty Protoc
ols with Honest Majority", ACM STOC 1989) と D. Be
aver ("Secure Multiparty Protocols and Zero-Knowle
dge Proof Systems Tolerating a Faulty Minority", J
ournal of Cryptology, 1991, 4, pp.75-122) によって
提案されている。
【0009】これらの方式では全て、秘密分散(Secret
Sharing, SS)と呼ばれる技術が用いられている。ここ
で、ある加入者が持っている秘密情報Xが、全ての加入
者間で秘密に分散保待されるとは、各加入者iが秘密情
報Xに対応する部分情報X_iをもち、秘密情報Xを復元
するためにt+1人の加入者の部分情報が必要であり、
それ未満の数(t以下)の部分情報では、その秘密情報
に関するどのような情報も得ることができないことを意
味する。
【0010】このとき、その秘密情報を復元するための
必要な加入者の数t+1は、しきい値と呼ばれ、その意
味で、この秘密を分散する方式はしきい値スキーム(Th
reshold Scheme)と呼ばれる。
【0011】前述の安全な分散計算方式は、誤りを持つ
加入者に耐えられる必要がある。どのような誤りを持つ
加入者にも耐えられる秘密分散方式として、確認可能な
秘密分散(Verifiable Secret Sharing, VSS)と呼ばれ
る方式が、次のような条件を満たす方式として定義され
る。 (a) 不正な部分情報が正しい部分情報と混在していて
も、t+1個の正しい部分情報があれば秘密情報を復元
するために十分である。 (b) 全ての加入者がその秘密の部分情報を受け取ったと
き、その部分情報がある秘密情報Xを復元するために正
しい情報であるかどうかを確認できる。
【0012】ここで、条件(b) が満たされているとき秘
密情報Xは確認可能に分散されているという。
【0013】VSSで行われる秘密分散処理、秘密復元
処理を、図9、10に、それぞれ示す。ここで、図9、
10は、全ての加入者に関する入出力を示す。図9にお
いて、秘密分散処理は、加入者jの秘密情報Xを入力と
し、出力は、その部分情報X_i(i=1,・・・,n)と条件(b)
による判定出力C である。また、図10において、復元
処理は、分散された部分情報X_i(i=1,・・・,n)を入力と
して、元の秘密情報Xを復元する。ここで、図10は、
不正な部分情報(図では* )が入力されてもt+1個の
正しい部分情報(図では、X_i0,・・・,X_it )があれば、
元の秘密情報Xを復元できることを表している。
【0014】具体的に、A. Shamir ("How to Share a
Secret", Communications of the ACM, Vol. 22, 11, 1
979 )によるしきい値スキームは次のようにして実現さ
れる。
【0015】加入者の情報を秘密に複数の加入者に分散
するために、定数項が前述の秘密情報となるt次の多項
式f(x) をランダムに選び、n個の異なる値に対するそ
の多項式の値f(i)(i=1,・・・,n)を各加入者に配る。この
加入者iに配られる多項式の値f(i) が前述の部分情報
X_iの一部(第1部分情報と呼ぶ、部分情報は他に後述
の第2部分情報と検査情報と検査乱数からなる)にな
る。よって、秘密情報はt+1個の第1部分情報を用い
た多項式補間によって復元できる(t以下の第1部分情
報では秘密情報に関するどのような情報も得ることはで
きない)。
【0016】VSSの条件(a) の不正な部分情報が混在
していても秘密情報を復元でき、条件(b) の全ての加入
者が秘密情報を復元できる正しい分散が行われているこ
とを確認とするために、各加入者は、第1部分情報を秘
密情報として、第2部分情報を同様の手法によって生成
・分散する。そして、部分情報は、第1、第2部分情報
と、後述の検査情報と検査乱数からなり、それらを別に
配布するという処理が追加される。ここでは、零知識対
話証明システム(前記“暗号と情報セキュリティ”参
照)で用いられている Cut and Choose と呼ばれる技術
が利用される。
【0017】この Cut and Choose 技術を用いる場合、
条件(b) による確認とは統計的確認になり、秘密情報を
復元できる正しい分散が行われているかどうかを示す判
定出力に誤り確率が生じる。但し、後述するように、こ
の誤り確率は、設定するパラメータにより、どのように
も小さくできる。
【0018】具体例として、T. RabinとM. Ben-Or ("V
erifiable Secret Sharing and Multiparty Protocols
with Honest majority", ACM STOC 1989)によって実現
されたVSS方式を次に詳しく述べる。
【0019】この方式において、VSSを構成するため
の最も重要な部分処理になるWVSS(Weak Verifiabl
e Secret Sharing)と呼ばれる処理が提案されている。
WVSSは、VSSの(b) の条件を弱めたものであり、
秘密情報Xを持っている分配者が正しく部分情報を分散
させているときには、その部分情報がある復元できる秘
密情報Xに対応しているかどうかを確認できるが、分配
者が正しく部分情報を分散させていない場合には、正し
く確認できるかどうかは保証されない。具体的にはWV
SSは次のような処理によって実現される。
【0020】WVSSの処理を図11、12に示す。こ
こで、図11は、処理の入出力を示している。すなわ
ち、WVSSの処理の入力は加入者iの秘密Xであり、
出力はその部分情報X_i(i=1,・・・,n)である。さらに、
図12は、その処理の流れを示している。縦方向は時間
の流れを意味し、1,・・・,n は、各加入者(の利用する装
置)を表す。各加入者の計算処理及び処理結果の加入者
間通信を1ラウンドとし、ラウンド1からラウンド毎に
順に処理が行われる。ここで、ある加入者のあるラウン
ドにおける出力は、次のラウンドである加入者に対する
入力になる。横方向は各加入者の位置を示す。また、細
線の矢印は秘密通進路を用いた通信を意味しており、放
送型の通信路を用いた通信を意味する太線の矢印と区別
される。
【0021】任意の加入者iによる、p個の元からなる
有限体Zp (ただし、しきい値スキームを実現できるた
めに、pは、加入者の数nに対してp>nとなる素数で
ある。)上の秘密の元Xに対するWVSSは次のように
実行される。
【0022】(前処理)上述の秘密情報Xの正しい分散
が行っているかどうかを示す判定出力Cの許される誤り
確率を2-k とするための値kを定める。(kの意味は後
述の検査情報確認処理の説明を参照)
【0023】(ラウンド1)加入者iは、乱数発生手段
を用いてZp 上のt個の元をランダムに生成する。これ
らの元を c(1), c(2),・・・, c(t) と表す。加入者iは他
の加入者j(j=1,.・・,n) に対して次の第1部分情報x(j)
を計算し、その値を秘密に各加入者jに送信する。
【0024】 x(j) = X + c(1)j + c(2)j2 + ・・・ + c(t)jt mod p
【0025】(ラウンド2)x(j) を受け取った各加入
者j(j=1,・・・,n) は、乱数発生手段を用いてZp 上のt
個の元をランダムに生成する。これらの元をc(j,1), c
(j,2),・・・, c(j,t)と表す。各加入者jは各加入者l(l=
1,・・・,n) に対して次の第2部分情報x(j,l)を計算し、
その値を秘密に各加入者lに送信する。
【0026】x(j,l) = x(j) + c(j,1)l + c(j,2)l2 + ・
・・ + c(j,t)lt mod p 各加入者jは前述の乱数発生手段を用いて、Zq (q個
の元からなる有限体を表す。ただし、qはq>2kとなる
素数である)上の元 u(j,l,m,o), v(j,l,m,o) ただし、
m=1,・・・,n, o=1,・・・,2k である)をランダムに生成し、
次の関係を満たすw(j,l,m,o)を計算する。
【0027】 x(j,l) + u(j,l,m,o)v(j,l,m,o) = w(j,l,m,o) その値 u(j,l,m,o)を加入者l(l=1,・・・,n)
に、 v(j,l,m,o), w(j,l,m,o) を加入者m(m=1,・・・,n)
に、秘密に送信する。これらの値v(j,l,m,o), w(j,l,m,
o)は、ラウンド2で配られたx(j,l)を認証する情報の役
割を果たし、検査情報という。また、u(j,l,m,o)を検査
乱数と呼ぶ。
【0028】(検査情報確認処理)前ラウンドに配られ
た検査乱数u(j,l,m,o)及び検査情報v(j,l,m,o), w(j,m,
l,o) がラウンド2で配られた第2部分情報x(j,l)に正
しく対応するかどうかを確かめるために、上述の Cut a
nd Choose 技術を用いる。例えば、ある加入者aが他の
加入者bにx(a,b), u(a,b,c,o)(o=1,・・・,2k)を送り、
第3加入者cに加入者bに送った検査乱数u(a,b,c,o)に
対応する検査情報v(a,b,c,o), w(a,b,c,o)(o=1,・・・,2
k)を送る。加入者bは加入者cに2k組の(u,v,w) の
内のランダムに選ばれたk組(o=o_jlm1,・・・,o_jlmk )
に対する検査情報v(a,b,c,o), w(a,b,c,o)を放送するよ
うに依頼し、この依頼に対して放送されたo_jlm1,・・・,o
_jlmk がo_1=o_jlm1,・・・,o_k=o_jlmk を満たさなければ
加入者aが不正な検査情報を配ったことが明らかにな
る。その放送することを依頼されるk組の値(o = o_jl
m1,・・・,o_jlmk )はランダムに選択されるので、加入者
aが不正な検査情報を配ったことが明らかにならない確
率は2-k である。ただし、放送されなかった残りのk組
の検査情報について、加入者bにはどの情報も漏れてい
ないことは明らかである。
【0029】具体的に、この検査情報確認処理は図13
の入出力関係であり、図14の手順で、次のように実行
される。
【0030】(ラウンド3)全ての加入者l(l=1,・・・,
n) は、乱数発生手段を用いて{1,2,・・・,2k} の2k個
の数の集合からk個の数をランダムに選び、それを各々
j(j=1,・・・,n) ,m(m=1,・・・,n) に対応させてn×n回
行う。そのk個の乱数を o_jlm1,・・・,o_jlmkと表す。た
だし、このk個の乱数は、各jと各mに対応してn×n
組存在する。そして、その全ての乱数を放送する。
【0031】(ラウンド4)全ての加入者m(m=1,・・・,
n) は、全てのj(j=1,・・・,n) とl(l=1,・・・,n) とにつ
いてv(j,l,m,o_jlm1), v(j,l,m,o_jlm2),・・・, v(j,l,m,
o_jlmk) と w(j,l,m,o_jlm1), w(j,l,m,o_jlm2),・・・, w
(j,l,m,o_jlmk)の値を放送する。ただし、o_jlm1,o_jlm
2,・・・,o_jlmkはラウンド3において、加入者lから放送
された乱数の組である。
【0032】(ラウンド5)全ての加入者jは、ラウン
ド4において放送された値が、全てのl,m(l,m=1,・・
・,n) に対して次の関係を満たすかどうかを確かめる。
【0033】x(j,l) + u(j,l,m,o_jlm1)v(j,l,m,o_jlm
1) = w(j,l,m,o_jlm1), x(j,l) + u(j,l,m,o_jlm2)v(j,l,m,o_jlm2) = w(j,l,m,
o_jlm2),・・・ x(j,l) + u(j,l,m,o_jlmk)v(j,l,m,o_jlmk) = w(j,
l,m,o_jlmk); 加入者jは、この関係を満足するlとmに対する認可の
メッセージを放送する。図14に示されるd(l,m)は、そ
の認可メッセージを表す。
【0034】(ラウンド6)ラウンド5の関係を満たさ
ないlとmに対して、加入者jは乱数発生手段を用いて
o(o=1,・・・,2k)に対応する新しい値 u'(j,l,m,o), v'
(j,l,m,o) を生成し、次の関係を満足する値 w'(j,l,m,
o)を計算する。
【0035】 x(j,l) + u'(j,l,m,o)v'(j,l,m,o) = w'(j,l,m,o), そして、u'(j,l,m,o) を加入者lに秘密に送り、v'(j,
l,m,o) とw'(j,l,m,o) を放送する。
【0036】(ラウンド7)全ての加入者l(l=1,・・・,
n) は、ラウンド6において秘密に送信された値 u'(j,
l,m,o), または放送された値v'(j,l,m,o), w'(j,l,m,o)
を新たに u(j,l,m,o), v(j,l,m,o), w(j,l,m,o) とし、
次の関係を満足するかどうかを確認する。
【0037】x(j,l) + u(j,l,m,o_jlm1)v(j,l,m,o_jlm
1) = w(j,l,m,o_jlm1), x(j,l) + u(j,l,m,o_jlm2)v(j,l,m,o_jlm2) = w(j,l,m,
o_jlm2),・・・ x(j,l) + u(j,l,m,o_jlmk)v(j,l,m,o_jlmk) = w(j,
l,m,o_jlmk); 加入者lは、この関係を満足しないjがあれば、加入者
jに、値x(j)から計算されるx(j,l)を放送することを要
求するメッセージを放送する。図14に示されるe(l,m)
は、その要求メッセージを表す。
【0038】(後処理)ある加入者jに対して放送する
ことを要求されたx(j,l)の数がt以上であれば、その加
入者jが不正な加入者であることが決まり、また、不正
な加入者の数がt以上であれば正しい秘密分散が行われ
ていないことが明らかになる。処理の出力Cはそのこと
を示し、各加入者jの出力X_j (秘密Xに対するWVS
Sの部分情報)は、x(j), x(j,l), u(l,j,m,o), v(l,j,
m,o), w(l,j,m,o) (あるいはラウンド6に放送された
u'(l,j,m,o), v'(l,j,m,o))の組である。
【0039】上述の手続きによるWVSSが与えられた
とき、t人以上のどの様な加入者も前述の秘密Xを次の
ようにして再び計算することができる。この処理は、秘
密復元処理といい、その手順を図15、16に示す。
【0040】(ラウンド8)秘密Xを分散した加入者i
は、c(1), c(2),・・・,c(t) 値(図16にはX_で表す値)
を放送する。全ての加入者j(j=1,・・・,n) は、x(j), c
(j,1), c(j,2),・・・, c(j,t-1)の値(図16には(X_j)_
で表す値)を放送し、また、全ての加入者l(l=1,・・・,
n) は全てのj,m,o(j,m=1,・・・,n, o=1,・・・,2k) に
対して x(j,l) と u(j,l,m,o) の値を放送する。
【0041】(ラウンド9)全ての加入者m(m=1,・・・,
n) は、全てのj,l,o(j,l=1,・・・,n, o=1,・・・,2k)
に対してラウンド8において放送された値 x(j,l) と u
(j,l,m,o) が次の関係を満足するかどうかを確かめる。
【0042】 x(j,l) + u(j,l,m,o)v(j,l,m,o) = w(j,l,m,o) この関係を満足する全てのlとjに対して、加入者mは
x(j,l) が正しいと認可する。この認可された全ての x
(j,l) に対して、加入者mは次の関係を満足するかどう
かを確かめる。
【0043】x(j,l) = x(j) + c(j,1)l + c(j,2)l2 + ・
・・ + c(j,t-1)lt-1 mod p もし、あるjに対してこの関係を満足しないならば、加
入者mは加入者jが失格であるというメッセージ(図1
6のd(j))を放送する。もし、t人以上の加入者が加入
者jの失格のメッセージを放送したならば、x(j)は無効
と見なされる。
【0044】(後処理)ラウンド9において無効とされ
なかったx(j)から、秘密の元Xが次のように計算され
る。
【0045】X = Sum_j(Prod_l(l/(l-j))x(j)) mod p ただし、Sum_j(f(j)) はf(j)の総和を意味する。ただ
し、jは1,・・・,n のうちの任意のt個の数である。そし
て、Prod_l(f(l,j))は前述のt個の数から値を取る固定
されたjとjと異なる値をもつlに対する全てのf(l,j)
の積を意味する。
【0046】以上のWVSSとさらに上述のような Cut
and Choose 技術を組み合わせることによってVSSの
(a) と(b) の条件が次のように実現される。これを図1
7、18を用いて説明する。
【0047】(ラウンド11−17)全加入者によっ
て、ラウンド1−7に説明したWVSS処理が行われ
る。秘密情報Xをもつ加入者iは、それをWVSSを用
いて加入者間で分散する。また、ランダムに選ばれた秘
密L1,・・・,Lnk(kは上述のkと同じである)もWVSS
によって同様に分散する。
【0048】(ラウンド18)全加入者は1,・・・,nkから
異なるk個の値を放送し、全ての値の1ビット目を放送
する。この1ビットを、値j(j=1,・・・,kn)に対してBjと
呼ぶ。
【0049】(ラウンド19)j=1,・・・,nkに対して、放
送されたビットBjが1であれば、加入者i(秘密情報を
配布している加入者)は秘密Ljに関する情報を全て放送
する。Bj=0であれば、加入者iは秘密x+Ljに関する情報
を全て放送する。
【0050】(ラウンド20−21)全加入者によっ
て、ラウンド8ー9と同様の秘密復元処理を行われる。
従って、全加入者もまた、LjかX+Ljの(WVSSで受け
取った)部分情報を放送する。
【0051】(後処理)全加入者はラウンド19におい
て加入者iから放送された情報と、秘密復元処理におい
て全加入者から放送された情報とが互いに正しいかどう
かを検査する。もし、任意のjに対して正しくないと判
定されたならば、加入者iは正しく分散していないと判
断される。もし、加入者iが全ての秘密LjまたはX+Ljを
要求されたj(j=1,・・・,kn)に対して正しく分散したなら
ば、秘密情報を確認することができる。
【0052】以上のVSSを用いて基本演算である加算
と乗算を分散実行する場合、秘密情報同士の加算は次の
理由により簡単に実現できる。
【0053】すなわち、2つのt次の多項式同士の加算
結果もまたt次の多項式になり、その定数項は2つの多
項式の定数項の加算結果になる。よって、配られた部分
情報同士の加算を利用して、秘密情報同士の加算が容易
に実現できる。これを具体的に実現する処理を図19、
20に示す。
【0054】(ラウンド22)まず、秘密情報XとYの
部分情報X_i,Y_i(i=1,・・・,n)の第2部分情報毎の加算z
(j,l)=x(j,l)+y(j,l)を計算し、それに対応する検査乱
数と検査情報を前述の手法で新たに生成し分散する。こ
れは、前述の検査情報確認処理が単純な加算処理になっ
ていないために、z(j,l)に対する検査乱数と検査情報を
新たに生成・分散するためである。
【0055】(ラウンド23−27)ラウンド22で求
めた検査乱数と検査情報を用いて、ラウンド3−7とし
て説明した検査情報確認処理を行うことによって、t+
1個の正しい部分情報(元の部分情報の和)から、上述
の加算結果の多項式について、多項式補間によって定数
項部分を秘密情報として復元することにより、Z=X+
Yの分散加算処理が実現される。
【0056】これに対して、2つのt次の多項式同士の
乗算結果の定数項もまた、2つの多項式の定数項の乗算
結果になっているが、積多項式自体は2t次の多項式に
なる。このため、乗算の場合、加算と異なり、多項式補
間によって秘密情報を復元するためには2t+1個の部
分情報が必要となり、t+1個の部分情報から秘密情報
を復元できない。従って、配られた部分情報同士の乗算
による容易な演算によっては、秘密情報同士の分散乗算
は実現できない。
【0057】このため、従来の方式では、次のように分
散乗算を実行していた。まず、2t次の積多項式のt次
以下の部分からなる新しいt次の多項式を生成する。こ
の場合、新しい多項式の定数項は秘密情報同士の乗算結
果になっている。この多項式を、定数項に秘密情報をも
つランダムに選択された多項式と等価にするために、別
に定数項が0である多項式をランダムに選び、その多項
式に加える。
【0058】よって、2つの分散された秘密情報XとY
(各加入者iには部分情報 x(i) とy(i) が与えられて
いるとする)から、秘密の乗算結果Zを得るために、従
来の方式は図21のような乗算処理を行う。図22は、
図21の乗算処理の詳細を示す図である。図22に示す
ように、この乗算処理は、前述のVSS処理の他に、図
23、24につき後述する乱数生成処理と、図25、2
6につき後述する乗算確認処理と、図27につき後述す
る線形結合処理から構成される。図22において、乗算
確認処理と乱数生成処理とは同時に行われている。以下
に、各処理を説明する。
【0059】まず、乱数生成処理は、図23のように、
各加入者iについて、以下に説明する部分情報をR_i
(乱数定数項の多項式から生成した部分情報に相当する
秘密の乱数の組)を次のようにして共同で生成する。こ
の処理の詳細を図24に示す。
【0060】(ラウンド31−41)全加入者iは秘密
R(i)をランダムに選び、それを既に説明したラウンド1
−11のVSS処理を用いて、確認可能な分散を行う。
【0061】(ラウンド42−47)既に説明したラウ
ンド22ー27の分散加算処理により、正しく分散され
た秘密R(i)をi=1,・・・,n に対して秘密に加え合わせ、そ
の結果をRとし、その部分情報をR_i とする。
【0062】この秘密の乱数R_i は、秘密情報X及びY
から構成される2つの多項式の積をランダム化するため
に用いる。
【0063】また、乗算確認処理は、図25に示すよう
に、加入者iが秘密に配られた第1部分情報 x(i) とy
(i)から積x(i)y(i)を計算して、x(i),y(i),x(i)y(i)に
第2部分情報,検査情報,検査乱数を付加して分散し、
全ての加入者により、積x(i)y(i)が正しく分散されてい
ることを確認する処理を行うものである。もし、加入者
jが正しくx(j)y(j)を分散していないならば、他の加入
者によってx(j)とy(j)の値が復元される。
【0064】以下に、D. Beaver, "Secure Multiparty
Protocols and Zero-Knowledge Proof Systems Tolerat
ing a Faulty Minority", Journal of Cryptology, 199
1, 4, pp. 75-122) によって示された従来の乗算確認処
理を具体的に説明する。ず26は、その手順を示す。た
だし、x(i), y(i), x(i)y(i)は全加入者間で確認可能で
あり、秘密に分散されているとする。
【0065】(ラウンド51−61)各加入者iは、4
k個の乱数 R(i,j), S(i,j)(j=1,・・・,2k) を生成し、次
のようなD(i,j)を計算する。
【0066】D(i,j)=(x(i)+R(i,j))(y(i)+S(i,j)) そして、x(i), y(i), x(i)y(i), R(i,j), S(i,j), D(i,
j)(j=1,・・・,2k)の値をラウンド1−11のVSSを用い
て確認可能な分散を行う。
【0067】(ラウンド62−78)このVSS処理と
同時に、図23に説明した乱数生成処理を利用すること
によって、1,・・・,2kの中から、共同で2k個の秘密の乱
数j_l(1),・・・,j_l(2k)を生成する。
【0068】(ラウンド79−80)図15、16につ
きラウンド10ー11として説明した秘密復元処理を用
いて、o=1,・・・,2kに対して、生成した秘密の乱数j_l(o)
を復元する。
【0069】生成された秘密の乱数j=j_l(1),・・・,j_l(2
k)の最初の異なるk個(j_l1,・・・,j_lk) に対して、以下
に示す処理を行う。
【0070】(ラウンド81−86)全加入者により行
われる線形結合処理(図27につき後述する)で、次の
A(i,j)とB(i,j)を計算する。
【0071】A(i,j) = x(i) + R(i,j) B(i,j) = y(i) + S(i,j) (ラウンド87−88)全加入者によって、前述の秘密
復元処理が行われ、A(i,j), B(i,j), D(i,j)が復元され
る。各加入者jは、A(i,j)B(i,j)=D(i,j) を満足するか
どうかを確かめる。満足しなければ、加入者iが失格で
あるというメッセージを放送する。
【0072】秘密の乱数j=j_l(1),・・・,j_l(2k)の残りの
k個(j_l1,・・・,j_lk 以外)に対して、以下に示す処理
を行う。
【0073】(ラウンド89−90)ラウンド1−11
で確認可能に分散されたR(i,j)とS(i,j)を、前述の秘密
復元処理により復元する。
【0074】(ラウンド91−96)次のC(i,j)を秘密
に計算する。
【0075】C(i,j)= x(i)y(i)- D(i,j)+ x(i)S(i,j)+
y(i)R(i,j)+ R(i,j)S(i,j) (ラウンド97−98)C(i,j)を復元する。各加入者j
はC(i,j)=0を満足するかどうかを確かめる。満足しなけ
れば、加入者iが失格であるというメッセージを放送す
る。
【0076】(後処理)もし、加入者iの失格のメッセ
ージがt個以上放送されるならば、他の加入者により、
秘密x(i)y(i)が復元される。
【0077】次に、図27につき、線形結合処理を説明
する。部分情報の積は全てのiに対して、秘密に分散さ
れたx(i)y(i)とR(i)を次のように線形結合することによ
って得られる。
【0078】z(i) = Sum_j(a(i,j)(x(i)y(i))) + Sum_j
((j・a(i,j))R(j)) a(i,u) = Prod_l((u-l)/(i-l)) mod ut+1 ただし、Sum_j(f(j)) はj=1,・・・,n に対する全てのf(j)
の総和を意味し、Prod_l(f(l))はl=1,・・・,n に対する全
てのf(l)の積を意味する。
【0079】この場合、a(i,j)及びj・a(i,j)は部分情報
でなく、i,j によって定まる値であるので、これらの値
と部分情報x(i)y(i)やR(j)との乗算、及びSum_j(a(i,j)
(x(i)y(i))) とSum_j((j・a(i,j))R(j)) の演算は通常の
演算によって実現される。よって、図27の線形結合処
理の内部処理は、図19と同型の処理によって実現され
る。
【0080】
【発明が解決しようとしている課題】図22につき上述
した従来の分散乗算方法において、最も重要な処理は分
散積x(i)y(i)が正しいかどうかを確認する、図26につ
き説明した乗算確認処理である。この処理は Cut and C
hoose 技術によって、部分処理としてのVSS処理をk
のオーダーの回数行なっている。ところで、図18につ
き説明したように、1つのVSS処理もまた、 Cut and
Choose 技術を利用して、部分処理としてのWVSS処
理をkのオーダーの回数を行う。よって、従来の分散乗
算方式の計算量と通信量は、 Cut and Choose 技術につ
いて、k2のオーダーとなることがわかる。ここで、k
は、正しい分散が行なわれているか否かの判定におい
て、この判定に誤りが生じる確率2-kを規定するもので
あり、この判定に高い信頼性を与えるには、kは100
程度の大きさが必要であり、計算量と通信量は104 のオ
ーダーを必要としていた。
【0081】そこで、本発明は、秘密に分散乗算を実行
する分散乗算方法において、従来と同一の信頼性で、計
算量と通信量がはるかに少なくて済む方法を提供するこ
とを目的とする。
【0082】
【課題を解決するための手段】秘密に分散乗算を実行す
るために、より効率的で計算量と通信量の少なくて済む
分散乗算方法を構成するために、その Cut and Choose
処理を一段階だけに減らし、必要な計算量と通信量はk
のオーダになるような方式を提案する。
【0083】上述の課題を解決するために、本発明の分
散演算方法によれば、複数の情報処理装置を有し、各装
置が、個別の装置間で他の装置には秘密に情報の通信を
行なうための秘密通信路と、各装置から他の全ての装置
へ共通に情報の送信を行なうための放送通信路とを介し
て接続された通信システムにおいて、2つの異なる元X
とYとの乗算を、複数の前記装置により、該装置に前記
元の値を秘密にしたまま分散して行なう分散演算方法に
おいて、前記秘密通信路を介して、前記各装置に、前記
元XおよびYの部分情報を秘密に分配し、各装置iが、
他の前記各装置に、前記装置i固有の秘密の元R(i) の
部分情報を秘密に分配し、前記各装置に分配された前記
部分情報を利用して、乗算R(i) Yを前記各装置で分散
して実行し、全ての各装置iについて、前記R(i) の和
R、及び前記R(i) Yの和RYを、前記各装置による分
散加算により求め、前記各装置による分散加算により、
U=X−Rを実行し、全ての前記装置により、前記Uを
復元し、前記各装置により、前記Uを復元したuを用い
て、求めるXとYとの乗算の結果XYとして、線形結合
XY=RY−uYを分散して計算することを特徴とす
る。
【0084】上述の課題を解決するために、本発明の通
信システムは、複数の情報処理装置と、前記装置の各々
が、個別の装置間で他の装置には秘密に情報の通信を行
なうための秘密通信路と、前記装置の各々から他の全て
の装置へ共通に情報の送信を行なうための放送通信路と
を有し、2つの異なる元XとYとの乗算を、前記秘密通
信路を介して、前記各装置に、前記元XおよびYの部分
情報を秘密に分配し、各装置iが、他の前記各装置に、
前記装置i固有の秘密の元R(i) の部分情報を秘密に分
配し、前記各装置に分配された前記部分情報を利用し
て、乗算R(i) Yを前記各装置で分散して実行し、全て
の各装置iについて、前記R(i) の和R、及び前記R
(i) Yの和RYを、前記各装置による分散加算により求
め、前記各装置による分散加算により、U=X−Rを実
行し、全ての前記装置により、前記Uを復元し、前記各
装置により、前記Uを復元したuを用いて、求めるXと
Yとの乗算の結果XYとして、線形結合XY=RY−u
Yを分散して計算することを特徴とする。
【0085】上述の課題を解決するために、本発明の情
報処理装置は、個別の装置間で他の装置には秘密に情報
の通信を行なうための秘密通信路と、他の全ての装置と
共通に情報通信を行なうための放送通信路とを介して、
複数の他の装置と接続された情報処理装置であって、2
つの異なる元XとYとの乗算を前記他の装置と共同で実
行するために、前記秘密通信路を介して、前記元Xおよ
びYの部分情報を秘密に受信し、前記秘密通信路を介し
て、他の前記装置に、自装置固有の秘密の元の部分情報
を秘密に分配し、前記秘密通信路を介して、他の前記装
置iから、装置i固有の秘密の元の部分情報を秘密に受
信し、受信した前記部分情報を利用して、乗算R(i) Y
を他の装置とともに各装置に分散して実行し、全ての各
装置iについて、前記R(i) の和R、及び前記R(i) Y
の和RYを、他の装置とともに各装置による分散加算に
より求め、他の装置とともに各装置による分散加算によ
り、U=X−Rを実行し、他の装置とともに、前記Uを
復元し、他の装置とともに、前記Uを復元したuを用い
て、求めるXとYとの乗算の結果XYとして、線形結合
XY=RY−uYを各装置に分散して計算することを特
徴とする。
【0086】
【作用】本発明によれば、2つの異なる元XとYとの乗
算を行なうために、前記秘密通信路を介して、前記各装
置に、前記元XおよびYの部分情報を秘密に分配し、各
装置iが、他の前記各装置に、前記装置i固有の秘密の
元R(i) の部分情報を秘密に分配し、前記各装置に分配
された前記部分情報を利用して、乗算R(i) Yを前記各
装置で分散して実行し、全ての各装置iについて、前記
R(i) の和R、及び前記R(i) Yの和RYを、前記各装
置による分散加算により求め、前記各装置による分散加
算により、U=X−Rを実行し、全ての前記装置によ
り、前記Uを復元し、前記各装置により、前記Uを復元
したuを用いて、求めるXとYとの乗算の結果XYとし
て、線形結合XY=RY−uYを分散して計算する。
【0087】
【実施例】以下、図面を参照しながら、本発明の実施例
を説明する。
【0088】以下では、与えられた有限体F上で、分散
乗算を実行する方法を説明する。
【0089】図1は、本実施例の分散乗算を実現するた
めの通信システムの構成を示す図である。同図におい
て、11は、システムの各加入者の利用する情報処理装
置である。以下の説明では、各装置とそれを利用する各
加入者とを同一視して、加入者と呼ぶことにする。12
は、全ての加入者に情報を公開することができる放送型
通信路であり、13は、各加入者毎に秘密の通信を行う
ことができる秘密通信路である。
【0090】図2は、情報処理装置11のブロック構成
を示す図である。同図において、21は、放送型通信路
12または秘密通信路13により他の装置と通信を行な
うための通信部である。22は、演算処理部であり、記
憶部24のプログラムに従って、演算や判定の処理を行
なうとともに、装置各部を制御する。23は、例えば疑
似乱数発生器のような乱数発生部である。24は、演算
処理部22が実行すべきプログラムや、処理の過程で生
成される情報や、他の装置から受信した情報、各種パラ
メータなどを記憶するための記憶部である。
【0091】複数の加入者による分散乗算は、以下のよ
うにして実行される。
【0092】まず、乗算の対象となる有限体F上の秘密
の2つの元X、Yを各加入者に、確認可能に分散させ
る。
【0093】確認可能に分散された2つの有限体F上の
秘密の元X、Yの秘密積Z=XYを安全に計算するため
に、本実施例では、まずWVSS処理(例えば、図12
につき上述した従来のWVSS処理)を用いて、次のよ
うに、各加入者iが、ランダムに選ばれた秘密Rを確認
可能に分散させながら、その秘密Rと以前分散されたY
の分散された積RYを安全に計算する。この処理をPVS
S(Product and Verifiable Secret Sharing) と呼ぶこ
ととし、図5を用いて説明する。
【0094】(ラウンド101−107)秘密の元R を
もつ加入者iは、WVSS処理を用いてR から部分情報
を生成する。そして、有限体F上の元をランダムにkn個
(nは全加入者の数であり、kは安全性を表すパラメー
タである)選び、同様にWVSSを用いてそれらの部分
情報を生成する。このランダムに選ばれた元を各々、L
1,・・・,Lknと表す。
【0095】(ラウンド108−114)各加入者j
は、秘密R とL1,・・・,Lknの第1部分情報(各々R(j), L1
(j),・・・,Lkn(j)と表す)を受け取り、秘密情報Y の第1
部分情報Y(l)をもつ加入者jは、積 R(j)Y(j), L1(j)Y
(j),・・・,Lkn(j)Y(j) を計算し、これらの積からWVS
Sを用いてさらに部分情報を生成し分散する。
【0096】(ラウンド115)各加入者は、1ビット
の乱数をk個選び、各1ビットに1,・・・,knのうち互いに
異なるk個の値を与えることにより、乱数に対して番号
を付ける(例えば、n人の全加入者が1,・・・,nkの値を順
にとっていってもよい)。このようにして得られた値m
(m=1,・・・,kn)に対する1ビットを、Bmと呼ぶ。
【0097】(ラウンド116)加入者i は、ラウンド
101−107で選ばれたランダムな元L1,・・・,Lknの全
てに対して、各加入者jから放送されたビットBmが0か
1に応じて、Lmか(R+Lm)かのどちらかから生成された第
1部分情報及び第2部分情報を決定するために必要な全
ての情報(Lm)_ または(R+Lm)_ を放送する。
【0098】(ラウンド117−118)各加入者l
は、ラウンド15で残りの加入者から放送されたビット
Bm(m=1,・・・,kn)に応じてLmの第1部分情報Lm(l) 及び第
2部分情報Lm(l,j)(j=1,・・・,n)または(R+Lm)の第1部分
情報(R(l)+Lm(l))及び第2部分情報(R(l,j)+Lm(l,j))(j
=1,・・・,n) を放送する。
【0099】(ラウンド119)全てのl=1,・・・,n と全
てのランダムな元L1,・・・,Lknに対して、ラウンド116
で加入者iによって放送された情報(Lm)_ または(R+Lm)
_ がラウンド117−118で残りの参加者から放送さ
れた第1及び第2部分情報を正しく決定するかどうかを
確認する。もし、t以上の部分情報が、どのようなmに
対してもラウンド116で放送された情報に対する部分
情報でないならば、秘密Rが正しく分散されていないと
決定する。
【0100】更に、全てのl=1,・・・,n に対して、(Lm
(l))-1(Lm(l)Y(l))-Y(l) か(R(l)+Lm(l))-1(R(l)Y(l)+L
m(l)Y(l))-Y(l) かのどちらかから生成された第1部分
情報及び第2部分情報を決定するために必要な全ての情
報 (Lm(l))-1(Lm(l)Y(l))_-(Y(l))_ または (R(l)+Lm(l))-1((R(l)Y(l))_+(Lm(l)Y(l))_)-(Y(l))_ を放送する。
【0101】(ラウンド120−121)全てのl=1,・・
・,n に対して、各加入者jは、ラウンド115で全ての
加入者から放送されたビットBm(m=1,・・・,kn)に応じて (Lm(l))-1(Lm(l)Y(l))-Y(l) の第1部分情報 (Lm(l))-1(Lm(l)Y(l))(j)-(Y(l))(j) 及び第2部分情報 (Lm(l))-1(Lm(l)Y(l))(j,o)-(Y(l))(j,o)(o=1,・・・,n) または (R(l)+Lm(l))-1(R(l)Y(l)+Lm(l)Y(l))-Y(l) の第1部分情報 (R(l)+Lm(l))-1((R(l)Y(l))(j)+(Lm(l)Y(l))(j))-(Y
(l))(j) 及び第2部分情報 (R(l)+Lm(l))-1((R(l)Y(l))(j,o)+(Lm(l)Y(l))(j,o))-
(Y(l))(j,o)(o=1,・・・,n) を放送する。
【0102】(後処理)全てのl=1,・・・,n と全てのラン
ダムな元L1,・・・,Lknに対して、全加入者jは、ラウンド
119で加入者iによって放送された情報がラウンド1
20ー121で残りの参加者から放送された第1及び第
2部分情報を正しく決定するかどうかを確認し、それら
の秘密値が0になることを確認する。もし、t以上の部
分情報がどのようなjに対してもラウンド119で放送
された情報に対する部分情報でないならば、あるいは放
送された情報に対する秘密の値が0でないならば、R(l)
Y(l)が正しく分散されていないと決定し、全加入者によ
ってR(l)とY(l)が復元される。正しく分散され、または
復元されたR(i)Y(i)より、図27につき説明したZ(i)の
計算と同様に、RYが分散して求められる。ただし、RYは
既に乱数を含んでいるので、Z(i)の計算における第2項
は必要ではない。
【0103】以上の処理を行うことによって、ある加入
者iがランダムに選んだF上の秘密の元Rは、確認可能
な形で分散が行われながら、同時にその秘密の元Rと以
前に確認可能に分散された秘密Yとの積RYが計算され
る。
【0104】次に、上述の処理を利用して、2つの分散
されている秘密の元XとYの乗算を行なう方法について
のべる。これを図3、4に示す。
【0105】(ラウンド201−221)各加入者iが
ランダムにF上の元R(i)を選択し、上述の処理によって
確認可能な分散を行いながらR(i)Y を同時に計算する。
【0106】(ラウンド222−227)正しく確認可
能な分散が行われている全ての加入者jl(l=1,・・・,m) に
関して、秘密の加算R = R(j1)+R(j2)+・・.+R(jm) と RY
= R(j1)Y+R(j2)Y+・・・+R(jm)Yが図9で説明した分散加算
によって計算される。
【0107】(ラウンド228−233)秘密の加算U
=X−Rが分散加算される。
【0108】(ラウンド234−235)全ての加入者
によって、秘密Uが復元される。復元された値をuと呼
ぶ。
【0109】(ラウンド236−241)秘密の線形結
合Z=RY−uY=XYが分散計算される。
【0110】〔他の実施例〕実施例1に示されたシステ
ムは与えられた有限体F上での分散された線形結合や乗
算を実行する手段を与える。
【0111】ここで、有限体FをGF( 2p)とし、秘密
情報XとYを0か1かの1ビット情報とすると、GF(
p)上の分散された加算は入力XとYに対するXOR回
路をなる。そして、本発明によるGF( 2p)上の分散乗
算は入力XとYに対するAND回路として実現すること
ができる。よって、XとYを複数ビットからなる2つの
数を構成する1ビットであると考えると、このXOR回
路とAND回路を複数用いることにより、有限体に限ら
ない通常の演算回路が実現できる。すなわち、このXO
R回路とAND回路により種々の論理回路が構成できる
ことは明かである。よって、直接に演算を実行できず、
入力を秘密にしたまま計算結果を得たい場合にはこのよ
うな回路は有用である。
【0112】1例として、図16(a) に1ビットの入力
a,b,c,d に対してx=(a・b)・(c+d) を計算する従来のAN
DとXORからなる回路を示す。この入力を秘密にした
い場合、図16(b) に示すようにこの1ビット入力を分
散したa_i,b_i,c_i,d_i(i=1,・・・,n)に対して本発明によ
る分散乗算処理(AND)と分散加算処理(XOR)を
実現する回路によって、同様の演算を秘密に行うことが
できる。このAND回路やXOR回路はメモリをもつC
PU等によっても実現することができることは明らかで
ある。
【0113】以上のように、図4において、本実施例で
は、図6のPVSS内においてWVSSを部分処理とし
た Cut and Choose 技術を1度用いているだけで分散乗
算を実現することができる。それに対して、図21、2
2に示す従来の分散乗算方式は、乗算確認処理において
VSSを部分処理とする Cut and Choose と、そのVS
S内においてWVSSを部分処理とする Cut and Choos
e を用いている。
【0114】ここで、1度の Cut and Choose に対して
k回の部分処理を行うとすると、従来方式の計算量及び
通信量はk2のオーダーになるが、本発明による分散乗算
方式の計算量及び通信量はkのオーダーとなる。kは正
しい分散が行われているかの判定において、許容できる
判定の誤り確率2-k から決まり、kが100程度の数で
あればその判定は高い確率で信頼できる。
【0115】よって、この場合、従来方式に比べて10
0倍の計算量と通信量の改善が行える。
【0116】
【発明の効果】以上説明したように、本発明によれば、
従来方式に比べて、計算量と通信量とを飛躍的に低減さ
せることができる。
【0117】これにより、通信量が少なくて済むことに
よって、通信システムのトラフィックや通信料金等が改
善され、更に、計算量が少なくて済むことによって処理
が高速化されるという効果を奏する。
【図面の簡単な説明】
【図1】本発明に係る分散乗算を実行する通信システム
を示す図である。
【図2】本発明に係る情報処理装置のブロック構成を示
す図である。
【図3】本発明に係る分散乗算処理を説明する図であ
る。
【図4】本発明に係る分散乗算処理の手順を示す図であ
る。
【図5】本発明に係るPVSS処理を説明する図であ
る。
【図6】本発明に係るPVSS処理の手順を示す図であ
る。
【図7】他の実施例に係る論理回路を示す図である。
【図8】他の実施例に係る分散処理を説明する図であ
る。
【図9】VSS処理を説明する図である。
【図10】復元処理を説明する図である。
【図11】WVSS処理を説明する図である。
【図12】WVSS処理の手順を示す図である。
【図13】検査情報確認処理を説明する図である。
【図14】検査情報確認処理の手順を示す図である。
【図15】復元処理を説明する図である。
【図16】復元処理の手順を示す図である。
【図17】VSS処理の手順を示す図である。
【図18】VSS処理を説明する図である。
【図19】分散加算処理の手順を示す図である。
【図20】分散加算処理を説明する図である。
【図21】乗算処理の手順を示す図である。
【図22】乗算処理を説明する図である。
【図23】乱数生成処理の手順を示す図である。
【図24】乱数生成処理を説明する図である。
【図25】乗算確認処理の手順を示す図である。
【図26】乗算確認処理を説明する図である。
【図27】線形結合処理を説明する図である。
【符号の説明】
11 情報処理装置 12 放送通信路 13 秘密通信路 21 通信部 22 演算処理部 23 乱数発生部 24 記憶部
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 7/52 G06F 15/163 G09C 1/00 660 H04K 1/00

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の情報処理装置を有し、各装置が、
    個別の装置間で他の装置には秘密に情報の通信を行なう
    ための秘密通信路と、各装置から他の全ての装置へ共通
    に情報の送信を行なうための放送通信路とを介して接続
    された通信システムにおいて、2つの異なる元XとYと
    の乗算を、複数の前記装置により、該装置に前記元の値
    を秘密にしたまま分散して行なう分散演算方法におい
    て、 前記秘密通信路を介して、前記各装置に、前記元Xおよ
    びYの部分情報を秘密に分配し、 各装置iが、他の前記各装置に、前記装置i固有の秘密
    の元R(i) の部分情報を秘密に分配し、 前記各装置に分配された前記部分情報を利用して、乗算
    R(i) Yを前記各装置で分散して実行し、 全ての各装置iについて、前記R(i) の和R、及び前記
    R(i) Yの和RYを、前記各装置による分散加算により
    求め、 前記各装置による分散加算により、U=X−Rを実行
    し、 全ての前記装置により、前記Uを復元し、 前記各装置により、前記Uを復元したuを用いて、求め
    るXとYとの乗算の結果XYとして、線形結合XY=R
    Y−uYを分散して計算することを特徴とする分散演算
    方法。
  2. 【請求項2】 前記元を有限体上の元とし、前記乗算な
    いし加算を有限体上の演算とすることを特徴とする請求
    項1記載の分散演算方法。
  3. 【請求項3】 複数の情報処理装置と、 前記装置の各々が、個別の装置間で他の装置には秘密に
    情報の通信を行なうための秘密通信路と、 前記装置の各々から他の全ての装置へ共通に情報の送信
    を行なうための放送通信路とを有し、2つの異なる元X
    とYとの乗算を、 前記秘密通信路を介して、前記各装置に、前記元Xおよ
    びYの部分情報を秘密に分配し、 各装置iが、他の前記各装置に、前記装置i固有の秘密
    の元R(i) の部分情報を秘密に分配し、 前記各装置に分配された前記部分情報を利用して、乗算
    R(i) Yを前記各装置で分散して実行し、 全ての各装置iについて、前記R(i) の和R、及び前記
    R(i) Yの和RYを、前記各装置による分散加算により
    求め、 前記各装置による分散加算により、U=X−Rを実行
    し、 全ての前記装置により、前記Uを復元し、 前記各装置により、前記Uを復元したuを用いて、求め
    るXとYとの乗算の結果XYとして、線形結合XY=R
    Y−uYを分散して計算することを特徴とする通信シス
    テム。
  4. 【請求項4】 前記元を有限体上の元とし、前記乗算な
    いし加算を有限体上の演算とすることを特徴とする請求
    項3記載の通信システム。
  5. 【請求項5】 個別の装置間で他の装置には秘密に情報
    の通信を行なうための秘密通信路と、他の全ての装置と
    共通に情報通信を行なうための放送通信路とを介して、
    複数の他の装置と接続された情報処理装置であって、 2つの異なる元XとYとの乗算を前記他の装置と共同で
    実行するために、 前記秘密通信路を介して、前記元XおよびYの部分情報
    を秘密に受信し、 前記秘密通信路を介して、他の前記装置に、自装置固有
    の秘密の元の部分情報を秘密に分配し、 前記秘密通信路を介して、他の前記装置iから、装置i
    固有の秘密の元の部分情報を秘密に受信し、 受信した前記部分情報を利用して、乗算R(i) Yを他の
    装置とともに各装置に分散して実行し、 全ての各装置iについて、前記R(i) の和R、及び前記
    R(i) Yの和RYを、他の装置とともに各装置による分
    散加算により求め、 他の装置とともに各装置による分散加算により、U=X
    −Rを実行し、 他の装置とともに、前記Uを復元し、 他の装置とともに、前記Uを復元したuを用いて、求め
    るXとYとの乗算の結果XYとして、線形結合XY=R
    Y−uYを各装置に分散して計算することを特徴とする
    情報処理装置。
  6. 【請求項6】 前記元を有限体上の元とし、前記乗算な
    いし加算を有限体上の演算とすることを特徴とする請求
    項5記載の情報処理装置。
JP00703794A 1994-01-26 1994-01-26 複数の情報処理装置を有する通信システムにおける分散演算方法及びその通信システム、及びその情報処理装置 Expired - Fee Related JP3466688B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00703794A JP3466688B2 (ja) 1994-01-26 1994-01-26 複数の情報処理装置を有する通信システムにおける分散演算方法及びその通信システム、及びその情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00703794A JP3466688B2 (ja) 1994-01-26 1994-01-26 複数の情報処理装置を有する通信システムにおける分散演算方法及びその通信システム、及びその情報処理装置

Publications (2)

Publication Number Publication Date
JPH07210370A JPH07210370A (ja) 1995-08-11
JP3466688B2 true JP3466688B2 (ja) 2003-11-17

Family

ID=11654850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00703794A Expired - Fee Related JP3466688B2 (ja) 1994-01-26 1994-01-26 複数の情報処理装置を有する通信システムにおける分散演算方法及びその通信システム、及びその情報処理装置

Country Status (1)

Country Link
JP (1) JP3466688B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4883619B2 (ja) * 2006-07-14 2012-02-22 株式会社日立ソリューションズ 秘密分散情報処理システム

Also Published As

Publication number Publication date
JPH07210370A (ja) 1995-08-11

Similar Documents

Publication Publication Date Title
CN109255247B (zh) 多方安全计算方法及装置、电子设备
CN109359470B (zh) 多方安全计算方法及装置、电子设备
US11316676B2 (en) Quantum-proof multiparty key exchange system, quantum-proof multiparty terminal device, quantum-proof multiparty key exchange method, program, and recording medium
CA2154970C (en) Method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information procesing apparatuses and a communication system that employs such a method
US20240064008A1 (en) Computer implemented method and system for transferring control of a digital asset
US8290161B2 (en) Incorporating shared randomness into distributed cryptography
KR100570133B1 (ko) 잠재적 비동기식 네트워크에서 비밀을 검증 가능하게 공유하는 방법 및 장치, 컴퓨터로 판독 가능한 기록 매체
JP2021510954A (ja) デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム
US20210119770A1 (en) Blockchain Network and Establishment Method Therefor
Chaum The Spymasters Double-Agent Problem: Multiparty Computation Secure Unconditionally from Minorities and Cryptographically from Majorities
Ganjavi et al. Edge-assisted public key homomorphic encryption for preserving privacy in mobile crowdsensing
CN110796448A (zh) 基于区块链的智能合约验证方法、参与节点及介质
CN113807537A (zh) 多源数据的数据处理方法、装置及电子设备、存储介质
CN110401524B (zh) 一种借助同态加密的包含秘密的数的协同生成方法及系统
JP3466688B2 (ja) 複数の情報処理装置を有する通信システムにおける分散演算方法及びその通信システム、及びその情報処理装置
CN113268749B (zh) 投标信息的处理方法及模块、电子设备
CN113268777B (zh) 基于区块链的投标信息的处理方法及模块、电子设备
CN115765985A (zh) 用于多方安全计算的处理方法及装置
JP3604737B2 (ja) 複数の情報処理装置を有する通信システムにおける秘密情報処理方法及びその通信システム
CN113114470A (zh) 群组的签名方法和装置、电子设备和存储介质
Chen et al. Key distribution without individual trusted authentification servers
Basu et al. Cryptosystem for Secret Sharing Scheme with Hierarchical Groups.
JP3610106B2 (ja) 複数の装置を有する通信システムにおける認証方法
CN110837633B (zh) 智能凭证实现方法、系统及可读存储介质
Sakuraii et al. A key escrow system with protecting user's privacy by blind decoding

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030805

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070829

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080829

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080829

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090829

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090829

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees