JP3328597B2 - Distributed multiplication apparatus and program recording medium therefor - Google Patents

Distributed multiplication apparatus and program recording medium therefor

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
Application number
JP01541099A
Other languages
Japanese (ja)
Other versions
JP2000214774A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP01541099A priority Critical patent/JP3328597B2/en
Publication of JP2000214774A publication Critical patent/JP2000214774A/en
Application granted granted Critical
Publication of JP3328597B2 publication Critical patent/JP3328597B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、電気通信システ
ムで通信を行う複数のプロセッサが協調して計算を行う
協調計算装置、特に、複数の秘密の入力値をどの他のプ
ロセッサにも知られることなく、それらの積を出力する
協調分散乗算装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a cooperative computing device in which a plurality of processors communicating in a telecommunication system perform calculations in cooperation with each other, and in particular, a plurality of secret input values are known to any other processor. And a cooperative distributed multiplication device that outputs their product.

【0002】[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次の多項式による分散秘
密値を得ることができる。
2. Description of the Related Art A method in which a plurality of processors have distributed secret input values and calculate a certain function without revealing the values to each other is called a multi-perfection protocol. Tatsuaki Okamoto, Hirosuke Yamamoto: Modern cryptography (industrial book, 1
997), p227. When the function to be calculated is addition, it is relatively easy to realize. That is, secret A is t
Is secret sharing by the following polynomial A (X) = A + a1X + ... + atX t, each processor Pi is distributed secret value A (w
i), and similarly, the secret B is a polynomial B (X) =
Is secret sharing by B + b1X + ... + btX t , if each processor Pi is assumed to have a distributed secret value B (wi), C (X ): = A (X) + B (X) = (A + B) +
(A1 + b1) X + ... + (at + bt) Since X t is established, each processor Pi is simply the A (wi) B (wi)
, A value equal to C (wi) can be obtained, and therefore, a shared secret value by the t-th order polynomial of A + B can be obtained.

【0003】一方、乗算の場合、各プロセッサが保持す
る分散秘密値の積A(wi)・B(wi)は、2t次の
多項式A(X)・B(X)によるA・Bの分散秘密値と
なり、秘密を復元するには、2t+1個の正しい分散秘
密値が必要となる。従って、分散乗算を行う都度、復元
に必要な分散秘密値の数はt個ずつ増加してしまい、プ
ロセッサの数nを越えると、秘密の復元が不可能とな
る。
On the other hand, in the case of multiplication, the product A (wi) · B (wi) of the shared secret value held by each processor is the shared secret of A · B by a 2t-order polynomial A (X) · B (X). In order to recover the secret, 2t + 1 correct shared secret values are required. Therefore, each time the distributed multiplication is performed, the number of shared secret values required for restoration increases by t, and if the number of processors exceeds n, the restoration of secrets becomes impossible.

【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なる演算を実行するという方法が
用いられていた。
As a method for solving this problem, reference Ben
-Or, Goldwasser, Wigderson: “Completeness Theorem
s for non-cryptographic fault-tolerant distributed
computation ”, by STOC'88, pp.1-10, 1988
There is a method called e Reduction. In this method, 2t
Vector I = (A (w1) · B (w1), A (w2) · B of product of shared secret values of the following polynomials A (X) · B (X)
By the linear combination of (w2),..., A (wn) · B (wn)), the coefficients from the 0th to tth order are A (X) · B (X)
, C (w2),..., C (w
n)) can be expressed. That is, utilizing the fact that an n × n constant vector H exists and W = HI, all the processors cooperate to execute the operation HI while guaranteeing the correctness of the input value. The method of executing was used.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、この方
法においては、各プロセッサが正しく動作していること
を保証しながら計算を進めるために、各プロセッサがそ
の分散秘密値をさらに分散し、その分散された分散秘密
値を用いて、BCH符号のチェックベクトルを計算する
という複雑な手順が必要であった。
However, in this method, in order to proceed with the calculation while assuring that each processor is operating correctly, each processor further distributes its shared secret value, and A complicated procedure of calculating the check vector of the BCH code using the shared secret value is required.

【0006】[0006]

【課題を解決するための手段】この発明では、2t次の
多項式A(X)・B(X)と、t次の多項式C(X)を
それぞれ用いた二つの検証可能秘密分散が行われたと
き、A(X)・B(X)とC(X)の定数項が等しいこ
とを容易に確認できる手段を提供できるような検証可能
秘密分散方法を用いることによって、各プロセッサから
の入力値が正しいか否かを容易に検証可能とし、通信
量、計算量の少ない分散乗算装置を構成する。
According to the present invention, two verifiable secret sharing using a 2t-order polynomial A (X) .B (X) and a t-order polynomial C (X) are performed. At this time, by using a verifiable secret sharing method that can provide a means for easily confirming that the constant terms of A (X) · B (X) and C (X) are equal, the input value from each processor is Whether it is correct or not can be easily verified, and a distributed multiplication device with a small amount of communication and a small amount of calculation is configured.

【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)を分散する。
The processor Pi uses shared secret values A (wi) and B (wi) as t-order polynomials Ai (X) and Bi (X) with A (wi) and B (wi) as constant terms, respectively. Each processor Pj is distributed so as to have Ai (wj) and Bi (wj) by a verifiable secret sharing method. Next, Pi is a 2t-order polynomial ABi (X) = Ai
Ai (wi) · B (wi) is distributed by a verifiable secret sharing method using (X) · Bi (X).

【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)に等しい。
Each processor Pj has already held A
The product of i (wj) and Bi (wj) is the point A on ABi (X)
Verify that it is equal to Bi (wj). That is, ABi
It is verified that (wj) = Ai (wj) · Bi (wj). If not, notify all other processors of the failure. Here, if the number of rejection notifications is t or less, the 2t-order polynomial ABi (X) is a curve Ai (X) · Bi at least 2t + 1 points wj.
(X), and such a 2t-order curve ABi (X) eventually becomes a curve Ai at all points.
(X) · Bi (X), the secret distributed using ABi (X), that is, the constant term of ABi (X) is the constant term of Ai (X) · Bi (X), that is, A (wi). ) ・
B (wi).

【0009】つづいて、Piは定数項をA(wi)・B
(wi)とするt次のランダム多項式Ci(X)を用い
る検証可能秘密分散方法によって各プロセッサPjがC
i(wj)を持つように分散する。ここで用いる秘密分
散方法は、2t次の多項式ABi(X)と、t次の多項
式Ci(X)の定数項が等しいことを容易に検証する手
段を提供するので、各プロセッサはこれを確認する。
Subsequently, Pi represents a constant term as A (wi) · B
(Wi), each processor Pj uses a verifiable secret sharing method using a t-order random polynomial Ci (X).
Distributed so as to have i (wj). Since the secret sharing method used here provides a means for easily verifying that the constant term of the 2t-order polynomial ABi (X) is equal to the constant term of the t-order polynomial Ci (X), each processor confirms this. .

【0010】このような手段を提供する検証可能秘密分
散方法には、例えば、Pedersenによる方法や、
Feldmannによる方法がある。Pedersen
の方法によれば、検証可能秘密分散に用いる多項式の各
係数はビットコミットメント関数により、それぞれコミ
ットされた後、公開される。同様に、Feldmann
の方法によれば、多項式の各係数はそれぞれ暗号化され
た後、公開される。従って、各プロセッサは定数項に対
する公開されたコミット値あるいは暗号化された値が、
A(wi)・B(wi)とCi(wj)で等しいことを
確認することにより、この検証が可能である。
[0010] Verifiable secret sharing methods that provide such means include, for example, the method by Pedersen,
There is a method by Feldmann. Pedersen
According to the method, each coefficient of the polynomial used for the verifiable secret sharing is released after being committed by the bit commitment function. Similarly, Feldmann
According to the method, each coefficient of the polynomial is encrypted and then made public. Thus, each processor has a public commit or encrypted value for the constant term,
This verification is possible by confirming that A (wi) · B (wi) is equal to Ci (wj).

