also known as public-key encryption, it relies on 2 keys
a public key and private key to encrypt and decrypt data
the keys are generated using cryptographic algorithms and are mathematically connected such that data encrypted with the public key can only be decrypted with the private key
while the private key must be kept secure to maintain the fidelity of this encryption paradigm, the public key can be openly shared
asymmetric-key algorithms tend to be slower than their symmetric counterparts
the process through which a client and a server communicating over HTTPS exchange encryption related information and establish a secure communication
the typical steps in a TLS handshake are roughly as follows
the client sends a client hello "a string of random bytes" to the server
the server responds with a server hello "another string of random bytes" as well as its SSL certificate, which contains its public key
the client verifies that the certificate was issued by a certificate authority and sends a premaster secret yet another string of random bytes,
this time encrypted with the server's public key to the server
the client and the server use the client hello, the server hello, and the premaster secret to then generate same symmetric-encryption session keys - to be used to encrypt and decrypt all data communicated during the remainder of the connection