SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
ペアリングベースの
効率的なレベル2準同型暗号
SCIS 2018
Nuttapong Attrapadung*1, 花岡 悟一郎*1,
○光成 滋生*2, 坂井 祐介*1, 清水 佳奈*3, 照屋 唯紀*1
*1 産総研, *2サイボウズ・ラボ, *3 早稲田大学
本研究の一部はJST CREST JPMJCR1688 の支援を受けている
• 背景
• Lifted-ElGamal暗号ベースのL2準同型暗号の提案
• 安全性
• 既存方式との比較
• 実装
• まとめ
概要
2 / 21
• 準同型暗号は暗号文から別の暗号文を計算できる
• 秘匿計算、クラウドへの移譲など応用範囲は広い
• 準同型暗号の種類
• 加法準同型(ex. 岡本・内山, Paillier, Lifted-ElGamal)
• 𝐸𝑛𝑐 𝑚 + 𝐸𝑛𝑐 𝑚′ = 𝐸𝑛𝑐 𝑚 + 𝑚′
• 乗法準同型(ex. RSA, ElGamal)
• 𝐸𝑛𝑐 𝑚 × 𝐸𝑛𝑐 𝑚′ = 𝐸𝑛𝑐 𝑚𝑚′
• 完全準同型(ex. Gentry, 格子ベース)
• 加法と乗法の両方が可能
背景
3 / 21
• 加法・乗法準同型暗号
• 速いが用途が限定される
• 完全準同型暗号
• 任意の演算が可能だが遅い、暗号文が大きい
• (従来の群に比べて)安全評価が研究途上
• レベル準同型暗号
• 乗算回数に制約がある完全準同型暗号
• 加法準同型暗号と完全準同型暗号の間
利点と欠点
加法準同型 レベル準同型 完全準同型
速度・サイズ ◎ ○ △
機能性 △ ○ ◎
4 / 21
• 乗算が一度だけ可能な加法準同型暗号
• 「レベル2」は2次多項式を計算できることを指す
• 2個のベクトル
𝑥 = 𝑥1, 𝑥2, … , 𝑦 = 𝑦1, 𝑦2, …
の暗号文 𝐸𝑛𝑐 𝑥𝑖 , 𝐸𝑛𝑐 𝑦𝑖 の内積を計算可能
෍
𝑖
𝐸𝑛𝑐 𝑥𝑖 𝐸𝑛𝑐 𝑦𝑖 = 𝐸𝑛𝑐(෍
𝑖
𝑥𝑖 𝑦𝑖)
平均、分散、回帰、相関などが可能
レベル2準同型暗号
5 / 21
• Boneh, Goh, Nissim(TCC2005)
• 合成数位数ペアリングを利用
• 合成数位数ペアリングは素数位数ペアリングに比べて重たい
• Freeman(EUROCRYPTO2010)
• 合成数位数ペアリングを素数位数ペアリングで代用する
フレームワークの提案とBGN方式への適用
• Herold, Hesse, Hofheinz, Rafols, Rupp(CRYPTO2014)
• Freeman方式の改良・一般化
• 対称ペアリング(非対称ペアリングでの効率は未調査)
• Catalano, Fiore(SIGSAC2015)
• レベルdをレベル2dに変換する一般方式
• 乗算後の復号/加算が非効率
• 注意
• どれも復号にはDLPを解く必要があり平文空間が制限される
ペアリングベースのL2HEの既存方式
6 / 21
• Lifted-ElGamal暗号と非対称ペアリングの組み合わせ
• 非対称ペアリング(Type3)
• 巡回群𝐺1, 𝐺2, 𝐺 𝑇に対する双線形写像 𝑒: 𝐺1 × 𝐺2 → 𝐺 𝑇
• 𝑒 𝑎𝑃, 𝑏𝑄 = 𝑒 𝑃, 𝑄 𝑎𝑏 for 𝑎, 𝑏 ∈ ℤ, 𝑃 ∈ 𝐺1, 𝑄 ∈ 𝐺2
• 𝐺1 ≠ 𝐺2かつ𝐺1から𝐺2への効率的な準同型写像が無い
提案方式の概要
7 / 21
• セットアップ
• 位数𝑝の楕円曲線𝐺 = ⟨𝑃⟩
• 鍵生成
• 𝑠 ∈ 𝔽 𝑝を秘密鍵(乱数), 𝑠𝑃が公開鍵
• 暗号化
• 平文𝑚に対して乱数𝑟をとり𝐸𝑛𝑐 𝑚 = (𝑚𝑃 + 𝑟𝑠𝑃, 𝑟𝑃)
• 復号
• 𝑐 = (𝑆, 𝑇)に対して
𝑆 − 𝑠𝑇 = 𝑚𝑃 + 𝑟𝑠𝑃 − 𝑠 𝑟𝑃 = 𝑚𝑃
を計算しDLPを解いて𝑚を得る
Lifted-ElGamal暗号
8 / 21
• 2個の平文𝑚1, 𝑚2に対して暗号文の各成分を足す
𝐸𝑛𝑐 𝑚1 + 𝐸𝑛𝑐 𝑚2
= 𝑚1 𝑃 + 𝑟1 𝑠𝑃, 𝑟1 𝑃 + 𝑚2 𝑃 + 𝑟2 𝑠𝑃, 𝑟2 𝑃
= 𝑚1 + 𝑚2 𝑃, 𝑟1 + 𝑟2 𝑠𝑃, 𝑟1 + 𝑟2 𝑃
= 𝐸𝑛𝑐(𝑚1 + 𝑚2)
Lifted-ElGamal暗号の加法準同型性
9 / 21
• 𝐺1, 𝐺2に対するLifted-ElGamal暗号文を
ペアリング𝑒: 𝐺1 × 𝐺2 → 𝐺 𝑇を用いて「乗算」する
• 𝐺𝑖 = 𝑃𝑖 , 𝑠𝑖 ; 秘密鍵, 𝑠𝑖 𝑃𝑖 ; 公開鍵
• 𝐶1 = 𝐸𝑛𝑐 𝐺1
𝑚 = 𝑚𝑃1 + 𝑟𝑠1 𝑃1, 𝑟𝑃𝑖 = 𝑆1, 𝑇1 ∈ 𝐺1
2
• 𝐶2 = 𝐸𝑛𝑐 𝐺2
𝑚′ = 𝑚′ 𝑃2 + 𝑟′ 𝑠2 𝑃2, 𝑟′ 𝑃2 = 𝑆2, 𝑇2 ∈ 𝐺2
2
• 𝐶1 × 𝐶2 ≔ 𝑒 𝑆1, 𝑆2 , 𝑒 𝑆1, 𝑇2 , 𝑒 𝑇1, 𝑆2 , 𝑒 𝑇1, 𝑇2 ∈ 𝐺 𝑇
4
• ペアリングを用いた𝐶1, 𝐶2の各要素に対する「テンソル積」
提案方式の暗号文の乗算
10 / 21
• 再掲
• 𝐶1 = 𝐸𝑛𝑐 𝐺1
𝑚 = 𝑚𝑃1 + 𝑟𝑠1 𝑃1, 𝑟𝑃1 = 𝑆1, 𝑇1 ∈ 𝐺1
2
• 𝐶2 = 𝐸𝑛𝑐 𝐺2
𝑚′
= 𝑚′
𝑃2 + 𝑟′
𝑠2 𝑃2, 𝑟′
𝑃2 = 𝑆2, 𝑇2 ∈ 𝐺2
2
• 𝐶1 × 𝐶2 ≔ 𝑒 𝑆1, 𝑆2 , 𝑒 𝑆1, 𝑇2 , 𝑒 𝑇1, 𝑆2 , 𝑒 𝑇1, 𝑇2 ∈ 𝐺 𝑇
4
• 乗算暗号文 𝑐1, 𝑐2, 𝑐3, 𝑐4 ∈ 𝐺 𝑇
4
の復号
𝑑𝑒𝑐 c1, c2, 𝑐3, 𝑐4 ≔
𝑐1 𝑐4
𝑠1 𝑠2
𝑐2
𝑠2
𝑐3
𝑠1
=
𝑒 𝑆1, 𝑆2 𝑒 𝑠1 𝑇1, 𝑠2 𝑇2
𝑒 𝑆1, 𝑠2 𝑇2 𝑒(𝑠1 𝑇1, 𝑆2)
= 𝑒 𝑆1 − 𝑠1 𝑇1, 𝑆2 − 𝑠2 𝑇2
= 𝑒 𝑚𝑃1 , 𝑚′ 𝑃2 = 𝑒 𝑃1, 𝑃2
𝑚𝑚′
• DLPを解いて𝑚𝑚′を得る
乗算暗号文の復号
Lifted-ElGamal暗号
の復号手順
11 / 21
• 𝑥 = (𝑥𝑖), 𝑦 = (𝑦𝑖)の内積を取るだけの場合
𝐸𝑛𝑐 𝐺1
(𝑥𝑖)と𝐸𝑛𝑐 𝐺2
(𝑦𝑖)のみを利用すればよい
• 𝐸𝑛𝑐 𝐺1
𝑥𝑖
2
なども計算する必要があるなら暗号文は
𝐸𝑛𝑐 𝑚 ≔ 𝐸𝑛𝑐 𝐺1
𝑚 , 𝐸𝑛𝑐 𝐺2
𝑚
というペアの形で利用する
暗号文
12 / 21
• SXDH(Symmetric eXeternal DH)仮定
• 𝑃𝑖を𝐺𝑖の生成元とするとき
(𝑎𝑃𝑖, 𝑏𝑃𝑖, 𝑎𝑏𝑃𝑖)と(𝑎𝑃𝑖, 𝑏𝑃𝑖, 𝑐𝑃𝑖)の区別がつかない
• ペアリングパラメータ𝑔𝑘を生成する𝒢(1 𝑛)がSXDH困難とは
任意の確率的多項式アルゴリズム𝒜に対してアドバンデージ
Pr[𝑔𝑘 ← 𝒢 1 𝑛 ; 𝛼, 𝛽 ← ℤ 𝑝; 𝑏 ← 𝒜 𝑝𝑝, 𝑔𝑖
𝛼
, 𝑔𝑖
𝛽
, 𝑔𝑖
𝛼𝛽
: 𝑏 = 1
− Pr[𝑔𝑘 ← 𝒢 1 𝑛 ; 𝛼, 𝛽, 𝛾 ← ℤ 𝑝; 𝑏 ← 𝒜 𝑝𝑝, 𝑔𝑖
𝛼
, 𝑔𝑖
𝛽
, 𝑔𝑖
𝛾
: 𝑏 = 1
が𝑖 = 1,2について𝑛に対して無視できること
𝑝𝑝:公開パラメータ
• 提案方式はSXDH仮定の元でIND-CPA安全
• 証明は予稿集参照
安全性
13 / 21
• 与えられた暗号文が直接作られたものか、
何かの演算操作によって作られたものか
判別できないこと
• 𝐸𝑛𝑐 𝐺 𝑖
(𝑚)と𝐸𝑛𝑐 𝐺 𝑖
𝑚 + 𝐸𝑛𝑐 𝐺 𝑖
(𝑚′)の判別
• 𝐸𝑛𝑐 𝐺1
𝑚 × 𝐸𝑛𝑐 𝐺2
𝑚′
と𝐸𝑛𝑐 𝐺 𝑇
(𝑚𝑚′
)の判別
• (注意)群が異なるのでどの種類の暗号文かは判別可能
• 再暗号化
• 𝑅𝑒𝑅𝑎𝑛𝑑 𝐺 𝑖
𝑐𝑖 : = 𝑐𝑖 + 𝐸𝑛𝑐 𝐺 𝑖
(0)
• 暗号文に𝐸𝑛𝑐 𝐺 𝑖
(0)を足したものが
元の暗号文と同じか判別できない
回路安全性(circuit privacy)
14 / 21
• 𝑒 ≔ 𝑒(𝑃1, 𝑃2)とし公開鍵𝑠1 𝑃1, 𝑠2 𝑃2から
z1, z2, z3, z4 ≔ (𝑒, 𝑒 𝑠2, 𝑒 𝑠1, 𝑒 𝑠1 𝑠2)を計算しておく
• 𝐹 𝜌, 𝜎, 𝜏 ≔ (𝑧4
𝜏
, 𝑧3
𝜎
, 𝑧2
𝜌
, 𝑧1
𝜌+𝜎−𝜏
)とすると
𝑑𝑒𝑐 𝐹 𝜌, 𝜎, 𝜏 =
𝑧4
𝜏
z1
𝜌+𝜎−𝜏 s1s2
z3
𝜏 𝑠2 𝑧2
𝜌 𝑠1
= 𝑒 𝑠1 𝑠2 𝜏+ 𝜌+𝜎−𝜏 𝑠1 𝑠2−𝑠1 𝜏s2−s2 𝜌𝑠1 = 1
• 𝐸𝑛𝑐 𝐺 𝑇
0 = 𝐹(𝜌, 𝜎, 𝜏)
• これを掛けると全ての項が乱数と区別できない
𝐸𝑛𝑐 𝐺 𝑇
(𝑚)のランダム化
15 / 21
• Freeman10(optimized version ; not published)
• http://theory.stanford.edu/~dfreeman/papers/subgroups.pdf
• 秘密鍵 : (𝑥𝑖, 𝑦𝑖, 𝑧𝑖) for 𝑖 = 1, 2
• 公開鍵 : 𝑥𝑖 𝑃𝑖, 𝑦𝑖 𝑃𝑖, 𝑧𝑖 𝑃𝑖 ∈ 𝐺𝑖
3
• 暗号文 : 𝐸𝑛𝑐 𝐺 𝑖
𝑚 = 𝑚𝑦𝑖 𝑃𝑖 + 𝑟𝑖 𝑃𝑖, 𝑚𝑧𝑖 𝑃𝑖 + 𝑟𝑖 𝑥𝑖 𝑃𝑖 ∈ 𝐺𝑖
2
• 乗算暗号文は同じ方法で∈ 𝐺 𝑇
4
• Herold14(対称ペアリング版)
• 秘密鍵 : 𝑠, 公開鍵 : s𝑃
• 暗号文 : 𝐸𝑛𝑐 𝑚 = 𝑚 − 𝑠𝑟0 𝑃, 𝑟0 − 𝑠𝑟1 𝑃, 𝑟1 𝑃 ∈ 𝐺1
3
• 乗算暗号文
𝐶0, 𝐶1, 𝐶2 × 𝐶0
′
, 𝐶1
′
, 𝐶2
′
≔ Π𝑗=0
𝑘
𝑒 𝐶𝑗, 𝐶 𝑘−𝑗
′
, 𝑘 = 0, . . , 4 ∈ 𝐺 𝑇
5
• ナイーブにはペアリング9回
他方式との比較(1/2)
16 / 21
• サイズ比較
• Heroldの対称ペアリングを非対称にしたときの評価は未調査
• DLPの効率
• Freeman方式はDLPの底が秘密鍵ごとに異なるのに対して
我々の提案方式はシステム固定
• DLPを解くにはテーブルを用意する必要があるので
テーブルがシステム固定だと効率がよい
他方式との比較(2/2)
ペアリング 秘密鍵
公開鍵
L1暗号文 L2暗号文
ペアリング
Freeman 非対称 8/6 4 4
Freeman-opt 非対称 6 4 4
Herold-opt 対称 1 3 5(最適化後)
Ours 非対称 2 4 4
17 / 21
• 例)暗号文𝑐が𝐸𝑛𝑐(0)か𝐸𝑛𝑐(1)のどちらかを検証する
• 賛成か反対の電子投票では𝑚 = 0か1としたい
• 化合物の秘匿検索では入力ベクトルがビットベクトル
(0 or 1のベクトル)であることを検証したい
• ゼロ知識証明を使う
• Lifted-ElGamal暗号に対してはSakai2013らによる効率的な方
法が提案されている
• 我々の手法はLifted-ElGamal暗号なので既存手法を適用可能
• (注意)(𝐸𝑛𝑐 𝐺1
𝑚 , 𝐸𝑛𝑐 𝐺2
𝑚 )を暗号文とする場合は𝐺1, 𝐺2と
で同じ平文を暗号化していることを確認する必要がある
平文空間の制限
18 / 21
• ペアリング暗号ライブラリmclを用いて実装
• https://github.com/herumi/mcl ; C++版
• https://github.com/herumi/she-wasm ; ブラウザ/Node.js版
• Windows, Linux, OS X, Androidなどに対応
• x64/ARM64などに向けた最適化
• WebAssembly(JavaScriptを補完する仮想マシンコード)対応
• 2017年夏以降のモダンブラウザ
(Microsoft Edge, Firefox, Chrome, Safari)で
プラグイン無しで動作
• iPhone, Androidなどでも動作
• https://herumi.github.io/she-wasm/she-demo.html
実装
19 / 21
• 暗号化・復号にかかった時間(msec)
• BN254(G1 : 256ビット, 100ビットセキュリティ)
• decは20ビットテーブル(8MiB)範囲内の復号時間
ベンチマーク
native JavaScritpt(WASM)
x64 Linux on
Core i7-7700
Firefox on
Core i7-7700
Safari on
iPhone 7
encG1 0.017 0.16 0.74
encG2 0.045 0.44 0.98
addG1 0.00045 0.02 0.02
addG2 0.0013 0.02 0.04
mul 1.097 9.1 13.9
dec 0.616 4.8 7.5
20 / 21
• Lifted-ElGamal暗号同士を非対称ペアリングを用いて
「掛ける」ことでレベル2準同型暗号を構成した
• Lifted-ElGamal暗号ベースなので従来のLifted-ElGamal
暗号に対する機能追加(例:平文空間の制限)が容易
• C++/asm/WebAssemblyによる高速な実装
まとめ
21 / 21

Más contenido relacionado

La actualidad más candente

技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料Tetsuyuki Oishi
 
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...MITSUNARI Shigeo
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -MITSUNARI Shigeo
 
zk-SNARKsの仕組みについて
zk-SNARKsの仕組みについてzk-SNARKsの仕組みについて
zk-SNARKsの仕組みについてts21
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpsonickun
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながりMITSUNARI Shigeo
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介MITSUNARI Shigeo
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用MITSUNARI Shigeo
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算MITSUNARI Shigeo
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がりMITSUNARI Shigeo
 
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃trmr
 
安全性を証明するために知っておくべき4つのこと
安全性を証明するために知っておくべき4つのこと安全性を証明するために知っておくべき4つのこと
安全性を証明するために知っておくべき4つのことshibataka000
 
katagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Cryptokatagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Cryptotrmr
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明MITSUNARI Shigeo
 

La actualidad más candente (20)

技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料技術勉強会(楕円曲線暗号)資料
技術勉強会(楕円曲線暗号)資料
 
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and...
 
暗認本読書会12
暗認本読書会12暗認本読書会12
暗認本読書会12
 
暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -暗号文のままで計算しよう - 準同型暗号入門 -
暗号文のままで計算しよう - 準同型暗号入門 -
 
zk-SNARKsの仕組みについて
zk-SNARKsの仕組みについてzk-SNARKsの仕組みについて
zk-SNARKsの仕組みについて
 
暗認本読書会6
暗認本読書会6暗認本読書会6
暗認本読書会6
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
RSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjpRSA暗号運用でやってはいけない n のこと #ssmjp
RSA暗号運用でやってはいけない n のこと #ssmjp
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながり
 
RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介RSA鍵生成脆弱性ROCAの紹介
RSA鍵生成脆弱性ROCAの紹介
 
暗認本読書会4
暗認本読書会4暗認本読書会4
暗認本読書会4
 
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
ElGamal型暗号文に対する任意関数演算・再暗号化の二者間秘密計算プロトコルとその応用
 
『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算『データ解析におけるプライバシー保護』勉強会 秘密計算
『データ解析におけるプライバシー保護』勉強会 秘密計算
 
新しい暗号技術
新しい暗号技術新しい暗号技術
新しい暗号技術
 
暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり暗号化したまま計算できる暗号技術とOSS開発による広がり
暗号化したまま計算できる暗号技術とOSS開発による広がり
 
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
 
集約署名
集約署名集約署名
集約署名
 
安全性を証明するために知っておくべき4つのこと
安全性を証明するために知っておくべき4つのこと安全性を証明するために知っておくべき4つのこと
安全性を証明するために知っておくべき4つのこと
 
katagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Cryptokatagaitai CTF勉強会 #5 Crypto
katagaitai CTF勉強会 #5 Crypto
 
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
 

Similar a ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)

AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...T T
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5sleepy_yoshi
 
バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案MITSUNARI Shigeo
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
 
第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程Ohsawa Goodfellow
 
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換京大 マイコンクラブ
 
transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~MasayoshiTsutsui
 
Javascript で暗号化
Javascript で暗号化Javascript で暗号化
Javascript で暗号化suno88
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2Masao Kato
 
PRML復々習レーン#10 7.1.3-7.1.5
PRML復々習レーン#10 7.1.3-7.1.5PRML復々習レーン#10 7.1.3-7.1.5
PRML復々習レーン#10 7.1.3-7.1.5sleepy_yoshi
 
Sized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアルSized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアルAkinori Abe
 

Similar a ペアリングベースの効率的なレベル2準同型暗号(SCIS2018) (14)

AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
AI2: Safety and Robustness Certification of Neural Networks with Abstract Int...
 
PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5PRML復々習レーン#3 3.1.3-3.1.5
PRML復々習レーン#3 3.1.3-3.1.5
 
Oshasta em
Oshasta emOshasta em
Oshasta em
 
バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案バックドア耐性のあるパスワード暗号化の提案
バックドア耐性のあるパスワード暗号化の提案
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程第9章 ネットワーク上の他の確率過程
第9章 ネットワーク上の他の確率過程
 
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換
 
