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:

  1. KeyExpansions
  2. InitialRound
    • AddRoundKey
  3. Rounds - There are 10, 12 or 14 rounds depending on key size
    • SubBytes
    • ShiftRows
    • MixColumns
    • AddRoundKey
  4. 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