logo

離散対数 📂整数論

離散対数

定義 1

素数 pp について、ガロア体 Fp:=Z/pZ\mathbb{F}_{p} := \mathbb{Z} / p \mathbb{Z} の恒等元が 00 だとしよう。

Fp\mathbb{F}_{p}原始根 g0g \ne 0 に関して、巡回群 Fp:=Fp{0}=<g>\mathbb{F}_{p} ^{ \ast } := \mathbb{F}_{p} \setminus \left\{ 0 \right\} = \left< g \right> 上で定義された関数 logg:FpZ/(p1)Z\log_{g} : \mathbb{F}_{p}^{ \ast } \to \mathbb{Z} / (p-1) \mathbb{Z} が次の条件を満たすとき、離散対数discrete Logarithmと呼ぶ。 glogg(h)h(modp) g^{ \log_{g} (h) } \equiv h \pmod{p}

説明

Fp\mathbb{F}_{p} ^{ \ast } の存在は原始根定理によって保証される。

実際、離散対数はすべての a,bFpa,b \in \mathbb{F}_{p}^{ \ast } に対して logg(ab)=logg(a)+logg(b)\log_{g} (ab) = \log_{g} (a) + \log_{g} (b) であるため、同型となる。

通常の対数と異なり、暗号学での対数はその計算の困難さのために有用であるが、与えられた kk に対して gkx(modp) g^{k} \equiv x \pmod{p} を満たす xx を見つけることは連続累乗法を使用すればそれほど難しくないが、与えられた hh に対して gxh(modp) g^{x} \equiv h \pmod{p} を満たす xx を見つけることは難しい。これを離散対数問題discrete Logarithm Problemと呼び、暗号の必要不可欠な特性を持ち、暗号学全般で広く使用されている。

一方、離散対数問題は群 (G, )\left( G , \ast\ \right) 上で一般化することもできる。問題自体は依然として g  g=h g \ast\ \cdots \ast\ g = h を満たすために、g gg \ast\ g を何回見つけなければならないかを問うだけである。これは、暗号学の限界が整数論でないことを意味する。

同時に見る

離散対数問題の難しさを利用した暗号アルゴリズム

離散対数問題に対する攻撃アルゴリズム


  1. Hoffstein. (2008). 『数学的暗号学への招待』: p63. ↩︎