Bootstrapping for Approximate Homomorphic Encryption

https://eprint.iacr.org/2018/153.pdf

Abstract

  • LHEである CKKS scheme にbootstrapを実装してFHE化
  • bootstrap: slots で 139s

Out Contribution

  • 復号をHomEvalする
  • Taylor展開は高次の多項式評価をする必要があるので, 深さが必要で厳しい
    • 2倍角の公式を 回使う

4.1 Packing Method

  • 2べき ,

  • 5は mod の位数 を持ち -1 で spans ??

    • ので, は原始 乗根になる
  • ,

  • (encode) vandermonde行列で表せる

  • 逆変換(decode)は

4.2 Rotation and Conjunction

  • KeySwitchingの目的: で暗号化された暗号文を別の秘密鍵 で同じ平分に復号されるような暗号文に変換すること
  • 切り替え鍵 で作れる

Rotation

  • ()

  • slot から に送る写像

  • よって

5. Bootstrapping for HEAAN

5.1 Overview of the Recryption Procedure

MODRAISE -> COEFFTOSLOT -> EVALEXP -> IMGEXT -> SLOTTOCOEFF

Modulus raising

CoeffToSlot

  • 同型評価するために の係数表現 slot に写したい → が使える
  • に対応する平文だけどslot数が足りないので2つの暗号文にしまう
    • これは線形変換を使って計算できる

HomEval

|F(t)-S(t)| = \frac{q}{2\pi}\left|\frac{2\pi m}{q} - \sin(\frac{2\pi m}{q})\right| \leq \frac{q}{2\pi} \cdot \frac{1} {3!} (\frac{2\pi |m|}{q})^{3} = \mathcal{O}(q \cdot \frac{|m|^3}{q^3})$$ - マクローリン展開で, $x - \frac{x^{3}}{3!} < \sin(x) < x$ より, $x - \sin(x) < \frac{x^3}{3!}$ - $E(t_{j})= E(qI_{j} + m_{j}) = \frac{q}{2\pi} \exp(\frac{2\pi im_{j}}{q})$ - $\pmod{q}$ だから?