Encryption algorithms
Encryption algorithms can be divided into symmetric and asymmetric algorithms. In symmetric algorithms the same encryption key is used for both encryption and decryption. In asymmetric algorithms, which are also called public key algorithms, different keys are used for encrypting and decrypting a message.
Generally speaking the advantage of symmetric methods is speed of encryption, but the administration of keys is their disadvantage. This is a problem for instance in communicating geographically or otherwise in large networks. The advantage of the asymmetric method is free distribution of a public key, but the slowness of encryption makes a problem.
Often encryption systems make use of the best sides of both types of algorithms. In these applications asymmetric encryption is used for protecting a symmetric encryption key, which is used for encrypting the message itself.