Discrete Logarithm Problem.
Fix a cyclic group G of order q, and generator g∈G. We know that {g0,g1,...,gq−1}=G.
Equilently, for every h∈G, there is a unique x∈Zq, such that gx=h. We define loggh to be this x. This is the discrete logarithm of h with respect to g in the group G.
Discrete Logarithm problem in G: Given g∈G and uniform h∈G, compute loggh.
Discrete-Logarithm Experiment
Similarly, we have the discrete-logarithm experiment DLogA,G(n) where G is an efficient group-generation algorithm that, on input 1n, outputs a cyclic group G, its order q, and a generator g.
Adversary A with G,q,g and a uniform h∈G needs to efficiently compute correponding x.
Definition. RSA problem is hard relative to G if for all probabilistic polynomial time algorithm A, there exists a negligible ε(n) that Pr[DLogA,G(n)=1]≤ε(n).
The Discrete Logarithm Assumption is the assumption that there exists a group-generation algorithm G relative to which the Discrete Logarithm problem is hard.
Eureka moment!
离散对数问题本质上是模意义下的对数运算。另外还需要注意一点,无论是 RSA 实验还是离散对数实验,对敌手的挑战 (challenge) 都是均匀随机 (uniform) 的。
其实,RSA 问题 (模意义下的开次方运算) 与离散问题 (模意义下的对数运算) 均可以视为幂运算 h=gx 的逆运算:RSA 问题给出指数 x,要求由 h 计算底数 g=h1/x;而离散对数问题给出底数 g,要求由 h 计算指数 x=loggh。