In this task, I implement and test Advanced Encryption Standard – 128bits modules (S-Box, ShiftRows, and MixColumns). These modules are part of the AES. I used Java to implement the algorithm because it is my favorite language.
Being divided into 3 modules, each module can work independently, and the output of the first module can also be linked to the second and the second to the third. The three modules have input in the form of four words, and each word contains four bytes, and each byte contains eight bits. So we use AES-128 in this task, but there are also AES-192 and AES-256. For the output, it is the same size and format as the input, and what happens inside each component will be detailed separately --> [Term_Project-G1-Mohammad_Abohasan.pdf]