Difference between Zero Knowledge Proof and Challenge Response Protocol
They're just different things. A protocol may be challenge-response or not, and zero-knowledge or not; all four combinations are possible.

Plain password authentication is not challenge-response and not zero-knowledge.

The manual-lookup copy protection in old games is challenge-response and not zero-knowledge. Another example would be CAPTCHA.

Non-interactive zero-knowledge proofs are zero-knowledge and not challenge-response. Ex: Where's wally?

Colour Blind friend problem is an example for Zero-Knowledge Proof &amp; Challenge-Response, both.


(Wikipedia says that plain password authentication is challenge-response because &quot;tell me the password&quot; is a challenge, and Modal Nest's answer says the same thing. By that definition I suppose any proof is necessarily challenge-response, because &quot;prove it&quot; is a challenge. But I think that definition is too broad and makes the term &quot;challenge-response&quot; largely useless. I'd limit it to protocols in which the prover has to do a nontrivial amount of work after getting the challenge, and can't just return a canned response.)