gpt4 book ai didi

c - AES key 时间表

转载 作者:太空宇宙 更新时间:2023-11-03 23:29:38 26 4
gpt4 key购买 nike

在关于 AES key 表的教程中,我看到 key 表的操作(旋转、rcon、s-box)应用于一个 4 字节的字。你能解释一下这个字从哪里来吗?我明白我从 128 位长的 key 中提取它。 key 被保存为 4x4 矩阵。那么我怎样才能获得用于 key 时间表的词?也许这是一个简单的问题,但我不明白。谢谢。

最佳答案

解释了here (with some code) .它是“到目前为止”扩展 key 的最后 4 个字节。

  1. 您从 128 位(16 字节) key 开始。扩展 key 的前 16 个字节就是那些字节。

  2. 你取出最后 4 个字节,进行 (rotate,rcon,s-box) 舞蹈,然后得到另外 4 个字节,你将它与前面 16 个字节的 4 个字节异或(所以,第一次,在 key 的开头),并将其附加到展开的 key 。

  3. 你取出扩展 key 的最后 4 个字节(你刚刚附加的内容),将它与“返回”的字节 16 个字节(所以,第一次,字节 5 到 8)异或,并将结果附加到扩展键。

  4. 您将 3 再重复 2 次,每次都使用扩展 key 的最后 4 个字节。

  5. 您从 2 开始重复,直到获得所需的总扩展长度。

所以总是,您使用的是最后附加到扩展 key 的 4 个字节。并且您在 16 字节的“部分”中执行此操作,其中该部分的前 4 个字节是使用 (rotate,rcon,s-box) 进行“初始化”的。

the standard 的第 5.2 节中也有解释。略有不同(并且在回答您的问题时可能会更清楚)。他们将其描述为始终采用最后 4 个字节,并将它们与之前 16 个字节的 4 个字节进行异或运算,每 4 次进行一次 (rotate,rcon,s-box) 舞蹈。这更清楚地表明上面步骤 2 和 3 中的异或是“相同的”。

对于更长的键,您可以调整上面的一些常量(因此您可以做更长的“部分”)。

关于c - AES key 时间表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18932828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com