QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2333|回复: 0
打印 上一主题 下一主题

AES加密算法的若干个问题?

[复制链接]
字体大小: 正常 放大

937

主题

117

听众

3万

积分

升级  0%

  • TA的每日心情

    2020-10-25 11:55
  • 签到天数: 264 天

    [LV.8]以坛为家I

    自我介绍
    内蒙古大学计算机学院

    社区QQ达人 金点子奖 助人为乐奖 风雨历程奖

    群组2013年数学建模国赛备

    1#
    发表于 2013-8-6 09:36 |只看该作者
    |招呼Ta 关注Ta
    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 11.jpg
    . |* 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
    1.jpg
    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" BAES算法利用外部输入密钥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/ kAES的加密与解密流程。3 J2 z9 _8 D& G
    + h! s; i# @. v. D+ G- n# S# d. k
    12.jpg
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-7-25 02:58 , Processed in 0.762949 second(s), 52 queries .

    回顶部