【0011】上述の各分散処理は並列に行ってもよく、
各検証も並列につまり同時的にまとめて行ってもよい。
上記いずれかの検証に不合格となった場合は不合格であ
ることを公開する。上記手順を全てのプロセッサPiに
ついて実行し、各プロセッサは、少なくとも2t+1個
のプロセッサが合格と判断したiについて、Ci(w
j)を正しい値と見なす。この合格と判断されたプロセ
ッサのインデックスiの集合をαとすると、2t+1個
以上が正しければ、|α|≧2t+1となる。
Each of the above-mentioned distributed processes may be performed in parallel.
Each verification may be performed in parallel, that is, simultaneously.
If any of the above verifications fail, the results will be disclosed. The above procedure is executed for all processors Pi, and each processor determines Ci (w) for at least 2t + 1 processors determined to be acceptable.
j) is considered a correct value. Assuming that a set of indices i of the processors determined to be passed is α, if 2t + 1 or more are correct, | α | ≧ 2t + 1.

【0012】最後に、各プロセッサPjは正しいCi
(wj)を多項式補間により補間する。すなわち、La
grange補間係数を
Finally, each processor Pj has a correct Ci.
(Wj) is interpolated by polynomial interpolation. That is, La
change the gradient interpolation coefficient

【0013】[0013]

【数1】 を計算し、その結果をPjが保持するA・Bの分散秘密
値とする。その値をCjとすると、正しいCjを持つプ
ロセッサのインデックスの集合βから、|β|>=t+
1のとき、
(Equation 1) Is calculated, and the result is set as a shared secret value of A and B held by Pj. Assuming that the value is Cj, | β |> = t +
When 1,

【0014】[0014]

【数2】 となり、乗算結果A・Bを回復することができる。ある
いは、乗ずべき秘密値AおよびBの分散秘密値にゼロが
含まれていない場合は、以下の手段によって、より効率
的に解決できる。すなわち、秘密分散に用いる多項式の
係数をビットコミットして公開するような検証可能秘密
分散方法を利用する場合に、ビットコミットの同形性を
利用することによって、使用された多項式の定数項が、
二つの秘密の積であることを容易に確認することを可能
とする。
(Equation 2) And the multiplication results A and B can be recovered. Alternatively, when the shared secret values of the secret values A and B to be multiplied do not include zero, it can be solved more efficiently by the following means. In other words, when using a verifiable secret sharing method in which the coefficients of a polynomial used for secret sharing are bit-committed and published, by using the isomorphism of the bit commit, the constant term of the used polynomial becomes
It is possible to easily confirm that it is the product of two secrets.

【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)と
整合することを確認する検証手段を持つものとする。
A function BC (g, x) having a parameter g and a secret value x as inputs is represented by BC (BC (g, x), y) =
A bit commitment function having the property of BC (g, xy) is used. Polynomial S with secret value s as a constant term
The verifiable secret sharing method using (X) and the parameter g shall publish the BC (g, s), and each processor must make sure that the received shared secret value matches the published BC (g, s). It shall have a verification means to confirm.

