Slide 1

Slide 1 text

完全準同型暗号の⾼速化に向けた ハードウェア利活⽤に関する研究調査 2020年9⽉1⽇ FIT2020 B-002 早稲⽥⼤学 井上 紘太朗,鈴⽊ 拓也,⼭名 早⼈

Slide 2

Slide 2 text

⽬次 1. 研究背景 2. 完全準同型暗号 3. 調査⽅法・結果 4. 実⽤上の課題に対する既存⼿法 5. おわりに 2

Slide 3

Slide 3 text

1. 研究背景 3

Slide 4

Slide 4 text

クラウドコンピューティングの普及 • ⼿軽に⾼性能な計算資源にアクセスできる. • データ利活⽤の盛り上がり. 4 1. 研究背景

Slide 5

Slide 5 text

クラウドコンピューティングの問題点 • クラウドベンダーの性善説に基づいた運⽤. • 情報漏えいによるプライバシー侵害. 5 1. 研究背景

Slide 6

Slide 6 text

準同型暗号 Homomorphic Encryption (HE) • データを暗号化したまま計算できる暗号技術. • 平⽂における加算・乗算 → それぞれ準同型加算・準同型乗算に対応 6 秘密鍵 公開鍵 Client-side 暗号化 134 251 385 134 251 復号 385 Server-side 134 251 + 385 演算 1. 研究背景

Slide 7

Slide 7 text

2. 完全準同型暗号 7

Slide 8

Slide 8 text

準同型暗号の分類(演算・回数) 評価可能な回数 加算 乗算 Partially 準同型暗号 (PHE) 加法準同型暗号 任意の回数 乗法準同型暗号 任意の回数 Somewhat 準同型暗号 (SHE) 任意の回数 数回 完全準同型暗号 (FHE) 任意の回数 任意の回数 Leveled 完全準同型暗号 (Leveled FHE) 任意の回数 指定した回数 9 2. 完全準同型暗号

Slide 9

Slide 9 text

Ring-LWEベースFHEの内部データ構造 N: 多項式の次数 S: 2以上の整数 x: ある整数Qを法とした整数 11 2. 完全準同型暗号 !,! ⋯ !,#$% !,! ⋯ !,#$% ⋮ ⋱ ⋮ &$%,! ⋯ &$%,#$% 暗号化 復号 平⽂ 暗号⽂

Slide 10

Slide 10 text

Ring-LWEベースFHEの内部データ構造 N: 多項式の次数 S: 2以上の整数 T: 中国剰余定理によって分割された法の数 12 2. 完全準同型暗号 暗号化 復号 平⽂ 暗号⽂ % !,!,! ⋯ % !,!,#$% ⋮ ⋱ ⋮ % !,'$%,! ⋯ % !,'$%,#$% % &$%,!,! ⋯ % &$%,!,#$% ⋮ ⋱ ⋮ % &$%,'$%,! ⋯ % &$%,'$%,#$% ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ % !,!,! ⋯ % !,!,#$% ⋮ ⋱ ⋮ % !,'$%,! ⋯ % !,'$%,#$%

Slide 11

Slide 11 text

準同型乗算とRelinearization • 準同型乗算 →多項式同⼠の畳み込み演算 • 準同型乗算によって 暗号⽂の⻑さ が増加 →時間・空間計算量が増加 • を削減 →Relinearization 13 " , " $%"%&'( " , " $%"%&'( ⨂ " , " , " $%"%&'( ′ " , ′ " $%"%&'( Relinearization 準同型乗算 1. 研究背景 = 2 = 2 = 3 = 2 係数単位の並列化 分割した法ごとの並列化

Slide 12

Slide 12 text

実⽤上の課題点 14 • 時間・空間計算量がともに膨⼤. • 暗号⽂のサイズは ⋅ ⋅ ⋅ [Bytes] • 準同型乗算の実⾏時間が⻑い • RelinearizationやBootstrappingといった計算量の⼤きいFHE特有の演算. • ⾼速化を⽬指した様々な研究. • より⾼速な⽅式の提案 • スケジューリングアルゴリズムを⽤いた演算配置・回数の最適化 • ハードウェアアクセラレータの活⽤ 2. 完全準同型暗号

Slide 13

Slide 13 text

3. 調査⽅法・結果 15

Slide 14

Slide 14 text

調査⽬的・対象 • 調査⽬的 • 完全準同型暗号の⾼速化 • 直近のハードウェア利活⽤の研究動向 • 現状の研究課題 • 調査対象 • 査読付き国際学会,または査読付き論⽂誌に採録 • 以下のいずれかを満たす • 完全準同型暗号を構成する演算の⼀部,または全てをハードウェア上へ実装 • 応⽤先として完全準同型暗号を挙げている 16 3. 調査⽅法・結果

Slide 15

Slide 15 text

調査⽅法 • Scopus1)上で「タイトル・抄録・キーワード」に以下が含まれる “homomorphic encryption” AND (“GPU” OR “FPGA” OR “ASIC” OR “hardware”) • 2014年〜2020年の期間に発表された研究 • タイトル・抄録の内容をもとに⼿作業で選別 17 1) https://www.scopus.com/ 3. 調査⽅法・結果

