SlideShare a Scribd company logo
1 of 16
Download to read offline
ElGamal型暗号文に対する
任意関数演算・再暗号化の
二者間秘密計算プロトコルとその応用
SCIS2020 2C3 2020/1/29
縫田光司 : 東京大学/産業技術総合研究所
大畑幸矢 : 産業技術総合研究所
(発表者)光成滋生 : サイボウズ・ラボ株式会社
Nuttapong Attrapadung : 産業技術総合研究所
• 背景
• 提案プロトコル
• 文字列の編集距離の秘匿化への適用
• ベンチマーク
概要
2 / 16
• 秘密計算
• 複数人が自分の情報を隠しつつ
互いにやりとりをして𝑓(𝑚1, … )を求める
• 秘密分散
• Garbled circuit
• 準同型暗号(HE : Homomorphic Encryption)
• FHE(任意演算) ; 主に2者間
• 今回のテーマ
• FHEは重たいのでAHE(加法HE)で2者間秘密計算をやりたい
背景
𝑚1
𝑓(𝑚1,…)
𝐸𝑛𝑐(𝑚1)
𝐸𝑛𝑐(𝑓(𝑚1, 𝑚2))
𝑚1
𝑓(𝑚1, 𝑚2)
𝐸𝑛𝑐(𝑚1)
𝐸𝑛𝑐(𝑓(𝑚1, 𝑚2))
3 / 16
𝑚2
• 複雑な𝑓(𝑚)の計算はできない
• client(秘密鍵保持者)に手伝ってもらう
• 𝑓を加法、定数倍からなる複数の簡単な処理𝑓1, 𝑓2,…に分割
• インタラクションは増える
• 途中結果の秘匿化の必要性
• 𝑓𝑖(𝑚1, . . )をそのまま渡すと計算途中の値が漏れる
• 対応方法例 : 乱数𝑟を足して𝐸𝑛𝑐(𝑓𝑖(𝑚1, . . ) + 𝑟)をclientに渡す
AHEを使うときのよくある方法
𝐸𝑛𝑐(𝑚1)
𝐸𝑛𝑐(𝑓(𝑚1,. . ))
𝑚1
𝑓(𝑚1,. . )
𝐸𝑛𝑐(𝑚1)
𝐸𝑛𝑐(𝑓(𝑚1,. . ))
𝐸𝑛𝑐(𝑓1 𝑚1,.. )
𝐸𝑛𝑐(𝑓2(𝑚1,. . ))
...
4 / 16
• 乱数𝑟を足して𝐸𝑛𝑐(𝑚 + 𝑟)をclientに渡す
• lifted-ElGamal暗号
• 大きな乱数を足すと復号できない
• Paillier暗号
• 遅い、暗号文が大きい
途中結果の秘匿化の問題点
暗号化 復号 暗号文サイズ
ElGamal(256 bit) 14usec 40usec 1024bit
Paillier(2048 bit) 9000usec 8600usec 4096bit
5 / 16
• AHEベースの二者間プロトコル𝒫
• 𝑓(𝑥) ; 整数から整数への任意の一変数関数
• serverは𝐸𝑛𝑐(𝑚)から𝐸𝑛𝑐(𝑓 𝑚 )を得る(𝑚の値は知らない)
• 秘密鍵を持つclientは𝑚の情報をえられない
• clientはserverの手伝いをするだけ
• lifted-ElGamal型暗号に適用可能
提案プロトコル
input : 𝐸𝑛𝑐(𝑚)
𝑋
𝑌
output : 𝐸𝑛𝑐(𝑓(𝑚))
𝑋
𝑌
client
Step 1
Step 3
Step 2 server
6 / 16
• 𝑆 ; 𝑚のとり得る平文の集合, 𝑓: 𝑆 → ℤ
• server input : 𝐸𝑛𝑐 𝑚 , output : 𝑋 = Sℎuffle 𝛾𝑖 𝐸𝑛𝑐 𝑚 − 𝑖 𝑖∈𝑆
• 例 : 𝑆 = {−2,−1,0,1,2}, 𝑚 = 1とする(𝑚 : unknown)
Step 1 : serverによる𝐸𝑛𝑐 𝑚 の秘匿化
=
𝛾0 𝐸𝑛𝑐(𝑚 + 2) 𝛾1 𝐸𝑛𝑐(𝑚 + 1) 𝛾2 𝐸𝑛𝑐(𝑚 + 0) 𝛾3 𝐸𝑛𝑐(𝑚 − 1) 𝛾4 𝐸𝑛𝑐(𝑚 − 2)
𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(∗)
=
=
=
=
𝐸𝑛𝑐(𝑚 + 2) 𝐸𝑛𝑐(𝑚 + 1) 𝐸𝑛𝑐(𝑚 + 0) 𝐸𝑛𝑐(𝑚 − 1) 𝐸𝑛𝑐(𝑚 − 2)
𝐸𝑛𝑐(𝑚) 1. 𝐸𝑛𝑐(𝑖)を引く for 𝑖 ∈ 𝑆
2. 乱数𝛾𝑖を掛ける for 𝑖 ∈ 𝑆
𝑚番目のみ0. それ以外乱数
serverはその場所を知らない
𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(∗)
3. ランダムシャッフル
𝑋 =
7 / 16
• clientは𝑋 = Shuffle 𝛾𝑖 𝐸𝑛𝑐 𝑚 − 𝑖 𝑖∈𝑆を受信
• 𝑌 = Shuffle 𝐸𝑛𝑐 𝛿𝑖𝑚 𝑖∈𝑆を計算
• シャッフルされているため0の位置から
𝑚の情報は得られない
• clientはserverに𝑌 = Shuffle 𝐸𝑛𝑐 𝛿𝑖𝑚 𝑖∈𝑆を返す
Step 2 : clientによる再暗号化
𝐸𝑛𝑐(0) 𝐸𝑛𝑐(1) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0)
𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(∗)
∗ 0 ∗ ∗ ∗
復号して0なら𝐸𝑛𝑐 1
それ以外は𝐸𝑛𝑐(0)を生成
8 / 16
• input : 𝑌 = Shuffle 𝐸𝑛𝑐 𝛿𝑖𝑚 𝑖∈𝑆
• serverは 𝐸𝑛𝑐 𝛿𝑖𝑚 𝑖∈𝑆を得る
• σ𝑖∈𝑆 𝑓 𝑖 𝐸𝑛𝑐 𝛿𝑖𝑚 = 𝑓 𝑚 𝐸𝑛𝑐 1 = 𝐸𝑛𝑐(𝑓 𝑚 )を算出
Step 3 : serverによる𝐸𝑛𝑐(𝑓 𝑚 )の計算
𝐸𝑛𝑐(0) 𝐸𝑛𝑐(1) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0)
𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(1) 𝐸𝑛𝑐(0)
serverはシャッフルを
元に戻す
9 / 16
• プロトコルの特徴
• 𝑓は毎回変更可能(𝑓𝑚2
(𝑚1) ≔ 𝑓 𝑚1, 𝑚2 を扱える)
• clientの復号処理は暗号文が𝐸𝑛𝑐(0)か否か確認できればよい
• 復号可能な空間が制限されたlifted-ElGamal暗号に適用可能
• 効率は平文のとりえる集合𝑆の大きさに比例
• 暗号方式の切り換え
• clientの𝐸𝑛𝑐(𝛿𝑖𝑚)を作る代わりに別のAHEを用いてもよい
• 𝐸𝑛𝑐(𝑚)から𝐸𝑛𝑐′(𝑓 𝑚 )への変換
• leveled-HE暗号における"対話型bootstrap"
• 乗算後の暗号文を乗算前の暗号文に変換
• 加法準同型-属性ベース暗号(ABE)の構成
• maliciousモデル
プロトコルの拡張(1/2)
10 / 16
• 特殊な2変数関数への対応
• max 𝑥, 𝑦 , min 𝑥, 𝑦 , equal 𝑥, 𝑦 , lessThan(𝑥, 𝑦)など
• max 𝑥, 𝑦 = max 𝑥 − 𝑦, 0 + 𝑦 =: max
0
(𝑥 − 𝑦) + 𝑦とすると
𝐸𝑛𝑐 𝑥 − 𝐸𝑛𝑐 𝑦 = 𝐸𝑛𝑐(𝑥 − 𝑦)に関する
1変数関数max
0
(⋅)として適用可能
• 汎用2変数関数𝑓(𝑥, 𝑦)
• 2個の暗号文𝐸𝑛𝑐 𝑥 , 𝐸𝑛𝑐(𝑦)に対して
• 𝑥, 𝑦 ∈ 𝑆のとき𝑡 ≔ 𝑥 𝑆 + 𝑦で 𝑥, 𝑦 ↔ 𝑡の1対1の対応を作り
• 𝐹 𝑡 ≔ 𝑓(𝑥, 𝑦)
• 𝐸𝑛𝑐 𝑥 𝑆 + 𝐸𝑛𝑐 𝑦 = 𝐸𝑛𝑐 𝑥 𝑆 + 𝑦
• とすることで可能(ただし空間が𝑆 × 𝑆になる)
• 2LHE暗号ベースで𝐸𝑛𝑐 𝑥 , 𝐸𝑛𝑐(𝑦)から 𝐸𝑛𝑐 𝛿 𝑥𝑖 ,{𝐸𝑛𝑐 𝛿 𝑦𝑗 }を
求めてσ𝑖,𝑗 𝑓 𝑖, 𝑗 𝐸𝑛𝑐 𝛿 𝑥𝑖 𝐸𝑛𝑐 𝛿 𝑦𝑗 = 𝐸𝑛𝑐(𝑓 𝑥, 𝑦 )を算出
プロトコルの拡張(2/2)
11 / 16
• 編集距離
• 2個の文字列X, Yの近さdist(X, Y)を表す
• Xに1文字の挿入/削除/置換操作を何回か繰り返してYにする
• その最小ステップ数がdist(X, Y)
• dist("abcd", "abcd") = 0
• dist("abcd", "abXd") = 1
• dist("abcd", "bcda") = 2
• 応用例
• DNAの配列の類似性などのゲノム解析の基本ツール
文字列の編集距離
12 / 16
• 動的計画法(DP)によるO(|X||Y|)アルゴリズム
• 𝑋 = 𝑥1 𝑥2 … 𝑥 𝐿, 𝑌 = 𝑦1 𝑦2 … 𝑦 𝐿
• 𝑒 𝑥𝑖, 𝑦𝑗 = 1 − 𝑒𝑞𝑢𝑎𝑙 𝑥𝑖, 𝑦𝑗 = 0 𝑖𝑓 𝑥𝑖 = 𝑦𝑗 otherwise 1
• 予稿集p.6の𝑒(𝑥𝑖, 𝑦𝑗)は間違い
• 𝐷0,𝑖 = 𝐷𝑖,0 = 𝑖
• 𝐷𝑖𝑗 = min{𝐷𝑖−1,𝑗 + 1, 𝐷𝑖,𝑗−1 + 1, 𝐷𝑖−1,𝑗−1 + 𝑒 𝑥𝑖, 𝑦𝑗 }
編集距離の計算方法
X a b c d
Y 0 1 2 3 4
b 1 1 2 3 4
c 2 1 2 3 4
d 3 2 1 2 3
f 4 3 2 1 2
X="abcd"
Y="bcdf"
右下の値
=dist(X, Y)
13 / 16
𝐷𝑖−1,𝑗
𝐷𝑖,𝑗−1𝐷𝑖−1,𝑗−1
𝐷𝑖,𝑗
表の値を左上から
順に算出
• Aliceが文字列X, Bobが文字列Yを持っているときに
互いに文字列を見せずにdist(X, Y)を計算する
• 動的計画法(DP)の計算𝐷𝑖𝑗 = min(𝑈𝑖−1, 𝐿𝑖−1, 𝐷𝑖−1)に適用
• 実装概要
• AHEはsecp256k1上のLifted-ElGamal暗号
• テーブル𝐷𝑖,𝑗の計算に必要なmin(𝑥, 𝑦)関数について
𝑥 − 𝑦 ∈ 𝑆 ≔ {−2,−1,0,1}という性質を利用(|X|, |Y|に非依存)
• 効率は𝑂( 𝐿 2
)
• https://github.com/herumi/edit-dist/
(厳密な)編集距離の秘匿計算
秘密鍵を保持
𝑋を持ってる
𝐸𝑛𝑐(𝑋)
𝑌を持ってる
Enc-DP
...
𝑑𝑖𝑠𝑡(𝑋, 𝑌) ← 𝐸𝑛𝑐(𝑑𝑖𝑠𝑡(𝑋, 𝑌))
14 / 16
• 文字列の長さ𝐿を変えたときの処理時間(sec)
• FHEベース(non-bootstrap) 682並列実行の一つ当たり
• J.H.Cheon, M.Kim, K.E.Lauter. Homomorphic computation of edit distance. In
Financial Cryptography and Data Security 2015
• 混合(Paillier + 秘密分散 + garbled circuit) with 1Gbps-LAN
• K.Cheng,Y.Hou,L.Wang. Secure similar sequence query on outsourced genomic
data. AsiaCCS 2018
• 秘密分散(SS)ベース : 表の()内数値は事前計算の処理時間(sec)
• 大畑, 縫田 Communication-efficient (client-aided) secure two-party protocols and its
application. In Proc. of Financial Cryptography and Data Security 2020, to appear.
• Ours : WANでの実測値(MacBook Pro --- Core i7 desktop PC)
既存手法との比較(条件が異なるので参考値)
8 50 128 256 512 1024
FHE 27.5 N/A N/A N/A N/A
混合 <29 740 N/A N/A N/A N/A
SS 41.8(+33.4) 84.9(+135) 174.5(+534) 367.0(+2262)
Ours 0.35 8.7 24.4 58.4 203.4
15 / 16
• lifted-ElGamal型暗号方式に適用可能な
𝐸𝑛𝑐(𝑚)から𝑓(𝐸𝑛𝑐 𝑚 )への2者間プロトコルの提案
• プロトコルの拡張
• maliciousモデル対応
• 暗号方式の変換
• レベル準同型で暗号文レベルの低減(対話型bootstrap)
• 加法準同型-属性ベース暗号の構成
• 文字列の編集距離計算の文字列秘匿化と実装実験
• 謝辞
• 総務省SCOPE(受付番号182103105)の委託
• JST CREST(課題番号JPMJCR19F6)の援助
• 科研費(課題番号19H01109)の援助
• Intel株式会社堀越将司氏による2nd-Xeon SP評価環境の協力
まとめ
16 / 16