【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)と整合することを検
証する。
The processor Pi has a shared secret value A (wi)
Is a polynomial Ai (X) of degree t with A (wi) as a constant term.
And each processor Pj is distributed such that each processor Pj has Ai (wj) by a verifiable secret sharing method using the parameter and the parameter g. At this time, Pi is Ai0: = BC (g, A (w
i)), and each processor Pj issues BC (g, A
Verify that (wi)) matches the received 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)と整合す
ることを検証する。
Similarly, the processor Pi has a shared secret value B
(Wi) is a t-order polynomial B with B (wi) as a constant term
Distributed by a verifiable secret sharing method using i (X) and parameter g. At this time, Pi is Bi0 = BC
(G, B (wi)), and each processor Pj shares the shared secret value Bi (wj) and the public value Bi0: = BC (g,
Receiving B a (wi)), Bi0 to verify that consistent with 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))に関して整合すること
を検証する。
Further, Pi is B instead of parameter g.
C (g, A (wi)) is used as a parameter,
The shared secret value B (wi) is shared using the polynomial Bi (X). Since the polynomials used are the same, Pj
Is the same Bi (wj) as the previous secret sharing, so that it is not necessary to send this. On the other hand, ABi0:
= BC (BC (g, A (wi)), B (wi)) is published and each processor Pj verifies that ABi0 matches Bi (wj) with respect to parameters 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)と整合することを検証する。
Subsequently, Pi is a constant term of A (wi) · B
Each processor Pj is distributed so as to have Ci (wj) by a verifiable secret sharing method using a t-order random polynomial Ci (X) and a parameter g as (wi).
At this time, Ci0: = BC (g, A (wi) · B (w
i)) is published and each processor Pj verifies that Ci0 matches the received 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と等しいことを検証することで、分散された値の
正当性を検証することができる。
Here, Pi is correctly A (wi) · B (w
If i) is dispersed, the public value Ci0 becomes Ci0 = BC
(G, A (wi) · B (wi)) = BC (BC (g, A
(Wi), B (wi)) = ABi0, which is the same as the last published value. Therefore, each processor can verify the validity of the distributed values by verifying that Ci0 is equal to Bi0.

【0021】この場合も、上記各分散は並列的(同時
的)に行い、各検証をまとめて行ってもよい。上記全て
の検証に関して各プロセッサは合格または不合格の通知
を公開し、いずれかの検証に不合格となった場合は不合
格であることを公開する。上記手順を全てのプロセッサ
Piについて実行し、各プロセッサは、少なくともt+
1個のプロセッサが不合格と判断したiについて、Ci
(wj)を不合格とする。合格と判断されたインデック
スiの集合をαとすると、t+1個以上が正しければ、
|α|≧t+1となる。
Also in this case, each of the above-mentioned dispersions may be performed in parallel (simultaneously), and each verification may be performed collectively. For all of the above verifications, each processor publishes a pass or fail notification and, if any of the verifications fail, publishes a failure. The above procedure is performed for all processors Pi, and each processor has at least t +
For one processor i determined to be rejected, Ci
(Wj) is rejected. Assuming that a set of indices i determined to be passed is α, if t + 1 or more are correct,
| Α | ≧ t + 1.

【0022】最後に、各プロセッサPjは正しいCi
(wj)を多項式補間により補間する。すなわち、La
grange補間係数を
Finally, each processor Pj has the correct Ci
(Wj) is interpolated by polynomial interpolation. That is, La
change the gradient interpolation coefficient

【0023】[0023]

【数3】 を計算し、その結果をPjが保持するA・Bの分散秘密
値とする。その値をCjとすると、正しいCjを持つプ
ロセッサのインデックスの集合βから、|β|≧t+1
のとき、
(Equation 3) Is calculated, and the result is set as a shared secret value of A and B held by Pj. Assuming that the value is Cj, from the set β of indices of the processors having the correct Cj, | β | ≧ t + 1
When,

【0024】[0024]

【数4】 となり、乗算結果A・Bを回復することができる。この
発明によれば、各プロセッサPiが分散した秘密の等価
性は、検証可能秘密分散方法が出力する値を比較するだ
けで検証可能であり、通信量、計算量の少ない分散乗算
装置が実現できる。
(Equation 4) And the multiplication results A and B can be recovered. According to the present invention, the equivalence of secrets distributed by the processors Pi can be verified only by comparing the values output by the verifiable secret sharing method, and a distributed multiplication device with a small amount of communication and a small amount of calculation can be realized. .

【0025】[0025]

【発明の実施の形態】実施例1 以下に、この発明の実施例1について説明する。まず、
n個の利用者(プロセッサ)をP1〜Pnとし、図1に
示すように各々の利用者装置111 〜11n 間を安全な
通信路12で接続し、また、全復号者装置12i (i=
1,2,…,n)が同一の内容を受信することが保証さ
れる放送型通信路13を各利用者が利用できるようにす
る。
Embodiment 1 Embodiment 1 of the present invention will be described below. First,
n-number of the user (the processor) and P1 to Pn, connected at each of the user devices 11 1 to 11 n between the secure channel 12 as shown in FIG. 1, The total decipherer device 12 i ( i =
1, 2,..., N) can be used by each user to ensure that they receive the same contents.

【0026】積を計算すべき秘密値AおよびBは、予め
検証可能秘密分散方法により、分散されているものとす
る。以下では、検証可能秘密分散方法にPederse
nの方法を用いた場合を記述する。まず、大きな素数
p,qがあり、qはp−1を割り切るものとする。以下
の説明では、p,qが作る体をそれぞれFp,Fqと書
き、Fpの位数qの部分群をGqと書く。各利用者Pj
に対し、wj∈Zqなる固有の値wjが公開されている
ものとする。AおよびBはいずれもFqの元であるとす
る。
It is assumed that secret values A and B whose products are to be calculated are distributed in advance by a verifiable secret sharing method. Below, Pederse is used as a verifiable secret sharing method.
The case where the method of n is used is described. First, it is assumed that there are large prime numbers p and q, and q divides p−1. In the following description, the fields created by p and q are written as Fp and Fq, respectively, and the subgroup of the order q of Fp is written as Gq. Each user Pj
It is assumed that a unique value wj such that wj∈Zq is disclosed. It is assumed that A and B are both elements of Fq.

【0027】各プロセッサPjは二つのFq上のランダ
ム多項式A(X)=a0 +a1 X+…+at t および
U(X)=u0 +u1 X+…+ut t のwjに対する
値A(wj)、U(wj)を保持する。ただし、a0
Aとする。ランダムに選択されたGqの元g,hに対し
て、EAk :=gakuk modpがk=0,…,tについ
て公開されているものとする。
[0027] Random polynomial A (X) on each processor Pj is two Fq = a 0 + a 1 X + ... + a t X t and U (X) = u 0 + u 1 X + ... + u t X t value A for wj of (Wj) and U (wj). Where a 0 =
A. It is assumed that EA k : = g ak h uk modp is disclosed for k = 0,..., T for elements g and h of Gq selected at random.

【0028】このとき、(A(wj),U(wj))の
対が秘密値Aに対するPjの分散秘密値である。各プロ
セッサPjは、
At this time, the pair of (A (wj), U (wj)) is the shared secret value of Pj with respect to the secret value A. Each processor Pj,

【0029】[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次の係数のgakuk modpなる
コミットメントであり、放送型通信路を介して公開され
る。
(Equation 5) Is satisfied, the validity of the held shared secret value (A (wj), U (wj)) can be verified. In the following description, the Peders
The method of en is described as Ped (A, u 0 ) → (Aj, Uj) (EA 0 ,..., EA t ). Here, A in parentheses of Ped (A, u 0 )
And u 0 mean the constant terms of two random polynomials used for secret sharing, as described above. (Aj, Uj) is P
j denotes a shared secret value of A received via a secure communication channel, and is a value at X = wj of random polynomials Aj (X) and Uj (X) where A and u 0 are constant terms, respectively. And j takes 1,..., N. Further, EA k is g ak h uk modp made commitments k order coefficient of the polynomial, exposed through a broadcast channel.

【0030】上記の検証可能秘密分散法により、秘密値
Bも同様に分散されているものとする。すなわち、乱数
0 を用い、 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+…+ajt
t とUj(X)=uj0+uj1X+…+ujtt を生成し
(S1)、コミットメント値EAjk=gajk ujk mod
pをk=0,…,tについて計算し(S2)、またラン
ダム多項式Bj(X)=bj0+bj1X+…+bjtt
Vj(X)=vj0+vj1X+…+vjtt を生成し(S
3)、コミットメント値EBjk=gbjk vjk mod pを
k=0,…,tについて計算し(S4)、全てのプロセ
ッサPiに(Aji,Uji)および(Bji,Vj
i)を安全な通信路を介して送信し(S5)、放送型通
信路を介して(EAj0 ,…,EAjt )および(EB
0 ,…,EBjt )を送信する(S6)。
It is assumed that the secret value B is similarly distributed by the above verifiable secret sharing method. That is, it is assumed that Ped (B, v 0 ) → (Bj, Vj) (EB 0 ,..., EB t ) using the random number v 0 . From the above initial state, the processor Pj first converts Aj and Bj into random numbers ui 0 and vi 0
A wish, Ped (Aj, ui 0) → (Aji, Uji) (EAj 0, ..., EAj t) Ped (Bj, vi 0) → (Bji, Vji) (EBj 0, ..., EBj t) as Spread. That Pj is t following random polynomial Aj as shown in FIG. 2 (X) = a j0 + a j1 X + ... + a jt X
t and Uj (X) = u j0 + u j1 X +... + u jt X t are generated (S1), and the commitment value EA jk = g ajk h ujk mod
a p k = 0, ..., calculated for the t (S2), also a random polynomial Bj (X) = b j0 + b j1 X + ... + b jt X t and Vj (X) = v j0 + v j1 X + ... + v jt X t Is generated (S
3) The commitment value EB jk = g bjk h vjk mod p is calculated for k = 0,..., T (S4), and (Aji, Uji) and (Bji, Vj) are assigned to all processors Pi.
i) is transmitted via a secure communication channel (S5), and (EAj 0 ,..., EAj t ) and (EBj) are transmitted via a broadcast-type communication channel.
j 0 ,..., EBj t ) is transmitted (S6).

【0031】ここで、Ped(Aj,ui0 )なる秘密
分散で用いたAjを定数項とする多項式をAj(X)=
j0+aj1X+…+ajtt とする。同様に、Ped
(Bj,vi0 )なる秘密分散で用いたBjを定数項と
する多項式をBj(X)=bj0+bj1X+…+bjtt
とする。ここで、aj0=Aj,bj0=Bjである。プロ
セッサPjは、二つの多項式の積Aj(X)・Bj
(X)を計算し、これをABj(X)=ej0+ej1X+
…+ej2t 2tとする(S7)。また、2t次のランダ
ム多項式Dj(X)=dj0+dj1X+…+dj2t 2t
生成する(図3、S8)。ABj(X)およびDj
(X)のk次の項の係数をそれぞれejk、djkとして、
PjはEABjk:=gejk djk mod pをk=0,
…,2tについて計算し(S9)、(EABj0,…,E
ABj2t )を放送型通信路を通じて公開する(S1
0)。また、Dji:=Dj(wi)を安全な通信路を
通じてPiへ送付する(S11)。
Here, a polynomial in which Aj used in Ped (Aj, ui 0 ) secret sharing is a constant term is expressed by Aj (X) =
and a j0 + a j1 X + ... + a jt X t. Similarly, Ped
Bj (X) = b j0 + b j1 X +... + B jt X t is a polynomial in which Bj used in the secret sharing (Bj, vi 0 ) is a constant term.
And Here, a j0 = Aj and b j0 = Bj. The processor Pj calculates the product Aj (X) · Bj of the two polynomials.
(X) is calculated, and this is calculated as ABj (X) = e j0 + e j1 X +
.. + E j2t X 2t (S7). Also it generates 2t next random polynomial Dj (X) = d j0 + d j1 X + ... + d j2t X 2t ( Fig. 3, S8). ABj (X) and Dj
The coefficients of the k-th order term of (X) are e jk and d jk , respectively.
Pj is EABjk: = g ejk h djk mod p a k = 0,
, 2t (S9), and (EAB j0 ,..., E
AB j2t ) through a broadcast-type communication channel (S1)
0). Also, Dji: = Dj (wi) is sent to Pi via a secure communication channel (S11).

