QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2557|回复: 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每一个圈变换由以下三个层组成:+ d3 l7 m, P, \/ ?9 R* `' s+ Q9 }
    非线性层——进行Subbyte变换;
    2 u+ m2 l1 ~' L线行混合层——进行ShiftRow和MixColumn运算;
    $ g9 Q0 s0 ~, N1 }1 v% c8 k密钥加层——进行AddRoundKey运算。
    1 W; b" {  I# {2 L: J- N) x! k① Subbyte变换是作用在状态中每个字节上的一种非线性字节转换,可以通过计算出来的S盒进行映射。
    7 d9 J. K9 G% U- \* |" O② ShiftRow是一个字节换位。它将状态中的行按照不同的偏移量进行循环移位,而这个偏移量也是根据Nb的不同而选择的[3]。3 p. Q! Z3 Z: A& M0 @0 Y! q* l
    ③ 在MixColumn变换中,把状态中的每一列看作GF(28)上的多项式a(x)与固定多项式c(x)相乘的结果。 b(x)=c(x)*a(x)的系数这样计算:
    - J: a, V$ G& ]+ Z. E. B! i1 k% y+ X# H0 G: N" i: u
    *运算不是普通的乘法运算,而是特殊的运算,即 b(x)=c(x)·a(x)(mod x4+1) 对于这个运算 b0=02。a0+03。a1+a2+a3 令xtime(a0)=02。a0
    : P! c$ p1 t( k# R5 s8 X$ ]( n. z; m2 A) g  p
    其中,符号“。”表示模一个八次不可约多项式的同余乘法[3]。
    0 @7 C& l, ~, W. E+ t3 f' n: A
    6 b, s+ V% ?7 }. i; h/ \ 11.jpg
    5 t) D2 k2 l# _+ z. L- N4 p" q$ t2 C% [, ~8 i6 h
    对于逆变化,其矩阵C要改变成相应的D,即b(x)=d(x)*a(x)。
    5 l8 v' ]: q& f* s4 E④ 密钥加层运算(addround)是将圈密钥状态中的对应字节按位“异或”。
    : z+ |- X- U5 K" {& y. G- p⑤ 根据线性变化的性质[1],解密运算是加密变化的逆变化。这里不再详细叙述。
    1 b1 i0 x3 E+ a/ g. q& O二、轮变化   
    9 C4 h6 g; a9 [0 P8 M& A" Z
    ( K4 o  J  Y; J7 S. L对不同的分组长度,其对应的轮变化次数是不同的,如表1所列。
    : ?: i9 g& G8 d+ L6 A$ N, ~. R9 v3 H1 v* ^. h  L  l# n) R
    1.jpg 1 C9 q7 P5 R- g. E7 o( f
    " a0 x! D3 B- t; ?1 I
    三、密钥扩展  ( a& v: k- Y+ L) q
    " k9 W% s* |* a4 v
    AES算法利用外部输入密钥K(密钥串的字数为Nk),通过密钥的扩展程序得到共计4(Nr+1)字的扩展密钥。它涉及如下三个模块:1 R. d* d: i2 c
    + ]) h6 a! @; N7 Z- ?
    ① 位置变换(rotword)——把一个4字节的序列[A,B,C,D]变化成[B,C,D,A];' q5 W, a6 \2 ~' ^4 S: w  U

    ( Z9 _- H8 }* ], D: |% p1 Q0 Z② S盒变换(subword)——对一个4字节进行S盒代替;
    ( ]4 o+ ?- R, T1 V( {  w# a
    & P% I9 {) [$ I* L/ f③ 变换Rcon——Rcon表示32位比特字[xi-1,00,00,00]。
    6 a% s. y* T8 r
    ! Q' i' c9 z! N8 m* x' G. B7 p这里的x是(02),如 Rcon[1]=[01000000];Rcon[2]=[02000000];Rcon[3]=[04000000]……   
    0 m5 h" j2 n% v' L1 r8 X2 B( X0 ]- h
    扩展密钥的生成:扩展密钥的前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]。; L4 k2 ?- {+ E/ S# n. B- ~: c' ?

    4 ^: t5 z4 o; _: P( |AES的加密与解密流程。
    7 r  c+ }6 f. _7 z5 ~$ J  a$ a; M6 v9 Z+ Y+ T
    12.jpg
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-4-21 13:49 , Processed in 0.419870 second(s), 53 queries .

    回顶部