More Related Content

What's hot

準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能MITSUNARI Shigeo
 
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術MITSUNARI Shigeo
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算MITSUNARI Shigeo
 
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術MITSUNARI Shigeo
 
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)MITSUNARI Shigeo
 
秘密分散法の数理
秘密分散法の数理秘密分散法の数理
秘密分散法の数理Akito Tabira
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介MITSUNARI Shigeo
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がりMITSUNARI Shigeo
 
katagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Cryptokatagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Cryptotrmr
 
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料Tetsuyuki Oishi
 
ホモトピー型理論入門
ホモトピー型理論入門ホモトピー型理論入門
ホモトピー型理論入門k h
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
定理証明支援系Coqについて
定理証明支援系Coqについて定理証明支援系Coqについて
定理証明支援系CoqについてYoshihiro Mizoguchi
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたことMITSUNARI Shigeo
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -MITSUNARI Shigeo
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介MITSUNARI Shigeo
 

What's hot (20)

準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
 
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算
 
暗認本読書会11
暗認本読書会11暗認本読書会11
暗認本読書会11
 
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術
 
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)
 
秘密分散法の数理
秘密分散法の数理秘密分散法の数理
秘密分散法の数理
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
 
新しい暗号技術
新しい暗号技術新しい暗号技術
新しい暗号技術
 
katagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Cryptokatagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Crypto
 
技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料
 
ホモトピー型理論入門
ホモトピー型理論入門ホモトピー型理論入門
ホモトピー型理論入門
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
定理証明支援系Coqについて
定理証明支援系Coqについて定理証明支援系Coqについて
定理証明支援系Coqについて
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
 
集約署名
集約署名集約署名
集約署名
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
 
自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介自作ペアリング/BLS署名ライブラリの紹介
自作ペアリング/BLS署名ライブラリの紹介
 

Similar to ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用

x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチMasami Ichikawa
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)Takeshi Yamamuro
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたMITSUNARI Shigeo
 
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キューYuto Takei
 
Variational autoencoder
Variational autoencoderVariational autoencoder
Variational autoencoderMikio Shiga
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明MITSUNARI Shigeo
 
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learninglispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep LearningSatoshi imai
 
文献紹介:Gate-Shift Networks for Video Action Recognition
文献紹介:Gate-Shift Networks for Video Action Recognition文献紹介:Gate-Shift Networks for Video Action Recognition
文献紹介:Gate-Shift Networks for Video Action RecognitionToru Tamaki
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介Hiroki Nakahara
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ京大 マイコンクラブ
 
introduce "Stealing Machine Learning Models via Prediction APIs"
introduce "Stealing Machine Learning Models  via Prediction APIs"introduce "Stealing Machine Learning Models  via Prediction APIs"
introduce "Stealing Machine Learning Models via Prediction APIs"Isao Takaesu
 
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けてZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けてHideki Takase
 
