离散对数问题

Discrete Logarithm Problem.

Fix a cyclic group G\mathbb{G} of order qq, and generator g∈Gg\in\mathbb{G}. We know that {g0,g1,...,gq−1}=G\{g^0,g^1,...,g^{q-1}\}=\mathbb{G}.

Equilently, for every h∈Gh\in\mathbb{G}, there is a unique x∈Zqx\in \mathbb{Z}_q, such that gx=hg^x=h. We define log⁡gh\log_g{h} to be this xx. This is the discrete logarithm of hh with respect to gg in the group G\mathbb{G}.

Discrete Logarithm problem in G\mathbb{G}: Given g∈Gg\in \mathbb{G} and uniform h∈Gh\in \mathbb{G}, compute log⁡gh\log_g{h}.

Discrete-Logarithm Experiment

Similarly, we have the discrete-logarithm experiment DLogA,G(n)\mathtt{DLog}_{\mathscr{A}, \mathscr{G}} (n) where G\mathscr{G} is an efficient group-generation algorithm that, on input 1n1^n, outputs a cyclic group G\mathbb{G}, its order qq, and a generator gg.

Adversary A\mathscr{A} with G,q,g\mathbb{G},q,g and a uniform h∈Gh\in\mathbb{G} needs to efficiently compute correponding xx.

Definition. RSA problem is hard relative to G\mathscr{G} if for all probabilistic polynomial time algorithm A\mathscr{A}, there exists a negligible ε(n)\varepsilon(n) that Pr⁡[DLogA,G(n)=1]≤ε(n)\Pr[\mathtt{DLog}_{\mathscr{A}, \mathscr{G}}(n)=1]\leq \varepsilon(n).

The Discrete Logarithm Assumption is the assumption that there exists a group-generation algorithm G\mathscr{G} relative to which the Discrete Logarithm problem is hard.

Eureka moment!

离散对数问题本质上是模意义下的对数运算。另外还需要注意一点,无论是 RSA 实验还是离散对数实验,对敌手的挑战 (challenge) 都是均匀随机 (uniform) 的。

其实,RSA 问题 (模意义下的开次方运算) 与离散问题 (模意义下的对数运算) 均可以视为幂运算 h=gxh=g^x 的逆运算:RSA 问题给出指数 xx,要求由 hh 计算底数 g=h1/xg=h^{1/x};而离散对数问题给出底数 gg,要求由 hh 计算指数 x=log⁡ghx=\log_g h。