4

I have a construction $C$ which internally uses idealized primitive $\mathcal{P}$ (a random permutation) where the goal is that $C$ is indifferentiable from a random oracle $\mathcal{F}$. That is, $C$ implements the API of $\mathcal{F}$. Via the indifferentiable argument, I want to show that there exists a simulator $S$ that internally uses $\mathcal{F}$ s.t. for all distinguishers $D$

$$ Pr[D^{C^\mathcal{P},\mathcal{P}}=1] \approx Pr[D^{\mathcal{F},S^\mathcal{F}}=1] $$ Here I used super script to denote the oracles each system has access to.

As stated, $S$ is just an algorithms implements the API of $\mathcal{P}$ and tries to fool $D$ into thinking $S$ looks like $\mathcal{P}$ while also being consistent with $\mathcal{F}$ and $C$. So it makes sense as stated why $S$ can not observe the queries that $D$ makes to $\mathcal{F}$.

However, I'm not sure why the model is this way. My mental model for simulation in general is that the simulator should be able to play the role of all of the oracles. That is, $S$ can observe the queries that $D$ makes to $\mathcal{F}$. In the notation above I'm stating something like $$ Pr[D^{C^\mathcal{P},\mathcal{P}}=1] \approx Pr[D^{S_1^\mathcal{F},S_2^\mathcal{F}}=1] $$ where $S$ gets to observe all of the oracle queries made by $D$. $S_1^\mathcal{F}$ can be simple, it just observes and forwards the query to $\mathcal{F}$. My argument for this is that $D'=D^{S_1,S_2}$ is simply another adversary. If you give me an adversary $D$ that behaves some way with $(C^\mathcal{P},\mathcal{P})$, then I'll give you an adversary $D'$ interacting with $\mathcal{F}$ that behaves computationally indistinguishable.

So my question is: why do many of these papers claim $\mathcal{F}$ queries are not observable?

indifferentiable paper

Merkle-Damg˚ard Revisited which constructs something very similar to what im interested in.

1 Answers1

2

Consider the basic Merkle-Damgård distinguisher:

  • Sample two random blocks $m_1$ and $m_2$;
  • Obtain $r_1 = H(m_1)$ from the RO/hash oracle;
  • Obtain $r_2 = H(m_1\Vert m_2)$ from the RO/hash oracle;
  • Obtain $r_3 = C(r_1, m_2)$ from the simulator/compression function oracle;
  • Return $1$ if $r_2 = r_3$.

In the usual indifferentiability setting, the simulator does not see the distinguisher queries to the $RO$ and when queried with $C(r_1, m_2)$ has no way to produce $r_2$ with high probability. As such, we can conclude that Merkle-Damgård is not indifferentiable from a random oracle. This is the basic length-extension property.

When you let the simulator have access to the RO queries, however, it can keep the transcript consistent. This notion is called public-use random oracle and was investigated by Dodis et al. (and Yoneyama et al.), who show that Merkle-Damgård with a Davies-Meyer compression function is a public-use random oracle.

In other words, letting the simulator look at the distinguisher queries gives it more power and results in a weaker notion.

Samuel Neves
  • 12,960
  • 46
  • 54