# AES Encryption and Decryption Tool

This is an online tool for encryption and decryption using AES algorithm. This tool provides a lot of encryption and decryption modes for CBC, ECB, CTR, CFB...

**Advanced Encryption Standard(AES)** is a symmetric encryption algorithm. AES encryption is used for securing sensitive but unclassified material by U.S.

The AES engine requires a plain-text and a secret key for encryption and same secret key is used again to decrypt it.

**CBC (Cipher Block Chaining)** requires Initialization Vector(IV) to make each message unique.Using IV we randomize the encryption of similar blocks. So any identical plain text blocks will be encrypted into disimmilar cipher text blocks.

**ECB(Electronic Code Book)** encryption mode does not need the IV for encryption. The input plain text will be divided into blocks and each block will be encrypted with the key provided and hence identical plain text blocks are encrypted into identical cipher text blocks.

The input can be of 128 bit or 192 bit or 256 bit

So if key size is 128 then "aesEncryptionKey" is a valid secret key because it has 16 characters i.e 16*8=128 bits.

**The initialization vector is needed in case of CBC mode**

The initialization vector size should be 128 bit

So if initialization vector size is 128 then "encryptionIntVec" is a valid initialization vector because it has 16 characters i.e 16*8=128 bits.

## AES Secret key

As AES is a symmetric algorithm the same secret key can be used for both encryption and decryption. The expected secret key size we have specified in the key size dropdown

So if key size is 128 then "aesEncryptionKey" is a valid secret key because it has 16 characters i.e 16*8=128 bits