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

    View full-size slide

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

    View full-size slide

  3. 1. 研究背景
    3

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. 1.6 CKKS⽅式における準同型乗算と付随する演算
    • 準同型乗算によって増加
    • 暗号⽂の⻑さ
    • 暗号⽂のスケール値
    • Rescale1回につき
    レベルが1つ消費される.
    9

    " ,
    "
    $%"%&

    " ,
    "
    $%"%&


    " ,
    " ,
    "
    $%"%&

    " , ′
    "
    $%"%&


    " , ′

    "
    $%"%&()
    Relinearize
    Rescale
    準同型乗算
    レベルの暗号⽂
    レベル − 1の暗号⽂
    暗号⽂の
    ⻑さを調整
    暗号⽂の
    スケールを調整
    1. 研究背景

    View full-size slide

  10. 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.

    View full-size slide

  11. 2. 関連研究
    11

    View full-size slide

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

    View full-size slide

  13. 3. 提案⼿法
    13

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  16. 3.3 暗号⽂のデータ構造
    16



    (



    (
    L個
    L個

    ,
    , … , (
    N次多項式(係数配列)
    ,
    ,-$
    .()
    ,
    ,
    3. 提案⼿法

    View full-size slide

  17. 3.4 処理の流れ
    17
    Rescale
    INTT
    Rescale
    NTT
    ホスト デバイス(GPU)

    処理
    SEAL独⾃定義型のデータ
    変換
    プリミティブ型のデータ
    seal::Ciphertext seal::SmallModulus
    std::uint64_t *
    3. 提案⼿法

    View full-size slide

  18. 4. 評価実験・結果
    18

    View full-size slide

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

    View full-size slide

  20. 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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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



    (



    (
    L個
    L個

    View full-size slide

  28. 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.

    View full-size slide

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

    View full-size slide