SyFER-MLIR: Integrating Fully Homomorphic Encryption Into the MLIR Compiler Framework

paper compiler mlir

MLIR 上に HE 作った

@article{govindarajansyfer,
  title={SyFER-MLIR: Integrating Fully Homomorphic Encryption Into the MLIR Compiler Framework},
  author={Govindarajan, Sanath and Moses, William S},
  url={https://math.mit.edu/research/highschool/primes/materials/2020/Govindarajan-Moses.pdf}
}

Abstract

FHE化は加算乗算などのprimitiveな操作の組合せで表現しなければならない
MLIRのインフラストラクチャにFHEを統合すると最適化の恩恵を受けられる.

BGV, BFV, CKKS: LWEに基づいたFHE暗号(SEAL, PALISADE, HElib)
minorだがGSW: binaryなFHE(TFHE)
どれもが共通のAPIを提供している.
encrypted 1bit: 数KB, AND演算数ミリ秒.

FHE ライブラリの制約

  • 同型演算なAPIしかない(ADD, MUL),(NOT, AND,
  • 最適な置き換えは出来ない: e.g. x ~ x ⇒ !x, x * 1 ⇒ x
  • 低レベルの最適化は出来ない, 入れ子ループの最適化やloop scheduling
  • モジュラーではありません。ユーザーが別の
    暗号化スキームの場合は、コードを書き換えなければなりません。
    を使って別のライブラリに切り替えることができます。さらに
    プログラミング言語のモジュール性
    は C++ でアクセスする必要があります。
    で、C++、C#/F#、Python、JavaScript)。そして最後に
    最適化にはモジュール性がありません。ユーザーは
    どの最適化を適用するか、どの最適化を適用するかを選択します。
    自分の状況に応じて避ける。