EDIT
Going ahead in my research, and fallowing some hint form the useful comments I could produce some further consideration:
- Such non-interactive protocol is honest verifier since the verifier doesn't really have any strategy he can fallow but simply checking the provided demonstration holds.
- As suggested by @xagawa and this link the simulator has complete freedom on what he can do to "come up" with the couples (t,r) he sees in the proof, so he can just pretend the oracle works according to his needs.
The linked paper states as fallows:
So, our simulator now works as follows. Recall the statement PK{(α) : A = g α}. (Remember that here the simulator does not know x such that A = g x !) Instead, the simulator chooses random values c, s ∈ Zq as before and computes T = g s/Ac . The simulator then “sets” H(T) = c.
According to this I figured out a simulator may see the generation of each (t,r)
as the invocation of a random oracle H'(t)
such that r = H'(t)
observing that H'(t)
is in fact a random oracle itself on the couples (t,r)
since:
- Given a starting
t
,H(g,y,t)
generates a truly randomc
and the outputr = v - cx
ofH'(t)
is directly bound to such a truly random value - For a given input
t
,H(g,y,t)
always generates the same outputc
which in turn produces the samer
This way the concept of simulation reduces to the invocation of a random oracle on a random input t
to obtain r
.
Does all this make sense? Is it correct or do I miss something crucial?
EDIT 2
@Robert NACIRI comments seem to suggest that in fact the verifier challenges the prover by agreeing on a common random oracle H
to use, so than the concept of zero-knowledge in this case may become something like this:
No matter what random oracle you agree to use, if a simulator can see all your output couples as input and output of another "wrapping" random oracle then the only proof of your knowledge lays in the agreement you had with the verifier to actually use the specific random oracle
H
and the proof is zero-knowledge.
Does this statement make sense? Please correct me if possible and link any better explanation if you know any.
Thanks again for the useful comments and help.