Difference between Zero Knowledge Proof and Challenge Response Protocol What exactly is the difference between Zero Knowledge Proof &amp; Challenge Response Authentication?
I searched online and the best I could find are these:

techtarget.com


Zero-knowledge password proof systems depend on cryptographic methods
that enable both parties -- client and server -- to authenticate to
each other. These systems allow each party to confirm to each other
that they have a correct password, but without the need to share that
password with each other


cse.scu.edu : Implying that both of them are different and one improves on the other.

An instructor in my university had asked this question in one of the assignments and when I received the answer key for the same, I found this:

Distinguish between challenge response and Zero knowledge entity
authentication.
Challenge-response identification – Strong authentication.
Cryptographic challenge-response protocols is that one entity (the
claimant) “proves” its identity to another entity (the verifier) by
demonstrating knowledge of a secret known to be associated with that
entity, without revealing the secret itself to the verifier during the
protocol.  This is done by providing a response to a time-variant
challenge, where the response depends on both the entity’s secret and
the challenge.  The challenge is typically a number chosen by one
entity (randomly and secretly) at the outset of the protocol.  If the
communications line is monitored, the response from one execution of
the identification protocol should not provide an adversary with
useful information for a subsequent identification, as subsequent
challenges will differ.  Challenge-response protocols can be realized
by symmetric-key or asymmetric-key cryptography
Zero-Knowledge Proof
–  ZKP concept.  A disadvantage of simple password protocols is that
when a claimant A (called a prover in the context of zero-knowledge
protocols) gives the verifier B her password, B can thereafter
impersonate A.  Challenge-response protocols improve on this: A
responds to B’s challenge to demonstrate knowledge of A’s secret in a
time-variant manner, providing information not directly reusable by B.
Examples of ZKP.  Fiat-Shamir identification protocol.
Feige-Fiat-Shamir identification protocol.  Guilou-Quisquate
identification protocol.

which I feel is either wrongly worded or entirely wrong (leaning on the latter).
So, what exactly is the difference between them or are they not different at all? If possible, please explain with an example along with real-life algorithms where each of these is used.
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.)