CryptoRingLWE問題を使った鍵交換の方法としてNewHopeがあります。そのNewHopeの論文を読んでいると多項式環の乗算のところで数論変換(NTT)を利用した高速化をしているので、数論変換による有限体上の多項式環の乗算について調べたことをまとめます。乗算は次のようになります(ただし$f(x)$は$n$次の既約多項式)。高速フーリエ変換を用いた多項式環の乗算まず始めに、以下のように、多項式はベクトルに変換することができることを前提とします。あるとき、次の手順で有限体上の多項式環の乗算を計算します。Pythonでの実装FFTを用いた有限体上の多項式環の乗算をPythonで実装したものを以下に示します。計算させるPythonプログラムを以下に示します。209]どちらも同じ結果になるので、正しく実装できたと思います。FFTによる整数同士の乗算についてPythonコードを交えながら説明されています。