256 位密钥 AES 算法实现

7
256 位位位 AES 位位位位 课课课课 2013-4-2

description

256 位密钥 AES 算法实现. 课程实验 2013-4-2. 1 算法架构. 实验要求 256 比特密钥 加密 128 比特消息分组 。消息和密钥的排列如同课程 2.3.3 节描述,但密钥形成 4 × 8 的矩阵。 这时算法由 14 轮成,每一轮使用原始密钥或其产生的密钥。第 0 轮使用原始的 256 比特密钥之中的前 128 比特。每一轮都是 128 比特输入 128 比特输出。. Shift Row ( SR ). Byte Sub ( BS ). Mix Column ( MC ). Add Round Key ( ARK ). - PowerPoint PPT Presentation

Transcript of 256 位密钥 AES 算法实现

Page 1: 256 位密钥 AES 算法实现

256位密钥 AES算法实现

课程实验2013-4-2

Page 2: 256 位密钥 AES 算法实现

1 算法架构 实验要求 256比特密钥加密 128比特消息分组。消息和密钥的排列如同课程 2.3.3 节描述,但密钥形成 4×8 的矩阵。

这时算法由 14轮成,每一轮使用原始密钥或其产生的密钥。第 0 轮使用原始的 256 比特密钥之中的前 128 比特。每一轮都是 128 比特输入 128 比特输出。

Page 3: 256 位密钥 AES 算法实现

1 算法架构 ( 续 )轮变换

Byte Sub(BS)

Shift Row(SR)

Mix Column(MC)

Add Round Key(ARK)

Rijndael加密(1) 使用第 0 轮密钥执行 ARK操作。(2) 依次使用第 1 轮到 13 轮密钥按顺序执行 BS, SR, MC,和 ARK操作。(3) 使用第 14 轮密钥按顺序执行 BS, SR,和 ARK操作。

Page 4: 256 位密钥 AES 算法实现

2 关于层 (1) 字节转换 (BS) 与课程 2.3.3 节描述完

全相同。 (2) 移动行变换 (SR) 与课程 2.3.3 节描述

完全相同。 (3) 混合列变换 (MC) 与课程 2.3.3 节描述

完全相同。 (4) 轮密钥加密变换 (ARK) 与课程 2.3.3

节描述基本相同,唯一区别是每次只选择消息分组大小相同的子密钥进行按位异或。

Page 5: 256 位密钥 AES 算法实现

3 关于子密钥产生

3)(42)(41)(4)(41

))1((

)10(

)1(

)1( ))1(())1(()8()( |8 3)

))1(()1(

)1( ))1(( ))1(()8()( 4|8 |8 2)

)1()8()( 4|8 |8 )1

)59,,8((7)(6)(5)(4)(3)(2)(1)

(0)8 84562

8/)8(

S

S

。,,,推关系产生的列轮的密钥就是按上面递第。

。令

的变换如下:是对,这里,则如果

。。令

如下:的变换是对,这里,则但如果

;,则且如果按如下递推关系产生:。新列,,,,,,

,列可以写为的字节矩阵。前消息一样写成比特,它可以如同输入原始密钥为

iWiWiWiWi

iWT

h

g

f

e

h

g

f

e

a

d

c

b

d

c

b

a

d

c

b

a

iW

iWiWTiWTiWiWi

iWU

h

g

f

e

d

c

b

a

d

c

b

a

iW

iWiWUiWUiWiWii

iWiWiWii

WWWWWWW

W

i

Page 6: 256 位密钥 AES 算法实现

4 关于解密 解密过程与课程 2.3.3 节描述相同。

解密秘钥反向使用加密密钥。

Page 7: 256 位密钥 AES 算法实现

谢谢 !