Slide 1

Slide 1 text

CKKS⽅式準同型暗号における Rescale演算のGPU実装と 演算性能評価 2020年3⽉2⽇ DEIM2020 E1-2 早稲⽥⼤学 井上 紘太朗、⼭⽥ 健太、鈴⽊ 拓也、⽯巻 優、⼭名 早⼈

Slide 2

Slide 2 text

⽬次 1. 研究背景 2. 関連研究 3. 提案⼿法 4. 評価実験・結果 5. まとめ 2

Slide 3

Slide 3 text

1. 研究背景 3

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

1.2 クラウドの問題点 • クラウドベンダーの性善説に基づいた運⽤. • プライバシーの不安. 5 1. 研究背景

Slide 6

Slide 6 text

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 演算

Slide 7

Slide 7 text

1.4 Leveled FHE • 準同型乗算の演算回数に制約のあるFHE. • レベルパラメータにより準同型乗算可能な回数が決定. • 本研究で使⽤するのはLeveled FHE. 7 1. 研究背景

Slide 8

Slide 8 text

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. 研究背景

Slide 9

Slide 9 text

1.6 CKKS⽅式における準同型乗算と付随する演算 • 準同型乗算によって増加 • 暗号⽂の⻑さ • 暗号⽂のスケール値 • Rescale1回につき レベルが1つ消費される. 9 " , " $%"%& " , " $%"%& ⨂ " , " , " $%"%& ′ " , ′ " $%"%& ′ " , ′ " $%"%&() Relinearize Rescale 準同型乗算 レベルの暗号⽂ レベル − 1の暗号⽂ 暗号⽂の ⻑さを調整 暗号⽂の スケールを調整 1. 研究背景

Slide 10

Slide 10 text

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.

Slide 11

Slide 11 text

2. 関連研究 11

Slide 12

Slide 12 text

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. 関連研究

Slide 13

Slide 13 text

3. 提案⼿法 13

Slide 14

Slide 14 text

3.1 本研究の概要 • CKKS⽅式のGPU実装の詳細は公開されていない • CKKS⽅式に特徴的な演算 Rescale • CKKS⽅式のRescaleをGPU上へナイーブ実装. • CPU実装との実⾏時間の⽐較を⾏う. 14 3. 提案⼿法

Slide 15

Slide 15 text

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. 提案⼿法

Slide 16

Slide 16 text

3.3 暗号⽂のデータ構造 16 ( ( L個 L個 , , … , ( N次多項式(係数配列) , ,-$ .() , , 3. 提案⼿法

Slide 17

Slide 17 text

3.4 処理の流れ 17 Rescale INTT Rescale NTT ホスト デバイス(GPU) 値 処理 SEAL独⾃定義型のデータ 変換 プリミティブ型のデータ seal::Ciphertext seal::SmallModulus std::uint64_t * 3. 提案⼿法

Slide 18

Slide 18 text

4. 評価実験・結果 18

Slide 19

Slide 19 text

4.1 概要 • CPU実装と提案⼿法(GPU実装)について,実⾏時間を測定. • ホスト―デバイス間のデータ転送時間については除外. • 10回実⾏したときの平均. • 提案⼿法は,世代の異なる2種類のGPUで測定. • NVIDIA Tesla P100 • NVIDIA Tesla V100-PCIe 19 4. 評価実験・結果

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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. 評価実験・結果

Slide 22

Slide 22 text

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の実⾏可能な回数)

Slide 23

Slide 23 text

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の実⾏可能な回数)

Slide 24

Slide 24 text

4.6 速度低下の要因 1. 64bitの整数演算命令のエミュレート 2. ⾼頻度なグローバルメモリへのアクセス 3. 低い並列度 24 4. 評価実験・結果

Slide 25

Slide 25 text

4.6.1 64bit整数演算命令のエミュレート • NVIDIA製GPUの整数演算命令は32bit. • SEALの1ワードは64bit. • GPU上で実⾏する際,64bit整数演算は32bitでエミュレート 25 4.5 速度低下の要因

Slide 26

Slide 26 text

4.6.2 ⾼頻度なグローバルメモリアクセス • データは全てグローバルメモリから読み書き. • アクセス速度 グローバルメモリ > コンスタントメモリや共有メモリ 26 4.5 速度低下の要因

Slide 27

Slide 27 text

4.6.3 低い並列度 • 本研究のナイーブ実装の並列度は「多項式ごと」 • レベルとすると,並列度は2 ⋅ • 係数レベルでの並列化がさらに可能. 27 4.5 速度低下の要因 ( ( L個 L個

Slide 28

Slide 28 text

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.

Slide 29

Slide 29 text

参考⽂献 [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

Slide 30

Slide 30 text

Appendix 30