An encryption algorithm is mathematical operation where plaintext is transformed to so called ciphertext, unintelligible to anyone who doesn’t know the secret key to decrypt it. Encryption algorithms have their roots in the Greek history, and until the advent of computing have encrypted messages been the domain of the military and erudites. These days encryption is also used for secure online banking, digital rights management, protecting health data and email exchange such as by PGP for example.
Encryption algorithms are called symmetric when the same secret, password or key is used to encrypt and to decrypt. Shared secret algorithms either operate on a bit bases (stream ciphers) or encrypt chunk of bites (block ciphers). Encryption algorithms which use a different key for decryption and encryption are called asymmetric and have some functional advantages over symmetric encryption which if fast, and can be secured by on-the-fly key generation and frequent key changes.
The downside of symmetric encryption is that anyone who knows the secret key or password can transform the secret cipher text to plaintext. This makes symmetric encryption vulnerable to leaking, and spying out passwords. A famous example of symmetric encryption used to be DES (Data Encryption Standard) which is no longer in wide use. DES and its variants have now largely been replaced with Advanced Encryption Standard (AES) which uses a 128, 192, or 256 bit key. The longer the key the more secure the message is in general (“theoretically stronger”).
Asymmetric encryption on the other hand employs a different key for decryption and encryptions by so called public key encryption in which anyone can get the public key of the recipient to encrypt files or messages so that only the holder of the private key of the public-private key pair can open the item. In a similar operation can the holder of the private key sign messages so that anyone can check message authenticity. RSA ( Rivest, Shamir and Adleman) is the de-facto standard algorithm public key encryption algorithm. The downside of public key encryption is that asymmetric encryption usually is much slower and needs more computing power than shared secret encryption.
When have been discussing types of encryption in terms of symmetry, which is common. Another way to classify encryption algorithms is differentiating in secure and non-secure encryption. Secure encryption algorithms are those whose inner workings have been made known to the public such as, for example AES whilst until recently perhaps no-one has discovered a flaw in the algorithm or was able to break it (In contrast are secret encryption schemes usually considered not to be secure. Rather, people speak of security through obscurity). Make sure to check out Bright Hub’s article Can AES Encryption be Cracked?
- Author’s own experience