Two requirements that define asymmetric encryption:
1. It is computationally impossible to derive the private key corresponding to a given public key
2. It is possible to prove that one knows the private key corresponding to a public key without revealing any useful information about the private key in the process.
Asymmetric encryption, also known as public-key encryption, involves using a pair of keys to encrypt and decrypt a message - a public key and a private key. Symmetric encryption involves only one key that both encrypts and decrypts between plaintext and ciphertext.
The public key and private key are specially linked numbers, where the public key encrypts data and only the private key is capable of decrypting that data; this makes it safe to share your public key with anyone and not need to trust the person on the other side of the interaction.
Compared to symmetric encryption, asymmetric encryption is more computationally intensive, making it slower and more expensive. However, asymmetric is more secure because it does not carry the risk of exchanging a private key. Asymmetric encryption allows for features that symmetric encryption cannot achieve:
An elliptic curve contains all the points on a graph of y² = x³ + ax + b. Bitcoin and Ethereum use the SECP256K1 curve for their encryption, in which the equation is y² = x³+ 7; constant a = 0 and constant b = 7.
Elliptic curve cryptography has the advantage of only needing a few hundred bits
On the way.
Diffie-Hellman key exchange is a method for securely agreeing on a shared key between two communication partners. This method is used in protocols such as ZKP, SSH, TLS, and SSL. Read more here.