【0032】さらに、プロセッサPjは、 Ped(Aj・Bj,dj0 )→(Cji,Rji)(ECj0 ,…,ECjt ) を実行する。つまりt次のランダム多項式Cj(X)=
j0+cj1X+…+cjtt と、Rj(X)=rj0+r
j1X+…+rjtt を生成し(S12)、コミットメン
ト値ECjk=gcjk rjk mod pをk=0,…,tにつ
いて計算し(S13)、Cji=Cj(wi),Rji
=Rj(wi)を安全な通信路を通じてプロセッサPi
へ送信し(S14)、ECj1 ,…,ECjt を放送型
通信路を通じて公開する(S15)。
Further, the processor Pj executes Ped (Aj · Bj, dj 0 ) → (Cji, Rji) (ECj 0 ,..., ECj t ). That is, t-order random polynomial Cj (X) =
and c j0 + c j1 X + ... + c jt X t, Rj (X) = r j0 + r
to generate a j1 X + ... + r jt X t (S12), the commitment value EC jk = g cjk h rjk mod p a k = 0, ..., calculated for the t (S13), Cji = Cj (wi), Rji
= Rj (wi) through a secure channel to the processor Pi
, And ECj 1 ,..., ECj t are made public through a broadcast-type communication channel (S15).

【0033】各プロセッサPiは、Aji,Uji,B
ji,Vji,Dji,Cji,Rji,EAik,E
Bik,ECik,k=0,…,t,EABik k=
0,…,2tをPjより受信し、=1,…,n j≠
(図4、S1)について、検証式
Each processor Pi has Aji, Uji, B
ji, Vji, Dji, Cji, Rji, EAik, E
Bik, ECik, k = 0,..., T, EABik k =
0,..., 2t received from Pj, j = 1 ,.
i (FIG. 4, S1) , the verification equation

【0034】[0034]

【数6】 が成り立つことを確認し(S2)、一つでも成り立たな
い場合は、「不合格」を放送型通信路を介して他の全て
のプロセッサに通知する(S3)。不合格の通知がt個
以下の場合は(S4)、Piは受信した(Cji,Rj
i)を合格とする。不合格がt以下の場合は集合αにそ
の合格のjを追加する(S5)。
(Equation 6) Is established (S2), and if one is not established, "fail" is notified to all other processors via the broadcast communication path (S3). If the number of failure notifications is t or less (S4), Pi is received (Cji, Rj).
Pass i). If the rejection is less than t, the set α
To add a j of the case-rated (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)で検証される。
The above procedure is repeated for all processors Pj j =
1,..., N are executed (S6, S7). The sharing process by the verifiable secret sharing method always includes the checking process. The verification at the time of sharing Aj and Uj is performed by Expressions (1) and (5), and the checking at the time of sharing Bj and Vj is (2), which is performed by equation (6). Verification at the time of distribution of ABj and Dj is performed by Expression (3), and this verification is performed by Aj (w
The product of i) and Bj (wi) is the point ABj on ABj (X)
(Wi) and verify that Aj · Bj's Ci
Verification in variance using (X) and Ri (X) is performed by Expression (4), and Expression (7) verifies that the constant term of Cj (X) is equal to the constant term of ABj (X).

【0036】上述した検証を全てのプロセッサPjに
いて行った後、各プロセッサPiは、合格したCjiの
インデックスjに関する集合をαとし、Lagrang
e補間係数
[0036] One to all of the processor Pj the verification described above
After that went had, each processor Pi is, the set on the index j of passing the Cji and α, Lagrang
e interpolation coefficient

【0037】[0037]

【数7】 を計算し、これをAとBの積に対する分散秘密値(C
i,Ri)として保持する(S8)。また、検証用コミ
ットメントを
(Equation 7) , And this is used as the shared secret value (C
i, Ri) (S8). And a verification commitment.

【0038】[0038]

【数8】 のようにk=0,…,tについて計算する(S9)。乗
算結果を実際に公開する場合には、図5に示すように、
各プロセッサPiは分散秘密値(Ci,Ri)を公開し
(S1)、これを各プロセッサは受信し(S2)、各プ
ロセッサはwik=wik mod qとして
(Equation 8) Are calculated for k = 0,..., T (S9). When actually publishing the multiplication result, as shown in FIG.
Each processor Pi publishes the shared secret value (Ci, Ri) (S1), and this is received by each processor (S2), and each processor receives wi = wi k mod q

【0039】[0039]

【数9】 が成り立つか否かを検証し(S3)、不成立の場合はそ
のjを公開し(S4)、不正通知がt以下であれば(S
5)、検証に合格した場合は正しい分散秘密値として受
理し、集合βにjを追加する(S6)。ステップS3の
検証を全てのプロセッサPjについて行う(S7,S
8)。以上の手段で得られた正しい分散秘密値のインデ
ックスの集合をβとする。
(Equation 9) Is verified (S3). If not, the j is disclosed (S4).
5) If the verification is successful, it is accepted as a correct shared secret value, and j is added to the set β (S6). The verification in step S3 is performed for all processors Pj (S7, S7
8). Let β be a set of indexes of correct shared secret values obtained by the above means.

【0040】|β|≧t+1のとき、When | β | ≧ t + 1,

【0041】[0041]

【数10】 となり、各プロセッサは乗算結果A・Bを回復すること
ができる(S9)。前記検証式中の式(1),(2),
(4)中の各k=0の場合EAj0 ,EBj0 ,ECj
0 であるから、これらは送付せずに、検証式(1),
(5),(2),(6),(4),(7)の代わりに、
(Equation 10) And each processor can recover the multiplication results A and B (S9). Equations (1), (2),
EAj 0 , EBj 0 , ECj for each k = 0 in (4)
Since they are 0 , they are not sent, and verification equations (1),
Instead of (5), (2), (6), (4), (7),

【0042】[0042]

【数11】 として検証することも可能である。不合格の通知は、全
てのプロセッサが検証可能秘密分散を終えた後にまとめ
て行うことも可能である。実施例2 以下に、この発明の実施例2について説明する。
[Equation 11] It is also possible to verify as. Notification of rejection can also be made collectively after all processors have completed verifiable secret sharing. Second Embodiment Hereinafter, a second embodiment of the present invention will be described.

【0043】まず、n個の利用者(プロセッサ)をP1
〜Pnとし、各々の利用者装置(プロセッサ)間を安全
な通信路で接続し、また、全利用者装置(プロセッサ)
が同一の内容を受信することが保証される放送型通信路
を各利用者が利用できるようにする。積を計算すべき秘
密値AおよびBは、予め検証可能秘密分散方法により、
分散されているものとする。以下では、検証可能秘密分
散方法にPedersenの方法を用いた場合を記述す
る。
First, n users (processors) are assigned to P1
To Pn, each user device (processor) is connected by a secure communication path, and all user devices (processors)
To make it possible for each user to use a broadcast communication path that is guaranteed to receive the same contents. The secret values A and B whose products are to be calculated are determined in advance by a verifiable secret sharing method.
It is assumed that they are dispersed. Hereinafter, a case where Pedersen's method is used as the verifiable secret sharing method will be described.

