The Advanced Encryption Standard (AES), the symmetric block cipher ratified as a standard by National Institute of Standards and Technology of the United States (NIST), was chosen using a process lasting from 1997 to 2000 that was markedly more open and transparent than its predecessor, the aging Data Encryption Standard (DES). This process won praise from the open cryptographic community, and helped to increase confidence in the security of the winning algorithm from those who were suspicious of backdoors in the predecessor, DES.

AES is based on the Rijndael cipher developed by two Belgian cryptographers, Joan Daemen and Vincent Rijmen, who submitted a proposal to NIST during the AES selection process. Rijndael is a family of ciphers with different key and block sizes.

AES is a variant of Rijndael which has a fixed block size of 128 bits, and a key size of 128, 192, or 256 bits.

Ccalc’s screen for AES encoding and decoding allows input based on input data type – ASCII or Binary (HexDec). Encryption/Decoding key have to be always provided in hexadecimal digits (0-9 | A-F) and key lengths allowed are 32 (AES-128), 48 (AES-192) or 64 (AES-256) characters.

Cipher modes available are:

**ECB**– Electronic Code Book – the simplest of the encryption modes. The message is divided into blocks, and each block is encrypted separately.**CBC**– Cipher-block chaining – each block of plaintext is XORed with the previous ciphertext block before being encrypted. This way, each ciphertext block depends on all plaintext blocks processed up to that point. To make each message unique, an initialization vector must be used in the first block.**CFB**– Cipher feedback – is a close relative of CBC, makes a block cipher into a self-synchronizing stream cipher. Operation is very similar; in particular, CFB decryption is almost identical to CBC encryption performed in reverse.**OFB**– Output feedback – makes a block cipher into a synchronous stream cipher. It generates keystream blocks, which are then XORed with the plaintext blocks to get the ciphertext. Just as with other stream ciphers, flipping a bit in the ciphertext produces a flipped bit in the plaintext at the same location. This property allows many error correcting codes to function normally even when applied before encryption.

AES operation finished

****************************************

Key: C1D0F8FB4958670DBA40AB1F3752EF0D

Algorithm: AES-128

Mode: CBC

IV: 00000000000000000000000000000000

Crypto operation: Encryption

Data: 00000000000000000000000000000000

—————————————-

Encrypted data: BFABFA12C63525EE76FE211684B5731E