Rijndael的S盒的构造从有限域上每个数的乘积逆开始。这似乎是其非线性的主要来源。我认为模乘逆也可以使用。在这种情况下,要确定S(x)的值,首先要找到y这样的((x + 1) \times (y + 1)) \bmod 257 = 1。
结果如下:
00 80 55 C0 66 2A 92 E0 C7 B3 BA 95 B1 C9 77 F0
78 63 E5 59 30 DD BD 4A 47 58 ED 64 C2 3B C6 F8
93 BC EA 31 83 72 90 2C A2 98 05 6E 27 5E AE A5
14 23 7D AC 60 76 F2 B2 F7 E1 3C 1D 3A E3 65 FC
56 49 E9 DE 94 F5 B4 18 A8 41 17 B9 F6 C8 F3 96
A4 D1 5F CC 7E 02 40 B7 19 13 D0 AF 97 D7 2D 52
34 8A 86 11 1B 3E 04 D6 A3 B0 F4 BB DF F9 2B D9
73 7B 25 70 85 9E 35 0E 10 9D 8B 71 DB 32 54 FE
01 AB CD 24 8E 74 62 EF F1 CA 61 7A 8F DA 84 8C
26 D4 06 20 44 0B 4F 5C 29 FB C1 E4 EE 79 75 CB
AD D2 28 68 50 2F EC E6 48 BF FD 81 33 A0 2E 5B
69 0C 37 09 46 E8 BE 57 E7 4B 0A 6B 21 16 B6 A9
03 9A 1C C5 E2 C3 1E 08 4D 0D 89 9F 53 82 DC EB
5A 51 A1 D8 91 FA 67 5D D3 6F 8D 7C CE 15 43 6C
07 39 C4 3D 9B 12 A7 B8 B5 42 22 CF A6 1A 9C 87
0F 88 36 4E 6A 45 4C 38 1F 6D D5 99 3F AA 7F FF我知道,这本身就会成为一个可怕的S盒子,因为它的对称性和不动点,但也许其他一些数学堆叠在上面会使它更好?
发布于 2021-06-13 22:47:18
据我所知,您正在使用整数算术模257 (它是素数),但是将+1映射到8\times8 Sbox的乘法组Z_{257}^\ast。并以x-1的标准二进制表示作为对应的8位矢量v(x)。
Z_{257}^\ast组当然是循环的。由于所选择的操作与比特表示无关,因此从非线性、差分密码分析、雪崩效应等方面分析和证明基于这种数学对象的Sbox的安全性是困难的。
吉姆·梅西( Jim )在更安全的密码系列中使用了类似的想法。Sbox映射v(x)\mapsto S(v(x))在Z_{257}^\ast中表示为y+1=45^{(x+1)}\pmod{257},其逆表示为x+1=\log_{45}(y+1).,注意到45是一个本原元素,其幂生成Z_{257}^\ast。
这个纸有一些细节。还有更多关于AES竞争相关的页面,因为SAFER或SAFER+是候选人,但是确切的信息很难在那里找到。
https://crypto.stackexchange.com/questions/53505
复制相似问题