FHE ライブラリ

準同型暗号の主要なオープンソース実装群。スキームの違いで使い分ける。

Microsoft SEAL

  • C++ 製。BFVCKKS を実装。
  • 典型的な利用は poly_modulus_degree)、scalecoeff_modulus(modulus chain、例 {60,40,40,60})を設定し、KeyGenerator で sk/pk/relin key/Galois key を生成。乗算ごとに relinearizerescale_to_next を手動挿入し、scale・modulus を mod_switch_to で合わせる必要がある(この煩雑さを HECO が自動化)。
  • Intel HEXL でモジュラ演算を高速化。node-seal / SEAL-Python など多言語バインディング。

HElib

  • IBM 製。BGVCKKS を実装。
  • hypercube 構造による slot 回転、bootstrapping、線形変換の最適化(BSGS)など低レベル機能が充実。

Lattigo

  • Go 製、純 Go 実装。CKKS(RNS variant)が中心。
  • v2 で Improved Bootstrapping を実装(CKKS bootstrap)。Non-Sparse Keys の double-hoisting 最適化も取り込む。Wasm / ARM も視野。

HEAAN

  • ソウル大 SNUcrypto 製。CKKS の原典実装で、スキーム名 HEAAN の由来。

concrete

  • Zama 製。TFHE の programmable bootstrapping を提供。FFT バックエンドで多項式乗算を高速化。深層 NN の暗号化推論向け。

ハードウェアアクセラレータ(F1、HEAX)やコンパイラ連携も活発。関連クラスタ: _moc-crypto