51
Non-Interactive First-Price and Second-Price Auction Protocols Using Fully Homomorphic Encryption 三三 三三 1 三三三三 1,2 三三三三 1,2 1. 三三三三 2.NTT 三三三三三三三三三三三三三三三

Scis2014_presen

Embed Size (px)

Citation preview

Page 1: Scis2014_presen

Non-Interactive First-Price and Second-Price Auction Protocols Using Fully Homomorphic

Encryption

三桝 雄大 1 ,阿部正幸 1,2 ,岡本龍明1,2

1. 京都大学2.NTT セキュアプラットフォーム研究所

Page 2: Scis2014_presen

アジェンダ

• 現代とオークション• 既存、提案手法の概要• 既存、提案手法の具体的な処理• 安全性• 結論

Page 3: Scis2014_presen

オークションプロトコル

• インターネットの広がりとオークション

• 多くの研究者が研究をしてきた

• Complexity の改善

• 2009 年に完全準同型暗号の登場

Page 4: Scis2014_presen

各オークションシステムの概説

• First-Price Auction (第一位価格封印入札)–最高価格を入札した人が勝者–落札価格はその最高価格

• Second-Price Auction (第二位価格封印入札)–最高価格を入札した人が勝者–落札価格は上から二番目の価格

Page 5: Scis2014_presen

既存手法の概要

• 既存手法 [Mitsunaga, et al. IEICE 2013] の問題:–オークションマネジャー( AM )の処理にお

いて,テーブルが必要 →テーブルの準備に通信が必要 ( round complexity )– Second-Price では, 2 パス必要

Page 6: Scis2014_presen

今提案の成果

• プロトコル中の round complexity は 1

• Second-Price オークションを1パスで実現

Page 7: Scis2014_presen

既存,提案手法の前提

• Threshold Decryption を採用( [G.Asharov, et al. EUROCRYPT 2012] )

• t 人より少ない人数での復号が出来ない

• Bulletin board に載っている他人の入札価格を各個人は復号できない

Page 8: Scis2014_presen

既存手法 [Mitsunaga, et al. IEICE 2013]

First-Price Auction

Page 9: Scis2014_presen

定義

• E(x) : x を暗号化した要素の集合

Page 10: Scis2014_presen

BulletinBoard

テーブル

Pi

Pm

P1処理の途中で使用

事前に作成

AM

(各自が暗号化した入札額)

(勝者,最高入札額)

既存手法 [Mitsunaga, et al. IEICE 2013]First-Price Auction Protocol

Map前 Map後

E(0) の要素 E(0) の要素E(1) E(1)

E(2) E(1)

… …

E(m) E(1)

Page 11: Scis2014_presen

作成しておく表

• 1以上の整数を暗号化したものを1を暗号化した空間にとばす

Map前 Map後

E(0) の要素 E(0) の要素E(1) E(1)

E(2) E(1)

… …

E(m) E(1)

既存手法 [Mitsunaga, et al. IEICE 2013]First-Price Auction Protocol

Page 12: Scis2014_presen

表の使い方

• 既存手法においては,暗号化した状態で,1回の乗算と多数の加算を行える

• 処理の中で多数の加算を行った際,それを {0,1} を暗号化したものにマップする必要がある( bit-slice 方式を採用しているため)

既存手法 [Mitsunaga, et al. IEICE 2013]First-Price Auction Protocol

Page 13: Scis2014_presen

Bit-Slice オークション

• 上から 1 ビットずつ比較していく

既存手法 [Mitsunaga, et al. IEICE 2013]First-Price Auction Protocol

B1

B2

B3

= 1 1 0 1 1

= 1 0 0 1 1

= 1 1 1 1 1

w1 w2 w3

1 1 11 0 10 0 10 0 10 0 1

Page 14: Scis2014_presen

既存手法 [Mitsunaga, et al. IEICE 2013]First-Price Auction Protocol

hj の値が 1 より大きな値に膨らむので,それを {0,1} にマップして判定.マップされた hj の値によって,最高入札額が1 ビットごとに決定され,また勝利フラグの更新も行われる .

Page 15: Scis2014_presen

既存手法 [Mitsunaga, et al. IEICE 2013]

Second-Price Auction

Page 16: Scis2014_presen

First-Price Auction × 2

2パス

既存手法 [Mitsunaga, et al. IEICE 2013]Second-Price Auction Protocol

処理内容

Page 17: Scis2014_presen

First-Price Auction の使い方

既存手法 [Mitsunaga, et al. IEICE 2013]Second-Price Auction Protocol

