数論変換とは

すうろんへんかん

高速フーリエ変換と同じ考え方を、素数を法とする整数の世界で行う変換。多項式の掛け算を、変換、係数ごとの掛け算、逆変換に置き換えて、次数nのとき約n²回必要な掛け算を約n log n回に減らす。誤差の出ない整数の計算で済む。ML-KEMやML-DSAなどの格子に基づく耐量子計算機暗号の計算の中心で、専用の回路による高速化が進められている。

「数論変換」は、1分野の1問の練習問題に出てきます(ハードウェアセキュリティの最新動向など)。

この用語の分野: ハードウェアセキュリティの最新動向

数論変換の練習問題に挑戦

格子に基づく耐量子計算機暗号では、次数 n = 256 の多項式の掛け算を何度も行う。係数どうしをすべて掛け合わせる素朴な方法では約 n² 回、数論変換(NTT)を使う方法では約 n log₂ n 回の掛け算が必要とすると、NTTを使うことで掛け算の回数がおよそ何分の1になるかとして、最も近いものはどれか。

  1. A約8分の1
  2. B約32分の1
  3. C約256分の1
答えと解説を見る

正解:B. 約32分の1

素朴な方法では n² = 256² = 65,536 回、NTTを使う方法では n log₂ n = 256 × 8 = 2,048 回なので、65,536 ÷ 2,048 = 32 で、約32分の1になります。数論変換は、高速フーリエ変換と同じ考え方を、素数を法とする整数の世界で行う変換で、変換した後は係数ごとの掛け算だけで済みます。ML-KEMは係数を q = 3329 を法として扱い、NTTで計算することを前提に設計されているので、NTTの回路は耐量子計算機暗号の加速器の中心的な部品になります。また、ML-KEMやML-DSAは、行列や乱数を作るのにSHA-3の仲間の関数(SHAKE)を多く使うので、その加速器も効果があります。

解説の中の「数論変換」

「数論変換」が出てくる問題(1問)

  1. 格子に基づく耐量子計算機暗号では、次数 n = 256 の多項式の掛け算を何度も行う。係数どうしをすべて掛け合わせる素朴な方法では約 n² 回、数論変換(NTT)を使う方法では約 n log₂ n 回の掛け算が必要とすると、NTTを使うことで掛け算の回数がおよそ何分の1になるかとして、最も近いものはどれか。

ハードウェアセキュリティの最新動向の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

耐量子計算機暗号 高速フーリエ変換(FFT) ML-KEM Arm CCA HBOM(ハードウェア部品表) MTE(メモリタギング拡張) 過渡的実行攻撃 機密コンピューティング シャドウスタック 制御フロー完全性

用語集の一覧へ