Asymmetric Encryption Algorithms
RSA: One of the first practical asymmetric cryptography systems to be developed, named for the initials of the three co-inventors: Ron Rivest, Adi Shamir and Leonard Adleman
- The RSA system specifies mechanisms for generation and distribution of keys, ​along with encryption and decryption operation using these keys
-  it’s important to know that the key generation process depends on ​choosing two unique, random and usually very large prime numbers.
DSA (Digital Signature Algorithm): It is another example of an asymmetric encryption system, though its used for signing and verifying data
-  ​It’s important to call out that the security of the system is dependent ​on choosing a random seed value that’s incorporated into the signing process
-  ​If this value is leaked or if it can be inferred, if the prime number isn’t truly ​random, then it’s possible for an attacker to recover the private key
DH (Diffie-Hellman): A popular key exchange algorithm, named for its co-inventors
- This algorithm was designed solely for key exchange, ​though there have been efforts to adapt it for encryption purposes.
- ​It’s even been used as part of a PKI system or ​Public Key Infrastructure system
Eliptic curve cryptography (ECC): A public key encryption system that uses the algebraic structure of elliptic curves over finite fields to generate secure keys
- An elliptic curve is composed of a set of coordinates that fit an equation ​similar to something like y to the second = x to the third plus ax + b
ECDH & ECDSA: Elliptic curve variants of Diffie-Hellman and DSA, respectively