Upgrade to Pro — share decks privately, control downloads, hide ads and more …

完全準同型暗号の高速化に向けたハードウェア利活用に関する研究調査

Kotaro Inoue
September 01, 2020

 完全準同型暗号の高速化に向けたハードウェア利活用に関する研究調査

FIT2020にて発表

Kotaro Inoue

September 01, 2020
Tweet

More Decks by Kotaro Inoue

Other Decks in Research

Transcript

  1. 準同型暗号の分類(演算・回数) 評価可能な回数 加算 乗算 Partially 準同型暗号 (PHE) 加法準同型暗号 任意の回数 乗法準同型暗号

    任意の回数 Somewhat 準同型暗号 (SHE) 任意の回数 数回 完全準同型暗号 (FHE) 任意の回数 任意の回数 Leveled 完全準同型暗号 (Leveled FHE) 任意の回数 指定した回数 9 2. 完全準同型暗号
  2. Ring-LWEベースFHEの内部データ構造 N: 多項式の次数 S: 2以上の整数 T: 中国剰余定理によって分割された法の数 12 2. 完全準同型暗号

    暗号化 復号 平⽂ 暗号⽂ % !,!,! ⋯ % !,!,#$% ⋮ ⋱ ⋮ % !,'$%,! ⋯ % !,'$%,#$% % &$%,!,! ⋯ % &$%,!,#$% ⋮ ⋱ ⋮ % &$%,'$%,! ⋯ % &$%,'$%,#$% ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ ⋱ % !,!,! ⋯ % !,!,#$% ⋮ ⋱ ⋮ % !,'$%,! ⋯ % !,'$%,#$%
  3. 準同型乗算とRelinearization • 準同型乗算 →多項式同⼠の畳み込み演算 • 準同型乗算によって 暗号⽂の⻑さ が増加 →時間・空間計算量が増加 •

    を削減 →Relinearization 13 " , " $%"%&'( " , " $%"%&'( ⨂ " , " , " $%"%&'( ′ " , ′ " $%"%&'( Relinearization 準同型乗算 1. 研究背景 = 2 = 2 = 3 = 2 係数単位の並列化 分割した法ごとの並列化
  4. 実⽤上の課題点 14 • 時間・空間計算量がともに膨⼤. • 暗号⽂のサイズは ⋅ ⋅ ⋅ [Bytes]

    • 準同型乗算の実⾏時間が⻑い • RelinearizationやBootstrappingといった計算量の⼤きいFHE特有の演算. • ⾼速化を⽬指した様々な研究. • より⾼速な⽅式の提案 • スケジューリングアルゴリズムを⽤いた演算配置・回数の最適化 • ハードウェアアクセラレータの活⽤ 2. 完全準同型暗号
  5. 調査⽬的・対象 • 調査⽬的 • 完全準同型暗号の⾼速化 • 直近のハードウェア利活⽤の研究動向 • 現状の研究課題 •

    調査対象 • 査読付き国際学会,または査読付き論⽂誌に採録 • 以下のいずれかを満たす • 完全準同型暗号を構成する演算の⼀部,または全てをハードウェア上へ実装 • 応⽤先として完全準同型暗号を挙げている 16 3. 調査⽅法・結果
  6. 調査⽅法 • Scopus1)上で「タイトル・抄録・キーワード」に以下が含まれる “homomorphic encryption” AND (“GPU” OR “FPGA” OR

    “ASIC” OR “hardware”) • 2014年〜2020年の期間に発表された研究 • タイトル・抄録の内容をもとに⼿作業で選別 17 1) https://www.scopus.com/ 3. 調査⽅法・結果
  7. 調査結果の概要 キーワード検索結果 188件 18 3. 調査⽅法・結果 36件 調査⽬的との 照合・抽出 ハードウェア実装パターン

    1. FHEを構成する 演算の⼀部,または全て 2. FHEの演算で内部的に ⽤いられている演算のみ 3. 上記以外 例)準同型乗算 例)FFT/NTT
  8. 論⽂数の推移(全体) 19 3. 調査⽅法・結果 0 1 2 3 4 5

    6 7 8 9 10 2014 2015 2016 2017 2018 2019 2020 論文数 年 増加傾向
  9. 論⽂数の推移(ハードウェア種別) 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
  10. 既存⼿法のアプローチ • 多倍⻑整数演算の⾼速化 • 中国剰余定理 (Chinese Remainder Theorem: CRT) •

    Cooley-Tukey型 ⾼速フーリエ変換 (Fast Fourie Transform: FFT) • 数論変換(Number Theoretic Transform: NTT) • Karatsuba法 • 剰余演算の⾼速化 • Montgomery法 • Barrett法 22 4. 実⽤上の課題に対する既存⼿法 • 除算を使わずに剰余を表現 • 事前計算による計算量削減 畳み込み演算の⾼速化にも ⽤いられる
  11. 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. 実⽤上の課題に対する既存⼿法 回路の規模を ⼩さくする
  12. 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. 実⽤上の課題に対する既存⼿法
  13. 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. 実⽤上の課題に対する既存⼿法
  14. 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. 実⽤上の課題に対する既存⼿法
  15. 中国剰余定理[29] Chinese Remainder Theorem (CRT) ! , … , "

    は互いに素な⾃然数で、! , … , " は整数であるとする。この とき、連⽴合同式は⼀つの解をもつ。この解はmod = ∏#$! " # で⼀ 意的である。 [29] J.A. Buchmann. Einfüehrung in die Kryptographie, Springer-Verlag, Berlin Heidelberg(2003). 林芳樹(訳) 暗号理論入門 原書第3版, 丸善出版(2012). 29
  16. 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
  17. 参考⽂献 [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