Advanced Encryption Standard: Difference between revisions

From Citizendium
Jump to navigation Jump to search
imported>Sandy Harris
No edit summary
imported>Sandy Harris
Line 9: Line 9:
In October 2002, they announced [http://www.nist.gov/public_affairs/releases/g00-176.htm] the winner — '''Rijndael''' (pronounced approximately "rhine doll"), from two Belgian designers. That algorithm is now the Advanced Encryption Standard.  
In October 2002, they announced [http://www.nist.gov/public_affairs/releases/g00-176.htm] the winner — '''Rijndael''' (pronounced approximately "rhine doll"), from two Belgian designers. That algorithm is now the Advanced Encryption Standard.  


The NIST page on AES [http://csrc.nist.gov/archive/aes/rijndael/wsdindex.html] has much detail, including links to all the Rinjdael design documents, to several implementations, and to the official standard, approved as FIPS 197,
The NIST page on AES [http://csrc.nist.gov/archive/aes/rijndael/wsdindex.html] has much detail, including links to all the Rinjdael design documents, to several implementations, and to the official standard, approved as FIPS 197, The  [[Block_cipher/External_Links#AES_links | external links]] of the block cipher article have additional links.
 
== Design==
 
AES is an [[Block_cipher#Iterated_block_ciphers|iterated block cipher]], but not a [[Feistel cipher]]; the overall structure is an [[SP network]]. Nonlinearity is obtained by mixing operations from different algebraic groups. There are four operations.
 
Two give confusion:
: AddRoundKey: bitwise XOR of 128-bit state and 128-bit round key
: SubBytes: run individual bytes through an 8*8 S-box
The other two give diffusion, treating the 128-bit block as a four by four matrix of bytes:
: ShiftRows: cyclicly shift each row by a fixed amount
: MixColumns: treat each column as a polynomial over the [[Galois field]] '''GF'''(''2<sup>8</sup>''); multiply it by one constant polynomial modulo another 
 
It encrypts 128-bit blocks with a 128, 192 or 256-bit key. The number of rounds varies with key size: 10 for 128-bit keys, 12 for 192-bit keys and 14 for 256-bit keys. The numbers of rounds were chosen based on an analysis showing that they are enough to give [[Block_cipher#Resisting_linear_.26_differential_attacks | resistance]] to [[linear cryptanalysis]] and [[differential cryptanalysis]].


==References==
==References==
{{reflist|2}}
{{reflist|2}}

Revision as of 00:27, 26 July 2009

This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

The Advanced Encryption Standard, or AES, is a US government specification for a block cipher to replace the earlier and weaker Data Encryption Standard (DES).

AES encrypts data in 128-bit blocks and can take a 128, 192 or 256-bit key. DES used 64-bit blocks and a 56-bit key.

Starting in the late 90s, the US National Institute of Standards and Technology (NIST) ran a competition to find a block cipher to replace DES. Fifteen candidates were submitted; for descriptions of the criteria used and of all candidates see AES competition.

In October 2002, they announced [1] the winner — Rijndael (pronounced approximately "rhine doll"), from two Belgian designers. That algorithm is now the Advanced Encryption Standard.

The NIST page on AES [2] has much detail, including links to all the Rinjdael design documents, to several implementations, and to the official standard, approved as FIPS 197, The external links of the block cipher article have additional links.

Design

AES is an iterated block cipher, but not a Feistel cipher; the overall structure is an SP network. Nonlinearity is obtained by mixing operations from different algebraic groups. There are four operations.

Two give confusion:

AddRoundKey: bitwise XOR of 128-bit state and 128-bit round key
SubBytes: run individual bytes through an 8*8 S-box

The other two give diffusion, treating the 128-bit block as a four by four matrix of bytes:

ShiftRows: cyclicly shift each row by a fixed amount
MixColumns: treat each column as a polynomial over the Galois field GF(28); multiply it by one constant polynomial modulo another

It encrypts 128-bit blocks with a 128, 192 or 256-bit key. The number of rounds varies with key size: 10 for 128-bit keys, 12 for 192-bit keys and 14 for 256-bit keys. The numbers of rounds were chosen based on an analysis showing that they are enough to give resistance to linear cryptanalysis and differential cryptanalysis.

References