【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
+…+at t およびU(X)=u0 +u1 X+…+u
t t のwjに対する値A(wj)、U(wj)を保持
する。ただし、a0 =Aとする。ランダムに選択された
Gqの元g,hに対して、EAk :=gakuk modpが
k=0,…,tについて公開されているものとする。
First, there are large prime numbers p and q, and q is p−
It shall be divisible by 1. In the following description, the fields created by p and q are written as Fp and Fq, respectively, and the subgroup of the order q of Fp is written as Gq. It is assumed that a unique value wj such that wj∈Zq is disclosed to each decryptor Pj. A and B
Are all elements of Fq. Each processor Pj has a random polynomial A (X) = a 0 + a 1 X on two Fqs.
+ ... + a t X t and U (X) = u 0 + u 1 X + ... + u
value for wj of t X t A (wj), holds the U (wj). Here, it is assumed that a 0 = A. It is assumed that EA k : = g ak h uk modp is disclosed for k = 0,..., T for elements g and h of Gq selected at random.

【0045】このとき、(A(wj),U(wj))の
対が秘密値Aに対するPjの分散秘密値である。各プロ
セッサPjは、
At this time, the pair of (A (wj), U (wj)) is the shared secret value of Pj with respect to the secret value A. Each processor Pj,

【0046】[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次の係数のgakuk modpなるコミットメントで
あり、放送型通信路を介して公開される。ここで、Pj
の持つ秘密値(Aj,Uj)に対するコミットメントを
EAj0 :=gAjUj modpとする。このEAj0 は、
公開されたEA0 ,…,EAt を用いて、
(Equation 12) Is satisfied, the validity of the held shared secret value (A (wj), U (wj)) can be verified. In the following description, the Peders
The method of en is described as Ped (A, u 0 ) [g, h] → (Aj, Uj) (EA 0 ,..., EA t ). Here, A in parentheses of Ped (A, u 0 )
And u 0 mean the constant terms of two random polynomials used for secret sharing, as described above. [G, h] means that the commitment function uses g and h as the base of the power. (Aj, Uj) means a shared secret value of A received by Pj via a secure communication channel, and is a random polynomial Aj having A and u 0 as constant terms, respectively.
(X) and Uj (X) at X = wj,
j takes 1,..., n. Further, EA k is g ak h uk modp made commitments k order coefficient of the polynomial, exposed through a broadcast channel. Where Pj
Let EAj 0 : = g Aj h Uj modp be the commitment to the secret value (Aj, Uj) held by. This EAj 0 is
Published EA 0, ..., by using the EA t,

【数20】 のように、誰でも計算する事ができることに注意。(Equation 20) Note that anyone can calculate, as in.

【0047】上記の検証可能秘密分散法により、秘密値
Bも同様に分散されているものとする。すなわち、乱数
0 を用い、 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)。
It is assumed that the secret value B is similarly distributed by the above verifiable secret sharing method. That is, it is assumed that Ped (B, v 0 ) [g, h] → (Bj, Vj) (EB 0 ,..., EB t ) using the random number v 0 . From the above initial state, the processor Pj first selects the random numbers ui 0 and vi 0 and obtains Ped (Bj, vi 0 ) [g, h] → (Bji, Vji) (EBj 0 ,..., EBj t ). Bj is distributed. That is, as shown in FIG. 6, a random polynomial Bj (X) of order t and Vj (X) are generated (S
1), the commitment value EBjk is calculated for k = 0,..., T (S2), and Bj (wi), Vj (w
i) to the processor Pi through a secure channel (S
3), EAj 0 ~EAj t, publish through the broadcast communication path EBj 0 ~EBj t (S4).

