FHE ライブラリ
準同型暗号の主要なオープンソース実装群。スキームの違いで使い分ける。
Microsoft SEAL
- C++ 製。BFV と CKKS を実装。
- 典型的な利用は
poly_modulus_degree()、scale、coeff_modulus(modulus chain、例{60,40,40,60})を設定し、KeyGeneratorで sk/pk/relin key/Galois key を生成。乗算ごとにrelinearizeとrescale_to_nextを手動挿入し、scale・modulus をmod_switch_toで合わせる必要がある(この煩雑さを HECO が自動化)。 - Intel HEXL でモジュラ演算を高速化。node-seal / SEAL-Python など多言語バインディング。
HElib
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