Upload
takehiro-mimasu
View
141
Download
1
Tags:
Embed Size (px)
Citation preview
Non-Interactive First-Price and Second-Price Auction Protocols Using Fully Homomorphic
Encryption
三桝 雄大 1 ,阿部正幸 1,2 ,岡本龍明1,2
1. 京都大学2.NTT セキュアプラットフォーム研究所
アジェンダ
• 現代とオークション• 既存、提案手法の概要• 既存、提案手法の具体的な処理• 安全性• 結論
オークションプロトコル
• インターネットの広がりとオークション
• 多くの研究者が研究をしてきた
• Complexity の改善
• 2009 年に完全準同型暗号の登場
各オークションシステムの概説
• First-Price Auction (第一位価格封印入札)–最高価格を入札した人が勝者–落札価格はその最高価格
• Second-Price Auction (第二位価格封印入札)–最高価格を入札した人が勝者–落札価格は上から二番目の価格
既存手法の概要
• 既存手法 [Mitsunaga, et al. IEICE 2013] の問題:–オークションマネジャー( AM )の処理にお
いて,テーブルが必要 →テーブルの準備に通信が必要 ( round complexity )– Second-Price では, 2 パス必要
今提案の成果
• プロトコル中の round complexity は 1
• Second-Price オークションを1パスで実現
既存,提案手法の前提
• Threshold Decryption を採用( [G.Asharov, et al. EUROCRYPT 2012] )
• t 人より少ない人数での復号が出来ない
• Bulletin board に載っている他人の入札価格を各個人は復号できない
既存手法 [Mitsunaga, et al. IEICE 2013]
First-Price Auction
定義
• E(x) : x を暗号化した要素の集合
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)
作成しておく表
• 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
表の使い方
• 既存手法においては,暗号化した状態で,1回の乗算と多数の加算を行える
• 処理の中で多数の加算を行った際,それを {0,1} を暗号化したものにマップする必要がある( bit-slice 方式を採用しているため)
既存手法 [Mitsunaga, et al. IEICE 2013]First-Price Auction Protocol
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
既存手法 [Mitsunaga, et al. IEICE 2013]First-Price Auction Protocol
hj の値が 1 より大きな値に膨らむので,それを {0,1} にマップして判定.マップされた hj の値によって,最高入札額が1 ビットごとに決定され,また勝利フラグの更新も行われる .
既存手法 [Mitsunaga, et al. IEICE 2013]
Second-Price Auction
First-Price Auction × 2
2パス
既存手法 [Mitsunaga, et al. IEICE 2013]Second-Price Auction Protocol
処理内容
First-Price Auction の使い方
既存手法 [Mitsunaga, et al. IEICE 2013]Second-Price Auction Protocol
1.まず,全体に対して用いる → 最高値入札者と最高値入札額を特定
2.最高値入札者を除いた残りのプレーヤーに対して,再度用いる → 残りのプレーヤーの内,最高値入札額(全体では 2 番目に高い入札額)を特定
... ...
P1 , P2 ... Px Pm...
縦: k ビット横: m ビット
First-Price Auction の使い方
既存手法 [Mitsunaga, et al. IEICE 2013]Second-Price Auction Protocol
... ...
P1 , P2 ... Px Pm...
縦: k ビット横: m ビット
First-Price Auction を実行(最高価格入札者を特定するところまで)
First-Price Auction の使い方
既存手法 [Mitsunaga, et al. IEICE 2013]Second-Price Auction Protocol
... ...
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
... ...
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
... ...
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
... ...
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
今回の提案手法の紹介
First-Price Auction
実現するための AM の処理1ビットごとに上位ビットから比較していく. (bit-slice)勝利の可能性の残っているプレーヤー以外のフラグを更新していく
今回の提案手法First-Price Auction Protocol
既存手法:
提案手法:
hj が 1 より大きな値に膨らまない!
今回の提案手法First-Price Auction Protocol
今回の提案手法の紹介
Second-Price Auction
定義
:勝利フラグの履歴
:最高価格入札者を除外した,残りのプレーヤーの勝利フラグ
:各ラウンドごとの勝利フラグの OR
:
:2番目に高い入札を行ったプレーヤーのみ 1 が立っている
今回の提案手法Second-Price Auction Protocol
実現するための AM の処理
... ...
P1 , P2 ... Px Pm...
縦: k ビット横: m ビット
(勝利フラグの履歴)
今回の提案手法Second-Price Auction Protocol
実現するための AM の処理
... ...
P1 , P2 ... Px Pm...
縦: k ビット横: m ビット
First-Price Auction を実行(最高価格入札者を特定するところまで)
(勝利フラグの履歴)
今回の提案手法Second-Price Auction Protocol
実現するための AM の処理
... ...
P1 , P2
(勝利フラグの履歴)
... Px Pm...
縦: k ビット横: m ビット
1 1 1 1
...
..
100 0
.
1 ラウンド2 ラウンド
.
..
今回の提案手法Second-Price Auction Protocol
実現するための AM の処理
... ...
P1 , P2
(勝利フラグの履歴)
... Px Pm...
↑ 勝者を特定( First-Price Auction )
縦: k ビット横: m ビット
1 1 1 1
...
..
100 0
. .
..
1 ラウンド2 ラウンド
今回の提案手法Second-Price Auction Protocol
実現するための AM の処理
... ...
P1 , P2 ...Px-1 , Pm..Px-1
縦: k ビット横: m-1 ビット
↑ 除外
1 1 1
.
..
1 ラウンド2 ラウンド
今回の提案手法Second-Price Auction Protocol
実現するための AM の処理
... ...
P1 , P2
(最高価格入札者を除外した,残りのプレーヤーの勝利フラグ)
...Px-1 , Pm..Px-1
縦: k ビット横: m-1 ビット
1 1 1
今回の提案手法Second-Price Auction Protocol
実現するための 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
実現するための 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
実現するための 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
実現するための 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
実現するための AM の処理
... ...
P1 , P2 ... Pm..
0 0 0
00
0 1
0
0
0 0 0
Px-1 , Px-1
今回の提案手法Second-Price Auction Protocol
実現するための 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
実現するための 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
実現するための AM の処理
B1 B2
∧ ∧
...
0 1 0... 0 0 ...
∧ ∧
Bx-1 Bx+1
...∧
Bm
今回の提案手法Second-Price Auction Protocol
実現するための AM の処理
B1 B2
∧ ∧
...
0 1 0... 0 0 ...
∧ ∧
Bx-1 Bx+1
...∧
Bm
ここの値(全体で 2 番目に高い入札価格)のみ,値が残る
今回の提案手法Second-Price Auction Protocol
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)
BulletinBoard
First-Price and Second-Price Auction
…
…
AM
(各自が暗号化した入札額)
(勝者,最高入札額)
提案手法
Pi
Pm
P1
安全性
• 処理の意義は同じで,具体的なやり方を変えているだけ=基本的に満たしている機能は同一
• もとの手法で Correctness が成り立つため,今回の提案手法でも Correctness 成り立つ
結論
• プロトコル中の round complexity は 1
• Second-Price オークションを1パスで実現
評価
• k ビットの入札額. m 人のプレーヤー.
→ 乗算の回数: k(m+2) ( first-price auction )
k(m+2)+k(m-1)+mk=k(3m+1) ( second-price auction )
今後の展望
• 求めた乗算の回数から, somewhat FHEの下で,どの程度まで,効率的に計算可能か評価を行う
参照文献• [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.
ご清聴ありがとうございました.