首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AES中S盒真值表实例

AES中S盒真值表实例
EN

Cryptography用户
提问于 2023-05-08 07:50:12
回答 1查看 81关注 0票数 1

我试着理解S盒的一些密码属性,这样我就可以有自己的代码了。我在本文件中读到的平衡属性的例子,他们说

如果输出集在相应的真值表中包含相同数量的1和0,则称为平衡布尔函数S:GF(2^n) \to GF(2) 。例2.2.3我们提供了平衡函数和不平衡函数的比较。考虑两个布尔函数,XOR和定义为:S_1 = \oplus : GF(2^n) \to GF(2) S_2 = \cdot : GF(2^n) \to GF(2) ,它们为两个变量x_1x_2定义了如下真值表。

较高的成品率、较高的成品率和较高的成品率.表2.12:异或的真值表;功能第三列的零数和表示“异或”函数的数量相等,第四列表示的是平衡的“异或”函数和不平衡的函数.

有了上面的例子,我可以很容易地理解。但是对于AES中的S盒,我仍然无法想象它将如何被代表。你能不能帮我找个例子,看看AES中的S盒真理表?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2023-05-08 09:40:55

AES中的S盒子是如何表示的?

FIPS 197图7是AES S盒的真值表,用十六进制表示.这是最常见也是最方便的表示方式。例如,对于输入\mathtt{53_h},输出由行与索引‘5’和列与索引‘3’的交集确定。这将导致输出具有\mathtt{ed_h}值。

如果我们想要一个与问题中的表示更相似的表示形式,即二进制而不是十六进制,那将是一个左侧有8个输入列的表(因此,2^8=256行可以覆盖所有情况,例如,通过增加每个大端二进制的值),右边的8个输出列(通过将表7的内容按顺序转换为二进制)。它可能会消失

\begin{array}{cccccccc|cccccccc} i_7&i_6&i_5&i_4&i_3&i_2&i_1&i_0&o_7&o_6&o_5&o_4&o_3&o_2&o_1&o_0\\ \hline 0&0&0&0&0&0&0&0&0&1&1&0&0&0&1&1\\ 0&0&0&0&0&0&0&1&0&1&1&1&1&1&0&0\\ 0&0&0&0&0&0&1&0&0&1&1&1&0&1&1&1\\ 0&0&0&0&0&0&1&1&0&1&1&1&1&0&1&1\\ 0&0&0&0&0&1&0&0&1&1&1&1&0&0&1&0\\ .&.&.&.&.&.&.&.&.&.&.&.&.&.&.&.\\ 1&1&1&1&1&1&1&0&1&0&1&1&1&0&1&1\\ 1&1&1&1&1&1&1&1&0&0&0&1&0&1&1&0\\ \end{array}

如何制作S盒的真值表?

如果我们想从零开始构建表7或它的二进制等价物(而不是使用标准中表7中的值),我们可以应用FIPS 197第5.1.1节中所述S框的定义。我们只需申请每一个2^8=256条目:

  1. 按规定的约定/约简多项式以\operatorname{GF}(2^8)表示的反演,除非输入\mathtt{00_h}保持不变
  2. 应用线性变换,其中8个输出位i中的每一个都被计算为b_i\oplus b_{i+4\bmod8}\oplus b_{i+5\bmod8}\oplus b_{i+6\bmod8}\oplus b_{i+7\bmod8}
  3. 具有常数\mathtt{63_h}的异或

优化是可能的,包括对所有k使用,\mathtt{02_h}^k的反义词是\mathtt{8d_h}^k,它允许简单地计算逆项。

票数 0
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/106437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档