My research focused on encryption techniques that significantly enhance data security, following the standards set by the NIST FIPS 197. The implementation incorporated the Substitution Box for confusion, Shift Rows and Mix Columns functions for diffusion, spreading things out, lastly the key addition all used repeatedly. These measures make it challenging for hackers to decode the data, consuming considerable time and effort.
The encryption tool includes a stand-alone Python program for AES-256 round one and a Ruby program for Password Guessing.
It begins with an important set of variables starting with the S-Box or Substitution Box. This is simply an array of values as laid out by Rijndael. This is used in the ByteSub function later.
Variable MC2 & MC3 are used in the MixColumns Function to produce “Galois Field multiplication.” This is just one way to implement this function. The underlying math could be applied more directly to get the same results. The last important variable is RCON “Round Constant” used for key expansion. This variable is displayed, but not yet implemented. AES-256 uses the first seven elements of RCON, some of them repeatedly for the 14 rounds.