離散対数Ind
のうち、
のようになり、原始根をベキ乗して得られる数は
を満たす
ですから、素数
を満たす最小のベキ指数
は互いに合同ではない
のうちのいずれかの数と合同になり重複もありません。すなわち任意の正整数
を満たすような
の中に必ず存在します。そこで離散対数というものを次のように定義します。
記号
離散対数という名前の通り、
となります。
離散対数の基本定理を証明しておきます。
[証明]
一方、フェルマーの小定理より
が成り立ちますが、
となります。よって、
が成り立ちます。(証明終)
次は離散対数表を作っておきます。
離散対数表とは数論版の対数表です。つまり
における離散真数
いつも
となるので、確かに
は真数
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
0 | 1 | 8 | 2 | 4 | |
6 | 7 | 8 | 9 | 10 | |
9 | 7 | 3 | 6 | 5 |
表を参照して
のようになります。
離散対数計算の基本公式です。
[証明]
(1)
と表せるので
すなわち
定理 E7
より、法を1つ下げて
すなわち
が成り立ちます。
(2) (1) の公式を繰り返し用いると
となるので、
が得られます。(証明終)
次の定理は離散対数の底の変換公式です。
[証明]
と表せるので
すなわち
定理 E7 より
したがって
が成り立ちます。(証明終)
離散対数の公式が出揃ったところで具体例で練習してみましょう。
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
0 | 1 | 8 | 2 | 4 | |
6 | 7 | 8 | 9 | 10 | |
9 | 7 | 3 | 6 | 5 |
まずは公式 (1) を確認してみます。
たとえば
と計算できます(法が1つ下がることに注意!)。実際、左辺を離散対数表で確認してみると
となっています(真数は法
となります。左辺を離散対数表で確認してみると
となって、確かに公式は正しいことがわかります。次に公式 (3) を確認するために、原始根
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
0 | 9 | 2 | 8 | 6 | |
6 | 7 | 8 | 9 | 10 | |
1 | 3 | 7 | 4 | 5 |
公式 (3) によると、たとえば
というように計算できます。左辺を離散対数表で確認してみると
となっています。
ベキ乗合同計算への応用
次のようなベキ乗の合同計算を公式を使って計算してみます。
両辺の離散対数をとると公式 (2) より
ここで原始根
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
0 | 1 | 8 | 2 | 4 | |
6 | 7 | 8 | 9 | 10 | |
9 | 7 | 3 | 6 | 5 |
表から
表から離散対数が
という答えが得られます。念のために検算すると
となって、確かに
一次合同方程式への応用
次は離散対数を使って次のような合同方程式
を解いてみます。両辺の離散対数をとると
1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|
0 | 1 | 8 | 2 | 4 | |
6 | 7 | 8 | 9 | 10 | |
9 | 7 | 3 | 6 | 5 |
となります。両辺から
また表から離散対数が
となります。検算してみると
となって、確かに合同方程式を満たしています。
エクセルや数学に関するコメントをお寄せください