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

CKKS方式準同型暗号におけるRescale演算のGPU実装と演算性能評価

 CKKS方式準同型暗号におけるRescale演算のGPU実装と演算性能評価

DEIM2020 E1-2

Kotaro Inoue

March 02, 2020
Tweet

More Decks by Kotaro Inoue

Other Decks in Research

Transcript

  1. 1.3 完全準同型暗号 Fully Homomorphic Encryption (FHE) • データを暗号化したまま計算できる公開鍵暗号. • 暗号化されたデータに対し,任意回数の加算・乗算が可能.

    • 平⽂上の加算・乗算は,それぞれ準同型加算・準同型乗算に対応. 6 [4] C. Gentry, “Fully homomorphic encryption using ideal lattices,” Proceedings of the Forty-first Annual ACM Symposium on Theory of Computing, pp.169-178, ACM, New York, NY, USA, Jan. 2009. 暗号鍵 (sk) 公開鍵 (pk) Client-side 暗号化 134 251 385 134 251 復号 385 Server-side 134 251 + 385 演算
  2. 1.5 CKKS (Cheon-Kim-Kim-Song) ⽅式 • 近似的に複素数を扱うことができるLeveled FHE. • 固定⼩数点を整数として表現するためのスケール •

    固定⼩数点数1.23をスケール値10!で表現 1.23 ⋅ 10! = 123 • 演算精度を調整できる. • 準同型乗算に伴い増加したスケール値を調整するRescale演算. (1.23 ⋅ 10!) ⋅ (1.23 ⋅ 10!) = 1.5129 ⋅ 10" (スケール値: 10") → 1.51 ⋅ 10! (スケール値: 10!) 8 [7] J.H. Cheon, A. Kim, M. Kim, and Y. Song, “Homomorphic encryption for arithmetic of approximate numbers,” Lec- ture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioin- formatics), vol.10624, pp.409–437, Springer Verlag, 2017. 1. 研究背景
  3. 1.6 CKKS⽅式における準同型乗算と付随する演算 • 準同型乗算によって増加 • 暗号⽂の⻑さ • 暗号⽂のスケール値 • Rescale1回につき

    レベルが1つ消費される. 9 " , " $%"%& " , " $%"%& ⨂ " , " , " $%"%& ′ " , ′ " $%"%& ′ " , ′ " $%"%&() Relinearize Rescale 準同型乗算 レベルの暗号⽂ レベル − 1の暗号⽂ 暗号⽂の ⻑さを調整 暗号⽂の スケールを調整 1. 研究背景
  4. 1.7 FHEの問題点 • 時間・空間計算量がともに膨⼤. • SEAL[12]のCKKS⽅式の実装においては,RelinearizeとRescaleの⽐率が⾼い. • ⾼速化を⽬指した様々な研究. • より⾼速な⽅式の提案

    • ハードウェアアクセラレータの活⽤ • GPU,FPGA,メニーコアCPU,etc. 10 1. 研究背景 [12] “Microsoft SEAL (release 3.3),” https://github.com/ Microsoft/SEAL, June 2019. Microsoft Research, Redmond, WA.
  5. 2.1 GPUを⽤いたもの • FHEのGPU実装は,2011年にWangらが初めて提案[17]. • Gentryの⽅式をGPU上へ実装. • 様々な⽅式についてGPUによる⾼速化が研究されている. • CKKS⽅式については,2019年にBadawiらが提案[19].

    → 実装は公開されていない。 [17] W. Wang, Y. Hu, L. Chen, X. Huang, and B. Sunar, “Accelerating fully homomorphic encryption using gpu,” in Proceedings of IEEE Conference on High Performance Extreme Computing Sep. 2012, pp. 1-5. DOI: 10.1109/HPEC.2012.06408660. [19] A. A. Badawi, L. Hoang, C. F. Mun, K. Laine, and K. M. M. Aung, “PrivFT: Private and Fast Text Classification with Homomorphic Encryption,” arXiv:1908.06972, 2019. 12 2. 関連研究
  6. 3.2 提案⼿法 • 参考実装︓Microsoft SEAL v3.3.2 [12] • 暗号⽂を構成する多項式単位(後述)で並列に実⾏ •

    値は全てグローバルメモリに格納 15 [12] “Microsoft SEAL (release 3.3),” https://github.com/ Microsoft/SEAL, June 2019. Microsoft Research, Redmond, WA. 3. 提案⼿法
  7. 3.3 暗号⽂のデータ構造 16 ( ( L個 L個 , , …

    , ( N次多項式(係数配列) , ,-$ .() , , 3. 提案⼿法
  8. 3.4 処理の流れ 17 Rescale INTT Rescale NTT ホスト デバイス(GPU) 値

    処理 SEAL独⾃定義型のデータ 変換 プリミティブ型のデータ seal::Ciphertext seal::SmallModulus std::uint64_t * 3. 提案⼿法
  9. 4.2 実験環境 [15] NVIDIA Corporation, “Nvidia tesla v100 gpu ア

    ー キ テ クチャ,” https://images.nvidia.com/content/pdf/tesla/ Volta-Architecture-Whitepaper-v1.1-jp.pdf,Aug. 2017. accessed on Dec. 31. 2019. 20 名称 値 CPU Intel® Xeon® E5-2690 v4 動作周波数 [GHz] 2.60 コア数 14 ソケット数 2 RAMサイズ [GB] 512 4. 評価実験・結果 ※使⽤したCPUのコアは1つ.詳細は論⽂を参照. 名称 値 型名 Tesla P100 Tesla V100- PCIe CUDAコア数 3,584 5,120 SM数 56 80 動作周波数 [GHz] ※GPU Boost時 1.480 1.530 VRAM [GB] 16 32
  10. 4.3 実⾏時間⽐較 (, ) SEAL-CPU [μs] SEAL-GPU-P100 [μs] SEAL-GPU-V100 [μs]

    (4096, 2) 800 32,476 17,733 (8192, 4) 2,520 105,550 57,447 (16384, 8) 11,770 386,873 231,750 (32768, 15) 49,137 1,501,470 877,117 21 CPUと⽐較して 20倍〜40倍程度低下 ︓多項式の次数 ︓レベル(Rescaleの実⾏可能な回数) 4. 評価実験・結果
  11. 4.4 実⾏時間の変化 22 1 10 100 1,000 10,000 100,000 1,000,000

    10,000,000 (4096, 2) (8192, 4) (16384, 8) (32768, 15) 平均実行時間 [μs] (N, L) SEAL-CPU SEAL-GPU-P100 SEAL-GPU-V100 4. 評価実験・結果 ︓多項式の次数 ︓レベル(Rescaleの実⾏可能な回数)
  12. 4.5 CPUの実⾏時間に対する割合 23 0 5 10 15 20 25 30

    35 40 45 (4096, 2) (8192, 4) (16384, 8) (32768, 15) (GPUの平均実行時間) / (CPUの平均 実行時間) (N, L) SEAL-GPU-P100 SEAL-GPU-V100 4. 評価実験・結果 ︓多項式の次数 ︓レベル(Rescaleの実⾏可能な回数)
  13. 5. まとめ 28 まとめ • CKKS⽅式のGPU実装は,現状広く公開されていない. • CKKS⽅式のRescaleをGPU上へナイーブ実装・評価. • CPU実装と⽐べて約20〜40倍の速度低下が確認された.

    今後の展望 • 既存研究やGPGPUにおいて⼀般的な最適化⼿法を試す. • 既存研究[9]同様,全準同型演算をGPU上へ実装,実⾏時間を⽐較. • 具体的なアプリケーションを実装した上での性能測定. [19] A. A. Badawi, L. Hoang, C. F. Mun, K. Laine, and K. M. M. Aung, “PrivFT: Private and Fast Text Classification with Homomorphic Encryption,” arXiv:1908.06972, 2019.
  14. 参考⽂献 [1] The European Parliament and the Council of the

    European Union, “Regulation (EU) 2016/679 of the European Parlia- ment and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data, and repeal- ing Directive 95/46/EC (General Data Protection Regu- lation),” https://eur-lex.europa.eu/legal-content/EN/ TXT/?uri=CELEX:32016R0679. accessed on Feb. 13. 2020. [2] 数藤雅彦 and 川野智弘, “個⼈情報保護の最新動向〜GDPR を中⼼に〜,” ⼆弁フロンティア, vol. 12, pp. 10–20, 2018, http://niben.jp/niben/books/frontier/frontier201812/2018_NO12_10.pdf%7D, accessed on Dec. 22. 2019. [Online]. [3] State of California, “California Consumer Privacy Act of 2018,” http://leginfo.legislature.ca.gov/faces/ codes_displayText.xhtml?lawCode=CIV&division=3.&title= 1.81.5.&part=4.&chapter=&article=. accessed on Feb. 13. 2020. [4] C. Gentry, “Fully homomorphic encryption using ideal lattices,” Proceedings of the Forty-first Annual ACM Symposium on Theory of Computing, pp.169-178, ACM, New York, NY, USA, Jan. 2009. [12] “Microsoft SEAL (release 3.3),” https://github.com/ Microsoft/SEAL, June 2019. Microsoft Research, Redmond, WA. [15] NVIDIA Corporation, “Nvidia tesla v100 gpu ア ー キ テ クチャ,” https://images.nvidia.com/content/pdf/tesla/ Volta-Architecture-Whitepaper-v1.1-jp.pdf,Aug. 2017. accessed on Dec. 31. 2019. [17] W. Wang, Y. Hu, L. Chen, X. Huang, and B. Sunar, “Accelerating fully homomorphic encryption using gpu,” in Proceedings of IEEE Conference on High Performance Extreme Computing Sep. 2012, pp. 1-5. DOI: 10.1109/HPEC.2012.06408660. [19] A. A. Badawi, L. Hoang, C. F. Mun, K. Laine, and K. M. M. Aung, “PrivFT: Private and Fast Text Classification with Homomorphic Encryption,” arXiv:1908.06972, 2019. 29