Breaking AES

What will this chapter cover?

AES or the Advanced Encryption Standard, is one of the most used symmetric encryption algorithms in today's world. It is used for most encrypted conversations between computers or applications. It is used by your chat apps and by your password manager. AES has the advantage of being relatively fast and easy to understand.

Since AES is very widely used, any found vulnerability should be taken extremely serious. It is widely considered that AES is mathematically secure and therefore perfect implementations of the algorithms should not be vulnerable to most standard attacks. You may see a caveat here:

Have we created perfect implementations of the AES algorithm?

Although there are some AES implementations that have existed for over 2 decades1. There are still regular updates to these libraries, because from time to time people find new mistakes in the implementation of these algorithms. Code is messy, people make mistakes or are ignorant. Side-Channel analysis is an attack-vector that is often overlooked or ignored since it requires physical access to the device.

In this section we will have a look at how AES works, cracking a naive implementation of the algorithm and see how Power Analysis can be used to expose the key used.

1

OpenSSL has been copyrighted since 1999 — https://www.openssl.org/