【0048】ここで、Ped(Bj,ui0 )なる秘密
分散で用いたBjを定数項とする多項式をBj(X)=
j0+bj1X+…+bjtt とする。ただし、bj0=B
jである。次に、Bjを乱数di0 を選んで、底gの代
わりにEAj0 を底として、 Ped(Bj,di0 )[EAj0 ,h]→(Bji,Dji)(EABj0 , …,EABjt ) のように分散する。ただし、Bjを定数項とする多項式
は、直前と同じ多項式Bj(X)を用いる。そのためこ
れに対応する分散秘密値は直前のPed(Bj,d
0 )[g,h]におけるBjの分散秘密値と等しくな
る。一方、di0 を定数項とする多項式Dj(X)=d
j0+dj1X+…+djtt はランダムに選択する(図
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:=
cjk rjk mod pをk=0,…,tについて計算し
(S10)、(ECj0,…,ECjt)を放送型通信路を
通じて公開する(S11)。また、Cji:=Cj(w
i)およびRji:=Rj(wi)を安全な通信路を通
じてPiへ送付する(S12)。
Here, a polynomial in which Bj used in Ped (Bj, ui 0 ) secret sharing is a constant term is represented by Bj (X) =
and b j0 + b j1 X + ... + b jt X t. Where b j0 = B
j. Next, choose a random number di 0 the Bj, as the bottom of the EAj 0 instead of the bottom g, Ped (Bj, di 0 ) [EAj 0, h] → (Bji, Dji) (EABj 0, ..., EABj t ). However, the same polynomial Bj (X) as that immediately before is used for a polynomial having Bj as a constant term. Therefore, the corresponding shared secret value is Ped (Bj, d
i 0 ) equal to the shared secret value of Bj in [g, h]. On the other hand, a polynomial Dj (X) = d with di 0 as a constant term
j0 + d j1 X + ... + d jt X t is randomly selected (Fig. 7, S5). The EABj k a k = 0, ..., computed for t (S6), Dj sends (wi) to Pi through a secure communication path (S7), to expose through the broadcast communication path EABj 0 ~EABj t ( S8). Furthermore, Aj ・ Bj
Then, random polynomials Cj (X) and Rj (X) of order t with u i0 · Bj + d i0 as constant terms are generated (S9). Assuming that the coefficients of the k-th order term of Cj (X) and Rj (X) are c jk and r jk , Pj is EABjk: =
g cjk hrjk mod p is calculated for k = 0,..., t (S10), and (EC j0 ,..., EC jt ) is made public through a broadcast communication channel (S11). Also, Cji: = Cj (w
i) and Rji: = Rj (wi) are sent to Pi via a secure communication channel (S12).

【0049】各プロセッサPiは、検証式Each processor Pi has a verification formula

【0050】[0050]

【数13】 が成り立つことを確認し、一つでも成り立たない場合
は、「不合格」を放送型通信路を介して他の全てのプロ
セッサに通知する。不合格の通知がt個以下の場合は、
Piは受信した(Cji,Rji)を合格とする。上記
手順を全てのプロセッサPj j=1,…,nが実行す
る。
(Equation 13) Is confirmed, and if even one does not hold, "fail" is notified to all other processors via the broadcast communication path. If there are no more than t failure notifications,
Pi accepts the received (Cji, Rji). The above procedure is executed by all the processors Pj j = 1,..., N.

【0051】次に、各プロセッサは、合格したCjiの
インデックスjに関する集合をαとし、Lagrang
e補間係数
Next, each processor sets a set related to the index j of the passed Cji to α, and sets Lagrang
e interpolation coefficient

【0052】[0052]

【数14】 を計算し、これをAとBの積に対する分散秘密値(C
i,Ri)として保持する。また、検証用コミットメン
トを
[Equation 14] , And this is used as the shared secret value (C
i, Ri). And a verification commitment.

【0053】[0053]

【数15】 のようにk=0,…,tについて計算する。以上の検証
と分散秘密値(Ci,Ri)を得る処理を図9に示す。
乗算結果を実際に公開する場合には、図5と同様に、各
プロセッサPiは分散秘密値(Ci,Ri)を公開し、
これを受信した各プロセッサは
(Equation 15) Are calculated for k = 0,..., T. FIG. 9 shows the above-described verification and the process of obtaining the shared secret value (Ci, Ri).
When actually publishing the multiplication result, each processor Pi publishes the shared secret value (Ci, Ri), as in FIG.
Each processor that receives this

【0054】[0054]

【数16】 が成り立つか否かを検証し、成り立つ場合は正しい分散
秘密値として受理する。以上の手段で得られた正しい分
散秘密値のインデックスの集合をβとする。|β|≧t
+1のとき、
(Equation 16) Is verified, and if so, it is accepted as a correct shared secret value. Let β be a set of indexes of correct shared secret values obtained by the above means. | Β | ≧ t
When +1

【0055】[0055]

【数17】 となり、各プロセッサは乗算結果A・Bを回復すること
ができる。実施例1の場合と同様に、EAj0 ,EBj
0 ,ECj0 は送付せずに、検証式(2)(5),
(4)(7)の代わりに、
[Equation 17] And each processor can recover the multiplication results A and B. As in the case of the first embodiment, EAj 0 , EBj
0 , ECj 0 are not sent, and the verification equations (2), (5),
(4) Instead of (7),

【0056】[0056]

【数18】 として検証することも可能である。不合格の通知は、全
てのプロセッサが検証可能秘密分散を終えた後にまとめ
て行うことも可能である。実施例1、実施例2において
も、検証可能秘密分散における各検証をその分散ごとに
行ってもよく、先に述べたように、全ての検証をまとめ
て行ってもよい。また各分散値の安全通信路を通じての
伝送もその都度、あるいはまとめて行ってもよく、各コ
ミットメント値の公開も、その都度、あるいはまとめて
行ってもよい。
(Equation 18) It is also possible to verify as. Notification of rejection can also be made collectively after all processors have completed verifiable secret sharing. Also in the first and second embodiments, each verification in the verifiable secret sharing may be performed for each sharing, and as described above, all the verifications may be performed collectively. Further, the transmission of each variance value through the secure communication channel may be performed each time or collectively, and the disclosure of each commitment value may be performed each time or collectively.

【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
0 ,EBjk ,ECjk ,EABjk などの計算を行
い、分散秘密検証部25は式(1)〜(7)に示した各
検証式による検証を行う。分散秘密復元部26は
In the above procedure, the communication via the broadcast communication path may be realized by using a “non-erasable presentation board” instead. FIG. 8 shows an example of a functional configuration of a processor (dispersion multiplication device) used in the first or second embodiment. Memory 21
Include p, q, g, h, shared secret values A (wj), B (w
j) and the like, and are used for temporarily storing various information (values) in distributed processing, verification processing, recovery processing, and the like. The verifiable secret sharing unit 22 includes a random polynomial generation unit 23, a commitment calculation unit 24, and a shared secret verification unit 25.
j (X), Vj (X), Dj (X), Cj (X), Rj
(X) and the like, and the commitment calculation unit 24
j 0, EBj k, ECj k , performs calculations such EABj k, distributed secret verification unit 25 verifies by each validation expression shown in Formula (1) to (7). The shared secret restoration unit 26

【0058】[0058]

【数19】 の復元演算を行う。各種分散秘密値の安全型通信送信部
27、同受信部28、放送型送信部29、同受信部31
が設けられ、更に各部の順次動作が制御部32により行
われる。これらの各機能はコンピュータによりプログラ
ムを解読実行させて行うこともできる。
[Equation 19] Is performed. Various types of shared secret secure communication transmitter 27, receiver 28, broadcast transmitter 29, receiver 31
Are provided, and the sequential operation of each unit is performed by the control unit 32. Each of these functions can be performed by decoding and executing a program by a computer.

【0059】[0059]

【発明の効果】上述したこの発明の分散乗算装置によれ
ば、各プロセッサは他のプロセッサの不正を検証式の検
査によって容易に検出することが可能であり、分散秘密
値を持ち寄って回復される結果がAとBの積であること
を検証することができる。
According to the above-described distributed multiplication apparatus of the present invention, each processor can easily detect a fraudulent operation of another processor by a verification type check, and is recovered by bringing the shared secret value. It can be verified that the result is the product of A and B.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明の実施例におけるシステム構成例を示
すブロック図。
FIG. 1 is a block diagram showing an example of a system configuration according to an embodiment of the present invention.

【図2】この発明の実施例1におけるプロセッサPj
の、秘密分散の処理手順の途中までを示す流れ図。
FIG. 2 shows a processor Pj according to the first embodiment of the present invention.
5 is a flowchart showing up to the middle of the secret sharing processing procedure.

【図3】図2の続きを示す流れ図。FIG. 3 is a flowchart showing a continuation of FIG. 2;

【図4】実施例1におけるプロセッサPiの、検証処理
より乗算結果の分散秘密値を得るまでの処理手順を示す
流れ図。
FIG. 4 is a flowchart showing a processing procedure of a processor Pi in the first embodiment until a shared secret value of a multiplication result is obtained from verification processing.

【図5】この発明の実施例1,2におけるプロセッサP
iの、乗算結果を回復する手順を示す流れ図。
FIG. 5 is a diagram illustrating a processor P according to the first and second embodiments of the present invention.
7 is a flowchart showing a procedure for recovering the multiplication result of i.

【図6】この発明の実施例2におけるプロセッサPjの
秘密分散の処理手順の途中までを示す流れ図。
FIG. 6 is a flowchart showing a halfway of a secret sharing process performed by a processor Pj in a second embodiment of the present invention.

【図7】図6の続きを示す流れ図。FIG. 7 is a flowchart showing a continuation of FIG. 6;

【図8】この発明の実施例1,2におけるプロセッサ
(分散乗算装置)の機能構成例を示すブロック図。
FIG. 8 is a block diagram showing a functional configuration example of a processor (dispersion multiplication device) in the first and second embodiments of the present invention.

【図9】実施例2におけるプロセッサPiの検証処理よ
り乗算結果の分散秘密値を得るまでの処理手順を示す流
れ図。
FIG. 9 is a flowchart showing a processing procedure until a shared secret value of a multiplication result is obtained from the verification processing of the processor Pi in the second embodiment.

───────────────────────────────────────────────────── フロントページの続き (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)──────────────────────────────────────────────────の Continued on front page (56) References Verifiable Secret Sharing and Multi party Protocols with the Honey Majority, proc. of STOC '89, p. 73-85 Span Programs and General Security Multi-Party Computation, BRICS Report Series, RS-97-28 Efficiency Multi-Responsibility RS (Int.Cl. 7 , DB name) G09C 1/00 650 G09C 1/00 640 G06F 17/10 JICST file (JOIS)

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項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(w)およびB(w)を、それぞれA
(w)、B(w)を定数項とするt次の多項式A
(X)、B(X)を用いる検証可能秘密分散方法によ
って各プロセッサPがA(w)およびB(w
)を持つように分散する手段を備え t次の多項式ABj(X)=Aj(X)・Bj(X)
を用いる検証可能秘密分散方法によって、各プロセッサ
PiがAj(wi)とBj(wi)の積がAj(X)・
Bj(X)上の点ABj(wi)に等しいことを検証す
るための値を持つように分散する手段を備え 数項をA(w)・B(w)とするt次のランダム
多項式C(X)を用いる検証可能秘密分散方法によっ
て各プロセッサPjがCi(wj)を持つように分散す
る手段を備え、 各プロセッサPiは、 Aj(wi)とBj(wi)の積がABj(X)上の点
ABj(wi)に等しいこと、及び Ci(X)の定数項
がABi(X)の定数項に等しいことをj=1〜n(た
だしj≠i)にわたって検証し、これらの検証に関して
合格または不合格の通知を公開する手段を備え、 t+1個以上のプロセッサが合格とした全てのに対す
るC(w)を多項式補間により補間した値を、A・
Bを定数項とする秘密のt次の多項式C(X)に対する
の分散秘密値C(w)とする手段を備えることを
特徴とする分散乗算装置。
1. n processors are P1 to Pn, and i
The processor Pi has a unique public value wi, and the two secret values A and B are t with A and B as constant terms, respectively.
It is distributed to n processors by a verifiable secret sharing method using the following polynomials A (X) and B (X), and the i-th processor Pi has shared secret values A (wi), B
(Wi), n processors cooperate to form a secret t-order polynomial C with A and B as constant terms.
(X), and the shared secret value C (wi) is
i, wherein each processor Pj calculates a shared secret value A (w j ) and B (w j ) by A
(W j ), t-order polynomial A j with B (w j ) as a constant term
According to the verifiable secret sharing method using (X) and B j (X), each processor P i is assigned A j (w i ) and B j (w
and means for dispersing to have i), 2 t degree polynomial ABj (X) = Aj (X ) · Bj (X)
Each processor by the verifiable secret sharing method using
Pi is the product of Aj (wi) and Bj (wi) is Aj (X) ·
Verify that it is equal to the point ABj (wi) on Bj (X)
And means for dispersing to have a value of order, each by verifiable secret sharing method using a constant number term A (w j) · B ( w j) to t following random polynomial C j (X) and means for dispersing to have a processor Pj is Ci (wj), each processor P i is, Aj (wi) and Bj (wi) the product of a point on ABj (X)
J = 1 to n ( 1) that it is equal to ABj (wi) and that the constant term of Ci (X ) is equal to the constant term of ABi (X) .
Validate over soup j ≠ i), pass or provided with means to expose the failure notification, C j (w i) the interpolated by the polynomial interpolation for all j where t + 1 or more processors was passed for these verification The value obtained is
Distributed multiplication apparatus according to claim Rukoto provided with means to the distributed secret value C (w i) of P i to the secret of the t-order polynomial C (X) to the B and constant terms.
【請求項2】 請求項1の分散乗算装置において、 関数BC()をビットコミットメント関数とし、各プロセッサPjは、 上記分散秘密値A(w)およびB(w)の分散の際
にBC(A(w))およびBC(B(w))をそれ
ぞれAj0およびBj0として公開する手段を備え上記A(wj)・B(wj)の分散の際に、BC(A
(wj)・B(wj))としてCj0を公開する手段を
備え 、 各プロセッサPは、 受信したA(w)、B(wがAi0,Bi0
それぞれ整合することを検証する手段を備え上記Aj(wi)とBj(wi)との積が公開された、
Ci0と 整合することにより検証する手段を備え、 受信したCj(wi)が公開されたCi0と整合するこ
とを検証する手段を備えることを特徴とする分散乗算装
置。
2. The distributed multiplication apparatus according to claim 1, wherein the function BC () is a bit commitment function, and each processor Pj performs distribution of the shared secret values A (w j ) and B (w j ).
The B C (A (w j) ) and BC (B (w j)) to it
A means for publishing as Aj0 and Bj0 respectively is provided , and when A (wj) · B (wj) is dispersed, BC ( Aj
(Wj) · B (wj))
Provided, each processor P i is the received A j (w i), B j (w i) is Ai0, Bi0
When provided with a means to verify that matched each, product of the Aj and (wi) and Bj (wi) has been published,
And means for verifying by aligned with Ci0, received Cj (wi) distributed multiplier, characterized in Rukoto a manual stage to verify that consistent with Ci0 published.
【請求項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
(w))を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は、 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)とする手段とをそれぞれ備
えることを特徴とする分散乗算装置。
3. The n processors are P1 to Pn, and i
The processor Pi has a unique public value wi, and the two secret values A and B are verifiable secret sharing methods using t-order polynomials A (X) and B (X), where A and B are constant terms, respectively. , The i-th processor Pi has shared secret values A (wi), B
(Wi), n processors cooperate to form a secret t-order polynomial C with A and B as constant terms.
(X), and the shared secret value C (wi) is
a function BC (a, x) is a bit commitment function that uses a as a public parameter and x as a secret value.
(BC (g, x), y) = BC (g, xy), and each processor Pj sets the shared secret value A (wj) as a constant term with A (wj) as a constant term.
By the verifiable secret sharing method using the following polynomial Aj (X) and parameter g, each processor Pi
(Wi) and BC (g, A
(Wi)) is disclosed as Ai0, and the shared secret value B (wj) is defined as t (t) where B (wj) is a constant term.
By the verifiable secret sharing method using the following polynomial Bj (X) and parameter g, each processor Pi
(Wi) and BC (g, B
(W i)) includes means to expose as Bi0 a distributed secret value B (the wj), the polynomial Bj (X) and a parameter BC (g, A (wi) by verifiable secret sharing method using a), each Processor Pi is Bj (wi)
And BC (BC (g, A (w
i)), means for publishing B (wi)) as ABi0, and a verifiable secret sharing using a t-order random polynomial Ci (X) and a parameter g where the constant term is A (wj) · B (wj). Depending on the method, each processor Pi is Cj (wi)
And BC (g, C (wi))
The each comprise means for publishing as Ci0, each processor Pi is the correct value der Rukoto is A i0, Bj (wi) is received aligned with Bi0, and ABi0
Matching that received Cj (wi) matches with Ci0, Ci0
And ABi0 are equal, j = 1 to n (where j ≠
i) and means for publishing a pass or fail notification for these verifications; and Aj the values interpolated by polynomial interpolation of Cj (wi) for all j's passed by t + 1 or more processors.
Means for setting a shared secret value C (wi) of Pi with respect to a secret t-order polynomial C (X) having B as a constant term, respectively.
【請求項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(w)およびB(w)を、それぞれA
(w)、B(w)を定数項とするt次の多項式A
(X)、B(X)を用いる検証可能秘密分散方法によ
って各プロセッサPがA(w)およびB(w
)を持つように分散する手段と、 2t次の多項式AB(X)=A(X)・B(X)
を用いる検証可能秘密分散方法によって、各プロセッサ
PiがAj(wi)とBj(wi)の積がABj(X)
上の点ABj(wi)に等しいことを検証するための値
を持つように分散する手段と、 定数項をA(w)・B(w)とするt次のランダム
多項式C(X)を用いる検証可能秘密分散方法によっ
て各プロセッサPがC(w)を持つように分散す
手段を備え各プロセッサPiとして、 Aj(wi)とBj(wi)の積がABj(X)上の点
ABj(wi)に等しいこと、及び Cj(X)の定数項
がABj(X)の定数項に等しいことをj=1〜n(た
だしj≠i)にわたって検証し、これらの検証に関して
合格または不合格の通知を公開する手段と、 t+1個以上のプロセッサが合格した全てのに対する
Cj(wi)を多項式補間により補間した値を、A・B
を定数項とする秘密のt次の多項式C(X)に対するP
iの分散秘密値C(wi)とする手段を備える 分散乗
算装置としてコンピュータを機能させるプログラムを記
録したコンピュータ読み取り可能な記録媒体。
4. The n processors are P1 to Pn, and i
The processor Pi has a unique public value wi, and the two secret values A and B are verifiable secret sharing methods using t-order polynomials A (X) and B (X), where A and B are constant terms, respectively. , The i-th processor Pi is distributed secret values A (wi) and B (wi)
N processors cooperate,
A distributed multiplication device that generates a secret t-order polynomial C (X) having A and B as constant terms and obtains a shared secret value C (wi) by Pi
Then, as each processor Pj, the shared secret values A (w j ) and B (w j ) are
(W j ), t-order polynomial A j with B (w j ) as a constant term
According to the verifiable secret sharing method using (X) and B j (X), each processor P i uses A j (w i ) and B j (w
means for dispersing to have i), 2t order polynomial AB j (X) = A j (X) · B j (X)
Each processor by the verifiable secret sharing method using
Pi is the product of Aj (wi) and Bj (wi) is ABj (X)
Value to verify that it is equal to the above point ABj (wi)
Means for dispersing to have, a constant term A (w j) · B ( w j) each processor by verifiable secret sharing method using a t following the random polynomial C j (X) to P i is C j and means for dispersing to have a (w i), as each processor Pi, Aj (wi) and Bj (wi) the product of a point on ABj (X)
J = 1 to n ( 1) that it is equal to ABj (wi) and that the constant term of Cj (X ) is equal to the constant term of ABj (X) .
Validate over soup j ≠ i), means for publishing a pass or fail notice for these verification, an interpolated value by Cj the (wi) polynomial interpolation for all j where t + 1 or more processors have passed, AB
For a secret t-order polynomial C (X) with
dispersing multiplication and means for the distributed secret value C (wi) of i
A computer-readable recording medium that records a program that causes a computer to function as a computing device .
【請求項5】 請求項4の記録媒体において、 関数BC()をビットコミットメント関数とし、上記分散乗算装置は、 各プロセッサPjとして、 上記A(w)、B(w)の分散処理の際にBC(A
(w))およびBC(B(w))をAj0およびB
j0として公開する手段と、 上記A(w)・B(w)の分散処理の際にBC
(A(w)・B(w))をCj0として公開する
と、各プロセッサPiとして、 Aj(wi)、Bj(wi)がそれぞれ公開されたAi
0、Bi0と整合することを検証する手段と、 上記Aj(wi)とBj(wi)の積が公開されたAB
i0と整合することを検証する手段と、 受信したCj(wi)がCi0と整合することを検証す
手段と、を含 むことを特徴とする記録媒体。
5. The recording medium according to claim 4, wherein a function BC () is a bit commitment function, and said variance multiplying device is a processor for each of said processors Pj , wherein said processor Aj performs distributed processing of said A ( wj ) and B ( wj ) B C (a in
(W j)) and B C (B (w j) ) the Aj0 and B
means for publishing as j0, and at the time of the distributed processing of A (w j ) · B (w j ) , BC
Hand to publish a (A (w j) · B (w j)) as Cj0
Ai , Aj (wi) and Bj (wi), each of which is published as a stage and each processor Pi
0, a means for verifying that it matches Bi0, and an AB in which the product of Aj (wi) and Bj (wi) is disclosed
means for verifying that consistent with i0, recording medium and means received Cj (wi) to verify that consistent with Ci0, wherein the free Mukoto.
【請求項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
)),B(w))をABi0として公開する手段
と、 定数項をA(wj)・B(wj)とするとt次のランダ
ム多項式Cj(X)およびパラメータgを用いる検証可
能秘密分散方法によって各プロセッサPiがCj(w
i)を持つように分散すると共にBC(g,C(
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とする手段を備える分散乗算装置
としてコンピュータを機能させるプログラムを記録した
コンピュータ読み取り可能な記録媒体。
6. The n processors are denoted by P1 to Pn, and i
The processor Pi has a unique public value wi, and the two secret values A and B are verifiable secret sharing methods using t-order polynomials A (X) and B (X), where A and B are constant terms, respectively. , The i-th processor Pi has shared secret values A (wi), B
(Wi), n processors cooperate to form a secret t-order polynomial C with A and B as constant terms.
A shared multiplication device that generates (X) and obtains a shared secret value Ci by Pi. A function BC (a, x) is a bit commitment function that uses a as a public parameter and x as a secret value, and BC
(BC (g, x), y) = BC (g, xy). Each processor Pj has a shared secret value A (wj) and a constant term A (wj).
By the verifiable secret sharing method using the following polynomial Aj (X) and parameter g, each processor Pi
(Wi) and BC (g, A
Means for publishing (wi)) as Ai0, and sharing secret value B (wj) with B (wj) as a constant term
By the verifiable secret sharing method using the following polynomial Bj (X) and parameter g, each processor Pi
(Wi) and BC (g, B
(Wi)) as Bi0, and the shared secret value B (wj) is converted to each processor Pi by a verifiable secret sharing method using the polynomial Bj (X) and the parameter BC (g, A (wj)). Is Bj (wi)
And BC (BC (g, A (w
i)), B (w i )) means to expose as ABi0 and the constant term A (wj) · B (wj ) and to the use of t following random polynomial Cj (X) and parameter g verifiable secret sharing Depending on the method, each processor Pi has Cj (w
i) and BC (g, C ( w
and means to expose the i)) as Ci0, as each processor Pi, published been Ai0 correct value der Rukoto, received Bj (wi) be consistent with Bi0 published, received Bj (Wi) matches the published ABi0, Cj (wi) received matches the published Ci0, and that Ci0 is equal to ABi0 over j = 1 to n (where j ≠ i) Means for verifying and publishing a pass or fail notification for these verifications; and A.multiplier interpolation of Cj (wi) for all j's for which t + 1 or more processors pass.
A computer-readable storage medium storing a program for causing a computer to function as a distributed multiplication device including means for setting a shared secret value Ci of Pi for a secret t-order polynomial C (X) having B as a constant term.
JP01541099A 1999-01-25 1999-01-25 Distributed multiplication apparatus and program recording medium therefor Expired - Lifetime JP3328597B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01541099A JP3328597B2 (en) 1999-01-25 1999-01-25 Distributed multiplication apparatus and program recording medium therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01541099A JP3328597B2 (en) 1999-01-25 1999-01-25 Distributed multiplication apparatus and program recording medium therefor

Publications (2)

Publication Number Publication Date
JP2000214774A JP2000214774A (en) 2000-08-04
JP3328597B2 true JP3328597B2 (en) 2002-09-24

Family

ID=11887981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01541099A Expired - Lifetime JP3328597B2 (en) 1999-01-25 1999-01-25 Distributed multiplication apparatus and program recording medium therefor

Country Status (1)

Country Link
JP (1) JP3328597B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100570133B1 (en) 2001-03-16 2006-04-12 인터내셔널 비지네스 머신즈 코포레이션 Method of verifiably sharing a secret in potentially asynchronous networks
JP5151987B2 (en) * 2006-10-24 2013-02-27 日本電気株式会社 Distributed information generation apparatus and restoration apparatus
JP5316411B2 (en) * 2007-08-06 2013-10-16 日本電気株式会社 Transmitter and receiver
US8861734B2 (en) 2007-08-22 2014-10-14 Nec Corporation Secret information distribution system, method, program, and transmission system
WO2019225531A1 (en) * 2018-05-25 2019-11-28 日本電信電話株式会社 Secret collective approximation system, secret calculation device, secret collective approximation method, and program

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
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 (en) 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 (en) Implicit certificate validation
EP1078491B1 (en) Robust efficient distributed rsa-key generation
US8369517B2 (en) Fast scalar multiplication for elliptic curve cryptosystems over prime fields
JP2012512574A (en) Accelerating key agreement protocols
US11496290B2 (en) Blockchain network and finalization method therefor
EP3496331A1 (en) Two-party signature device and method
JPWO2017099117A1 (en) PRE-COMPUTER DEVICE, METHOD, AND COMPUTER-READABLE RECORDING MEDIUM, AND VECTOR MULTIPLY DEVICE, AND METHOD
KR20230024369A (en) Creation of Secret Shares
US20220086006A1 (en) Computer-implemented system and method for asset mixing
EP3935779B1 (en) A method for providing a digital signature to a message
CN118160275A (en) Threshold signature scheme
JP3328597B2 (en) Distributed multiplication apparatus and program recording medium therefor
KR20230002941A (en) (EC)DSA Threshold Signature with Secret Sharing
US20150281256A1 (en) Batch verification method and apparatus thereof
CN114640463B (en) Digital signature method, computer equipment and medium
KR100971038B1 (en) Cryptographic method for distributing load among several entities and devices therefor
CN114221753B (en) Key data processing method and electronic equipment
KR20240045231A (en) Creation of digitally signed shares
Lochter Blockchain as cryptanalytic tool
JP3331321B2 (en) Method for collectively verifying a plurality of digital signatures, apparatus therefor and recording medium recording the method
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