Slide 16

Slide 16 text

調査結果の概要 キーワード検索結果 188件 18 3. 調査⽅法・結果 36件 調査⽬的との 照合・抽出 ハードウェア実装パターン 1. FHEを構成する 演算の⼀部,または全て 2. FHEの演算で内部的に ⽤いられている演算のみ 3. 上記以外 例)準同型乗算 例)FFT/NTT

Slide 17

Slide 17 text

論⽂数の推移(全体) 19 3. 調査⽅法・結果 0 1 2 3 4 5 6 7 8 9 10 2014 2015 2016 2017 2018 2019 2020 論文数 年 増加傾向

Slide 18

Slide 18 text

論⽂数の推移(ハードウェア種別) 20 3. 調査⽅法・結果 1 4 2 3 3 5 4 2 1 4 3 2 1 1 0 1 2 3 4 5 6 7 8 9 2014 2015 2016 2017 2018 2019 2020 論⽂数 FPGA GPU ASIC ⼤多数が FPGA or GPU

Slide 19

Slide 19 text

4. 実⽤上の課題に対する 既存⼿法 21

Slide 20

Slide 20 text

既存⼿法のアプローチ • 多倍⻑整数演算の⾼速化 • 中国剰余定理 (Chinese Remainder Theorem: CRT) • Cooley-Tukey型 ⾼速フーリエ変換 (Fast Fourie Transform: FFT) • 数論変換(Number Theoretic Transform: NTT) • Karatsuba法 • 剰余演算の⾼速化 • Montgomery法 • Barrett法 22 4. 実⽤上の課題に対する既存⼿法 • 除算を使わずに剰余を表現 • 事前計算による計算量削減 畳み込み演算の⾼速化にも ⽤いられる

Slide 21

Slide 21 text

FPGAにおける実装例 • パイプライン処理によるスループット向上 • 4-step NTTを⽤いたパイプライン処理(Mertら[16]) →実⾏時間…21倍⾼速化 (CPU⽐) • 値の事前計算による実⾏時間削減 • 例︓FFT/NTTで使⽤する「ひねり係数」 • リソース消費量の削減 • FFT/NTTではなく、Karatsuba法を活⽤(Miglioreら[15]) →レイテンシ…1.2倍(NTT⽐),リソース消費量…半分(NTT⽐) • FFT/NTTで使⽤する「ひねり係数」をon-the-flyで計算(Royら[14]) [14] S. Sinha Roy, K. J¨arvinen, J. Vliegen, F. Vercauteren, and I. Verbauwhede. Hepcloud: An fpga-based multicore processor for fv somewhat homomorphic function evaluation. IEEE Transactions on Computers, Vol. 67, No. 11, pp. 1637–1650, 2018. [15] V. Migliore, M. M. Real, V. Lapotre, A. Tisserand, C. Fontaine, and G. Gogniat. Hardware/software co-design of an accelerator for fv homomorphic encryption scheme using Karatsuba algorithm. IEEE Transactions on Computers, Vol. 67, No. 3, pp. 335–347, 2018. [16] A. C. Mert, E. O¨ ztu¨rk, and E. Savas¸. Design and implementation of encryption/decryption architectures for bfv homomorphic encryption scheme. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Vol. 28, No. 2, pp. 353–362, 2020. 23 4. 実⽤上の課題に対する既存⼿法 回路の規模を ⼩さくする

Slide 22

Slide 22 text

FPGAにおける課題点 • 実装可能な回路に制約が存在 • FFT/NTTといった複雑なアルゴリズムは、LUTの消費量が⼤きい → LUT数の⼩さいボードには回路が載りきらない場合がある • FFT/NTTではなく、Karatsuba法を活⽤(Miglioreら[15]) →レイテンシ…1.2倍(NTT⽐) →リソース消費量…半分(NTT⽐) [15] V. Migliore, M. M. Real, V. Lapotre, A. Tisserand, C. Fontaine, and G. Gogniat. Hardware/software co-design of an accelerator for fv homomorphic encryption scheme using Karatsuba algorithm. IEEE Transactions on Computers, Vol. 67, No. 3, pp. 335–347, 2018. 24 4. 実⽤上の課題に対する既存⼿法

Slide 23

Slide 23 text

