AES (Advanced Encryption Standard) is a Symmetrical based encryption and decryption method. This means that a message can be encrypted and decrypted using the same "Key". Only the system encrypting and message and the system decrypting the (encrypted) message knows the "Key".
AES is considered the gold standard for data encryption both at rest and when data is transferred between two systems
AES can use different key sizes, 128 bits, 192 bits and 256 bits. They are known as AES-128, AES-192 and AES-256. AES-256 is recommended for most government, military, banking and most other organizations
AES uses a 16 byte block transfer method that encrypts the data in an unreabable message and can only be decrypted using the same "Key". AES also uses a "Seed" or "Initialization Vector" that continues to encrypt the data for information or files that are larger than the 16 byte blocks. The Seed/Initialization Vector is typically incremented by 1 so that the message is secure.
The AES algorithms use matrix math.
For each 16 byte block encryption, apply the following functions
Apply the Initialization Vector
Expand the Key
Add Round Key
Round Processing. In the case of AES-256, 14 rounds will be used
for (i=1; i<14; i++) {
SubByte()
ShiftRows()
MixColumns
AddRoundKey
}
SubByte()
ShiftRows
AddRoundKey