Main Goal of Cryptography
To build a secure channel for communication between the sender and receiver,
ensuring these properties are met
- Privacy: Only Sender & Receiver understands the message
- Authenticity: No 3rd party can temper with the channel
- Integrity: Data remains consistent and not lost in transit.
Zero Knowledge Proof
A method of Authenticating whether someone knows the Private Key(which only user knows), by sending encrypted data and the other sends decrypted for proof.
Steps:
- Verifier generates a random number, encrypts with "public key" & sends to Prover
- Prover decrypts with Private Key & sends plaintext to Verifier
- The Verifier checks the challenge matches what they originally sent. If it does, then they know that the Prover knows the private key, and is hence Authenticated.