问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

AES算法原理

发布网友 发布时间:2022-11-26 04:10

我来回答

1个回答

热心网友 时间:2023-10-10 13:15

AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“体(state)”,其初值就是一个明文区块(矩阵中一个
元素大小就是明文区块中的一个Byte)。(Rijndael加密法因支持更大的区块,其矩阵行数可视情况增加)加密时,
各轮AES加密循环(除最后一轮外)均包含4个步骤:

矩阵中的各字节通过一个8位的S-box进行转换。这个步骤提供了加密法非线性的变换能力。S-box与GF(28)上的乘法反元素有关,已知具有良好的非线性特性。为了避免简单代数性质的攻击,S-box结合了乘法反元素及一个可逆的仿射变换矩阵建构而成。此外在建构S-box时,刻意避开了固定点与反固定点,即以S-box替换字节的结果会相当于错排的结果。AES算法中的S盒如图2.2所示
例如一个字节为0x19,经过S盒变换查找n(1,9) = 0xd4,所以就替换为0xd4。

ShiftRows描述矩阵的行操作。在此步骤中,每一行都向左循环位移某偏移量。在AES中(区块大小128位),第一行维持不变,第二行里的每个字节都向左循环移动一格。同理,第三行及第四行向左循环位移的偏移量就分别是2和3。经过ShiftRows之后,矩阵中每一竖列,都是由输入矩阵中的每个不同列中的元素组成。

在MixColumns步骤,每一列的四个字节通过线性变换互相结合。每一列的四个元素分别当作 的系数,合并即为GF(28)中的一个多项式,接着将此多项式和一个固定的多项式在molo 下相乘。此步骤亦可视为Rijndael有限域之下的矩阵乘法。MixColumns函数接受4个字节的输入,输出4个字节,每一个输入的字节都会对输出的四个字节造成影响。因此ShiftRows和MixColumns两步骤为这个密码系统提供了扩散性。

AES算法利用外部输入密钥K(密钥串的字数为Nk),通过密钥的扩展程序得到共计4(Nr+1)字的扩展密钥。它涉及如下三个模块:
(1)位置变换(rotword)——把一个4字节的序列[A,B,C,D]变化成[B,C,D,A];
(2)S盒变换(subword)——对一个4字节进行S盒代替;
(3)变换Rcon[i]——Rcon[i]表示32位比特字[xi-1,00,00,00]。这里的x是(02),如 Rcon[1]=[01000000];Rcon[2]=[02000000];Rcon[3]=[04000000]……   
扩展密钥的生成:扩展密钥的前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]。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
离职几个月公司发短信说我离职生效叫我回去补办离职交接手续怎么 开除员工不办手续违法吗 辞退员工没有办手续违法吗 苹果13/6.1录制两个人脸,后面换锁屏密码认证还有什么提醒,或者是两个人... 很规律很威严的词语是什么 我老了又无能 想有个爱我一辈子的 到今没 就一个人 把爱放心里 用数字... 日语N2 20天复习够吗 为什么泥工先于木工 泥工做好隔多久做木工 从泥工做好到做木工,需要等待多久? 水泥操作人员作业流程是怎样的? win11登录显示网络无法连接 阳台晾衣架哪种最实用 穿井得一人词类活用 苹果6进水维修后使用经常自动关机难启动怎么回事 公积金封存后怎么用(公积金封存后怎么解封) ai在辩论场上战胜人类是可喜还是可悲”这个论题的关键在哪?关键词是什么? 我想问问带孩子去海边玩要准备什么 带孩子去海边玩要准备什么东西? 在海边怎么陪孩子玩好 电脑桌面出现线条 可以正常使用 截图就没有 才配置的电脑 求解决 波斯王子4 重生 BOOS战的问题 你们认为《辐射:避难所》这款游戏怎么玩? 2022年成都限号最新规定 上海限号2022最新规定 学校五四青年节文艺汇演活动方案 哪些生肖容易让人吃惊 吃了一惊是什么生肖 吃了一惊是指什么生肖 吃了一惊猜一生肖 网上确认时,上传准考证照片不成功,需要注意什么? 19款骊威什么时候上市 被冻结了怎么解冻 微信110 qq com我这吗解不了封是为什么了? 110.qq.com 冻结了怎么解?人脸过不去 想让孩子出国读硕士,新西兰读硕士要多久? 宝贝打一生肖 史诗战争模拟器丧尸在哪玩 史诗战争模拟器第七十八关怎么过 官道无疆岳霜婷结局如何 09年环境保护日的主题 就这样牵着你一直走是什么歌的歌词 就这样牵着你的手是什么歌曲 拗的拼音和组词 汉字拗组词 拗组词和部首 3d东东为什么不更新了 舞起八面风以前3d什么时候出过 11.Jmeter--BeanShell vars.get() 及vars.put()方法 jmeter 小脚本 BeanShell PreProcessor vars.get jmeter使用org.json处理json数据 MeterSphere接口测试中使用beanshell脚本进行参数哈希sha1加密