PBL1-v1-008j.pptx
PBL1-v1-008j.pptxPBL1-v1-008j.pptx
PBL1-v1-008j.pptxNAIST
 
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃trmr
 
20030203 doctor thesis_presentation_makotoshuto
20030203 doctor thesis_presentation_makotoshuto20030203 doctor thesis_presentation_makotoshuto
20030203 doctor thesis_presentation_makotoshutoMakoto Shuto
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)Hiroki Nakahara
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011finalMikio Kubo
 

Similar to ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用 (20)

x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチ
 
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
LLVMで遊ぶ(整数圧縮とか、x86向けの自動ベクトル化とか)
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 
HPC Phys-20201203
HPC Phys-20201203HPC Phys-20201203
HPC Phys-20201203
 
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
[Basic 3] 計算量 / 配列, 連結リスト / ハッシュ テーブル / スタック, キュー
 
Variational autoencoder
Variational autoencoderVariational autoencoder
Variational autoencoder
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
 
lispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learninglispmeetup#63 Common Lispでゼロから作るDeep Learning
lispmeetup#63 Common Lispでゼロから作るDeep Learning
 
文献紹介:Gate-Shift Networks for Video Action Recognition
文献紹介:Gate-Shift Networks for Video Action Recognition文献紹介:Gate-Shift Networks for Video Action Recognition
文献紹介:Gate-Shift Networks for Video Action Recognition
 
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
2値ディープニューラルネットワークと組込み機器への応用: 開発中のツール紹介
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
 
