Encryption is the art of taking information that can be read by anyone and then encoding it. Done in such a way that only someone with the right "key" can unscramble it again. Encryption is at least as old as written history. It's been used in wars to make sure that information and plans don't end up in the wrong hands. Which makes it pretty important. In the modern computer age, however, encryption has taken on arguably even more critical role.
Encryption allows us to perform all sorts of useful transactions on the internet that require security and privacy. Everything from online banking to remote commands sent to your smart home need encryption to protect us from criminals and spies.
Advanced Encryption Standard is one of the most widely-used encryption standards. Probably because the US government officially endorses and uses it.
The key length of AES implementations can vary, and it's often necessary to strike a balance between absolute security and the overhead involved in decrypting incredibly long key strings.
The 128-bit version performs very well while providing a level of protection that is frankly overkilled in most cases. Nonetheless, you can opt for a 192-bit or 256-bit key to drive the point home.
Given how safe and secure AES is considered, you might be surprised to hear that it is a symmetric key encryption algorithm. That means the same key used to encrypt the data can be used to decrypt it.
This is a bit of a security puzzle since the key has to be transferred to the recipient too. There are other secure channels this can happen on, however.
At present, the brute force method is the only known way to crack AES, and even the 128-bit version is currently physically impossible to crack.
DES or Data Encryption Standard was the precursor to AES in many ways. Unfortunately, DES had a few weaknesses. Once they were exposed, it didn't take long for DES to be scrapped.
3DES or triple-DES is not DES. This is a current, cutting-edge encryption method that's in use today.
The original DES used a 56-bit encryption key, which is considered insecure now. 3DES also uses this key length, except it triple encrypts your data with three of these 56-bit keys. This makes the effective key length 168 bits long.
Also, 3DES is a symmetric encryption method, which means it suffers from the same secure key transfer headaches as other algorithms of this type.
Triple-DES is still in use in many sectors but is being phased out as computers get more powerful.
Unlike AES, RSA is a public key encryption algorithm. This means that there are two keys, not just one. This is also known as asymmetric encryption. If you encode data with the one key, only the other key can decrypt it again. One key is kept secret and the other shared. Then the safety of incoming messages is assured. To send secure messages, simply use the public key of the recipient.
Interestingly, the name of the algorithm comes from the last names of its inventors: Rivest, Shamir, and Adelman.
If AES is stupendously secure and literally impossible to decrypt with current or imagined future technology, RSA is in another galaxy. The keys used in RSA are typically between 1024- and 2048- bits in length. The word "overkill" doesn't begin to do it justice.
It's not just about long keys either. Another aspect of RSA that makes it resistant to cracking is the math underlying it. The encryption method uses, primarily the computational difficulty of factoring large numbers.
While RSA is very secure, it's also very, very slow. Which is why actual data is not generally encrypted via RSA. Instead, RSA is often used to encrypt the keys used in symmetric encryption. Which solves the secure key transfer problem inherent to symmetric key encryption schemes.
Blowfish is but one of the attempts to find a better replacement for the now-defunct DES encryption algorithm. It attempts this by taking the approach of splitting data into 64-bit blocks. These blocks are encrypted individually.
This approach means that full decryption is unlikely and has the wonderful side-effect of making it very, very fast.
To date, there has been no successful crack of Blowfish. Amazing given that it was invented in 1993! Another factor that helped it become popular is that it was never patented and is in the public domain. While the block length is 64-bits, the key length varies from 32-bit all the way to 448-bit. At the upper end, the algorithm is clearly highly-secure.
While Blowfish is still in use and can be effective in the right context, the 64-bit block size is a concern, and so its create developed a successor which he recommends for any modern application needs.
Twofish solved the key issues with Blowfish by upping the block size. Now blocks are between 128-bit and 256-bit. Like Blowfish, Twofish is implemented in such a way that low-performance hardware performs more than quickly enough on it.
It's also pretty impressive because you can choose to balance performance, encryption level and how long keys take to set up. So it's adaptable to a wide range of applications.
Like Blowfish, Twofish is also wholly public domain. It was intentionally left without a patent. All thanks to its creator, Counterpane Systems. This is probably why you'll find it in so many Open Source applications since the developers can't put licensed technology into them.
They Won't Last Forever
Right now it seems as if algorithms like RSA and AES will never be cracked. Unless someone discovers a weakness that can be exploited in the algorithm itself. Failing that, a brute force attack using raw computing power is the only way to undo these encryption methods.
Theoretically, this means it is impossible. Calculations have shown that the energy cost of going through all the possible key combinations alone is so large no conceivable civilization could do it.
That is when we're talking about conventional computing. A new computing method is known quantum computing may hold the key. It could instantly solve even the most complex encryption. Using techniques that only quantum physicists have any chance of understanding. That's before we get to other radical computing methods like photonic and DNA computers.
On the other hand, these same technologies could help create encryption methods far beyond what we currently have. So the race to build the most secure computer security is far from over.