正在加载图片...
For the AES algorithm,the length of the Cipher Key,K,is 128,192,or 256 bits.The key length is represented by Nk=4,6,or 8,which reflects the number of 32-bit words(number of columns)in the Cipher Key. For the AES algorithm,the number of rounds to be performed during the execution of the algorithm is dependent on the key size.The number of rounds is represented by Nr,where Nr= 10 when Nk=4,Nr=12 when Nk=6,and Nr=14 when Nk =8. The only Key-Block-Round combinations that conform to this standard are given in Fig.4. For implementation issues relating to the key length,block size and number of rounds,see Sec. 6.3. Key Length Block Size Number of (Nk words) (Nb words) Rounds (Nr) AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 Figure 4.Key-Block-Round Combinations. For both its Cipher and Inverse Cipher,the AES algorithm uses a round function that is composed of four different byte-oriented transformations:1)byte substitution using a substitution table(S-box),2)shifting rows of the State array by different offsets,3)mixing the data within each column of the State array,and 4)adding a Round Key to the State.These transformations (and their inverses)are described in Sec.5.1.1-5.1.4 and 5.3.1-5.3.4 The Cipher and Inverse Cipher are described in Sec.5.1 and Sec.5.3,respectively,while the Key Schedule is described in Sec.5.2. 5.1 Cipher At the start of the Cipher,the input is copied to the State array using the conventions described in Sec.3.4.After an initial Round Key addition,the State array is transformed by implementing a round function 10,12,or 14 times (depending on the key length),with the final round differing slightly from the first Nr-1 rounds.The final State is then copied to the output as described in Sec.3.4. The round function is parameterized using a key schedule that consists of a one-dimensional array of four-byte words derived using the Key Expansion routine described in Sec.5.2 The Cipher is described in the pseudo code in Fig.5.The individual transformations SubBytes(),ShiftRows(),MixColumns(),and AddRoundKey ()-process the State and are described in the following subsections.In Fig.5,the array w[]contains the key schedule,which is described in Sec.5.2. As shown in Fig.5,all Nr rounds are identical with the exception of the final round,which does not include the MixColumns (transformation. 1414 For the AES algorithm, the length of the Cipher Key, K, is 128, 192, or 256 bits. The key length is represented by Nk = 4, 6, or 8, which reflects the number of 32-bit words (number of columns) in the Cipher Key. For the AES algorithm, the number of rounds to be performed during the execution of the algorithm is dependent on the key size. The number of rounds is represented by Nr, where Nr = 10 when Nk = 4, Nr = 12 when Nk = 6, and Nr = 14 when Nk = 8. The only Key-Block-Round combinations that conform to this standard are given in Fig. 4. For implementation issues relating to the key length, block size and number of rounds, see Sec. 6.3. Key Length (Nk words) Block Size (Nb words) Number of Rounds (Nr) AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 Figure 4. Key-Block-Round Combinations. For both its Cipher and Inverse Cipher, the AES algorithm uses a round function that is composed of four different byte-oriented transformations: 1) byte substitution using a substitution table (S-box), 2) shifting rows of the State array by different offsets, 3) mixing the data within each column of the State array, and 4) adding a Round Key to the State. These transformations (and their inverses) are described in Sec. 5.1.1-5.1.4 and 5.3.1-5.3.4. The Cipher and Inverse Cipher are described in Sec. 5.1 and Sec. 5.3, respectively, while the Key Schedule is described in Sec. 5.2. 5.1 Cipher At the start of the Cipher, the input is copied to the State array using the conventions described in Sec. 3.4. After an initial Round Key addition, the State array is transformed by implementing a round function 10, 12, or 14 times (depending on the key length), with the final round differing slightly from the first Nr -1 rounds. The final State is then copied to the output as described in Sec. 3.4. The round function is parameterized using a key schedule that consists of a one-dimensional array of four-byte words derived using the Key Expansion routine described in Sec. 5.2. The Cipher is described in the pseudo code in Fig. 5. The individual transformations - SubBytes(), ShiftRows(), MixColumns(), and AddRoundKey() – process the State and are described in the following subsections. In Fig. 5, the array w[] contains the key schedule, which is described in Sec. 5.2. As shown in Fig. 5, all Nr rounds are identical with the exception of the final round, which does not include the MixColumns() transformation
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有