1.まず,全体に対して用いる →  最高値入札者と最高値入札額を特定

2.最高値入札者を除いた残りのプレーヤーに対して,再度用いる →  残りのプレーヤーの内,最高値入札額(全体では 2 番目に高い入札額)を特定

Page 18: Scis2014_presen

... ...

P1 , P2 ... Px Pm...

縦: k ビット横: m ビット

First-Price Auction の使い方

既存手法 [Mitsunaga, et al. IEICE 2013]Second-Price Auction Protocol

Page 19: Scis2014_presen

... ...

P1 , P2 ... Px Pm...

縦: k ビット横: m ビット

First-Price Auction を実行(最高価格入札者を特定するところまで)

First-Price Auction の使い方

既存手法 [Mitsunaga, et al. IEICE 2013]Second-Price Auction Protocol

Page 20: Scis2014_presen

... ...

P1 , P2 ... Px Pm...

縦: k ビット横: m ビット

1 1 1 1

...

..

100 0

1 ラウンド2 ラウンド

..

First-Price Auction の使い方

既存手法 [Mitsunaga, et al. IEICE 2013]Second-Price Auction Protocol

Page 21: Scis2014_presen

... ...

P1 , P2 ... Px Pm...

↑ 勝者を特定( First-Price Auction )

縦: k ビット横: m ビット

1 1 1 1

...

..

100 0

. .

..

1 ラウンド2 ラウンド

First-Price Auction の使い方

既存手法 [Mitsunaga, et al. IEICE 2013]Second-Price Auction Protocol

Page 22: Scis2014_presen

... ...

P1 , P2 ...Px-1 , Pm..Px-1

縦: k ビット横: m-1 ビット

↑ 除外

1 1 1

..

1 ラウンド2 ラウンド

First-Price Auction の使い方

既存手法 [Mitsunaga, et al. IEICE 2013]Second-Price Auction Protocol

Page 23: Scis2014_presen

... ...

P1 , P2 ...Px-1 , Pm..Px-1

縦: k ビット横: m-1 ビット

残ったプレーヤーに対して,もう一度, First-Price Auction を実行→ 2番目に高い入札額を特定

..

1 ラウンド2 ラウンド

First-Price Auction の使い方

既存手法 [Mitsunaga, et al. IEICE 2013]Second-Price Auction Protocol

Page 24: Scis2014_presen

今回の提案手法の紹介

First-Price Auction

Page 25: Scis2014_presen

実現するための AM の処理1ビットごとに上位ビットから比較していく. (bit-slice)勝利の可能性の残っているプレーヤー以外のフラグを更新していく

今回の提案手法First-Price Auction Protocol

Page 26: Scis2014_presen

既存手法:

提案手法:

hj が 1 より大きな値に膨らまない!

今回の提案手法First-Price Auction Protocol

Page 27: Scis2014_presen

今回の提案手法の紹介

Second-Price Auction

Page 28: Scis2014_presen

定義

:勝利フラグの履歴

:最高価格入札者を除外した,残りのプレーヤーの勝利フラグ

:各ラウンドごとの勝利フラグの OR

:2番目に高い入札を行ったプレーヤーのみ 1 が立っている

今回の提案手法Second-Price Auction Protocol

Page 29: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2 ... Px Pm...

縦: k ビット横: m ビット

(勝利フラグの履歴)

今回の提案手法Second-Price Auction Protocol

Page 30: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2 ... Px Pm...

縦: k ビット横: m ビット

First-Price Auction を実行(最高価格入札者を特定するところまで)

(勝利フラグの履歴)

今回の提案手法Second-Price Auction Protocol

Page 31: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2

(勝利フラグの履歴)

... Px Pm...

縦: k ビット横: m ビット

1 1 1 1

...

..

100 0

1 ラウンド2 ラウンド

..

今回の提案手法Second-Price Auction Protocol

Page 32: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2

(勝利フラグの履歴)

... Px Pm...

↑ 勝者を特定( First-Price Auction )

縦: k ビット横: m ビット

1 1 1 1

...

..

100 0

. .

..

1 ラウンド2 ラウンド

今回の提案手法Second-Price Auction Protocol

Page 33: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2 ...Px-1 , Pm..Px-1

縦: k ビット横: m-1 ビット

↑ 除外

1 1 1

..

1 ラウンド2 ラウンド

今回の提案手法Second-Price Auction Protocol

Page 34: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2

(最高価格入札者を除外した,残りのプレーヤーの勝利フラグ)

...Px-1 , Pm..Px-1

縦: k ビット横: m-1 ビット

1 1 1

