暗号応用技術

暗号プロトコル

ビットコミットメント

マルチパーティプロトコル

マルチパーティプロトコルとは,各参加者が持つ秘密情報を秘密に保持したまま,秘密情報から得られる値を参加者が協力して計算する方法である.

$n$ 人の参加者から構成されるネットワークにおいて,それぞれの参加者 $i$ が自分だけが知っている秘密情報 $x_i$ を保持しているとする.ある関数 $f$ が与えられたとき,各参加者は各自の持つ秘密情報を他人に明かさないまま $y = f(x_1, \ldots, x_n)$ を計算しようとする.このように,各参加者がネットワーク上で各自の持つ秘密情報を漏らさずに何らかの通信を行い,全員が $y$ の値を正しく得る機能を実現するプロトコルが,関数 $f$ に対するマルチパーティプロトコルである.

$n$ 人の参加者の中に不正を行う者が $t$ 人いるとしても,他人の秘密情報を盗むことも計算結果に擾乱を与えることもできないマルチパーティプロトコルは $t$‐安全であるという.

例として,複数の参加者が持つ秘密の情報の和を求めるプロトコルを考える. 以下の方法がある.

  1. 信頼できるセンタを用いる方法
    信頼のおけるセンタが存在するならば,各参加者が持つ情報をセンタが集め和を計算し公開する.
  2. 秘密分散共有法を用いる方法
    • 各参加者は自分の秘密値を全参加者に分割配布する.
    • 他の全ての参加者の分散情報を得た参加者はその和を計算する.
    • 全参加者は自分の求めた値を公開する.これらの値の和が求める値になる.

紛失通信

紛失通信 (Oblivious Transfer: OT)とは,通信相手に通信文が正しく伝達されたかどうかが不明な通信である. 送信者 $A$ が通信文 $m$ を受信者 $B$ に送るとき,1/2の確率で受信者 $B$ に伝わるが,伝わったかどうかを送信者 $A$ は知ることができない.

k-out-of-m 紛失通信とは,送信者 $A$ が持つ $m$ 個の情報のうち $k$ 個のみが受信者 $B$ に伝わるが,受信者 $B$ がどの情報を受け取ったかは送信者 $A$ は知ることができない通信である. このとき,受信者 $B$ は送られなかった情報が何であったかは知ることができない.

紛失通信は,暗号化・復号関数などを用いて実現することができる.1-out-of-2 OT プロトコルの例を示す.

匿名通信路

一般に,ネットワーク(通信路)上を流れているメッセージを監視すると,そのメッセージが誰から送られてきたものかということは容易に知ることができる.例えば,インターネット上では,メッセージに送信者の IPアドレスが書いてあったり,IPアドレスは書いて無くても追跡できる場合がある. これに対して,匿名通信路は流れているメッセージを見ても送信者が全く特定できないようなネットワークである.

匿名通信路の応用例には,次のようなものがある.

inserted by FC2 system