Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明

522 views

Published on

CSS2018の発表資料

Published in: Technology

レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明

  1. 1. レベル 2 準同型暗号の 平文バイナリ制約を与える コンパクトな非対話ゼロ知識証明 CSS2018 3A2-1, 2018/10/24 光成滋生(サイボウズ・ラボ) 坂井 祐介(AIST), Jacob C. N. Schuldt(AIST)
  2. 2. • 「レベル2準同型暗号の平文バイナリ制約を与える コンパクトな非対話ゼロ知識証明」 • レベル2準同型暗号(L2HE) • 暗号文同士の加算を複数回, 乗算を1回可能 • 平文バイナリ制約(ここだけの用語) • 暗号文𝐸𝑛𝑐(𝑚)に対して𝑚を知らずに𝑚 ∈ {0,1} を保証 • 従来研究 • 暗号文1個につき平文バイナリ制約を与えるゼロ知識証明1個 • 暗号文が𝑛個ならゼロ知識証明のサイズは𝑂(𝑛) • 提案方式 • ASIACCS'18で提案したL2HEに対して𝑛個の暗号文に対する 平文バイナリ制約を与える定数サイズのゼロ知識証明を構成 タイトルの意味 2 / 20
  3. 3. • 準同型暗号 • 応用例としてのOT • 動機 • メインアイデアと定理 • ASIACCS2018のL2HEへの適用 目次 3 / 20
  4. 4. • 暗号文同士の加算や乗算が可能な暗号 • 𝐸𝑛𝑐 𝑚1 + 𝐸𝑛𝑐 𝑚2 = 𝐸𝑛𝑐 𝑚1 + 𝑚2 • 𝐸𝑛𝑐 𝑚1 𝐸𝑛𝑐 𝑚2 = 𝐸𝑛𝑐 𝑚1 𝑚2 • レベル2準同型暗号(L2HE) • 乗算は1度だけ可能な暗号(暗号文の2次多項式を計算可能) • σ𝑖 𝐸𝑛𝑐 𝑥𝑖 𝐸𝑛𝑐 𝑦𝑖 = 𝐸𝑛𝑐(σ𝑖 𝑥𝑖 𝑦𝑖) • 暗号文のまま平均, 分散, 標準偏差, 内積など計算可能 • ポスターセッションでデモしてます • DPS-10 秘匿依頼計算アプリ開発のための汎用ライブラリ 準同型暗号 4 / 20
  5. 5. • 紛失通信(OT : Oblivious Transfer) • 𝑛個のデータを持っているBobにAliceが問い合わせる • 要件 • AliceはBobに何番目の値𝑎をクエリしたか教えない • BobはAliceにクエリされた場所の値𝑥 𝑎以外を教えない • インデックスを暗号化したままテーブル引き • table[𝐸𝑛𝑐(𝑎)] = 𝐸𝑛𝑐(table 𝑎 ) 応用例 Alice Bob 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 𝑎番目の値が欲しい 𝑥 𝑎を返す 5 / 20
  6. 6. • プロトコル • Alice : (𝐸𝑛𝑐 𝛿 𝑎,1 , … . , 𝐸𝑛𝑐 𝛿 𝑎,𝑛 )を送信, 𝛿𝑖,𝑗はKroneckerデルタ • Bob : 𝑐 = σ𝑖 𝑥𝑖 𝐸𝑛𝑐( 𝛿 𝑎,𝑖) = 𝐸𝑛𝑐(𝑥 𝑎)を送信 • Alice : 𝑐を復号して𝑥 𝑎を取得 • 通信量は𝑂(𝑛) 加法準同型暗号によるOT 6 / 20 Alice 𝑥1 𝑥2 𝑥3 𝑥4 𝑥5 𝑥6 要素ごとに暗号化 0 0 0 1 0 0 𝐸(0) 𝐸(0) 𝐸(0) 𝐸(0) 𝐸(0)𝐸(1) Bob 𝐸(0) 𝐸(0) 𝐸(0) 𝐸(0) 𝐸(0)𝐸(1) 要素ごとに乗算 𝐸(0) 𝐸(0) 𝐸(0) 𝐸(0) 𝐸(0)𝐸(𝑥4) 𝐸(𝑥4) 全部足す 𝐸(𝑥4) 復号 𝑥4
  7. 7. • 𝑚 = 𝑛としテーブルを2次元表記 • Alice • 𝑎を選び𝑎 = 𝑞𝑚 + 𝑟(0 ≤ 𝑟 < 𝑚) とし (𝐸𝑛𝑐 𝛿 𝑞,0 , … , 𝐸𝑛𝑐 𝛿 𝑞,𝑚−1 ), (𝐸𝑛𝑐 𝛿 𝑟,0 , … , 𝐸𝑛𝑐 𝛿 𝑟,𝑚−1 )を送信 • Bob • 𝑐 = σ𝑖𝑗 𝑥𝑖𝑚+𝑗 𝐸𝑛𝑐 𝛿 𝑞,𝑖 𝐸𝑛𝑐 𝛿 𝑟,𝑗 = 𝐸𝑛𝑐(෍ 𝑖,𝑗 𝑥𝑖𝑚+𝑗 𝛿 𝑞,𝑖 𝛿 𝑟,𝑗) = 𝐸𝑛𝑐 𝑥 𝑞𝑚+𝑟 = 𝐸𝑛𝑐(𝑥 𝑎) • Alice : 𝐷𝑒𝑐 𝑐 = 𝑥 𝑎 • 通信量は2𝑚個の暗号文= 𝑂( 𝑛) cf. PIR by BGN,Evaluating 2-DNF Formulas on Ciphertexts, TCC’05 L2HEによるOT 0 0 0 𝑞 0 0 0 0 0 𝑟 𝑚 𝑚 1 … … … … … … 7 / 20 𝐸(0) 𝐸(0)𝐸(1) 𝐸(0) 𝐸(0) 𝐸(1) 送信部分
  8. 8. • Aliceが 𝐸𝑛𝑐 1000 , 𝐸𝑛𝑐 1 , 𝐸𝑛𝑐 0 , … . を送ると1000𝑥1 + 𝑥2を得る • 𝑥1, 𝑥2が小さい値なら両方の値が判明 • Bobは𝐸𝑛𝑐 0 , 𝐸𝑛𝑐(1)以外の暗号文を排除したい • 𝐸𝑛𝑐(𝑥𝑖)が𝑥𝑖 ∈ {0,1}の暗号文であることを検証したい • 更にはσ𝑖 𝑥𝑖 = 1であることも検証したい • バイナリ範囲証明 • BRP : binary range proof (ここだけの用語) • 𝐸𝑛𝑐(𝑚)が𝑚 ∈ {0,1}であることを検証可能なゼロ知識証明 • 従来は1個の暗号文に1個のBRP • 𝑛個の暗号文には𝑛個のBRP • 今回𝑛個の暗号文に対する定数サイズのBRPを提案 悪意あるクライアントに対する防御 8 / 20
  9. 9. • ℎ: 0,1 ∗ → 𝔽 𝑝 ; ハッシュ関数 • 𝑐𝑖 ≔ 𝐸𝑛𝑐 𝑚𝑖 𝑖=1,…,𝑛に対してℎ𝑖 ≔ ℎ(𝑐1, … , 𝑐 𝑛, 𝑖)として 𝑋 ≔ ෍ 𝑖 ℎ𝑖 𝑐𝑖 𝐸𝑛𝑐 1 − 𝑐𝑖 = 𝐸𝑛𝑐(෍ 𝑖 ℎ𝑖 𝑚𝑖(1 − 𝑚𝑖)) • 全ての𝑖について𝑚𝑖 ∈ {0,1}ならば𝑋 = 𝐸𝑛𝑐 0 • 逆に𝑋 = 𝐸𝑛𝑐(0)ならば ෍ 𝑖 ℎ𝑖 𝑚𝑖 1 − 𝑚𝑖 = 0 • 𝑚𝑖 ∉ {0,1}となる𝑚𝑖を見つけるのは困難 • 𝑋 = 𝐸𝑛𝑐(0)を検証できれば全ての𝑚𝑖 ∈ {0,1}を保証 • 定数サイズのBRP コアアイデア 9 / 20
  10. 10. • 𝑓𝑖 𝑥𝑖 = 𝑥𝑖(1 − 𝑥𝑖)としたとき 𝑋 ∶= 𝐸𝑛𝑐(෍ 𝑖 ℎ𝑖 𝑓𝑖(𝑚𝑖)) = 𝐸𝑛𝑐(0) ⇔ 𝑓𝑖 𝑥𝑖 = 0 ⇔ 𝑥𝑖 ∈ {0,1} • 𝑓𝑖(𝑥)をより一般の多項式にしても 𝑋 = 𝐸𝑛𝑐 0 ⇔ 𝑓𝑖 𝑥𝑖 = 0 for 𝑖 = 0, … , 𝑛 は同様に示せる • 多項式集合{𝑓𝑖 𝑥 }の共通解を制約条件に出来る コアアイデアの拡張 10 / 20
  11. 11. • 𝐾𝑒𝑦𝐺𝑒𝑛, 𝐸𝑛𝑐, 𝐷𝑒𝑐 ; L2HE, 𝑝 : 暗号文空間のサイズ • 𝑓1, … , 𝑓𝑡 ; 𝑛変数2次多項式, ℎ ; ランダムオラクル • 攻撃者𝒜は 𝑋 = ෍ 𝑖=1 𝑡 ℎ 𝑐, 𝑖 𝑓𝑖(𝑐) = 𝐸𝑛𝑐 0 を満たす暗号文𝑐 = (𝑐1, … , 𝑐 𝑛)を出力する • このとき高々𝑞回のクエリに対して 𝑃(𝐷𝑒𝑐 𝑓𝑖 𝑐 ≠ 0となる𝑖が存在する) ≤ 𝑞+1 𝑝 • i.e., {𝑚𝑖 = 𝐷𝑒𝑐 𝑐𝑖 }が{𝑓𝑖 𝑥 = 0}の解でない確率は無視できる • 証明は予行集参照 定理 11 / 20
  12. 12. • 要請 • 𝑐𝑖 = 𝐸𝑛𝑐 𝑚𝑖 について𝑚𝑖 ∈ {0,1}かつσ𝑚𝑖 = 1(1-of-𝑛) • 多項式 • 𝑓𝑖 𝑚 ≔ 𝑚𝑖(1 − 𝑚𝑖) for 𝑖 = 1, … , 𝑛, • 𝑓𝑛+1 𝑚 : = σ𝑚𝑖 − 1とする 𝑋: = ෍ 𝑖 ℎ 𝑐, 𝑖 𝑓𝑖(𝑐) = 𝐸𝑛𝑐 0 をZKPで示せれば𝑓𝑖 𝑚 = 0 for all 𝑖 = 1, … , 𝑛 + 1 • すなわち𝑚𝑖 ∈ {0,1}かつσ𝑚𝑖 = 1 • 別の応用例 • 定数0 < 𝑘 < 𝑛をとりσ𝑚𝑖 = 1の代わりにσ𝑚𝑖 = 𝑘とすると {𝐸𝑛𝑐(𝑚𝑖)}に対して𝑘-of-𝑛を検証可能となる OTでの例 12 / 20
  13. 13. • ASIACCS’18(Attrapadung,花岡,光成,坂井,清水,照屋) • 素数位数ペアリングベースのL2HEの提案(AHM+と略記) • https://dl.acm.org/citation.cfm?doid=3196494.3196552 • 方式 • 𝑒: 𝐺1 × 𝐺2 → 𝐺 𝑇 ; 素数位数𝑝のtype3ペアリング • 𝐺𝑖 = ⟨𝑔𝑖⟩ ; 生成元𝑔𝑖の乗法的巡回群 • 鍵生成 • 𝑠1, 𝑠2 ∈ 𝔽 𝑝 ; 秘密鍵, ℎ𝑖 ≔ 𝑔𝑖 𝑠 𝑖 ; 公開鍵, ℎ3 ≔ 𝑒(ℎ1, ℎ2) • 暗号化 • 𝐸𝑛𝑐𝑖 𝑚 ∶= 𝑔𝑖 𝑚 ℎ𝑖 𝑟 𝑖 , 𝑔𝑖 𝑟 𝑖 ∈ 𝐺𝑖 2 for 𝑟𝑖 ∈ 𝔽 𝑝 ; lifted ElGamal • 𝐸𝑛𝑐 𝑚 ∶= 𝐸𝑛𝑐1 𝑚 , 𝐸𝑛𝑐2 𝑚 ∈ 𝐺1 2 × 𝐺2 2 AHM+ 13 / 20
  14. 14. • 乗算 • 𝐺1, 𝐺2のlifted ElGamal暗号文のテンソル積 𝑐1 ≔ 𝑆1, 𝑇1 ∈ 𝐺1 2 と𝑐2 ≔ 𝑆2, 𝑇2 ∈ 𝐺2 2 の乗算 𝑐1 ⋅ 𝑐2 ≔ 𝑒 𝑆1, 𝑆2 , 𝑒 𝑆1, 𝑇2 , 𝑒 𝑇1, 𝑆2 , 𝑒 𝑇1, 𝑇2 ∈ 𝐺 𝑇 4 • 復号 • 𝑐 ≔ 𝑠, 𝑡, 𝑢, 𝑣 ∈ 𝐺 𝑇 4 に対して 𝑑𝑒𝑐 𝑀 𝑐 ≔ (𝑠𝑣 𝑠1 𝑠2)/(𝑡 𝑠2 𝑢 𝑠1) • 𝐷𝑒𝑐 𝑀 𝑐 ≔ 𝐷𝐿𝑃𝑔(𝑑𝑒𝑐 𝑀 𝑐 ) AHM+における暗号文の乗算と復号 14 / 20
  15. 15. • AHM+の暗号文は2種類のlifted ElGamal暗号のペア • 𝐸𝑛𝑐 𝑚 = 𝐸𝑛𝑐1 𝑚 , 𝐸𝑛𝑐2 𝑚 = (𝑐1, 𝑐2) • 加算はそれぞれの暗号文のlifted ElGamalとしての加算 • 暗号文同士の乗算はそれぞれのペアの片方を使う • 𝐸𝑛𝑐 𝑚 ⋅ 𝐸𝑛𝑐 𝑚′ = 𝑐1, 𝑐2 ⋅ 𝑐1 ′ , 𝑐2 ′ = 𝑐1 ⋅ 𝑐2 ′ • 任意の 𝐸𝑛𝑐1 𝑚 , 𝐸𝑛𝑐2 𝑚′ ∈ 𝐺1 2 × 𝐺2 2 が 暗号文としてvalid⇔ 𝑚 = 𝑚′ • 𝒞 ≔ 𝐸𝑛𝑐1 𝑚 , 𝐸𝑛𝑐2 𝑚 ⊂ 𝐺1 2 × 𝐺2 2 ; 暗号文空間が部分集合 • cf. lifted ElGamal暗号の暗号文空間は𝐺𝑖 2 全体 注意点 15 / 20
  16. 16. • 全ての𝑐𝑖 = (𝐸𝑛𝑐1 𝑚𝑖 , 𝐸𝑛𝑐2 𝑚𝑖 ′ )の平文バイナリ制約 ⇔ 𝑚𝑖 = 𝑚𝑖′かつ𝑚𝑖 ∈ 0,1 ⇔ 𝑓𝑖 𝑚 ≔ ൝ 𝑚𝑖 1 − 𝑚𝑖 ′ for 𝑖 = 1, … , 𝑛 𝑚𝑖 − 𝑚𝑖 ′ for 𝑖 = 𝑛 + 1, … , 2𝑛 • これらの多項式に対して定理1の𝑋を 𝑋 ≔ ෍ 𝑖=1 2𝑛 ℎ 𝑐, 𝑖 𝑓𝑖 𝑐 として𝑋 = 𝐸𝑛𝑐(0)のゼロ知識証明を構成する AHM+におけるBRPを与える制約多項式 16 / 20
  17. 17. • 𝐺の生成元𝑔に対して 𝑥, 𝑦, 𝑧 ≔ (𝑔 𝑠1, 𝑔 𝑠2, 𝑔 𝑠1 𝑠2)とおく • 𝐺4の任意の元は𝑤1, 𝑤2, 𝑤3, 𝑤3 ′ ∈ 𝔽 𝑝を用いて 𝑥 𝑤1 𝑦 𝑤2 𝑧 𝑤3 ′ , 𝑔 𝑤2 𝑥 𝑤3, 𝑔 𝑤1 𝑦 𝑤3, 𝑔 𝑤3 と表現できる • 任意の 𝑠, 𝑡, 𝑢, 𝑣 ∈ 𝐺4が0の暗号文𝐸𝑛𝑐(0)である ⟺ 𝑠𝑣 𝑠1 𝑠2 𝑡 𝑠2 𝑢 𝑠1 = 1 ⟺ 𝑤3 = 𝑤3′ • この等式をゼロ知識証明で示すことに帰着 AHM+における𝐸𝑛𝑐(0)の条件 17 / 20
  18. 18. • 証明𝜋の構成 • 𝜌1, 𝜌2, 𝜌3 ∈ 𝔽 𝑝をとり 𝑅1, 𝑅2, 𝑅3, 𝑅4 ≔ 𝑥 𝜌1 𝑦 𝜌2 𝑧 𝜌3, 𝑔 𝜌2 𝑥 𝜌3, 𝑔 𝜌1 𝑦 𝜌3, 𝑔 𝜌3 𝑐 ≔ ℎ 𝑔, 𝑥, 𝑦, 𝑧, 𝑠, 𝑡, 𝑢, 𝑣, 𝑅1, 𝑅2, 𝑅3, 𝑅4 𝜎𝑖 ≔ 𝜌𝑖 + 𝑐𝑤𝑖 とおき𝜋 ≔ 𝑐, 𝜎1, 𝜎2, 𝜎3 ∈ 𝔽 𝑝 4 とする • 𝜋がゼロ知識証明であることの証明は予行集参照 𝐸𝑛𝑐(0)を与えるゼロ知識証明 18 / 20
  19. 19. • 𝐺1/𝔽 𝑝, 𝐺1 = 𝑟とする • 254-bit BN曲線(100~110bitセキュリティ)の場合 およそ 𝑝 = 𝑟 = 256bit ゼロ知識証明のサイズ比較 方式 準同型性 n個の暗号文 サイズ ゼロ知識証明 のサイズ lifted ElGamal L1 2𝑛|𝑝| 4𝑛|𝑟| AHM+の従来方式 L2 6𝑛|𝑝| 7𝑛|𝑟| 提案方式 L2 6𝑛|𝑝| 4|𝑟| 19 / 20
  20. 20. • レベル2準同型暗号の暗号文𝐸𝑛𝑐(𝑚)に対して𝑚 ∈ {0,1} であることを検証可能なゼロ知識証明を構成した • その証明は暗号文の個数によらない定数サイズである • サイズを変えないままで𝑘-of-𝑛の制約を追加できる 本研究の一部はJST CREST JPMJCR1688の支援を受けている まとめ 20 / 20

×