BGV / BFV スキーム
整数(有限体 )上の正確な演算を行う準同型暗号。ともに Brakerski-Gentry-Vaikuntanathan の “(Leveled) FHE without bootstrapping” 系譜に属し、Ring-LWE を基盤とする。近似演算の CKKS と対になる二大系統。
BGV
- BV scheme(2011)に modulus switching を導入し、平文空間を 1 bit から複数 bit()へ拡張。
- 乗算後に modulus chain を 1 段降りてノイズを線形に抑える。ノイズはメッセージとは別の下位ビットに乗る。
- HElib が代表的実装。理論的には ckks-scheme とほぼ同じ構造(rescale/mod-switch の扱いが異なる)。
BFV
- BGV の後継。scale-invariant な方式で、メッセージを最上位ビットに置き modulus switching を明示的に行わない。
- 乗算結果はrelinearizeで 2 成分へ戻す。
- Microsoft SEAL の主要スキーム。
SIMD batching
平文多項式を中国剰余定理で分解すると、 の複数 slot を 1 暗号文に詰めて並列演算できる(Smart-Vercauteren の Fully Homomorphic SIMD Operations)。slot 間の移動は Frobenius / 回転で行う。
比較演算
整数 FHE では大小比較が非自明で、多項式近似や桁ごとの回路で実装する(Faster homomorphic comparison for BGV and BFV)。
実装: Microsoft SEAL。関連クラスタ: _moc-crypto