我试着理解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_1和x_2定义了如下真值表。
较高的成品率、较高的成品率和较高的成品率.表2.12:异或的真值表;功能第三列的零数和表示“异或”函数的数量相等,第四列表示的是平衡的“异或”函数和不平衡的函数.
有了上面的例子,我可以很容易地理解。但是对于AES中的S盒,我仍然无法想象它将如何被代表。你能不能帮我找个例子,看看AES中的S盒真理表?
发布于 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的内容按顺序转换为二进制)。它可能会消失
如何制作S盒的真值表?
如果我们想从零开始构建表7或它的二进制等价物(而不是使用标准中表7中的值),我们可以应用FIPS 197第5.1.1节中所述S框的定义。我们只需申请每一个2^8=256条目:
优化是可能的,包括对所有k使用,\mathtt{02_h}^k的反义词是\mathtt{8d_h}^k,它允许简单地计算逆项。
https://crypto.stackexchange.com/questions/106437
复制相似问题