離散対数
📂整数論離散対数
定義
素数 p について、ガロア体 Fp:=Z/pZ の恒等元が 0 だとしよう。
Fp の原始根 g=0 に関して、巡回群 Fp∗:=Fp∖{0}=⟨g⟩ 上で定義された関数 logg:Fp∗→Z/(p−1)Z が次の条件を満たすとき、離散対数discrete Logarithmと呼ぶ。
glogg(h)≡h(modp)
説明
Fp∗ の存在は原始根定理によって保証される。
実際、離散対数はすべての a,b∈Fp∗ に対して logg(ab)=logg(a)+logg(b) であるため、同型となる。
通常の対数と異なり、暗号学での対数はその計算の困難さのために有用であるが、与えられた k に対して
gk≡x(modp)
を満たす x を見つけることは連続累乗法を使用すればそれほど難しくないが、与えられた h に対して
gx≡h(modp)
を満たす x を見つけることは難しい。これを離散対数問題discrete Logarithm Problemと呼び、暗号の必要不可欠な特性を持ち、暗号学全般で広く使用されている。
一方、離散対数問題は群 (G,∗ ) 上で一般化することもできる。問題自体は依然として
g∗ ⋯∗ g=h
を満たすために、g∗ g を何回見つけなければならないかを問うだけである。これは、暗号学の限界が整数論でないことを意味する。
同時に見る
離散対数問題の難しさを利用した暗号アルゴリズム
離散対数問題に対する攻撃アルゴリズム