# Why is computational zero knowledge the most generic notion of zero knowledge?

GMR88 (Goldwasser, Micali, Rackoff) in chapter 3 mentions that computational zero knowledge, in comparison to statistical or perfect zero knowledge is the most general amongst the three definitions.

Why is that the case? Why isn't perfect zero knowledge the most general notion of zero knowledge?

If a language has a perfect zero-knowledge proof, then it has a computational zero-knowledge proof (the same one: if it's secure against unbounded adversaries, it's in particular secure against bounded adversaries). We do not know about the converse, and we suspect that it is not true (i.e., some languages can have a computational zero knowledge proof, but no perfect zero-knowledge proof). Hence, computational zero-knowledge is more general, because more languages can have such proofs. Denoting CZK / SZK / PZK the class of languages with computational / statistical / perfect zero-knowledge proofs, we clearly have PZK $\subset$ SZK $\subset$ CZK. Furthermore, we also know that if one-way functions exist, CZK $=$ IP $=$ PSPACE, which is immensely powerful.