はじめに
みなさんこんにちは。
VIPPOOL でエンジニアをやっています、星月です。
前回は TFHE bootstrapping の第一段階、 で、
定数項として都合のいい値を持つ多項式を平文とする TRLWE 暗号文を作成しました。
今回はここから、定数項だけ取り出して TLWE 暗号文に変換します。
TRLWE 暗号文の復号を観察する
任意の TRLWE 暗号文は、次数を として、
と多項式を置いて、
という形で表現できます。
さて、これを秘密鍵 で復号してみましょう。
秘密鍵の多項式を とおいて、
と展開できます。
掛け算のひっ算をするとき、真ん中の段は平行四辺形になりますよね。
なので、真ん中で分割します。
ここで、多項式環の剰余環だったので、 で割った余りを求めます。
さらに、 と置くと、
これで、平文の多項式の各項の係数が求まりました。
で、欲しかったのは定数項の係数なので、 の時の係数を取り出します。
とおけば、
という感じで TLWE 暗号の復号関数に変形できます。
つまり、前回の出力結果 から、係数を
と取り出せば、
が、元の TRLWE 暗号文に対応する平文多項式の、
定数項と同じ値を平文として持つ新しい TLWE 暗号文となるわけです。
これを と元論文では呼んでいます。
この段階で、 もしくは の暗号文が得られているので、
の自明な暗号文 を加えて、
をこのステップの出力とします。すると、平文は もしくは となります。
また、この操作では誤差は追加されません。