Cryptography: Securing Data with Math
Cryptography is the practice and study of techniques for secure communication in the presence of adversarial behavior. It’s critical for ensuring the Confidentiality and Integrity of data.
Symmetric Encryption
- Single Key: Uses the same key for both encryption and decryption.
- Speed: Very fast and efficient.
- Challenge: Securely sharing the secret key (Key Exchange Problem).
- Algorithms: AES (Advanced Encryption Standard), DES, 3DES.
Asymmetric (Public Key) Encryption
- Key Pair: Uses two mathematically linked keys: a Public Key (shared widely) and a Private Key (kept secret).
- Encryption: Data encrypted with the Public Key can only be decrypted by the corresponding Private Key.
- Challenge: Much slower than symmetric encryption.
- Algorithms: RSA, ECC (Elliptic Curve Cryptography).
Note: In practice, systems often use Asymmetric encryption to securely exchange a session key, which is then used for Symmetric encryption of the bulk data (e.g., HTTPS).