Final Paper on Zero-Knowledge Proofs