今回の提案手法Second-Price Auction Protocol

Page 35: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2 ... Pm..

縦: k ビット横: m-1 ビット

1 1 1 1

101

0 1

1

0

各ラウンドごとの勝利フラグの OR をとる

0 0 0

1

0

Px-1 , Px-1

今回の提案手法Second-Price Auction Protocol

Page 36: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2 ... Pm..

1 1 1 1

101

0 1

1

0

(各ラウンドごとの勝利フラグの OR )

0 0 0

1

0

Px-1 , Px-1

..

今回の提案手法Second-Price Auction Protocol

Page 37: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2 ... Pm..

1 1 1 1

101

0 1

1

0

0 0 0

1

0

Px-1 , Px-1

0

0

XOR

1

1.

..

..

1 0

0

0

今回の提案手法Second-Price Auction Protocol

0

Page 38: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2 ... Pm..

1 1 1

01

0 1

1

0

0 0 0

Px-1 , Px-1

0

0

1

..

0

0

AND

今回の提案手法Second-Price Auction Protocol

Page 39: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2 ... Pm..

0 0 0

00

0 1

0

0

0 0 0

Px-1 , Px-1

今回の提案手法Second-Price Auction Protocol

Page 40: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2 ... Pm..

0 0 0

00

0 1

0

0

0 0 0

Px-1 , Px-1

足し込む

0 1 0... 0 0 ...今回の提案手法Second-Price Auction Protocol

Page 41: Scis2014_presen

実現するための AM の処理

... ...

P1 , P2 ... Pm..

0 0 0

00

0 1

0

0

0 0 0

Px-1 , Px-1

足し込む

0 1 0... 0 0 ...今回の提案手法Second-Price Auction Protocol

Page 42: Scis2014_presen

実現するための AM の処理

B1 B2

∧ ∧

...

0 1 0... 0 0 ...

∧ ∧

Bx-1 Bx+1

...∧

Bm

今回の提案手法Second-Price Auction Protocol

Page 43: Scis2014_presen

実現するための AM の処理

B1 B2

∧ ∧

...

0 1 0... 0 0 ...

∧ ∧

Bx-1 Bx+1

...∧

Bm

ここの値(全体で 2 番目に高い入札価格)のみ,値が残る

今回の提案手法Second-Price Auction Protocol

Page 44: Scis2014_presen

BulletinBoard

テーブル

Pi

Pm

P1処理の途中で使用

事前に作成

AM

(各自が暗号化した入札額)

(勝者,最高入札額)

既存手法 [Mitsunaga, et al. IEICE 2013]First-Price Auction Protocol

Map前 Map後

E(0) の要素 E(0) の要素E(1) E(1)

E(2) E(1)

… …

E(m) E(1)

Page 45: Scis2014_presen

BulletinBoard

First-Price and Second-Price Auction

AM

(各自が暗号化した入札額)

(勝者,最高入札額)

提案手法

Pi

Pm

P1

Page 46: Scis2014_presen

安全性

• 処理の意義は同じで,具体的なやり方を変えているだけ=基本的に満たしている機能は同一

• もとの手法で Correctness が成り立つため,今回の提案手法でも Correctness 成り立つ

Page 47: Scis2014_presen

結論

• プロトコル中の round complexity は 1

• Second-Price オークションを1パスで実現

Page 48: Scis2014_presen

評価

• k ビットの入札額. m 人のプレーヤー.

→ 乗算の回数: k(m+2)   ( first-price auction )

k(m+2)+k(m-1)+mk=k(3m+1)  ( second-price auction ) 

Page 49: Scis2014_presen

今後の展望

• 求めた乗算の回数から, somewhat FHEの下で,どの程度まで,効率的に計算可能か評価を行う

Page 50: Scis2014_presen

参照文献• [Mitsunaga, et al. IEICE 2013] T.Mitsunaga, Y.Manabe and

T.Okamoto “Efficient Secure Auction Protocols Based on the Bonehoh-Nissim Encryption,” IEICE TRANS. FUNDAMENTALS, VOL.E96-A NO.1 JANUARY 2013, PP68-75.

• [G.Asharov, et al. EUROCRYPT 2012]G.Asharov, et al. “Multiparty Computation with Low Communication, Computationand Interaction via Threshold FHE”, EUROCRYPTO 2012 Lecture Notes in Computer Science Volume 7237, 2012 , pp.483-501.

• [J.Fan and F.Vercauteren eprint]“Somewhat Practical Fully Homomorphic Encryption”, eprint.

Page 51: Scis2014_presen

ご清聴ありがとうございました.