乗法的深さと回路最適化
FHE の性能を支配する 2 つの量と、それを削減する回路最適化技法。
乗法的深さ (multiplicative depth)
乗算ごとにノイズが増え modulus chain のレベルを消費するため、回路の乗算の連鎖の最大長が必要パラメータ(, )と速度を決める。
加算は深さを増やさないので、式を再構成して乗算木を浅くするのが効く。multiplicative complexity(必要な AND/乗算の総数)も別軸の最適化対象で、ブール回路では論理合成ツールボックスや cone rewriting、multi-start ヒューリスティックで削減する。量子回路の T-depth 削減とも同型の問題。
SIMD batching と回転
- CRT パッキング: 中国剰余定理 により、平文多項式を複数 slot に分解して 並列演算。
- 巡回シフト: slot の回転は多項式の自己同型 で実現できる(“なぜ FHE で巡回シフトが出来るのか”)。回転鍵が必要。
- hypercube 構造: slot を多次元立方体とみなし、次元ごとの回転で任意の置換を組む。
線形変換と行列積
行列ベクトル積は線形変換として暗号化したまま評価できる。対角ベクトルでグループ化する方式や、BSGS(baby-step giant-step)で回転回数を に減らす手法が定石。機械学習の MatMul を FHE 上で速くする鍵となる。
これらの最適化を自動化するのが fhe-compiler。関連クラスタ: _moc-crypto