秘匿共通集合計算プロトコル

提供: testwiki
ナビゲーションに移動 検索に移動

秘匿共通集合計算プロトコル(ひとくきょうつうしゅうごうけいさんプロトコル、Secure Set-Intersection Protocol)では、二人のユーザがそれぞれ秘密の集合を保持しており、お互いにその情報を漏らすことなく、それらの共通集合のみを得ることが可能である。 この方式は、Freedman、Nissim、Pinkasらにより、Eurocrypt2004で発表テンプレート:Refされ、国家間でのテロリストリストの共有などといった多種多様な応用範囲を持つ。

基本的アイデア

二人の参加者サーバとクライアントがいるものとする。彼らは、それぞれ秘密の情報である集合SCを保持しており、お互いにそれらを漏らすことなく、CSのみを 計算したい。 この方式を実現するために有用となるのは、集合多項式で表現すること、そして、準同型暗号を利用することである。 ここで利用する準同型暗号には、Enc(m1)Enc(m2)を与えられたときに、 Enc(m1+m2)を計算できる性質を有することとする。また、この性質を利用すれば、Enc(m1)kから、 Enc(km1)を計算できることにも注意する。

方式の構成

  1. クライアントは、準同型暗号の公開鍵・秘密鍵対(pk,sk)を生成し、公開鍵のみを公開する。続けて、ciCに対して、P(X)=(Xc1)(Xc2)(Xc|C|)=a|C|1X|C|1++a0を計算する。それら係数を暗号化して、サーバにおくる。
  2. サーバは、準同型性を利用して、全てのsSに対して、rP(s)+sの暗号文を計算する。ここでrは乱数であり、各sに対して異なるものを選ぶ。
  3. クライアントは全ての暗号文を復号し、復号したものがCに含まれているならば、その値を出力する。

方式の安全性

この方式は、利用する準同型暗号がIND-CPAを満たしていれば semi-honestのサーバとクライアントに対して安全であることが示される。

一般化

KisserとSongは, Crypto2005において、二人参加型ではなく多人数が参加できる秘匿共通集合計算プロトコルを提案した。また、上記方式は、共通集合しか計算できないが、任意の関数に対して上記のような方式を実現するフレームワーク(Garbled Circuit)が、Andrew Yaoにより提案されている。

参考文献

  • テンプレート:Note Michael J. Freedman, Kobbi Nissim, Benny Pinkas: Efficient Private Matching and Set Intersection. EUROCRYPT 2004: 1-19