Summary
Now that we have explored some of the best symmetric algorithms and understood their peculiarities, a question originally posed in the introduction of this chapter is still open: “But how do we implement symmetric algorithms that are robust (in the sense of security) and easy to perform (computationally) at the same time?” One possible answer is the AES algorithm; it is robust and computationally easy at the same time. By learning about symmetric encryption, we have taken our first steps toward understanding this algorithm.
To start with, you learned about the basics of symmetric encryption. We have explored the Boolean operations necessary for understanding symmetric encryption, KE, and S-box functionality. Then, we took a deep dive into how simple DES, DES, 3DES, and DESX work and their principal vulnerabilities and attacks.
After these topics, we analyzed AES (Rijndael), including its implementation schema and the logic of the steps that make this...