Clojure
ClojureClojure
Clojure
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~transformer解説~Chat-GPTの源流~
transformer解説~Chat-GPTの源流~
 
Javascript で暗号化
Javascript で暗号化Javascript で暗号化
Javascript で暗号化
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2
 
PRML復々習レーン#10 7.1.3-7.1.5
PRML復々習レーン#10 7.1.3-7.1.5PRML復々習レーン#10 7.1.3-7.1.5
PRML復々習レーン#10 7.1.3-7.1.5
 
Sized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアルSized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアル
 

Más de 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
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた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
 

Más de 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
 
暗認本読書会5
暗認本読書会5暗認本読書会5
暗認本読書会5
 
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
深層学習フレームワークにおけるIntel CPU/富岳向け最適化法
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装WebAssembly向け多倍長演算の実装
WebAssembly向け多倍長演算の実装
 
HPC Phys-20201203
HPC Phys-20201203HPC Phys-20201203
HPC Phys-20201203
 
LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介LazyFP vulnerabilityの紹介
LazyFP vulnerabilityの紹介
 
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみたIntro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
 
ゆるバグ
ゆるバグゆるバグ
ゆるバグ
 
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
 

Último

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Último (7)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

ペアリングベースの効率的なレベル2準同型暗号(SCIS2018)

  • 1. ペアリングベースの 効率的なレベル2準同型暗号 SCIS 2018 Nuttapong Attrapadung*1, 花岡 悟一郎*1, ○光成 滋生*2, 坂井 祐介*1, 清水 佳奈*3, 照屋 唯紀*1 *1 産総研, *2サイボウズ・ラボ, *3 早稲田大学 本研究の一部はJST CREST JPMJCR1688 の支援を受けている
  • 2. • 背景 • Lifted-ElGamal暗号ベースのL2準同型暗号の提案 • 安全性 • 既存方式との比較 • 実装 • まとめ 概要 2 / 21
  • 3. • 準同型暗号は暗号文から別の暗号文を計算できる • 秘匿計算、クラウドへの移譲など応用範囲は広い • 準同型暗号の種類 • 加法準同型(ex. 岡本・内山, Paillier, Lifted-ElGamal) • 𝐸𝑛𝑐 𝑚 + 𝐸𝑛𝑐 𝑚′ = 𝐸𝑛𝑐 𝑚 + 𝑚′ • 乗法準同型(ex. RSA, ElGamal) • 𝐸𝑛𝑐 𝑚 × 𝐸𝑛𝑐 𝑚′ = 𝐸𝑛𝑐 𝑚𝑚′ • 完全準同型(ex. Gentry, 格子ベース) • 加法と乗法の両方が可能 背景 3 / 21
  • 4. • 加法・乗法準同型暗号 • 速いが用途が限定される • 完全準同型暗号 • 任意の演算が可能だが遅い、暗号文が大きい • (従来の群に比べて)安全評価が研究途上 • レベル準同型暗号 • 乗算回数に制約がある完全準同型暗号 • 加法準同型暗号と完全準同型暗号の間 利点と欠点 加法準同型 レベル準同型 完全準同型 速度・サイズ ◎ ○ △ 機能性 △ ○ ◎ 4 / 21
  • 5. • 乗算が一度だけ可能な加法準同型暗号 • 「レベル2」は2次多項式を計算できることを指す • 2個のベクトル 𝑥 = 𝑥1, 𝑥2, … , 𝑦 = 𝑦1, 𝑦2, … の暗号文 𝐸𝑛𝑐 𝑥𝑖 , 𝐸𝑛𝑐 𝑦𝑖 の内積を計算可能 ෍ 𝑖 𝐸𝑛𝑐 𝑥𝑖 𝐸𝑛𝑐 𝑦𝑖 = 𝐸𝑛𝑐(෍ 𝑖 𝑥𝑖 𝑦𝑖) 平均、分散、回帰、相関などが可能 レベル2準同型暗号 5 / 21
  • 6. • Boneh, Goh, Nissim(TCC2005) • 合成数位数ペアリングを利用 • 合成数位数ペアリングは素数位数ペアリングに比べて重たい • Freeman(EUROCRYPTO2010) • 合成数位数ペアリングを素数位数ペアリングで代用する フレームワークの提案とBGN方式への適用 • Herold, Hesse, Hofheinz, Rafols, Rupp(CRYPTO2014) • Freeman方式の改良・一般化 • 対称ペアリング(非対称ペアリングでの効率は未調査) • Catalano, Fiore(SIGSAC2015) • レベルdをレベル2dに変換する一般方式 • 乗算後の復号/加算が非効率 • 注意 • どれも復号にはDLPを解く必要があり平文空間が制限される ペアリングベースのL2HEの既存方式 6 / 21
  • 7. • Lifted-ElGamal暗号と非対称ペアリングの組み合わせ • 非対称ペアリング(Type3) • 巡回群𝐺1, 𝐺2, 𝐺 𝑇に対する双線形写像 𝑒: 𝐺1 × 𝐺2 → 𝐺 𝑇 • 𝑒 𝑎𝑃, 𝑏𝑄 = 𝑒 𝑃, 𝑄 𝑎𝑏 for 𝑎, 𝑏 ∈ ℤ, 𝑃 ∈ 𝐺1, 𝑄 ∈ 𝐺2 • 𝐺1 ≠ 𝐺2かつ𝐺1から𝐺2への効率的な準同型写像が無い 提案方式の概要 7 / 21
  • 8. • セットアップ • 位数𝑝の楕円曲線𝐺 = ⟨𝑃⟩ • 鍵生成 • 𝑠 ∈ 𝔽 𝑝を秘密鍵(乱数), 𝑠𝑃が公開鍵 • 暗号化 • 平文𝑚に対して乱数𝑟をとり𝐸𝑛𝑐 𝑚 = (𝑚𝑃 + 𝑟𝑠𝑃, 𝑟𝑃) • 復号 • 𝑐 = (𝑆, 𝑇)に対して 𝑆 − 𝑠𝑇 = 𝑚𝑃 + 𝑟𝑠𝑃 − 𝑠 𝑟𝑃 = 𝑚𝑃 を計算しDLPを解いて𝑚を得る Lifted-ElGamal暗号 8 / 21
  • 9. • 2個の平文𝑚1, 𝑚2に対して暗号文の各成分を足す 𝐸𝑛𝑐 𝑚1 + 𝐸𝑛𝑐 𝑚2 = 𝑚1 𝑃 + 𝑟1 𝑠𝑃, 𝑟1 𝑃 + 𝑚2 𝑃 + 𝑟2 𝑠𝑃, 𝑟2 𝑃 = 𝑚1 + 𝑚2 𝑃, 𝑟1 + 𝑟2 𝑠𝑃, 𝑟1 + 𝑟2 𝑃 = 𝐸𝑛𝑐(𝑚1 + 𝑚2) Lifted-ElGamal暗号の加法準同型性 9 / 21
  • 10. • 𝐺1, 𝐺2に対するLifted-ElGamal暗号文を ペアリング𝑒: 𝐺1 × 𝐺2 → 𝐺 𝑇を用いて「乗算」する • 𝐺𝑖 = 𝑃𝑖 , 𝑠𝑖 ; 秘密鍵, 𝑠𝑖 𝑃𝑖 ; 公開鍵 • 𝐶1 = 𝐸𝑛𝑐 𝐺1 𝑚 = 𝑚𝑃1 + 𝑟𝑠1 𝑃1, 𝑟𝑃𝑖 = 𝑆1, 𝑇1 ∈ 𝐺1 2 • 𝐶2 = 𝐸𝑛𝑐 𝐺2 𝑚′ = 𝑚′ 𝑃2 + 𝑟′ 𝑠2 𝑃2, 𝑟′ 𝑃2 = 𝑆2, 𝑇2 ∈ 𝐺2 2 • 𝐶1 × 𝐶2 ≔ 𝑒 𝑆1, 𝑆2 , 𝑒 𝑆1, 𝑇2 , 𝑒 𝑇1, 𝑆2 , 𝑒 𝑇1, 𝑇2 ∈ 𝐺 𝑇 4 • ペアリングを用いた𝐶1, 𝐶2の各要素に対する「テンソル積」 提案方式の暗号文の乗算 10 / 21
  • 11. • 再掲 • 𝐶1 = 𝐸𝑛𝑐 𝐺1 𝑚 = 𝑚𝑃1 + 𝑟𝑠1 𝑃1, 𝑟𝑃1 = 𝑆1, 𝑇1 ∈ 𝐺1 2 • 𝐶2 = 𝐸𝑛𝑐 𝐺2 𝑚′ = 𝑚′ 𝑃2 + 𝑟′ 𝑠2 𝑃2, 𝑟′ 𝑃2 = 𝑆2, 𝑇2 ∈ 𝐺2 2 • 𝐶1 × 𝐶2 ≔ 𝑒 𝑆1, 𝑆2 , 𝑒 𝑆1, 𝑇2 , 𝑒 𝑇1, 𝑆2 , 𝑒 𝑇1, 𝑇2 ∈ 𝐺 𝑇 4 • 乗算暗号文 𝑐1, 𝑐2, 𝑐3, 𝑐4 ∈ 𝐺 𝑇 4 の復号 𝑑𝑒𝑐 c1, c2, 𝑐3, 𝑐4 ≔ 𝑐1 𝑐4 𝑠1 𝑠2 𝑐2 𝑠2 𝑐3 𝑠1 = 𝑒 𝑆1, 𝑆2 𝑒 𝑠1 𝑇1, 𝑠2 𝑇2 𝑒 𝑆1, 𝑠2 𝑇2 𝑒(𝑠1 𝑇1, 𝑆2) = 𝑒 𝑆1 − 𝑠1 𝑇1, 𝑆2 − 𝑠2 𝑇2 = 𝑒 𝑚𝑃1 , 𝑚′ 𝑃2 = 𝑒 𝑃1, 𝑃2 𝑚𝑚′ • DLPを解いて𝑚𝑚′を得る 乗算暗号文の復号 Lifted-ElGamal暗号 の復号手順 11 / 21
  • 12. • 𝑥 = (𝑥𝑖), 𝑦 = (𝑦𝑖)の内積を取るだけの場合 𝐸𝑛𝑐 𝐺1 (𝑥𝑖)と𝐸𝑛𝑐 𝐺2 (𝑦𝑖)のみを利用すればよい • 𝐸𝑛𝑐 𝐺1 𝑥𝑖 2 なども計算する必要があるなら暗号文は 𝐸𝑛𝑐 𝑚 ≔ 𝐸𝑛𝑐 𝐺1 𝑚 , 𝐸𝑛𝑐 𝐺2 𝑚 というペアの形で利用する 暗号文 12 / 21
  • 13. • SXDH(Symmetric eXeternal DH)仮定 • 𝑃𝑖を𝐺𝑖の生成元とするとき (𝑎𝑃𝑖, 𝑏𝑃𝑖, 𝑎𝑏𝑃𝑖)と(𝑎𝑃𝑖, 𝑏𝑃𝑖, 𝑐𝑃𝑖)の区別がつかない • ペアリングパラメータ𝑔𝑘を生成する𝒢(1 𝑛)がSXDH困難とは 任意の確率的多項式アルゴリズム𝒜に対してアドバンデージ Pr[𝑔𝑘 ← 𝒢 1 𝑛 ; 𝛼, 𝛽 ← ℤ 𝑝; 𝑏 ← 𝒜 𝑝𝑝, 𝑔𝑖 𝛼 , 𝑔𝑖 𝛽 , 𝑔𝑖 𝛼𝛽 : 𝑏 = 1 − Pr[𝑔𝑘 ← 𝒢 1 𝑛 ; 𝛼, 𝛽, 𝛾 ← ℤ 𝑝; 𝑏 ← 𝒜 𝑝𝑝, 𝑔𝑖 𝛼 , 𝑔𝑖 𝛽 , 𝑔𝑖 𝛾 : 𝑏 = 1 が𝑖 = 1,2について𝑛に対して無視できること 𝑝𝑝:公開パラメータ • 提案方式はSXDH仮定の元でIND-CPA安全 • 証明は予稿集参照 安全性 13 / 21
  • 14. • 与えられた暗号文が直接作られたものか、 何かの演算操作によって作られたものか 判別できないこと • 𝐸𝑛𝑐 𝐺 𝑖 (𝑚)と𝐸𝑛𝑐 𝐺 𝑖 𝑚 + 𝐸𝑛𝑐 𝐺 𝑖 (𝑚′)の判別 • 𝐸𝑛𝑐 𝐺1 𝑚 × 𝐸𝑛𝑐 𝐺2 𝑚′ と𝐸𝑛𝑐 𝐺 𝑇 (𝑚𝑚′ )の判別 • (注意)群が異なるのでどの種類の暗号文かは判別可能 • 再暗号化 • 𝑅𝑒𝑅𝑎𝑛𝑑 𝐺 𝑖 𝑐𝑖 : = 𝑐𝑖 + 𝐸𝑛𝑐 𝐺 𝑖 (0) • 暗号文に𝐸𝑛𝑐 𝐺 𝑖 (0)を足したものが 元の暗号文と同じか判別できない 回路安全性(circuit privacy) 14 / 21
  • 15. • 𝑒 ≔ 𝑒(𝑃1, 𝑃2)とし公開鍵𝑠1 𝑃1, 𝑠2 𝑃2から z1, z2, z3, z4 ≔ (𝑒, 𝑒 𝑠2, 𝑒 𝑠1, 𝑒 𝑠1 𝑠2)を計算しておく • 𝐹 𝜌, 𝜎, 𝜏 ≔ (𝑧4 𝜏 , 𝑧3 𝜎 , 𝑧2 𝜌 , 𝑧1 𝜌+𝜎−𝜏 )とすると 𝑑𝑒𝑐 𝐹 𝜌, 𝜎, 𝜏 = 𝑧4 𝜏 z1 𝜌+𝜎−𝜏 s1s2 z3 𝜏 𝑠2 𝑧2 𝜌 𝑠1 = 𝑒 𝑠1 𝑠2 𝜏+ 𝜌+𝜎−𝜏 𝑠1 𝑠2−𝑠1 𝜏s2−s2 𝜌𝑠1 = 1 • 𝐸𝑛𝑐 𝐺 𝑇 0 = 𝐹(𝜌, 𝜎, 𝜏) • これを掛けると全ての項が乱数と区別できない 𝐸𝑛𝑐 𝐺 𝑇 (𝑚)のランダム化 15 / 21
  • 16. • Freeman10(optimized version ; not published) • http://theory.stanford.edu/~dfreeman/papers/subgroups.pdf • 秘密鍵 : (𝑥𝑖, 𝑦𝑖, 𝑧𝑖) for 𝑖 = 1, 2 • 公開鍵 : 𝑥𝑖 𝑃𝑖, 𝑦𝑖 𝑃𝑖, 𝑧𝑖 𝑃𝑖 ∈ 𝐺𝑖 3 • 暗号文 : 𝐸𝑛𝑐 𝐺 𝑖 𝑚 = 𝑚𝑦𝑖 𝑃𝑖 + 𝑟𝑖 𝑃𝑖, 𝑚𝑧𝑖 𝑃𝑖 + 𝑟𝑖 𝑥𝑖 𝑃𝑖 ∈ 𝐺𝑖 2 • 乗算暗号文は同じ方法で∈ 𝐺 𝑇 4 • Herold14(対称ペアリング版) • 秘密鍵 : 𝑠, 公開鍵 : s𝑃 • 暗号文 : 𝐸𝑛𝑐 𝑚 = 𝑚 − 𝑠𝑟0 𝑃, 𝑟0 − 𝑠𝑟1 𝑃, 𝑟1 𝑃 ∈ 𝐺1 3 • 乗算暗号文 𝐶0, 𝐶1, 𝐶2 × 𝐶0 ′ , 𝐶1 ′ , 𝐶2 ′ ≔ Π𝑗=0 𝑘 𝑒 𝐶𝑗, 𝐶 𝑘−𝑗 ′ , 𝑘 = 0, . . , 4 ∈ 𝐺 𝑇 5 • ナイーブにはペアリング9回 他方式との比較(1/2) 16 / 21
  • 17. • サイズ比較 • Heroldの対称ペアリングを非対称にしたときの評価は未調査 • DLPの効率 • Freeman方式はDLPの底が秘密鍵ごとに異なるのに対して 我々の提案方式はシステム固定 • DLPを解くにはテーブルを用意する必要があるので テーブルがシステム固定だと効率がよい 他方式との比較(2/2) ペアリング 秘密鍵 公開鍵 L1暗号文 L2暗号文 ペアリング Freeman 非対称 8/6 4 4 Freeman-opt 非対称 6 4 4 Herold-opt 対称 1 3 5(最適化後) Ours 非対称 2 4 4 17 / 21
  • 18. • 例)暗号文𝑐が𝐸𝑛𝑐(0)か𝐸𝑛𝑐(1)のどちらかを検証する • 賛成か反対の電子投票では𝑚 = 0か1としたい • 化合物の秘匿検索では入力ベクトルがビットベクトル (0 or 1のベクトル)であることを検証したい • ゼロ知識証明を使う • Lifted-ElGamal暗号に対してはSakai2013らによる効率的な方 法が提案されている • 我々の手法はLifted-ElGamal暗号なので既存手法を適用可能 • (注意)(𝐸𝑛𝑐 𝐺1 𝑚 , 𝐸𝑛𝑐 𝐺2 𝑚 )を暗号文とする場合は𝐺1, 𝐺2と で同じ平文を暗号化していることを確認する必要がある 平文空間の制限 18 / 21
  • 19. • ペアリング暗号ライブラリmclを用いて実装 • https://github.com/herumi/mcl ; C++版 • https://github.com/herumi/she-wasm ; ブラウザ/Node.js版 • Windows, Linux, OS X, Androidなどに対応 • x64/ARM64などに向けた最適化 • WebAssembly(JavaScriptを補完する仮想マシンコード)対応 • 2017年夏以降のモダンブラウザ (Microsoft Edge, Firefox, Chrome, Safari)で プラグイン無しで動作 • iPhone, Androidなどでも動作 • https://herumi.github.io/she-wasm/she-demo.html 実装 19 / 21
  • 20. • 暗号化・復号にかかった時間(msec) • BN254(G1 : 256ビット, 100ビットセキュリティ) • decは20ビットテーブル(8MiB)範囲内の復号時間 ベンチマーク native JavaScritpt(WASM) x64 Linux on Core i7-7700 Firefox on Core i7-7700 Safari on iPhone 7 encG1 0.017 0.16 0.74 encG2 0.045 0.44 0.98 addG1 0.00045 0.02 0.02 addG2 0.0013 0.02 0.04 mul 1.097 9.1 13.9 dec 0.616 4.8 7.5 20 / 21