introduce "Stealing Machine Learning Models via Prediction APIs"
introduce "Stealing Machine Learning Models  via Prediction APIs"introduce "Stealing Machine Learning Models  via Prediction APIs"
introduce "Stealing Machine Learning Models via Prediction APIs"
 
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けてZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
PBL1-v1-008j.pptx
PBL1-v1-008j.pptxPBL1-v1-008j.pptx
PBL1-v1-008j.pptx
 
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
 
20030203 doctor thesis_presentation_makotoshuto
20030203 doctor thesis_presentation_makotoshuto20030203 doctor thesis_presentation_makotoshuto
20030203 doctor thesis_presentation_makotoshuto
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 

More from MITSUNARI Shigeo

Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenMITSUNARI Shigeo
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法MITSUNARI Shigeo
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装MITSUNARI Shigeo
 
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介MITSUNARI Shigeo
 
A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...MITSUNARI Shigeo
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生MITSUNARI Shigeo
 
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear GroupsPractical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear GroupsMITSUNARI Shigeo
 

More from MITSUNARI Shigeo (16)

暗認本読書会10
暗認本読書会10暗認本読書会10
暗認本読書会10
 
暗認本読書会9
暗認本読書会9暗認本読書会9
暗認本読書会9
 
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgenIntel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
Intel AVX-512/富岳SVE用SIMDコード生成ライブラリsimdgen
 
暗認本読書会8
暗認本読書会8暗認本読書会8
暗認本読書会8
 
暗認本読書会7
暗認本読書会7暗認本読書会7
暗認本読書会7
 
暗認本読書会6
暗認本読書会6暗認本読書会6
暗認本読書会6
 
暗認本読書会5
暗認本読書会5暗認本読書会5
暗認本読書会5
 
暗認本読書会4
暗認本読書会4暗認本読書会4
暗認本読書会4
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
 
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介
 
ゆるバグ
ゆるバグゆるバグ
ゆるバグ
 
A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...A compact zero knowledge proof to restrict message space in homomorphic encry...
A compact zero knowledge proof to restrict message space in homomorphic encry...
 
Spectre/Meltdownとその派生
Spectre/Meltdownとその派生Spectre/Meltdownとその派生
Spectre/Meltdownとその派生
 
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear GroupsPractical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
Practical Two-level Homomorphic Encryption in Prime-order Bilinear Groups
 

Recently uploaded

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 

