CNS 2B AES - Advanced Encryption Standard
CNS 2B AES - Advanced Encryption Standard
Encryption Standard
The Advanced Encryption Standard (AES) is a symmetric-
key block cipher published by the National Institute of
Standards and Technology (NIST) in December 2001.
History
In 1997, NIST started looking for a replacement for DES,
which would be called the Advanced Encryption Standard
or AES. The NIST specifications required a block size of
128 bits and three different key sizes of 128, 192, and
256 bits. The specifications also required that AES be an
open algorithm, available to the public worldwide.
Criteria
The criteria defined by NIST for selecting AES fall into three areas:
• security, - The main emphasis was on security. Because NIST
explicitly demanded a 128-bit key, this criterion focused on
resistance to cryptanalysis attacks other than brute-force attack.
• cost, - The second criterion was cost, which covers the
computational efficiency and storage requirement for different
implementations such as hardware, software, or smart cards.
• Implementation - This criterion included the requirement that
the algorithm must have flexibility (be implementable on any
platform) and simplicity
Rounds
• AES is a non-Feistel cipher that encrypts and decrypts a
data block of 128 bits. It uses 10, 12, or 14 rounds. The
key size, which can be 128, 192, or 256 bits, depends
on the number of rounds.
The number of round
keys generated by the
key-expansion
algorithm is always
one more than the
number of rounds. In
other words, we have
Number of round keys
= Nr + 1
We refer to the round
keys as K0, K1, K2, …,
KNr .
Data Units
AES uses five units of measurement to refer to data:
• bits,
• bytes,
• words,
• blocks, and
• state.
The bit is the smallest and atomic unit; other units can be
expressed in terms of smaller ones.
• Bit
In AES, a bit is a binary digit with a value of 0 or 1. We
use a lowercase letter to refer to a bit.
• Byte
A byte is a group of eight bits that can be treated as a
single entity, a row matrix (1 × 8) of eight bits, or a
column matrix (8 × 1) of eight bits. When treated as a
row matrix, the bits are inserted to the matrix from left
to right; when treated as a column matrix, the bits are
inserted into the matrix from top to bottom.
• Word
A word is a group of 32 bits that can be treated as a
single entity, a row matrix of four bytes, or a column
matrix of four bytes.
• Block
AES encrypts and decrypts data blocks. A block in AES is
a group of 128 bits. However, a block can be
represented as a row matrix of 16 bytes.
•State