って聞かれたときに答えられなかったので,これを機に整理してみます.
この記事は 勝手に秘密計算アドベントカレンダー の8日目の記事です.
下記の論文の解説をメインに行なっていきます.
P.-E. Clet, O. Stan, and M. Zuber: "BFV, CKKS, TFHE: Which One is the Best for a Secure Neural Network Evaluation in the Cloud?", In: International Conference on Applied Cryptography and Network Security. Springer, Cham, 2021. p. 279-300.
記事全体として,全3部作を予定しています.
第1回:BFV, CKKS, TFHE って何が違うんですか?①
今回(第2回)は
- 論文の背景やアブスト
- 関連研究
- 前提知識
の3本立てで書いていきます(実は新しく解説することがほとんどない).
突貫で書いてしまった部分もあるので,大いに誤りを含む可能性があります.誤字・脱字レベルでも構いませんので,ご指摘ください.
また,予告なしに内容の加筆や構成の変更を行うことがありますが,読みやすくするためのものですので,ご容赦ください
論文の背景やアブスト
- どういう背景や課題・モチベーションがあって,
- どのようなアイディアのもとで,
- どのような結果が得られたのか
を整理します.
背景・課題
格子暗号ベースの準同型暗号で有名な方式として,BFV, CKKS, TFHE の3つがある.
これらの方式が,neural network のどのような場面で有用なのかを検証する.
アイディア
SEAL と TFHE(公式のやつ)を使って,インスタンスは固定した場合の実行速度とメモリなどを比較した
結果
TFHEが良さげ(的に読めたんですが,読み進めて違いそうなら修正します)
*それぞれがどの場面で優れているかもまとまっている(ように見える)ので,それもわかったら追記します
それらを元に各章を整理すると,次のようになります:
1章:イントロ
2章:関連研究
3章:前提知識(準同型暗号メイン)
4章:準同型暗号の neural network への応用(実装方針とか使うライブラリとか)
5章:結果
6章:まとめ
つまり,2・3・4章が「準備段階」で,5章が一番言いたいことになります.
関連研究
新しくここであまり解説することがありません(説明放棄).
この辺の話は,秘密計算エンジニアを始めて1年が経った。 がよくまとまっているので,そちらを参照してください.
2.4 では BFV-TFHE というキメラ方式について触れられていますが,こちらは 秘密計算エンジニアを始めて2年半が経った。 を参照してください.
前提知識
準同型暗号には Leveled(演算回数が制限されている)と Fully(演算回数に制限がない)などのタイプがあり,格子暗号ベースの準同型暗号には BFV, CKKS, TFHE などの方式があります.
これらそれぞれの方式の中身は前回見ました・・・ということで3.4まで終わり.
3.5 Batching
BFV, CKKS には Batching と呼ばれる手法を使います.
これは,1つの暗号文に複数の暗号化された平文を乗せることで,SIMD演算を可能とする手法のことです.
*参照:Cheon, J., Kim, A., Kim, M., Song, Y.: "Homomorphic encryption for arithmetic of approximate numbers", In: International Conference on the Theory and Application of Cryptology and Information Security. pp. 409–437 (11 2017).
SIMD 演算ができるようになると,neural network を高速に動かせるようになります.
今回の内容はここまでです.ここまでご覧になってくださった方々ありがとうございます!