Skip to Content
CSE442TIntroduction to Cryptography (Lecture 24)

CSE442T Introduction to Cryptography (Lecture 24)

Chapter 7: Composability

Continue on zero-knowledge proof

Let X=(G0,G1)X=(G_0,G_1) and y=σy=\sigma permutation. σ(G0)=G1\sigma(G_0)=G_1.

PP is a random Π\Pi permutation and H=Π(G0)H=\Pi(G_0).

PP sends HH to VV.

VV sends a random b{0,1}b\in\{0,1\} to PP.

PP sends ϕ=Π\phi=\Pi if b=0b=0 and ϕ=Πϕ1\phi=\Pi\phi^{-1} if b=1b=1.

VV outputs accept if ϕ(G0)=G1\phi(G_0)=G_1 and reject otherwise.

Message transfer protocol

The message transfer protocol is defined as follow.

Construct a simulator S(x,z)S(x,z) based on V(x,z)V^*(x,z).

Pick b{0,1}b'\gets\{0,1\}.

ΠPn\Pi\gets \mathbb{P}_n and HΠ(G0)H\gets \Pi(G_0).

If VV^* sends b=bb=b', we send Π\Pi/ output VV^*‘s output

Otherwise, we start over. Go back to the beginning state. Do this until “n” successive accept.‘

Zero-knowledge definition (Cont.)

In zero-knowledge definition. We need the simulator SS to have expected running time polynomial in nn.

Expected two trials for each “success”

2*n running time (one interaction)

{OutV[S(x,z)V(x,z)]}={OutV[P(x,y)V(x,z)]}\{Out_{V^*}[S(x,z)\leftrightarrow V^*(x,z)]\}=\{Out_{V^*}[P(x,y)\leftrightarrow V^*(x,z)]\}

If G0G_0 and G1G_1 are indistinguishable, Hs=Π(Gb)H_s=\Pi(G_{b'}) same distribution as Hp=Π(G0)H_p=\Pi(G_0). (random permutation of G1G_1 is a random permutation of G0G_0)

Last updated on