下载此文档

AES加密算法主要步骤.doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
,将State初始化为x,并进行AddRoundKey操作,将RoundKey与State异或。l对前Nr-1轮中的每一轮,用S盒对进行一次代换操作,称为SubBytes;对State做一置换ShiftRows;再对State做一次操作MixColumns;然后进行AddRoundKey操作。l依次进行SubBytes、ShiftRows和AddRoundKey操作。l将State定义为密文y。(bytein[4*Nb],byteout[4*Nb],wordw[Nb*(Nr+1)])beginbytestate[4,Nb]state=inAddRoundKey(state,w[0,Nb-1])forround=1step1toNr-1SubBytes(state)ShiftRows(state)MixColumns(state)AddRoundKey(state,w[round*Nb,(round+1)*Nb-1])endforSubBytes(state)ShiftRows(state)AddRoundKey(state,w[Nr*Nb,(Nr+1)*Nb-1])out=stateend2KeyExpansion(),再上初始及最后2轮,需构造11轮密钥。每一轮密钥由4个字组成。每个字由4个byte组成。:byte[]key,byte[]w//key为密钥w为扩展的密钥输出:byte[]w//扩展密钥长度为4*4*11处理:1)建立一个4byte的一维数组,存放一个字。Byte[]temp;2)将密钥key[0..15]送至w[0..15];//已赋值4个字给w。3)forI=4to43//以下每次处理一个字(32bit)temp=w[I-1];if(I=0mod4)//处理一个字thenforj=1to4//字的4byte处理在此循环中取temp数组下标的次序为1,2,3,0//RotWord操作如果是字的首byte,取Rcon常数Rcon(I/4);temp[j]=Sbox(temp[(j+1)/4]^Rcon常数endfortemp=SubWord(RotWord(temp))⊕Rcon[i/4]endifw[I]=w[I-4]⊕temp;endfor4)输出w3多项式乘法modGF(28)(28)按多项式乘法,并mod不可约多项式m(x)=x8+x4+x3+x+1。:bytea,byteb输出:byter数学基础:GF(28)有限域性质:两个元素的加法与两个字节按位模2加是一致的;乘法满足结合律;考虑多项式中的一项aixi(i∈0-7),用一次x乘以多项式:b(x)=b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+b1x+b0,得到b7x8+b6x7+b5x6+b4x5+b3x4+b2x3+b1x2+b0x(式1)将结果模m(x)求余得到x*b(x)。如果b7=0,则式1就是x*b(x)。如果b7不等于0,则必须从式1中减去m(x)后结果为x*b(x)。用x乘一个多项式简称x乘。由此得出,aixi乘以b(x)

AES加密算法主要步骤 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小19 KB
  • 时间2019-10-10