当前位置: 首页 > news >正文

在AES加密中,设主密钥为“2B 7E 15 16 28 AE D2 A6 AB F7 15 88 09 CF 4F 3C”,试计算迭代第1轮使用的轮密钥。

题解:

1.分析:

第一轮使用的轮密钥是W[4]、W[5]、W[6]、W[7]

w[i](4≤i≤43)求法:

(1)i不为4的倍数

w[i] = w[i-1] ⊕w[i-4]

(2)为4的倍数

w[i]=SubWord(RotWord(w[i-1]))⊕w[i-4]⊕Rcon[i/4]

解释:

①RotWord:将w[i-1]的4个字节循环上移一个字节

②SubWord:基于S盒对输入字的每个字节进行代换

③将步骤②的结果与w[i-4]异或

④将步骤③的结果再与轮常量Rcon[i/4]异或

2.按顺序每四个一列,作为初始轮密钥(W[0]、W[1]、W[2]、W[3])

W[0]

W[1]

W[2]

W[3]

2B

28

AB

09

7E

AE

F7

CF

15

D2

15

4F

16

A6

88

3C

3.求W[4]

由于4是4的倍数故:

w[4]=SubWord(RotWord(w[3]))⊕w[0]⊕Rcon[1]

(1)将w[3]的4个字节循环上移一个字节

09

CF

CF

4F

4F

3C

3C

09

(2)基于S盒对输入字的每个字节进行代换

S盒:

用法:

如9A,对应S盒就是9行A列,即B8

代换结果:

CF

8A

4F

84

3C


http://www.mrgr.cn/news/7002.html

相关文章:

  • 深入解析:Objective-C中的NSLock与NSRecursiveLock的异同
  • OpenCV c++ 实现图像马赛克效果
  • 大模型训练核心算法之——损失函数算法
  • AI 功能上新!用 Einstein Copilot for Tableau 加速商业数据分析全过程
  • 【Qt】 对象树 与 乱码问题
  • 服务器数据恢复—重建RAID失败导致数据丢失的数据恢复案例
  • Pandas里使用SQL
  • os 虚拟内存
  • TCP与UDP传输的学习
  • Web应用服务器Tomcat
  • 如何在Geth中搭建P2P多节点以太坊私链:详细教程与实操步骤
  • 【算法】希尔排序、计数排序、桶排序、基数排序
  • 入门Java编程的知识点—>程序结构(day04)
  • 代码随想录day52 101孤岛的总面积 102沉没孤岛 103水流问题 104建造最大岛屿
  • CentOS7发送邮件如何配置SMTP服务器发信?
  • Ubuntu 22安装和配置PyCharm详细教程(图文详解)
  • UE5打包iOS运行查看Crash日志
  • AI副业:别只顾刷黑神话悟空!AI做神话账号,商单月入过万(附教程)
  • 适用于应用程序安全的 11 大 DevSecOps 工具
  • 大语言模型 (LLM)是什么_