Recently uploaded (9)

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 

ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用

  • 1. ElGamal型暗号文に対する 任意関数演算・再暗号化の 二者間秘密計算プロトコルとその応用 SCIS2020 2C3 2020/1/29 縫田光司 : 東京大学/産業技術総合研究所 大畑幸矢 : 産業技術総合研究所 (発表者)光成滋生 : サイボウズ・ラボ株式会社 Nuttapong Attrapadung : 産業技術総合研究所
  • 2. • 背景 • 提案プロトコル • 文字列の編集距離の秘匿化への適用 • ベンチマーク 概要 2 / 16
  • 3. • 秘密計算 • 複数人が自分の情報を隠しつつ 互いにやりとりをして𝑓(𝑚1, … )を求める • 秘密分散 • Garbled circuit • 準同型暗号(HE : Homomorphic Encryption) • FHE(任意演算) ; 主に2者間 • 今回のテーマ • FHEは重たいのでAHE(加法HE)で2者間秘密計算をやりたい 背景 𝑚1 𝑓(𝑚1,…) 𝐸𝑛𝑐(𝑚1) 𝐸𝑛𝑐(𝑓(𝑚1, 𝑚2)) 𝑚1 𝑓(𝑚1, 𝑚2) 𝐸𝑛𝑐(𝑚1) 𝐸𝑛𝑐(𝑓(𝑚1, 𝑚2)) 3 / 16 𝑚2
  • 4. • 複雑な𝑓(𝑚)の計算はできない • client(秘密鍵保持者)に手伝ってもらう • 𝑓を加法、定数倍からなる複数の簡単な処理𝑓1, 𝑓2,…に分割 • インタラクションは増える • 途中結果の秘匿化の必要性 • 𝑓𝑖(𝑚1, . . )をそのまま渡すと計算途中の値が漏れる • 対応方法例 : 乱数𝑟を足して𝐸𝑛𝑐(𝑓𝑖(𝑚1, . . ) + 𝑟)をclientに渡す AHEを使うときのよくある方法 𝐸𝑛𝑐(𝑚1) 𝐸𝑛𝑐(𝑓(𝑚1,. . )) 𝑚1 𝑓(𝑚1,. . ) 𝐸𝑛𝑐(𝑚1) 𝐸𝑛𝑐(𝑓(𝑚1,. . )) 𝐸𝑛𝑐(𝑓1 𝑚1,.. ) 𝐸𝑛𝑐(𝑓2(𝑚1,. . )) ... 4 / 16
  • 5. • 乱数𝑟を足して𝐸𝑛𝑐(𝑚 + 𝑟)をclientに渡す • lifted-ElGamal暗号 • 大きな乱数を足すと復号できない • Paillier暗号 • 遅い、暗号文が大きい 途中結果の秘匿化の問題点 暗号化 復号 暗号文サイズ ElGamal(256 bit) 14usec 40usec 1024bit Paillier(2048 bit) 9000usec 8600usec 4096bit 5 / 16
  • 6. • AHEベースの二者間プロトコル𝒫 • 𝑓(𝑥) ; 整数から整数への任意の一変数関数 • serverは𝐸𝑛𝑐(𝑚)から𝐸𝑛𝑐(𝑓 𝑚 )を得る(𝑚の値は知らない) • 秘密鍵を持つclientは𝑚の情報をえられない • clientはserverの手伝いをするだけ • lifted-ElGamal型暗号に適用可能 提案プロトコル input : 𝐸𝑛𝑐(𝑚) 𝑋 𝑌 output : 𝐸𝑛𝑐(𝑓(𝑚)) 𝑋 𝑌 client Step 1 Step 3 Step 2 server 6 / 16
  • 7. • 𝑆 ; 𝑚のとり得る平文の集合, 𝑓: 𝑆 → ℤ • server input : 𝐸𝑛𝑐 𝑚 , output : 𝑋 = Sℎuffle 𝛾𝑖 𝐸𝑛𝑐 𝑚 − 𝑖 𝑖∈𝑆 • 例 : 𝑆 = {−2,−1,0,1,2}, 𝑚 = 1とする(𝑚 : unknown) Step 1 : serverによる𝐸𝑛𝑐 𝑚 の秘匿化 = 𝛾0 𝐸𝑛𝑐(𝑚 + 2) 𝛾1 𝐸𝑛𝑐(𝑚 + 1) 𝛾2 𝐸𝑛𝑐(𝑚 + 0) 𝛾3 𝐸𝑛𝑐(𝑚 − 1) 𝛾4 𝐸𝑛𝑐(𝑚 − 2) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(∗) = = = = 𝐸𝑛𝑐(𝑚 + 2) 𝐸𝑛𝑐(𝑚 + 1) 𝐸𝑛𝑐(𝑚 + 0) 𝐸𝑛𝑐(𝑚 − 1) 𝐸𝑛𝑐(𝑚 − 2) 𝐸𝑛𝑐(𝑚) 1. 𝐸𝑛𝑐(𝑖)を引く for 𝑖 ∈ 𝑆 2. 乱数𝛾𝑖を掛ける for 𝑖 ∈ 𝑆 𝑚番目のみ0. それ以外乱数 serverはその場所を知らない 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(∗) 3. ランダムシャッフル 𝑋 = 7 / 16
  • 8. • clientは𝑋 = Shuffle 𝛾𝑖 𝐸𝑛𝑐 𝑚 − 𝑖 𝑖∈𝑆を受信 • 𝑌 = Shuffle 𝐸𝑛𝑐 𝛿𝑖𝑚 𝑖∈𝑆を計算 • シャッフルされているため0の位置から 𝑚の情報は得られない • clientはserverに𝑌 = Shuffle 𝐸𝑛𝑐 𝛿𝑖𝑚 𝑖∈𝑆を返す Step 2 : clientによる再暗号化 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(1) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(∗) 𝐸𝑛𝑐(∗) ∗ 0 ∗ ∗ ∗ 復号して0なら𝐸𝑛𝑐 1 それ以外は𝐸𝑛𝑐(0)を生成 8 / 16
  • 9. • input : 𝑌 = Shuffle 𝐸𝑛𝑐 𝛿𝑖𝑚 𝑖∈𝑆 • serverは 𝐸𝑛𝑐 𝛿𝑖𝑚 𝑖∈𝑆を得る • σ𝑖∈𝑆 𝑓 𝑖 𝐸𝑛𝑐 𝛿𝑖𝑚 = 𝑓 𝑚 𝐸𝑛𝑐 1 = 𝐸𝑛𝑐(𝑓 𝑚 )を算出 Step 3 : serverによる𝐸𝑛𝑐(𝑓 𝑚 )の計算 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(1) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(0) 𝐸𝑛𝑐(1) 𝐸𝑛𝑐(0) serverはシャッフルを 元に戻す 9 / 16
  • 10. • プロトコルの特徴 • 𝑓は毎回変更可能(𝑓𝑚2 (𝑚1) ≔ 𝑓 𝑚1, 𝑚2 を扱える) • clientの復号処理は暗号文が𝐸𝑛𝑐(0)か否か確認できればよい • 復号可能な空間が制限されたlifted-ElGamal暗号に適用可能 • 効率は平文のとりえる集合𝑆の大きさに比例 • 暗号方式の切り換え • clientの𝐸𝑛𝑐(𝛿𝑖𝑚)を作る代わりに別のAHEを用いてもよい • 𝐸𝑛𝑐(𝑚)から𝐸𝑛𝑐′(𝑓 𝑚 )への変換 • leveled-HE暗号における"対話型bootstrap" • 乗算後の暗号文を乗算前の暗号文に変換 • 加法準同型-属性ベース暗号(ABE)の構成 • maliciousモデル プロトコルの拡張(1/2) 10 / 16
  • 11. • 特殊な2変数関数への対応 • max 𝑥, 𝑦 , min 𝑥, 𝑦 , equal 𝑥, 𝑦 , lessThan(𝑥, 𝑦)など • max 𝑥, 𝑦 = max 𝑥 − 𝑦, 0 + 𝑦 =: max 0 (𝑥 − 𝑦) + 𝑦とすると 𝐸𝑛𝑐 𝑥 − 𝐸𝑛𝑐 𝑦 = 𝐸𝑛𝑐(𝑥 − 𝑦)に関する 1変数関数max 0 (⋅)として適用可能 • 汎用2変数関数𝑓(𝑥, 𝑦) • 2個の暗号文𝐸𝑛𝑐 𝑥 , 𝐸𝑛𝑐(𝑦)に対して • 𝑥, 𝑦 ∈ 𝑆のとき𝑡 ≔ 𝑥 𝑆 + 𝑦で 𝑥, 𝑦 ↔ 𝑡の1対1の対応を作り • 𝐹 𝑡 ≔ 𝑓(𝑥, 𝑦) • 𝐸𝑛𝑐 𝑥 𝑆 + 𝐸𝑛𝑐 𝑦 = 𝐸𝑛𝑐 𝑥 𝑆 + 𝑦 • とすることで可能(ただし空間が𝑆 × 𝑆になる) • 2LHE暗号ベースで𝐸𝑛𝑐 𝑥 , 𝐸𝑛𝑐(𝑦)から 𝐸𝑛𝑐 𝛿 𝑥𝑖 ,{𝐸𝑛𝑐 𝛿 𝑦𝑗 }を 求めてσ𝑖,𝑗 𝑓 𝑖, 𝑗 𝐸𝑛𝑐 𝛿 𝑥𝑖 𝐸𝑛𝑐 𝛿 𝑦𝑗 = 𝐸𝑛𝑐(𝑓 𝑥, 𝑦 )を算出 プロトコルの拡張(2/2) 11 / 16
  • 12. • 編集距離 • 2個の文字列X, Yの近さdist(X, Y)を表す • Xに1文字の挿入/削除/置換操作を何回か繰り返してYにする • その最小ステップ数がdist(X, Y) • dist("abcd", "abcd") = 0 • dist("abcd", "abXd") = 1 • dist("abcd", "bcda") = 2 • 応用例 • DNAの配列の類似性などのゲノム解析の基本ツール 文字列の編集距離 12 / 16
  • 13. • 動的計画法(DP)によるO(|X||Y|)アルゴリズム • 𝑋 = 𝑥1 𝑥2 … 𝑥 𝐿, 𝑌 = 𝑦1 𝑦2 … 𝑦 𝐿 • 𝑒 𝑥𝑖, 𝑦𝑗 = 1 − 𝑒𝑞𝑢𝑎𝑙 𝑥𝑖, 𝑦𝑗 = 0 𝑖𝑓 𝑥𝑖 = 𝑦𝑗 otherwise 1 • 予稿集p.6の𝑒(𝑥𝑖, 𝑦𝑗)は間違い • 𝐷0,𝑖 = 𝐷𝑖,0 = 𝑖 • 𝐷𝑖𝑗 = min{𝐷𝑖−1,𝑗 + 1, 𝐷𝑖,𝑗−1 + 1, 𝐷𝑖−1,𝑗−1 + 𝑒 𝑥𝑖, 𝑦𝑗 } 編集距離の計算方法 X a b c d Y 0 1 2 3 4 b 1 1 2 3 4 c 2 1 2 3 4 d 3 2 1 2 3 f 4 3 2 1 2 X="abcd" Y="bcdf" 右下の値 =dist(X, Y) 13 / 16 𝐷𝑖−1,𝑗 𝐷𝑖,𝑗−1𝐷𝑖−1,𝑗−1 𝐷𝑖,𝑗 表の値を左上から 順に算出
  • 14. • Aliceが文字列X, Bobが文字列Yを持っているときに 互いに文字列を見せずにdist(X, Y)を計算する • 動的計画法(DP)の計算𝐷𝑖𝑗 = min(𝑈𝑖−1, 𝐿𝑖−1, 𝐷𝑖−1)に適用 • 実装概要 • AHEはsecp256k1上のLifted-ElGamal暗号 • テーブル𝐷𝑖,𝑗の計算に必要なmin(𝑥, 𝑦)関数について 𝑥 − 𝑦 ∈ 𝑆 ≔ {−2,−1,0,1}という性質を利用(|X|, |Y|に非依存) • 効率は𝑂( 𝐿 2 ) • https://github.com/herumi/edit-dist/ (厳密な)編集距離の秘匿計算 秘密鍵を保持 𝑋を持ってる 𝐸𝑛𝑐(𝑋) 𝑌を持ってる Enc-DP ... 𝑑𝑖𝑠𝑡(𝑋, 𝑌) ← 𝐸𝑛𝑐(𝑑𝑖𝑠𝑡(𝑋, 𝑌)) 14 / 16
  • 15. • 文字列の長さ𝐿を変えたときの処理時間(sec) • FHEベース(non-bootstrap) 682並列実行の一つ当たり • J.H.Cheon, M.Kim, K.E.Lauter. Homomorphic computation of edit distance. In Financial Cryptography and Data Security 2015 • 混合(Paillier + 秘密分散 + garbled circuit) with 1Gbps-LAN • K.Cheng,Y.Hou,L.Wang. Secure similar sequence query on outsourced genomic data. AsiaCCS 2018 • 秘密分散(SS)ベース : 表の()内数値は事前計算の処理時間(sec) • 大畑, 縫田 Communication-efficient (client-aided) secure two-party protocols and its application. In Proc. of Financial Cryptography and Data Security 2020, to appear. • Ours : WANでの実測値(MacBook Pro --- Core i7 desktop PC) 既存手法との比較(条件が異なるので参考値) 8 50 128 256 512 1024 FHE 27.5 N/A N/A N/A N/A 混合 <29 740 N/A N/A N/A N/A SS 41.8(+33.4) 84.9(+135) 174.5(+534) 367.0(+2262) Ours 0.35 8.7 24.4 58.4 203.4 15 / 16
  • 16. • lifted-ElGamal型暗号方式に適用可能な 𝐸𝑛𝑐(𝑚)から𝑓(𝐸𝑛𝑐 𝑚 )への2者間プロトコルの提案 • プロトコルの拡張 • maliciousモデル対応 • 暗号方式の変換 • レベル準同型で暗号文レベルの低減(対話型bootstrap) • 加法準同型-属性ベース暗号の構成 • 文字列の編集距離計算の文字列秘匿化と実装実験 • 謝辞 • 総務省SCOPE(受付番号182103105)の委託 • JST CREST(課題番号JPMJCR19F6)の援助 • 科研費(課題番号19H01109)の援助 • Intel株式会社堀越将司氏による2nd-Xeon SP評価環境の協力 まとめ 16 / 16