(57)【特許請求の範囲】
【請求項１】
[a→]0,…,[a→]n-1を平文列a→から(n,k)-秘密分散により生成したシェアとし、iを0以上n未満の整数とし、jをk以上n未満の整数とし、j'を1以上k未満の整数とし、
n台の秘密公開装置piの記憶部に、上記シェア[a→]iが記憶されており、
k-1台の秘密公開装置pj'が、上記シェア[a→]j'を秘密公開装置p0へ送信するシェア送信ステップと、
n-k台の秘密公開装置pjが、上記シェア[a→]jからチェックサムcjを計算し、上記チェックサムcjを上記秘密公開装置p0へ送信するチェックサム送信ステップと、
上記秘密公開装置p0が、k個の上記シェア[a→]0,…,[a→]k-1からn-k個のシェア[a→]k,…,[a→]n-1を復旧するシェア復旧ステップと、
上記秘密公開装置p0が、j=k,…,n-1について、上記シェア[a→]jからチェックサムc'jをそれぞれ計算するチェックサム計算ステップと、
上記秘密公開装置p0が、j=k,…,n-1について、上記チェックサムcjと上記チェックサムc'jとをそれぞれ比較して上記シェア[a→]1,…,[a→]k-1の改ざんを検知する改ざん検知ステップと、
上記秘密公開装置p0が、上記シェア[a→]0,…,[a→]k-1から上記平文列a→を復元する公開値復元ステップと、
を含む秘密公開方法。
【請求項２】
請求項１に記載の秘密公開方法であって、
上記(n,k)-秘密分散は、Shamir秘密分散であり、
上記シェア復旧ステップは、ラグランジュ補間により、上記シェア[a→]0,…,[a→]k-1から上記シェア[a→]k,…,[a→]n-1を復旧するものであり、
上記公開値復元ステップは、ラグランジュ補間により、上記シェア[a→]0,…,[a→]k-1から上記平文列a→を復元するものである
秘密公開方法。
【請求項３】
請求項１に記載の秘密公開方法であって、
上記(n,k)-秘密分散は、複製型秘密分散であり、
上記シェア復旧ステップは、上記シェア[a→]0,…,[a→]k-1に含まれるサブシェアから相異なるk個の組み合わせを生成することで上記シェア[a→]k,…,[a→]n-1を復旧するものであり、
上記公開値復元ステップは、上記シェア[a→]0,…,[a→]k-1に含まれる相異なるn個のサブシェアを総和することで上記平文列a→を復元するものである
秘密公開方法。
【請求項４】
n台の秘密公開装置p0,…,pn-1を含む秘密公開システムであって、
[a→]0,…,[a→]n-1を平文列a→から(n,k)-秘密分散により生成したシェアとし、iを0以上n未満の整数とし、
上記秘密公開装置piは、
上記シェア[a→]iを記憶する記憶部と、
上記シェア[a→]iを他の秘密公開装置へ送信するシェア送信部と、
上記シェア[a→]iからチェックサムciを計算し、上記チェックサムciを上記他の秘密公開装置へ送信するチェックサム送信部と、
k個の上記シェア[a→]0,…,[a→]k-1からn-k個のシェア[a→]k,…,[a→]n-1を復旧するシェア復旧部と、
j=k,…,n-1について、上記シェア[a→]jからチェックサムc'jをそれぞれ計算するチェックサム計算部と、
j=k,…,n-1について、上記チェックサムcjと上記チェックサムc'jとをそれぞれ比較して上記シェア[a→]1,…,[a→]k-1の改ざんを検知する改ざん検知部と、
上記シェア[a→]1,…,[a→]k-1から上記平文列a→を復元する公開値復元部と、
を含む秘密公開システム。
【請求項５】
[a→]0,…,[a→]n-1を平文列a→から(n,k)-秘密分散により生成したシェアとし、iを0以上n未満の整数とし、
上記シェア[a→]iを記憶する記憶部と、
上記シェア[a→]iを他の秘密公開装置へ送信するシェア送信部と、
上記シェア[a→]iからチェックサムciを計算し、上記チェックサムciを上記他の秘密公開装置へ送信するチェックサム送信部と、
k個の上記シェア[a→]0,…,[a→]k-1からn-k個のシェア[a→]k,…,[a→]n-1を復旧するシェア復旧部と、
j=k,…,n-1について、上記シェア[a→]jからチェックサムc'jをそれぞれ計算するチェックサム計算部と、
j=k,…,n-1について、上記チェックサムcjと上記チェックサムc'jとをそれぞれ比較して上記シェア[a→]1,…,[a→]k-1の改ざんを検知する改ざん検知部と、
上記シェア[a→]1,…,[a→]k-1から上記平文列a→を復元する公開値復元部と、
を含む秘密公開装置。
【請求項６】
請求項５に記載の秘密公開装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、秘密分散技術に関し、特に分散値から平文を公開する際に改ざんを検知する技術に関する。
【背景技術】
【０００２】
秘密分散とは、データを複数に分割した分散値に変換し、一定個数以上のシェアを用いれば元のデータを復元でき、一定個数未満のシェアからは元のデータを一切復元できなくする技術である。なお、秘密分散した複数個の値の組を分散値と呼び、分散値のうちの１個の断片をシェアと呼ぶ。
【０００３】
秘密分散の一種である(k,n)-秘密分散は、入力された平文をn個に分割した分散値をn個の計算主体に分散して保持しておき、任意のk個のシェアが揃えば平文を復元でき、k個未満のシェアからは平文に関する一切の情報を得られないような秘密分散である。このとき、n,kは1以上の整数であり、n=2k-1である。
【０００４】
各計算主体が保持するシェアが改ざんされた場合、復元するk個のシェアの選び方に依存して復元される値が異なるという問題が発生する。したがって、分散値から平文を公開する際に各シェアに改ざんがなかったかを確認する必要がある。分散値から平文を公開する際に改ざん検知が可能な従来技術には、非特許文献１に記載の方法がある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】I. Damgard, J. B. Nielsen, “Scalable and Unconditionally Secure Multiparty Computation”, CRYPTO 2007, vol. 4622 of Lecture Notes in Computer Science, pp. 572-590, 2007.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献１に記載の公開方法は通信量が大きいという問題がある。この公開方法では、改ざん検知を行わずに分散値から平文を公開する場合と比較して、数倍の通信量を要する。
【０００７】
この発明の目的は、このような点に鑑みて、改ざん検知可能な秘密公開技術において、通信量を低減することである。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、この発明の秘密公開方法は、[a→]0,…,[a→]n-1を平文列a→から(n,k)-秘密分散により生成したシェアとし、iを0以上n未満の整数とし、jをk以上n未満の整数とし、j'を1以上k未満の整数とし、n台の秘密公開装置piの記憶部に、シェア[a→]iが記憶されており、k-1台の秘密公開装置pj'が、シェア[a→]j'を秘密公開装置p0へ送信するシェア送信ステップと、n-k台の秘密公開装置pjが、シェア[a→]jからチェックサムcjを計算し、チェックサムcjを秘密公開装置p0へ送信するチェックサム送信ステップと、秘密公開装置p0が、k個のシェア[a→]0,…,[a→]k-1からn-k個のシェア[a→]k,…,[a→]n-1を復旧するシェア復旧ステップと、秘密公開装置p0が、j=k,…,n-1について、シェア[a→]jからチェックサムc'jをそれぞれ計算するチェックサム計算ステップと、秘密公開装置p0が、j=k,…,n-1について、チェックサムcjとチェックサムc'jとをそれぞれ比較してシェア[a→]1,…,[a→]k-1の改ざんを検知する改ざん検知ステップと、秘密公開装置p0が、シェア[a→]0,…,[a→]k-1から平文列a→を復元する公開値復元ステップと、を含む。
【発明の効果】
【０００９】
この発明の秘密公開技術は、改ざん検知のために送受信するデータの一部が情報量の少ないチェックサムであるため、通信量を低減することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、秘密公開システムの機能構成を例示する図である。
【図２】図２は、秘密公開装置の機能構成を例示する図である。
【図３】図３は、秘密公開方法の処理フローを例示する図である。
【発明を実施するための形態】
【００１１】
実施形態の説明に先立って、以下の説明で用いる表記方法および用語を説明する。
［表記方法］
piは、i番目のシェアを所持するパーティを表す。
P=(p0,…,pn-1)は、シェアを所持するnパーティ全体の集合を表す。
[x]（角括弧）は、平文xの(k,n)-秘密分散値を表す。(k,n)-秘密分散値は、平文xを(k,n)-秘密分散で分散した値すべてを集めた組である。秘密分散値[x]は、普段はnパーティ集合Pに分散されて所持されているため、一か所ですべてを所持されることはなく、仮想的である。
[x]iは、(k,n)-秘密分散値[x]のうち、パーティpi∈Pが所持するシェアを表す。
x→（上付き右矢印）は、1つまたは複数の値からなるベクトルを表す。
[x→]は、平文の列がx→となる(k,n)-秘密分散値の列を表す。
【００１２】
［秘密分散］
この発明で公開の対象とする秘密分散値は任意の(k,n)-秘密分散による分散値である。(k,n)-秘密分散の例としては、下記参考文献１に記載されたShamir秘密分散（Shamir's Secret Sharing）や、下記参考文献２に記載された複製型秘密分散（Replicated Secret Sharing）が挙げられる。
〔参考文献１〕A. Shamir, “How to share a secret”, Communications of the ACM, vol. 22(11), pp. 612-613, 1979.
〔参考文献２〕R. Cramer, I. Damgard, and Y. Ishai, “Share conversion, pseudorandom secret-sharing and applications to secure computation”, TCC, Vol. 3378 of Lecture Notes in Computer Science, pp. 342-362, Springer, 2005.
【００１３】
Shamir秘密分散では、i番目のパーティpiに座標xiを割り当て、乱数riを用いて、次式により、平文aを分散する。
【数１】
0005860557.tif 000002
【００１４】
複製型秘密分散は、例えばn=3, k=2の場合、平文aをa:=a0+a1+a2と変形し、[a0,a1]0、[a1,a2]1、[a2,a0]2の3つのシェアに分散する。シェアを構成する各要素a0,a1,a2はサブシェアと呼ぶ。
【００１５】
［復旧］
復旧とは、シェアを保有する計算主体が利用不能になるなどにより一部のシェアが失われた際に、少なくともk個のシェアが利用可能であることを条件に、利用不能となった一部のシェアを、利用可能なk個のシェアから、秘匿性を失わずに再構築する方法である。Shamir秘密分散では、公知のラグランジュ補間により、k個のシェアから他のn-k個のシェアを復旧することが可能である。複製型秘密分散では、k個のシェアに含まれるサブシェアを組み合わせることで他のn-k個のシェアを復旧することが可能である。
【００１６】
［復元］
復元とは、n個のシェアのうちk個のシェアを収集し、k個のシェアから元の平文を得る方法である。Shamir秘密分散では、公知のラグランジュ補間により、k個のシェアから元の平文を復元することが可能である。複製型秘密分散では、k個のシェアに含まれるサブシェアを加算することで元の平文を復元することが可能である。
【００１７】
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１８】
［第一実施形態］
図１を参照して、第一実施形態の秘密公開システムの構成例を説明する。秘密公開システムは、n（≧3）台の秘密公開装置１1,…,１nを含む。本形態では、秘密公開装置１1,…,１nはそれぞれ通信網２へ接続される。通信網２は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN（Local Area Network）、WAN（Wide Area Network）などを用いることができる。なお、各装置は必ずしも通信網２を介してオンラインで通信可能である必要はない。例えば、秘密公開装置１1,…,１nへ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体から秘密計算装置１1,…,１nへオフラインで入力するように構成してもよい。
【００１９】
図２を参照して、秘密公開システムに含まれる秘密公開装置１i（i=1,…,n）の構成例を説明する。秘密公開装置１iは、例えば、記憶部１０、シェア送信部１１、チェックサム送信部１２、シェア復旧部１３、チェックサム計算部１４、改ざん検知部１５、および公開値復元部１６を含む。
【００２０】
秘密公開装置１iは、例えば、中央演算処理装置（CPU: Central Processing Unit）、主記憶装置（RAM: Random Access Memory）などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。秘密公開装置１iは、例えば、中央演算処理装置の制御のもとで各処理を実行する。秘密公開装置１iに入力されたデータや各処理で得られたデータは、例えば、メモリに格納され、メモリに格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。秘密公開装置１iの各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
【００２１】
図３を参照して、実施形態の秘密公開方法の処理手続きを説明する。
【００２２】
以下では、p0,…,pn-1をn個のシェアを分散して保有するn台の秘密公開装置とし、p0,…,pk-1は復元に用いるk個のシェアを分散して保有するk台の秘密公開装置とし、p0をk個のシェアから平文を復元して公開する秘密公開装置とする。p0,…,pn-1は論理的に秘密公開装置の役割を指し示す符号であり、どの秘密公開装置１1,…,１nがどの秘密公開装置p0,…,pn-1に対応するかは実行時に任意に決定される。以降の説明では、1台の秘密公開装置p0が平文を公開する処理手続きを説明するが、n台の秘密公開装置p0,…,pn-1がそれぞれの役割を入れ替えながら並行して同様の処理を行い、任意の複数台の秘密公開装置がそれぞれ平文を公開するように構成することも可能である。
【００２３】
n台の秘密公開装置pi（i=0,…,n-1）の記憶部１０には、シェア[a→]iが記憶されている。シェア[a→]iは平文列a→を(k,n)-秘密分散により分散したシェアである。平文列a→はm（m≧1）個の値a0,…,am-1からなる列である。したがって、シェア[a→]iは平文列a→:=a0,…,am-1の各値をそれぞれ秘密分散したシェアからなるシェア列[a→]i:=([a0]i,…,[am-1]i)である。本形態の(k,n)-秘密分散は、k個のシェアから線形結合で復旧および復元が可能な種類の秘密分散であれば、任意のものを利用することができる。
【００２４】
ステップＳ１１において、k-1台の秘密公開装置pj'（j'=1,…,k-1）のシェア送信部１１は、記憶部１０に記憶されたシェア[a→]j'を秘密公開装置p0へ送信する。
【００２５】
ステップＳ１２において、n-k台の秘密公開装置pj（j=k,…,n-1）のチェックサム送信部１２は、記憶部１０に記憶されたシェア[a→]jからチェックサムcjを計算し、そのチェックサムcjを秘密公開装置p0へ送信する。チェックサムは、例えば、入力された情報を規則性のない短い固定長の値に変換したハッシュ値である。もしくは、シェア[a→]jを[a→]j:=([a0]j,…,[am-1]j)とし、rを乱数として、次式で表される情報理論的なチェックサムを計算してもよい。
【数２】
0005860557.tif 000003
【００２６】
ステップＳ１３において、秘密公開装置p0のシェア復旧部１３は、k-1台の秘密公開装置p1,…,pk-1からそれぞれ受信したk-1個のシェア[a→]1,…,[a→]k-1に自身の記憶部１０に記憶されたシェア[a→]0を加えたk個のシェア[a→]0,…,[a→]k-1から、n-k個のシェア[a→]k,…,[a→]n-1を復旧する。復旧の方法は、利用する(k,n)-秘密分散で定められた手順に従って行えばよい。
【００２７】
ステップＳ１４において、秘密公開装置p0のチェックサム計算部１４は、j=k,…,n-1について、復旧したシェア[a→]jからチェックサムc'jをそれぞれ計算する。チェックサムの計算方法は、チェックサム送信部１２と同様である。
【００２８】
ステップＳ１５ａにおいて、秘密公開装置p0の改ざん検知部１５は、j=k,…,n-1について、n-k台の秘密公開装置pk,…,pn-1からそれぞれ受信したチェックサムcjと、復旧したシェア[a→]jから計算したチェックサムc'jとをそれぞれ比較する。チェックサムcjとチェックサムc'jがすべて一致した場合には、k個のシェア[a→]0,…,[a→]k-1に改ざんはなかったと判定する。チェックサムcjとチェックサムc'jのいずれかが一致しなかった場合には、k個のシェア[a→]0,…,[a→]k-1のいずれかに改ざんがあったものと判定する。ステップＳ１５ｂにおいて、改ざんがなかったと判定した場合には、ステップＳ１６へ処理を進める。改ざんがあったと判定した場合には、その旨を示す情報（例えば、「⊥」など）を出力する。
【００２９】
ステップＳ１６において、秘密公開装置p0の公開値復元部１６は、k個のシェア[a→]0,…,[a→]k-1から平文列a→を復元し、その平文列a→を公開する。
【００３０】
本形態の秘密公開システムおよび方法は、このように構成することにより、秘密公開装置間で送受信するデータの一部が短い固定長のチェックサムとなるため、通信量を低減することができる。特に、チェックサムは固定長であるため、シェア列に含まれるシェアの個数が多いときに、元のデータ量から削減できる容量が大きくなるため、効率的である。
【００３１】
なお、秘密計算では一般的に代数構造を保存するためにハッシュなどのチェックサムを用いることができない。復元結果については代数構造の制約を受けないため、ハッシュなどを用いることができる点に留意されたい。
【００３２】
［第二実施形態］
この発明の第二実施形態は、公開の対象とする分散値を生成する(k,n)-秘密分散をShamir秘密分散とした秘密公開システムおよび方法の具体例である。
以下、第二実施形態の秘密公開方法の処理手続きを、第一実施形態との差分を中心に説明する。
n台の秘密公開装置pi（i=0,…,n-1）の記憶部１０には、平文列a→をShamir秘密分散により分散したシェア[a→]iが記憶されている。Shamir秘密分散の分散方法については、上記参考文献１を参照されたい。
【００３３】
ステップＳ１３において、秘密公開装置p0のシェア復旧部１３は、k個のシェア[a→]0,…,[a→]k-1から、ラグランジュ補間により、n-k個のシェア[a→]k,…,[a→]n-1を復旧する。
ステップＳ１６において、秘密公開装置p0の公開値復元部１６は、k個のシェア[a→]0,…,[a→]k-1から、ラグランジュ補間により、平文列a→を復元し、その平文列a→を公開する。
【００３４】
本形態は、特に秘密公開装置の台数が小さいときに効率的である。例えば、秘密公開装置が3台（すなわちn=3, k=2）のとき、総通信量はmをシェア列の要素数として、約3mである。これは、非特許文献１の従来技術で改ざん検知なしの場合の公開方法と同程度であり、従来技術よりも効率が良い。
【００３５】
［第三実施形態］
この発明の第三実施形態は、公開の対象とする分散値を生成する(k,n)-秘密分散を複製型秘密分散とした秘密公開システムおよび方法の具体例である。
以下、第三実施形態の秘密公開方法の処理手続きを、第一実施形態との差分を中心に説明する。
【００３６】
n台の秘密公開装置pi（i=0,…,n-1）の記憶部１０には、平文列a→を複製型秘密分散により分散したシェア[a→]iが記憶されている。[a→]iはa→=a→0+…+a→n-1となるサブシェアa→0,…,a→n-1のうちk個を組み合わせたシェア列である。複製型秘密分散の分散方法については、上記参考文献２を参照されたい。
【００３７】
ステップＳ１２において、n-k台の秘密公開装置pj（j=k,…,n-1）のチェックサム送信部１２は、記憶部１０に記憶されたシェア[a→]jからチェックサムcjを計算する。チェックサムはシェア単位で計算してもよいし、シェアに含まれるサブシェア単位で計算してもよい。
【００３８】
ステップＳ１３において、秘密公開装置p0のシェア復旧部１３は、k個のシェア[a→]0,…,[a→]k-1に含まれるサブシェアから相異なるk個の組み合わせを生成することで、n-k個のシェア[a→]k,…,[a→]n-1を復旧する。例えば、パーティp0がシェア[a→0,a→1]0を、パーティp1がシェア[a→1,a→2]1を、パーティp2がシェア[a→2,a→0]2をそれぞれ保持しているとして、パーティp2（すなわちシェア[a→2,a→0]2）が利用不能となった場合、パーティp0が保持するサブシェアa0とパーティp1が保持するサブシェアa2を組み合わせることで、失われたシェア[a→2,a→0]2を復旧することができる。
【００３９】
ステップＳ１４において、秘密公開装置p0のチェックサム計算部１４は、j=k,…,n-1について、復旧したシェア[a→]jからチェックサムc'jをそれぞれ計算する。チェックサムはチェックサム送信部１２と同様に、シェア単位もしくはサブシェア単位で計算する。
【００４０】
ステップＳ１６において、秘密公開装置p0の公開値復元部１６は、k個のシェア[a→]0,…,[a→]k-1に含まれる相異なるn個のサブシェアa→0,…,a→n-1を総和して、平文列a→=a→0+…+a→n-1を復元する。
【００４１】
上述のように、本形態のチェックサムは、シェア単位でもサブシェア単位でも計算することができる。秘密計算装置の台数が多い場合にはサブシェアの数が多くなるため、シェア単位でチェックサムを計算した方が通信量を削減することができる。サブシェア単位でチェックサムを計算すると計算対象のデータ量が少ないため計算量を削減することができる。したがって、秘密計算装置の台数と平文のサイズを鑑みて、いずれの単位でチェックサムを計算するかを決定すればよい。
【００４２】
本形態の秘密公開システムおよび方法も、特に秘密公開装置の台数が小さいときに効率的である。総通信量は第二実施形態と同等であり、従来技術よりも効率が良い。
【００４３】
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【００４４】
［プログラム、記録媒体］
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００４５】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００４６】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００４７】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００４８】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００４９】
１  秘密公開装置
２  通信網
１０  記憶部
１１  シェア送信部
１２  チェックサム送信部
１３  シェア復旧部
１４  チェックサム計算部
１５  改ざん検知部
１６  公開値復元部
【要約】
【課題】通信量を低減する。
【解決手段】秘密公開装置pj'（j'=1,…,k-1）がシェア[a→]j'を秘密公開装置p0へ送信する。秘密公開装置pj（j=k,…,n-1）がシェア[a→]jからチェックサムcjを計算し、チェックサムcjを秘密公開装置p0へ送信する。秘密公開装置p0がk個のシェア[a→]0,…,[a→]k-1からn-k個のシェア[a→]k,…,[a→]n-1を復旧する。秘密公開装置p0が、j=k,…,n-1について、シェア[a→]jからチェックサムc'jをそれぞれ計算する。秘密公開装置p0が、j=k,…,n-1について、チェックサムcjとチェックサムc'jとをそれぞれ比較してシェア[a→]1,…,[a→]k-1の改ざんを検知する。秘密公開装置p0がシェア[a→]0,…,[a→]k-1から平文列a→を復元する。
【選択図】図３【図１】
0005860557.tif 000004
【図２】
0005860557.tif 000005
【図３】
0005860557.tif 000006