GPUにおける実装例 • ストリーム(パイプライン機構)の活⽤によるデータ転送時間の隠蔽 • 「データ転送(GPU←→ホストマシン)」「処理実⾏」の2ストリーム(Wangら[28]) • 「データ転送(GPU→ホストマシン)」「処理実⾏」 「データ転送(ホストマシン→GPU)」の3ストリーム(Lupascuら[10]) • CRTを⽤いて暗号⽂を分割、複数GPUで実⾏(Wangら[28]) 273.6倍の⾼速化(CPU⽐) • CRTに加え、NTTを適⽤(Lupascuら[10]) データ表現に⽤いられる多項式の次数が⼩さいと、恩恵が少ないと報告している。 [10] C. Lupascu, M. Togan, and V. Patriciu. Acceleration techniques for fully-homomorphic encryption schemes. In 2019 22nd International Conference on Control Systems and Computer Science (CSCS), pp. 118–122, 2019. [28] W. Wang, Z. Chen, and X. Huang. Accelerating leveled fully homomorphic encryption using gpu. In 2014 IEEE International Symposium on Circuits and Systems (ISCAS), pp. 2800–2803, 2014. 25 4. 実⽤上の課題に対する既存⼿法

Slide 24

Slide 24 text

GPUにおける課題点 • GPUが扱えるデータ…符号なしで8byte • ⼀⽅、CPU向けのFHE実装はsigned longを使⽤ • 乗算結果が1ワードに収まらない場合がある → 各係数どうしの乗算にKaratsuba法を⽤いてオーバーフローを回避 (Lupascuら[10]) [10] C. Lupascu, M. Togan, and V. Patriciu. Acceleration techniques for fully-homomorphic encryption schemes. In 2019 22nd International Conference on Control Systems and Computer Science (CSCS), pp. 118–122, 2019. 26 4. 実⽤上の課題に対する既存⼿法

Slide 25

Slide 25 text

27 まとめ • FHEの実⽤化には、速度⾯での性能向上が必要不可⽋. • ハードウェアアクセラレータを活⽤したFHEの⾼速化が盛んに研究されている. • ⼤多数はFPGAを活⽤.GPUやASICの事例もある. • 多倍⻑整数演算や多項式乗算,剰余演算の⾼速化が主なトピック. 今後の展望 • 異なる種類のハードウェアアクセラレータを組み合わせた構成の検証 • ハードウェアアクセラレータを⽤いたBootstrappingの⾼速化に関する検討. 5. おわりに

Slide 26

Slide 26 text

Appendix 28

Slide 27

Slide 27 text

中国剰余定理[29] Chinese Remainder Theorem (CRT) ! , … , " は互いに素な⾃然数で、! , … , " は整数であるとする。この とき、連⽴合同式は⼀つの解をもつ。この解はmod = ∏#$! " # で⼀ 意的である。 [29] J.A. Buchmann. Einfüehrung in die Kryptographie, Springer-Verlag, Berlin Heidelberg(2003). 林芳樹(訳) 暗号理論入門 原書第3版, 丸善出版(2012). 29

Slide 28

Slide 28 text

Karatsuba法 2つの整数A、Bを、それぞれ上位・下位に分割して計算する⼿法。 基数をbとすると、 = ! % + & , = ! % + & = ! ! '% + (! & + & ! )% + & & ! & + & ! = ! ! + & & − (! − & )(! − & ) 乗算が4回→3回になる。 [31] Karatsuba, Anatolii Alexeevich. The complexity of computations. Proceedings of the Steklov Institute of Mathematics-Interperiodics Translation, 211, pp. 169–183, 1995. 32

Slide 29

Slide 29 text

参考⽂献 [10] C. Lupascu, M. Togan, and V. Patriciu. Acceleration techniques for fully-homomorphic encryption schemes. In 2019 22nd International Conference on Control Systems and Computer Science (CSCS), pp. 118–122, 2019. [28] W. Wang, Z. Chen, and X. Huang. Accelerating leveled fully homomorphic encryption using gpu. In 2014 IEEE International Symposium on Circuits and Systems (ISCAS), pp. 2800–2803, 2014. [14] S. Sinha Roy, K. J¨arvinen, J. Vliegen, F. Vercauteren, and I. Verbauwhede. Hepcloud: An fpga-based multicore processor for fv somewhat homomorphic function evaluation. IEEE Transactions on Computers, Vol. 67, No. 11, pp. 1637–1650, 2018. [15] V. Migliore, M. M. Real, V. Lapotre, A. Tisserand, C. Fontaine, and G. Gogniat. Hardware/software co-design of an accelerator for fv homomorphic encryption scheme using Karatsuba algorithm. IEEE Transactions on Computers, Vol. 67, No. 3, pp. 335–347, 2018. [16] A. C. Mert, E. O¨ ztu¨rk, and E. Savas¸. Design and implementation of encryption/decryption architectures for bfv homomorphic encryption scheme. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, Vol. 28, No. 2, pp. 353–362, 2020. [29] J.A. Buchmann. Einfüehrung in die Kryptographie, Springer-Verlag, Berlin Heidelberg(2003). 林芳樹(訳) 暗号理論⼊⾨ 原書第3版, 丸善出版(2012). [30] J.W. Cooley and J.W. Tukey, An Algorithm for the Machine Calculation of Complex Fourier Series, Mathematics of Computation, vol.19, pp.297–301, 1965. [31] Karatsuba, Anatolii Alexeevich. The complexity of computations. Proceedings of the Steklov Institute of Mathematics-Interperiodics Translation, 211, pp. 169– 183, 1995. 38