数学建模社区-数学中国
标题:
AES加密算法的若干个问题?
[打印本页]
作者:
wangzheng3056
时间:
2013-8-6 09:36
AES每一个圈变换由以下三个层组成:
1 L$ `7 b; y8 f8 N- Z0 A& O+ O
非线性层——进行Subbyte变换;
+ }2 g6 E7 X1 w; z" j
线行混合层——进行ShiftRow和MixColumn运算;
: D% f1 u* ?, G# Y+ O( Y5 G! y; t
密钥加层——进行AddRoundKey运算。
; s0 x; B: ~" S( ]8 G
① Subbyte变换是作用在状态中每个字节上的一种非线性字节转换,可以通过计算出来的S盒进行映射。
& T( x0 N1 x( t
② ShiftRow是一个字节换位。它将状态中的行按照不同的偏移量进行循环移位,而这个偏移量也是根据Nb的不同而选择的[3]。
( `* ^& @+ C4 |- T, a
③ 在MixColumn变换中,把状态中的每一列看作GF(28)上的多项式a(x)与固定多项式c(x)相乘的结果。 b(x)=c(x)*a(x)的系数这样计算:
' J6 ? @0 ^4 B" j- Z) h+ Z+ M
0 j$ b- T* A& g* @ S
*运算不是普通的乘法运算,而是特殊的运算,即 b(x)=c(x)·a(x)(mod x4+1) 对于这个运算 b0=02。a0+03。a1+a2+a3 令xtime(a0)=02。a0
9 u5 X0 G1 O! ^. Y2 ~) x
; B7 Y& o: p- N1 f9 K( f
其中,符号“。”表示模一个八次不可约多项式的同余乘法[3]。
9 U( \( Z Z* N6 d9 x
" h( C$ C* h. n/ U- Z' Y
2013-8-6 09:34 上传
下载附件
(10.42 KB)
% T7 S7 Z6 W2 h ^( L" Z1 ^2 Z# x
9 K( |7 m1 _: f2 ] {9 x
对于逆变化,其矩阵C要改变成相应的D,即b(x)=d(x)*a(x)。
+ ]/ T9 j9 d+ c( s, \. s ~
④ 密钥加层运算(addround)是将圈密钥状态中的对应字节按位“异或”。
2 E0 x# h3 u+ S0 v8 z
⑤ 根据线性变化的性质[1],解密运算是加密变化的逆变化。这里不再详细叙述。
) B, p6 W3 T7 G
二、轮变化
o! t! v& n, Z1 Y4 }$ c6 T4 V
|1 I) b* e3 t# N o+ m
对不同的分组长度,其对应的轮变化次数是不同的,如表1所列。
7 l7 Y2 x: _7 I2 V
7 O1 u8 X7 p5 j$ J
2013-8-6 09:35 上传
下载附件
(18.07 KB)
; R9 m: c4 d$ s M
, ]5 ~7 [" ~8 r3 X
三、密钥扩展
% O, h1 [7 C* L8 Y/ R
! ]7 r! j: c5 R5 N; o- S+ H) k
AES算法利用外部输入密钥K(密钥串的字数为Nk),通过密钥的扩展程序得到共计4(Nr+1)字的扩展密钥。它涉及如下三个模块:
9 N8 o3 P* j( i6 W3 n
& J% N" W; y) F' R# m1 ^9 u, e
① 位置变换(rotword)——把一个4字节的序列[A,B,C,D]变化成[B,C,D,A];
6 J, B% U( m: v. s
$ R4 D8 X d# \$ L g7 E6 M
② S盒变换(subword)——对一个4字节进行S盒代替;
1 @) F2 N0 q* p
# ?! T+ e. |& V% b. F- i* \
③ 变换Rcon
——Rcon
表示32位比特字[xi-1,00,00,00]。
9 e+ P0 j9 `* D" w W/ s3 `* g
" R! [4 `: E. Y2 |+ `5 J1 P
这里的x是(02),如 Rcon[1]=[01000000];Rcon[2]=[02000000];Rcon[3]=[04000000]……
7 }9 t) Q6 x, L, w( r8 \
) ^: h) `4 y! Y. _4 b& g @
扩展密钥的生成:扩展密钥的前Nk个字就是外部密钥K;以后的字W[[i]]等于它前一个字W[[i-1]]与前第Nk个字W[[i-Nk]]的“异或”,即W[[i]]=W[[i-1]]W[[i- Nk]]。但是若i为Nk的倍数,则W[i]=W[i-Nk]Subword(Rotword(W[[i-1]]))Rcon[i/Nk]。
9 J; p }$ I0 U8 o
+ q3 k; Y/ ~, W! w4 _
AES的加密与解密流程。
/ f0 B1 l9 J; z P
/ Z( @$ w! a* {+ v, A0 u) K
2013-8-6 09:36 上传
下载附件
(73.79 KB)
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5