Key (cryptography)
/Keys are used to decrypt and encrypt messages.
Modern Symmetric Algorithms use the same secret key for encryption and decryption. In order to decrypt a message, the key has to match the secret key which has been used to encrypt the message. The obvious disadvantage is that Alice and Bob have to agree on a key before they can communicate securely - they either have to meet in person beforehand or have a "secure" channel by means of which they can send the keys to each other. This problem can be solved by using Asymmetric Algorithms. Assymetric algorithms use a public key for encryption (the key is and should be available to everyone) and a private key for decryption (this key is secret and should only be known by its owner). The private key can't be derived from the public key.
PrettyGoodPrivacy (PGP) is a popular program that uses both symmetric and asymmetric algorithms.