A:
- Symmetric (same key for encrypt/decrypt): faster; good for encrypting large payloads where both parties share a secret key (e.g., AES).
- Asymmetric (public/private key): used for key exchange, digital signatures, or when parties don’t share a secret. Performance is slower, so often used only to encrypt small data (e.g. symmetric key).
A common pattern: generate a symmetric key, encrypt data with it, then encrypt the symmetric key with the recipient’s public key.