Advanced Encryption Standard (AES) and Rijndael

May 14th, 2014 by Rossy Guide

What are these?

AES stands for Advanced Encryption Standard, a specification for the encryption of electronic data. It is an encryption algorithm for securing sensitive but unclassified material by U.S. Government agencies and, as a likely consequence, may eventually become the de facto encryption standard for commercial transactions in the private sector. It currently supports 128, 192 and 256-bit keys and encryption blocks, but may be extended in multiples of 32 bits.

AES is based on the Rijndael /rayn-dahl/ symmetric block cipher designed 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.

History:

o Due to limitations of DES (small key and block sizes), NIST started an open process to select a new block cipher. In January of 1997, a process was initiated by the NIST to find a more robust replacement for the Data Encryption Standard (DES) and to a lesser degree Triple DES. The specification called for a symmetric algorithm using block encryption of 128 bits in size, supporting key sizes of 128, 192 and 256 bits, as a minimum.

o Proposals have been submitted to NIST around 1998. The NIST selected 15 candidates for the AES, which were then subject to preliminary analysis by the world cryptographic community, including the National Security Agency. In August 1999, NIST selected the following five algorithms for more extensive analysis

o MARS
o RC6
o Rijndael
o Serpent
o  Twofish

o Rijndael from Belgium was chosen as the AES in 2001 after an open process because of its security, performances, efficiency, implement ability, and flexibility.

Features:

1. Encrypts using the AES Rijndael Block Cipher Algorithm.
2. Satisfies FIPS Publication 197 from the NIST and FIPS-197 validated (AESAVS).
3. AES is not Feistel Network. It is a type of SPN and it has 128 bits block size and three allowable key sizes |K|={128,192,256}. Also, it has variable number of rounds

o If |K|=128 then Nr=10
o If |K|=192 then Nr=12
o If |K|=256 then Nr=14

1. AES includes the key expansion function.
2. Optional parity check feature for data integrity.
3. Optional additive data masking throughout the core for strong differential power attack resistance.
4. Optional cycle hiding for DPA resistance.
5. Simple, fully synchronous, reusable design.
6. Completely self-contained: does not require external memory.
7. Available as fully functional and synthesizable Verilog or VHDL, or as a netlist for popular programmable devices and ASIC libraries.
8. Deliverables include self-checking test benches.

Comments are closed.