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