I read that Schnorr protocol cannot be proved zero knowledge on that link:
Perfect zero knowledge for the Schnorr protocol? Could any one suggest alternative Zero knowledge proof protocol so a prover can prove to a verifier that he knows the private key corresponding to a particular public key?