Consider the basic discrete logarithm game:

Here, the generator is fixed as part of the configuration of the group. One natural question is whether or not allowing the adversary to choose the generator helps them. This variant with a chosen generator could be described as follows:

Note:

It is convenient to assume that the adversary cannot send a equal to the identity point, which makes the rest of the proofs smoother. Sending the identity point also forces the adversary to guess randomly, so it’s not a good strategy anyhow.

Now, clearly . The question is, if is hard, what can we say about ? Does being able to choose the generator help?

A little bit, at least with the techniques I’ve managed to gather together.

In particular, we can show that:

If anyone knows how to get a tighter bound, I’m all ears!

Note:

I’m assuming that we’re working in a group of prime order , and thus that all points besides the identity are generators.

Reduction from Multi-CLog

Instead of reducing directly from , we instead reduce from a variant where the adversary needs to solve multiple challenges on their provided generator:

Later in this post, we show that .

In this section, we show that , which gives us the aforementioned result that , combining the two reductions.

Lemma:

The basic idea is that two queries are enough to learn the discrete logarithm of with respect to , and some point with respect to . We combine these two pieces of information to learn the discrete logarithm of with respect to .

In more detail, consider the following game:

\boxed{ \begin{aligned} &\colorbox{#FBCFE8}{\large }\cr \cr &P \gets \bot\cr &X \gets \texttt{super}.\text{Pub}()\cr &r \xleftarrow{\$} \mathbb{F}_q\cr &R \gets r \cdot G\cr \cr &\underline{\mathtt{SetP}(P):}\cr &\ \texttt{assert } P \neq 0\cr &\ P \gets P\cr &\ \texttt{return } R, X \cr \cr &\underline{\mathtt{Win}(\hat{r}, \hat{x}):}\cr &\ \texttt{assert } P \neq \bot\cr &\ \texttt{return } \hat{r} \cdot P = R \land \texttt{super}.\text{Win}\left(\hat{x} \cdot \frac{r}{\hat{r}}\right)\cr \end{aligned} }

I claim that $\Gamma^0 \circ \text{DLog}_b = \text{CLog}^2_b$ First, note that the adversary's perspective is the same. They see two uniformly random group elements (thanks to our obligation that $P$ is a generator). So, it boils down to whether or not our check is equivalent First, note that the check we're supposed to be doing is that:

\begin{aligned} \hat{r} \cdot P &= r \cdot G\cr \hat{x} \cdot P &= x \cdot G\cr \end{aligned}

Or, considering $P$ to have discrete logarithm $p$, that:

\begin{aligned} \hat{r} \cdot p &= r\cr \hat{x} \cdot p &= x\cr \end{aligned}

Note that we manually check the first equation, and so if that's false, we behave in the same way, by rejecting. So, assume that $\hat{r} p = r$. In this case, $p = \frac{r}{\hat{r}}$, and so applying that to the second equation gives us $\hat{x} \frac{r}{\hat{r}} \stackrel{?}{=} x$, and so our discrete logarithm game will tell us that correctly. $\blacksquare$ # Reducing CLog to Multi-CLog In this section, we prove that $\text{CLog} \leq \sqrt[n]{\text{CLog}^n}$. The idea is simple, although unfortunately not a straight line reduction. (I should encapsulate this into one of "my" "state-separable proof gadgets") The idea is that given an adversary $\mathcal{A}$ for $\text{CLog}$, you create an adversary $\mathcal{B}$ for $\text{CLog}^n$ by repeatedly rewinding the adversary back to the point after sending $P$, you then feed them a different $X_i$ each time, getting back $\hat{x}_1, \ldots, \hat{x}_n$ across the different forks. Because each $X_i$ has the same distribution as in $\text{CLog}$, the probability of succeeding is bounded below by $\text{CLog}^n$, since we have $n$ forked instances which need to succeed. This gives us our result. # Putting everything together To recap, we have:

\begin{aligned} \text{CLog} &\leq \sqrt{\text{CLog}^2}\cr \text{CLog}^2 &\leq \text{DLog} \end{aligned}

\text{CLog} \leq \sqrt{\text{DLog}}