In this work, we present a generic yet practical transformation from any public-coin honest-verifier zero-knowledge (HVZK) protocols to normal zero-knowledge (ZK) arguments. By ``generic", we mean that the transformation is applicable to any public-coin HVZK protocol under any one-way function (OWF) admitting Sigma-protocols. By ``practical" we mean that the transformation does not go through general NP-reductions and only incurs additionally one round (for public-coin HVZK protocols of odd number of rounds that is the normal case in practice). In particular, if the starting public-coin HVZK protocols and the underlying Sigma-protocols are practical, the transformed ZK arguments are also practical. In addition, our transformation also preserves statistical/perfect zero-knowledge.To this end, we develop generic yet practical 3-round perfectly-hiding equivocal (string) commitment scheme under any OWF admitting Sigma-protocols, which is possibly of independent value. We also show that three rounds is the lower-bound of round-complexity for equivocal commitment schemes.
Electronic Colloquium on Computational Complexity, 2005, Issue TR05-162, p. 1-16