技能一覧 › 大学数学 暗号理論

ベビーステップ・ジャイアントステップ法

( は の位数)として ()の表を作り、 と照合して を見つけ、 の離散対数を小さな で求められる

前提

この技能までの道筋(28 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. 分数のたし算・ひき算 (算数 計算と数のきまり)
  2. 小数の四則計算 (算数 計算と数のきまり)
  3. 正負の数の加法・減法 (中学数学 数と式)
  4. 分数のかけ算・わり算 (算数 計算と数のきまり)
  5. 四則の混じった計算の順序 (算数 計算と数のきまり)
  6. 正負の数の乗除・累乗と四則混合 (中学数学 数と式)
  7. 分配法則を使った計算のくふう (算数 計算と数のきまり)
  8. 文字式の計算(同類項・分配法則) (中学数学 数と式)
  9. 乗法公式による展開 (中学数学 数と式)
  10. 因数分解 (中学数学 数と式)
  11. 約数の見つけ方 (算数 整数の性質)
  12. 文字式で表した整数の性質 (中学数学 数と式)
  13. 余りによる整数の分類 (数学A 整数の性質)
  14. 樹形図で数え上げる (算数 場合の数)
  15. 積の法則と和の法則 (算数 場合の数)
  16. 和の法則・積の法則と樹形図 (数学A 場合の数と確率)
  17. 合同式 (数学A 整数の性質)
  18. n 進法 (数学A 整数の性質)
  19. 繰り返し二乗法によるべき剰余 (大学数学 暗号理論)
  20. 最大公約数と最小公倍数 (算数 整数の性質)
  21. 素因数分解と約数の個数 (算数 整数の性質)
  22. 最大公約数と最小公倍数 (数学A 整数の性質)
  23. ユークリッドの互除法 (数学A 整数の性質)
  24. 1 次不定方程式の整数解 (数学A 整数の性質)
  25. 法 での逆元(拡張ユークリッドの互除法) (大学数学 暗号理論)
  26. 群の位数と元の位数 (大学数学 代数学)
  27. 有限アーベル群の構造と部分群の個数 (大学数学 代数学)
  28. 剰余類環の単元群とオイラー関数 (大学数学 代数学)

説明

ベビーステップ・ジャイアントステップ法(BSGS 法)は、素数 と整数 が与えられたとき、 を満たす指数 (離散対数)を求める方法です。 の位数を とすると、 と順に試す方法では最大で約 回の掛け算が必要です。BSGS 法ではこれが約 回で済みます。暗号(ディフィー・ヘルマン鍵共有など)の安全性を考えるときの基本的な攻撃法でもあり、小さな なら手計算で離散対数を求められます。

なぜそうしてよいのか

の位数を とし、 とおきます。 なので、 の整数 はどれも を で割った商 と余り を使って ()と書けます。商 も 未満に収まるのは、 だからです。

この について、 は と同じです。両辺に を掛けると となります。 なので は法 での逆元として存在します。そこで、左辺の候補 を先に表にしておきます(小さな歩幅なのでベビーステップ)。次に右辺 を順に作って表と照合します( ずつの大きな歩幅なのでジャイアントステップ)。一致すれば が解です。

どちらの列も長さは 程度なので、全体の手間は約 回の掛け算と照合で済みます。 の位数が なので、解 は を法としてただ 1 つに決まります。 をすべて試しても一致しなければ、 は のべきで表せない(解なし)と判定できます。

手順

  1. の位数 を確認し、 とする( となる最小の整数)。

  2. ベビーステップ: について を、前の値に を掛けながら計算し、「値 → 」の表を作る( も必ず入れる)。

  3. を求める。 を繰り返し二乗法で計算し、その逆元を拡張ユークリッドの互除法で求める( として計算してもよい)。

  4. ジャイアントステップ: 、 として の順に を作り、そのつど表に同じ値があるか調べる。

  5. となる組 が見つかったら とし、 となることを確かめる。最後まで一致しなければ解はない。

例題

の法 での位数は である。 を満たす整数 ()を、ベビーステップ・ジャイアントステップ法で求めよ。

例題の解答

手順1: で、 より とする。

手順2(ベビーステップ): を掛けながら法 で計算すると、 となる。表は である。

手順3: だから、 となる。逆元を求める。、、 を逆にたどると となる。よって で、 である(確認: )。

手順4(ジャイアントステップ): は表にない。 も表にない。 は表にあり、 である。

手順5: より となる。確認する。 なので、 となり正しい。よって 。

答え:

よくある誤り

この説明は AI が書き、別の AI が例題を独立に解いて答えを確かめ、説明を一歩ずつ査読しました。

入口の問題