在线时间 490 小时 最后登录 2024-2-3 注册时间 2013-2-28 听众数 117 收听数 46 能力 268 分 体力 39235 点 威望 1340 点 阅读权限 255 积分 31237 相册 2 日志 0 记录 0 帖子 1388 主题 937 精华 0 分享 0 好友 111
升级 0%
TA的每日心情 衰 2020-10-25 11:55
签到天数: 264 天
[LV.8]以坛为家I
自我介绍 内蒙古大学计算机学院
群组 : 2013年数学建模国赛备
AES每一个圈变换由以下三个层组成:
w3 l" M$ J* L: k% O5 M 非线性层——进行Subbyte变换;" a* C" O: w. V& M9 v1 [
线行混合层——进行ShiftRow和MixColumn运算;4 F5 x' i% ?" I, R9 c
密钥加层——进行AddRoundKey运算。
* s8 H' A7 ^( T# i4 e# R ① Subbyte变换是作用在状态中每个字节上的一种非线性字节转换,可以通过计算出来的S盒进行映射。
% W# z9 z; ]+ b: \" W6 M ② ShiftRow是一个字节换位。它将状态中的行按照不同的偏移量进行循环移位,而这个偏移量也是根据Nb的不同而选择的[3]。) k' b, Z' w2 {% J) i
③ 在MixColumn变换中,把状态中的每一列看作GF(28)上的多项式a(x)与固定多项式c(x)相乘的结果。 b(x)=c(x)*a(x)的系数这样计算:
1 m9 t2 `$ W# e$ F1 ~4 Q; }; `
5 @1 w" R7 c6 @( C- k" D% B1 S *运算不是普通的乘法运算,而是特殊的运算,即 b(x)=c(x)·a(x)(mod x4+1) 对于这个运算 b0=02。a0+03。a1+a2+a3 令xtime(a0)=02。a04 B) f3 T* }5 f3 ~
4 b; t" w& j# b' x
其中,符号“。”表示模一个八次不可约多项式的同余乘法[3]。$ B, X9 ~) A1 O$ h+ [
- O' P; r4 z) L
. |* a& A) \* U7 w
; l6 O9 n+ j( r 对于逆变化,其矩阵C要改变成相应的D,即b(x)=d(x)*a(x)。7 ?, P. v7 n% p5 m' q, V" ]
④ 密钥加层运算(addround)是将圈密钥状态中的对应字节按位“异或”。
3 p7 D# ?9 G" A7 L; u0 L ⑤ 根据线性变化的性质[1],解密运算是加密变化的逆变化。这里不再详细叙述。0 g* N, U' T' @, ]' d
二、轮变化 . }9 l4 w2 v3 ]7 C% Y. a" H
8 X x7 _+ n2 F8 i% ~: a+ C
对不同的分组长度,其对应的轮变化次数是不同的,如表1所列。' S, A% |0 c7 ^3 A: N. C' |9 e, M
/ V9 m, j& {) M, i6 G d
4 Y' B9 I/ |9 D* x) V7 l, N ]
6 h7 O( p# M1 g) ] 三、密钥扩展
9 w2 R- E: K# S) k. p8 I% K
8 B/ ^* V. y! q% `) v9 s" B AES算法利用外部输入密钥K(密钥串的字数为Nk),通过密钥的扩展程序得到共计4(Nr+1)字的扩展密钥。它涉及如下三个模块:
, f; |0 `" Y# u- t8 d
* ~: j' g4 H$ C ① 位置变换(rotword)——把一个4字节的序列[A,B,C,D]变化成[B,C,D,A];
" ~2 K1 t7 E7 r% W V+ Z9 `9 X; \$ t" l, q
② S盒变换(subword)——对一个4字节进行S盒代替;
0 t! z: B6 O( `7 v9 j/ e
1 A- ^" U! g/ y' U ③ 变换Rcon——Rcon表示32位比特字[xi-1,00,00,00]。) I$ Z0 t7 B+ w8 c3 u, f
3 }1 P6 s* v- z, j4 @ 这里的x是(02),如 Rcon[1]=[01000000];Rcon[2]=[02000000];Rcon[3]=[04000000]……
- j$ o5 m5 K& Y- p; r0 T
. P6 \8 B, @# m. 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]。
1 @4 q# C1 W/ ^ M
4 u9 ? o! u+ ?6 b9 `$ `# Y/ k AES的加密与解密流程。3 J2 z9 _8 D& G
+ h! s; i# @. v. D+ G- n# S# d. k