Applications Of Zero Knowledge Proofs