What are public key algorithms?
Public key algorithms use different keys for encryption and decryption, and the decryption key cannot (practically) be derived from the encryption key. Public key methods are important because they can be used for transmitting encryption keys or other data securely even when the parties have no opportunity to agree on a secret key in private. All known methods are quite slow, and they are usually used only for encrypting session keys (randomly generated “normal” keys), that are then used to encrypt the bulk of the data using a symmetric cipher.