# AES Encrypt & Decrypt Online

Online tool to perform encryption and decryption using AES algorithm

About AES

AES (Advanced Encryption Standard) is a symetric-key encryption standard adpoted by U.S. government. As a subset of Rijndael cipher, it consists of 3 cipher blocks: AES-128, AES-192, and AES-256. Each blocks has a size of 128-bit, with key size of 128-bit, 192-bit and 256-bit respectively.

The algorithm consists of these steps:

- KeyExpansions
- InitialRound
- AddRoundKey

- Rounds - There are 10, 12 or 14 rounds depending on key size
- SubBytes
- ShiftRows
- MixColumns
- AddRoundKey

- Final Round (without MixColumns)
- SubBytes
- ShiftRows
- AddRoundKey

Here is short explanations about those steps:

- KeyExpansions: It is aimed to derives round keys from the cipher key using Rijndael's key schedule
- AddRoundKey: It combines each byte of the state and a block of the round key using xor operation.
- SubBytes: It uses a lookup table in order to perform non-linear substitution on each byte
- ShiftRows: This is a transposition step. The last three rows of the state are shifted cyclically with a certain offset.
- MixColumns: In this step, four bytes of each column of the state are combined using an invertible linear transformation

Example 1

Text:

ABC

Key:123

Output:U2FsdGVkX1/HpNSG1EW+P3oHAZEWXNs/5TCbDW18no4=