- Faris H. Abuali
- Lena Samaha
- Waleed Zriqi
- Weaam Ghannam
It is an application to test AES modules (S-BOX, Shift rows, mix columns), which is the 16-byte output of "add round key" is the input to the first S-Box as 4*4 matrix called state, to perform a byte-to-byte substitution which is the input to the next level (shift rows) which rotate each row by specific value (except for the first row). The output of this level enters the next level (Mix column) which multiplies the state matrix with fixed matrix.
First we have to talk about Advanced Encryption Standard algorithm (AES), It also Known as Rijndael algorithm, It is a symmetric block cipher algorithm that takes a block size of 128 bits and converts them into cipher text using keys of 128, 192 and 256 bits. AES contains several rounds; the number of rounds is dependent on key length.
The plain text size is 16 byte which is divided to 4 words, each word is the column of 4*4 matrix, as shown in this figure:
This matrix is called state matrix, which is modified at each round.
Each round has 4 stages (Except for the last round):
Notice that the last round doesn't contain mix column stage.
Welcome to the VS Code Java world. Here is a guideline to help you get started to write Java code in Visual Studio Code.
The workspace contains two folders by default, where:
src
: the folder to maintain sourceslib
: the folder to maintain dependencies
Meanwhile, the compiled output files will be generated in the bin
folder by default.
If you want to customize the folder structure, open
.vscode/settings.json
and update the related settings there.
The JAVA PROJECTS
view allows you to manage your dependencies. More details can be found here.