This is the last part of a three-part series covering encryption and decryption, with a focus on the algorithms used. If you have missed either the first or second part, I encourage you to check them out before reading this part.
Throughout this multi-part series we examined the coding of few individual encryption and decryption algorithms. Please keep in mind that none of them were ultimately secure. With the quantum leaps that technologies and computer resources have made nowadays, their decryption would be quite easy even without knowing the password at all. This makes breaking the encryption a simple matter. However, they do provide enough security for an average Joe or a casual computer user.
Here's my personal advice: I'd recommend the use of professional encryption algorithms for everyday and office/work purposes where data is crucial and should be protected by extreme measures. Throughout this series my intention was to familiarize you, the reader, with some of the encryption algorithms rather than writing an article about the latest bleeding-edge bulletproof security application.
I am a true believer of learning by doing it myself. The best way to learn something, especially if it's brand new to us, is by practicing... practicing a lot after the theories are grasped. Therefore, I have mainly focused on providing you with examples of those algorithms with ready-to-run and executable code. All you had to do was practice.
As I mentioned in the first part, I have purposefully reduced the complexity of the algorithms to make them "obviously simple," easy and comprehensible for a beginner. I focused more on comprehensibility than efficiency, security and future proofing. I am aware that there are tons of variations of those algorithms and different ways to code them - more efficiently, more secure, etc. - but our top priority was to understand what cryptography is all about.
Nonetheless, after we've done our homework, we can move on to more challenging algorithms. Gradual advancement is the best. This way we can see the dramatic changes more easily - regarding complexity, efficiency, security, etc.
Since this part is the epilogue of the series, we will discuss some of the most cutting-edge encryption algorithms that are currently used. It is crucial to understand that cryptography never creates something unbreakable. Encryption algorithms just became more and more complex until now, when breaking one without a secure password (long and complex) is almost impossible. This is true when using the correct, most secure encryption algorithms. But it depends on a lot of factors, such as how much time and resource the attacker is willing to spend. It is preferable that he or she abandons the task.
Anyway, let's check out a short list of up to date encryption algorithms.