Public key cryptography using a mathematically related set of two keys,
one public and one private, to encrypt and decrypt data.
Data is encrypted using a public key, which is freely available to anyone,
while private keys are used to decrypt ciphertext, and should be kept secret.
Public-key cryptosystems have a set of requirements which must be
met by an algorithm to be viable:
- Computationally easy to create key pairs.
- Useful if either key can be used for each role.
- Computationally infeasible for opponent to otherwise recover original message.
- Computationally infeasible for opponent to determine private key from public key
- Computationally easy for receiver, knowing private key, to decrypt ciphertext.
- Computationally easy for sender, knowing public key, to encrypt messages
Some examples of asymmetric encryption algorithms:
- RSA
- Diffie Hellman key exchange — Enables two users to agree on a shared secret which can be used in subsequent symmetric encryption
- Digital Signature Standard (DSS) — Only provides a digital signature function with SHA-1, cannot be used for encryption or key exchange.
- Elliptic Curve Cryptography — Like RSA, but with much simpler keys.
Subsections