Here are three slightly different notions of the “One More Discrete Logarithm Problem” (OMDL), formulated as games.

Note:

I’ll be using the formalism of State-Separable proofs, as I wrote about recently.

First, the classic notion:

In this game, the adversary is given group elements, and can query for of the discrete logarithms, adaptively.

Another variant allows queries for elements of the adversary’s choice, but not adaptively. This game is identical, with the being the only change:

Finally, you can also make it so that the adversary doesn’t get to choose which group elements they get the logarithm for:

Now, because each of these gives progressively weaker capabilities, we have:

This can be proved via straight-line reductions.

The other direction is harder.

The idea behind this reduction is that if the adversary for happens to ask for , you can satisfy their query immediately. At first, this seems like it would reduce your advantage by a factor of , since you need to get lucky.

The trick is that you can reset the adversary, and try again. The adversary may not ever pick in their strategy, so instead you need to rearrange the group elements yourself, picking where you place the “hole” randomly, so that there’s always a chance of the adversary picking it.

Proof:

More formally, given this adversary for , we construct an adversary for , as follows:

  1. Query and to learn and associated . Let .
  2. Retry the following steps until they succeed (resetting any state modifications):
  3. Choose random , and set , as well as .
  4. Choose a random , and swap and , as well as and .
  5. Run using these group elements and scalars to answer their queries, dividing by before forwarding their answers to , and abort if they call with .
  6. Return what returned.

The expected number of retries is . This is because the behavior of is completely independent of , particularly because we randomize the group elements at each iteration, so that they’re indistinguishable from freshly sampled group elements. Thus, at each try, there’s at most an chance that we have to abort when running .

It’s actually not any easier to prove , so we’ll prove this one instead.

The basic idea of the reduction is the same, it’s just that the analysis is more complicated. We re-randomize and shuffle the group elements as in the previous reduction, and we abort the adversary if it ever queries the group element we have no scalar for. Analyzing this is trickier because of the adaptivity.

The idea is that given our choices of group elements , we can look at the sequence of queries made by , if they get the answer each time. This defines a sequence of random variables , which depends solely on . We can also define a related random variable, , represented the index which isn’t queried. This is a function of , and so depends solely on our choice of .

In particular, is independent from the random we choose at each iteration, because of the re-randomization, and so the analysis from the previous reduction applies exactly.