# Difference between SHVZK and HVZK?

What is the difference between Special Honest Verifier Zero-Knowledge (SHVZK) and Honest Verifier Zero-Knowledge (HVZK)? Sometimes I see one term being used, other times the other. Do they mean the same thing?

Special Honest Verifier Zero-Knowledge is a particular case of Honest Verifier Zero-Knowledge; that is, if a protocol satisfies SHVZK, it satisfies HVZK. SHVZK has been introduced to simplify discussions about $$\Sigma$$-protocols. In $$\Sigma$$-protocols, HVZK is typically proven as follows: fix an arbitrary challenge $$e$$, and show that it is possible to efficiently generate a random transcript $$(c, e', a)$$ for a $$\Sigma$$-protocol, conditioned on $$e = e'$$. If such a simulator can be exhibited, then the $$\Sigma$$-protocol is clearly HVZK. The term SHVZK refers to $$\Sigma$$-protocols where this particular condition holds.
Note that similarly, the term special soundness is generally used to refer to a sufficient property for the soundness of a $$\Sigma$$-protocol (typically, that given two transcripts $$(c,e,a)$$ and $$(c,e',a')$$ for the same $$c$$, it is possible to extract a witness efficiently), which is typically satisfies by most $$\Sigma$$-protocols. Each time, "special XXX" simply means "a specific notion which is sufficient for XXX".