Sunday, March 5, 2017

Cryptography: SALIENT FEATURES OF AES

Step forward in 2017: Build in-demand career skills with Coursera AES is a block cipher with a block length of 128 bits.
  • AES allows for three different key lengths: 128, 192, or 256 bits. Most of our discussion will assume that the key length is 128 bits. [With regard to using a key length other than 128 bits, the main thing that changes in AES is how you generate the key schedule from the key — an issue I address at the end of Section 8.8.1. The notion of key schedule in AES is explained in Sections 8.2 and 8.8.]
  • Encryption consists of 10 rounds of processing for 128-bit keys, 12 rounds for 192-bit keys, and 14 rounds for 256-bit keys.
  • Except for the last round in each case, all other rounds are iden- tical.
  • Each round of processing includes one single-byte based substi- tution step, a row-wise permutation step, a column-wise mixing
  • step, and the addition of the round key. The order in which these four steps are executed is different for encryption and decryption.
  • To appreciate the processing steps used in a single round, it is best to think of a 128-bit block as consisting of a 4 × 4 matrix of bytes, arranged as follows:
byte0    byte4    byte8      byte12
byte1    byte5    byte9      byte13
byte2    byte6    byte10    byte14
byte3    byte7    byte11    byte15
  • Therefore, the first four bytes of a 128-bit input block occupy the first column in the 4 × 4 matrix of bytes. The next four bytes occupy the second column, and so on.
    The 4×4 matrix of bytes shown above is referred to as the state array in AES.
Start your future with a Data Analysis Certificate.
  • AES also has the notion of a word. A word consists of four bytes, that is 32 bits. Therefore, each column of the state array is a word, as is each row.
    Each round of processing works on the input state array and produces an output state array.
    The output state array produced by the last round is rearranged into a 128-bit output block.
  • Unlike DES, the decryption algorithm differs substantially from the encryption algorithm. Although, overall, the same steps are used in encryption and decryption, the order in which the steps are carried out is different, as mentioned previously.
    AES, notified by NIST as a standard in 2001, is a slight variation of the Rijndael cipher invented by two Belgian cryptographers Joan Daemen and Vincent Rijmen.
Step forward in 2017: Build in-demand career skills with Coursera
  • Whereas AES requires the block size to be 128 bits, the original Rijndael cipher works with any block size (and any key size) that is a multiple of 32 as long as it exceeds 128. The state array for the different block sizes still has only four rows in the Rijndael cipher. However, the number of columns depends on size of the block. For example, when the block size is 192, the Rijndael cipher requires a state array to consist of 4 rows and 6 columns.
  • AES uses is a substitution- permutation network in a more general sense. Each round of processing in AES involves byte-level substitutions followed by word-level permutations. Speaking generally, DES also involves substitutions and permutations, except that the permutations are based on the Feistel notion of dividing the input block into two halves, processing each half separately, and then swapping the two halves.
  • The nature of substitutions and permutations in AES allows for a fast software implementation of the algorithm.
  • The AES standard is described in the following official document: 
  • http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf
Step forward in 2017: Build in-demand career skills with Coursera

No comments:

Post a Comment