Skip to main content

Table 2 Constant-round concurrent non-malleable zero-knowledge argument

From: Concurrent non-malleable zero-knowledge and simultaneous resettable non-malleable zero-knowledge in constant rounds

Common input: xL and identity id{0,1}n.

Auxiliary input to P: wRL(x).

Stage 1: P and V runs a generation protocol as (Barak 2001)

PV: \(h \xleftarrow {R} \mathcal {H}_{n}\)

PV: c1=Com(0n,ρ1)

PV: \(r \xleftarrow {R} \{0,1\}\text {} ^{4n}\)

Stage 2: P runs a WIUA using its auxiliary input w

PV: P sends c2 to V and gives a WIUA argument of the statement xL or (h,c1,c2,r)Λ1, where c2=Com(0n,ρ2).

Stage 3: P runs a WIUA again upon receiving the public parameter PP

PV: V invokes the PC.Setupalgorithm to generate (PP,K) and sends PP to P.

PV: P sends c3 to V and gives a WIUA argument of the statement xL or (h,PP,c2,c3,r)Λ2, where c3=Com(0n,ρ3).

Stage 4: Vdelegates P to generate the CRS

PV: V sends the algorithm\( \hat {\mathcal {P}}_{\textsf {{CRSGen}}} \) to P and gives a ZK argument of the statement \((\textsf {PP},c_{3},\hat {\mathcal {P}}_{\textsf {{CRSGen}}}) \in \Lambda \)3, where \( \hat {\mathcal {P}}_{\textsf {{CRSGen}}} =i\mathcal {O}(\mathcal {P}^{c_{3},\textsf {{PP}},\textsf {{K}},\rho _{\textsf {{CRSGen}}}},\rho _{i\mathcal {O}}) \).

Stage 5: P runs a WISSP using its auxiliary input w

PV: P sends (c4,c5) to V and gives a WISSP argument of the statement that (x,w)RL(x) or \( (\textsf {PP},\hat {\mathcal {P}}_{\textsf {{CRSGen}}},c_{5}) \in \Lambda _{4} \), where \(c_{4}=\textsf {CCACom}_{\textsf {id}}^{1:1}(w,\rho _{4})\) and c5=Com((PP,κ),ρ5).