关于ACORNv3的若干观察及其对 TMDTO攻击的影响
摘要
ACORN 是一种轻量级认证密码,是十五个第三轮候选设计中被选中的方案之一。该密码基于一种流密码的底层模型,包含6个不同长度的线性反馈移位寄存器(LFSR)以及三个额外的比特。在本文中,我们考虑已知一定数量的密钥流比特以及部分状态比特的情形,并尝试恢复其余的状态比特。例如,我们展示了长度为47的线性反馈移位寄存器(LFSR)可以从47个密钥流比特以及对剩余状态比特的猜测中恢复。我们还给出了这些结果对在 ACORN v3 上实施 TMDTO 攻击的影响。我们表明,可以以预处理复杂度 $2^{171}$ 和 $2^{180}$(分别是在不使用和使用 SAT 求解器辅助的情况下)发起 TMDTO 攻击,其在线时间、内存和数据复杂度的最大值分别为 $2^{122}$ 和 $2^{120}$。尽管我们的结果并未否定设计者的任何声明,但这些观察可能有助于进一步理解该密码。
关键词 :ACORN v3 · Authenticated加密 · CAESAR ·密码分析 · Stream密码算法
1 引言
最近启动了一项新的竞赛CAESAR(认证加密竞赛:安全性、适用性和鲁棒性) [4],首次提交截止日期为2014年3月。目前第三轮的候选算法已经公布, ACORN v3 是其中之一[10]。这是一种轻量级的认证流密码,由6个线性反馈移位寄存器(LFSR)和四个额外比特组成,状态大小为293位。它使用128位密钥和初始化向量,提供128位安全。
鉴于当前密码算法的设计都经过了充分周密的考虑,要反驳设计者的主张相当具有挑战性,有时甚至难以实现。然而,密码分析人员已发现一些重要观察结果,有助于以提供更稳健的密码算法。这正是ACORN被修订两次且当前版本为ACORN v3的原因。本文聚焦于该密码,尝试研究在已知部分密钥流比特和其余状态比特的情况下,如何获取ACORN v3的某些状态比特。这与[2,3]中提到的采样抗性相关。特别地,我们观察到长度为47的线性反馈移位寄存器(S107,…, S153)可以从47个密钥流比特以及ACORN v3其余 293 −47= 246个状态比特中恢复。这是通过建立一组方程并将其输入到SAGE等SAT求解器实现的[8]。类似地,长度为61的线性反馈移位寄存器中的60位(S0,…, S59)可以从72个密钥流比特以及该密码其余233个状态比特中恢复。此内容在第2节中给出。此类观察有助于针对流密码实施具有不同参数的时间‐内存‐数据权衡攻击(TMDTO攻击)。
在TMDTO攻击中,我们有四个参数:预处理时间 P、所需内存(辅助存储中的表)大小 M、数据量 D(对于流密码而言即密钥流)以及在线时间 T(对表的访问次数,即对辅助存储的访问次数)。如果密钥长度为 k比特,并且所有参数 P、 M、 T、 D均小于 $2^k$,则可视为对该密码的一种突破。如[10, 第3节.3.2]所述,由于ACORN v3的状态大小(n= 293)超过其密钥长度( k= 128)的两倍,因此此类攻击难以实现。然而,TMDTO攻击还存在另一种含义:允许预处理时间超过穷举密钥搜索的时间,从而尝试最小化在线参数M、 T、 D的最大值。若在线参数小于 $2^k$,则在密码分析意义上具有一定吸引力。
对于BG攻击[1,5],,最佳情况是在增加 P= T的代价下,使 P= T= M= D= $2^{n/2}$和 M、 D得以降低。因此,即使在 P> $2^{n/2}$的情况下,也无法实现max{T, M, D}< $2^{n/2}$。相反,我们采用[2,3],的思想,通过将预处理时间 P增加到超过 $2^{n/2}$,可以使得三个在线参数 T、 M、 D均降低至小于 $2^{n/2}$。在这方面,我们获得了类似P= $2^{171}$、 M= T= D= $2^{120}$的参数,使得在 ACORN v3[10]的情况下,所有在线参数均小于穷举密钥搜索的复杂度 $2^{128}$。这将在第3节中给出。在进一步讨论之前,我们先介绍该密码算法。
1.1 ACORNv3描述
我们在此简要说明与本研究相关的ACORN v3的描述。我们假设明文消息为一串0序列,并仅关注提供密钥流的伪随机生成算法(PRGA)。我们省略了该密码的密钥加载算法(KLA)和密钥调度算法(KSA),这些内容可在[10]找到。这是因为对PRGA期间秘密状态比特的恢复以及进一步的TMDTO攻击的研究可独立于初始化过程进行。如前所述,ACORN v3包含6个LFSR,并额外附加四位比特以构成293位状态。ACORN的结构框图如图1所示,其中 ft表示反馈位, mt表示在 tth步时的消息比特。[10]。我们记
通过 St表示密码的状态,并将其相应的位表示为: St+0… St+292。该密码具有以下三个函数。
输出函数
。对于任何状态 t,输出位 zt的生成方式如下:
$$
zt=St+12 \oplus St+154 \oplus maj(St+235, St+61, St+193) \oplus ch(St+230, St+111, St+66) \tag{1}
$$
反馈函数
。 任意状态 t的反馈位ft生成如下:
$$
ft=St+0 \oplus(\sim St+107)\oplus maj(St+244, St+23, St+160) \oplus(cat\&St+196)\oplus(cbt\&zt) \tag{2}
$$
状态更新函数
。 在执行移位之前,位St+289、 St+230、St+193、 St+154、 St+107、 St+61按如下方式更新:
$$
S(t+289)= S(t+289) \oplus S(t+235) \oplus S(t+230) \tag{3}
$$
$$
S(t+230)= S(t+230) \oplus S(t+196) \oplus S(t+193) \tag{4}
$$
$$
S(t+193)= S(t+193) \oplus S(t+160) \oplus S(t+154) \tag{5}
$$
$$
S(t+154)= S(t+154) \oplus S(t+111) \oplus S(t+107) \tag{6}
$$
$$
S(t+107)= S(t+107) \oplus S(t+66) \oplus S(t+61) \tag{7}
$$
$$
S(t+61)= S(t+61) \oplus S(t+23) \oplus S(t+0) \tag{8}
$$
然后,下一位使用反馈位进行初始化:
$$
St+293= ft \tag{9}
$$
2 恢复状态中某些比特的方法
BSW采样[2,3]的基本动机是,通过观察密钥流序列 zt并猜测状态的剩余部分,可以恢复状态中的某些比特。这减少了搜索空间,并为TMDTO攻击提供了更广泛的参数选择范围。我们在此考虑两种方法:一种是使用SAT求解器,另一种是通过试错法手动发现方程。
2.1 使用SAT求解器
为此,我们首先构造一组方程,然后将其输入SAT求解器。在构造方程时,所形成方程的次数迅速增加,这使得寻找解变得非常困难。因此,我们必须通过引入新变量来采用一种特定的方法来构建方程。这一点与[9]一致。考虑 ACORN v3的某个PRGA轮 t。该轮的方程为:1. 1个输出位方程,2. 1个反馈位方程,以及3. 6个状态更新方程。
在PRGA开始时,攻击者拥有293个状态变量 S0, S1,…, S292。攻击者可以获得一个长度为 的密钥流 z0, z1,… z−1。接下来我们将解释如何将输出方程引入到方程组中。如(1)中所述,输出方程为:
$$
zt= St+12 \oplus St+154 \oplus maj(St+235, St+61, St+193) \oplus ch(St+230, St+111, St+66) \tag{10}
$$
为了将方程添加到SAT求解器中,这些方程被表示为在布尔多项式环中等于零的形式。也就是说,输出方程被写成
$$
zt \oplus St+12 \oplus St+154 \oplus maj(St+235, St+61, St+193) \oplus ch(St+230, St+111, St+66) \equiv 0, \tag{11}
$$
对于 $ t= 0,1,2,…, − 1 $ 并添加到系统中。因此,我们得到一组输出方程如下:
$$
z0 \oplus S12 \oplus S154 \oplus maj(S235, S61, S193) \oplus ch(S230, S111, S66) \equiv 0
$$
$$
z1 \oplus S13 \oplus S155 \oplus maj(S236, S62, S194) \oplus ch(S231, S112, S67) \equiv 0
$$
…
$$
z(−1) \oplus S(−1+12) \oplus S(−1+154) \oplus maj(S(−1+235), S(−1+61), S(−1+193)) \oplus ch(S(−1+230), S(−1+111), S(−1+66)) \equiv 0
$$
接下来我们讨论将反馈位方程纳入方程组的问题。如(2)中所述,PRGA的反馈位方程为:
$$
ft= St+0 \oplus(\sim St+107)\oplus maj(St+244, St+23, St+160)\oplus S196 \tag{12}
$$
然而,生成的反馈位是未知的。因此,直接用反馈方程替换状态变量St+293会增加非线性。相反,我们引入新的变量 f0, f1,… f−1,并以如下方式将这些方程添加到SAT求解器中:
$$
f0 \oplus S0 \oplus(\sim S107)\oplus maj(S244, S23, S160)\oplus S196 \equiv 0
$$
$$
f1 \oplus S1 \oplus(\sim S108)\oplus maj(S245, S24, S161)\oplus S197 \equiv 0
$$
…
$$
f(−1) \oplus S(−1) \oplus(\sim S(−1+107)) \oplus maj(S(−1+244), S(−1+23), S(−1+160))\oplus S(−1+196) \equiv 0
$$
到目前为止,系统中已引入了 $ 2 $ 个新方程和 $ $ 个新变量。如前所述,变量 $St+289, St+230, St+193, St+154, St+107, St+61 $ 在步骤3 中被更新。为此,我们引入 $ 6 $ 个新变量 $ a01, a02, a03,a 0 1, a−1 2, a−1 3, a−1 4, a−1 5, a−1 6 ,$ ,, , 并向系统添加以下方程(对于 $ t= 0,1,…, −1 $):
$$
at 1 \oplus S(t+289) \oplus S(t+235) \oplus S(t+230) \equiv 0
$$
$$
at 2 \oplus S(t+230) \oplus S(t+196) \oplus S(t+193) \equiv 0
$$
$$
at 3 \oplus S(t+193) \oplus S(t+160) \oplus S(t+154) \equiv 0
$$
$$
at 4 \oplus S(t+154) \oplus S(t+111) \oplus S(t+107) \equiv 0
$$
$$
at 5 \oplus S(t+107) \oplus S(t+66) \oplus S(t+61) \equiv 0
$$
$$
at 6 \oplus S(t+61) \oplus S(t+23) \oplus S(t+0) \equiv 0
$$
由于引入了新变量,需要引入新的方程以保持系统的 consistency。即,以下方程被添加到系统中:
$$
at 1 \oplus S(t+288) \equiv 0
$$
$$
at 2 \oplus S(t+229) \equiv 0
$$
$$
at 3 \oplus S(t+192) \equiv 0
$$
$$
at 4 \oplus S(t+153) \equiv 0
$$
$$
at 5 \oplus S(t+106) \equiv 0
$$
$$
at 6 \oplus S(t+60) \equiv 0
$$
对于 $ t= 0,1,…, − 1 $。最后,我们将反馈位代入状态变量:
$$
S293+t= ft \quad \forall t \in[0, −1].
$$
因此,使用的变量数量为 293+ + 6= 293+ 7,建立的方程数量为 + + 6= 8个方程。所有方程被收集后输入给SAT求解器。
我们设置SAT求解器以找出上述方程组的所有可能解。通过这种方式,我们可以确保如果SAT求解器仅返回一个解,则该方程组不存在其他解,从而能够求解出状态。然而,在我们实验的少数情况下,未能实现这一点。例如,当考虑借助70个密钥流比特恢复60比特时,有时会得到两个解。其原因是密钥流比特的数量不足,因此SAT求解器提供了多个解而非唯一解。
我们使用SAGE‐7中提供的SAT求解器Cryptominisat‐2.9.6。6[8]实验在 一台硬件配置为Intel(R) Core(TM) i5‐4200M CPU @ 2.50 GHz和8GB内存、 运行Ubuntu‐16.10的笔记本电脑上进行。提供了一些实验数据,其中每一行基于 $ 2^{15} $次实验。
| 密钥流比特 used | 状态比特 恢复 | 恢复比特的位置 多个(两个)解的比例 | 多个(两个) 解 | 时平间均(秒) |
|---|---|---|---|---|
| 47 | 47 | S107… S153 | 0 | 0.076 |
| 43 | 43 | S12… S54 | 0 | 0.067 |
| 72 | 60 | S0… S59 | 1/$2^{10}$ | 0.127 |
| 60 | 53 | S107… S150, S56,… S64 | 1/$2^{14}$ | 0.097 |
2.2 通过观察构建方程,而非使用SAT求解器
在本节中,我们构建一个方程组,用于通过前49位密钥流恢复49位内部状态。为了执行此恢复,我们需要以特定模式固定10位内部状态,并猜测剩余的状态比特。待恢复的内部状态位由集合 R= R1∪R2表示,其中 R1={S(t+107): t= 0,......, 43}和 R2={S(t+56): t= 0,......, 4}。生成密钥流的方程(1)可写为:
$$
zt= S(t+12) \oplus S(t+154) \oplus S(t+235)S(t+61) \oplus S(t+235)S(t+193) \oplus S(t+193)S(t+61) \oplus S(t+230)S(t+111) \oplus S(t+230)S(t+66) \oplus S(t+66). \tag{13}
$$
注意,在上述方程中,带下划线的位是反馈位。在生成输出位之前,状态比特根据以下方程进行更新:
$$
S(t+289)= S(t+289) \oplus S(t+235) \oplus S(t+230)
$$
$$
S(t+230)= S(t+230) \oplus S(t+196) \oplus S(t+193)
$$
$$
S(t+193)= S(t+193) \oplus S(t+160) \oplus S(t+154)
$$
$$
S(t+154)= S(t+154) \oplus S(t+111) \oplus S(t+107)
$$
$$
S(t+107)= S(t+107) \oplus S(t+66) \oplus S(t+61)
$$
$$
S(t+61)= S(t+61) \oplus S(t+23) \oplus S(t+0) \tag{14}
$$
因此,公式(13)可以写成
$$
S(t+107)= zt \oplus S(t+12)\oplus S(t+154) \oplus S(t+111) \oplus St+235(S(t+61) \oplus S(t+23) \oplus S(t+0)) \oplus S(t+235)(S(t+193) \oplus S(t+160) \oplus S(t+154)) \oplus(S(t+193) \oplus S(t+160) \oplus S(t+154))(S(t+61) \oplus S(t+23) \oplus S(t+0)) \oplus(S(t+230) \oplus S(t+196) \oplus S(t+193))S(t+111) \oplus(S(t+230) \oplus S(t+196) \oplus S(t+193))S(t+66) \oplus S(t+66), \tag{15}
$$
这使得恢复更加简单,因为方程等式右侧的所有比特均为状态比特(而非反馈位) t= 0,…,32。然而,当我们将 t= 33,…,48代入公式(15)时,反馈位也会被涉及并需要进行计算。
现在我们使用方程(15)来恢复集合 R1的内部状态位。状态比特的恢复按一定顺序进行。例如,如果我们试图通过将 S107代入方程(15)来恢复 t= 0,则 S111会出现在等式右侧,并需要已知 S111。因此,在恢复 S111之前,必须先恢复我 S们10定7。义四个集合 $ R3, R4, R5, R6 $,其中
$$
R3={S(t+107): t= 40, 36,…, 0}
$$
$$
R4={S(t+107): t= 41, 37,…, 1}
$$
$$
R5={S(t+107): t= 42, 38,…, 2}
$$
$$
R6={S(t+107): t= 43, 39,…, 3}
$$
并且每个$Ri \subset R1$,对于$ i= 3…,6$。状态比特的恢复顺序为R3, R4, R5, R6和 $ R2 $,即先恢复 $ R3$的状态比特,然后是$R4$,依此类推。对于每个集合$ Ri: i= 2…,6$,索引较高的元素优先恢复。在恢复 R1时,无需固定任何内部状态位。然而,在恢复$ R2$时,需根据表2固定内部状态位。令集合$ F$表示根据表2所固定的内部状态位。
现在我们描述 R3的恢复。通过将 t= 40代入公式(15)来恢复内部状态位 S147,由此可得
$$
S147= z40 \oplus S52 \oplus S194 \oplus S151 \oplus S275(S101 \oplus S63 \oplus S40) \oplus S275(S233 \oplus S200 \oplus S194)\oplus(S233 \oplus S200 \oplus S194)(S101 \oplus S63 \oplus S40) \oplus(S270 \oplus S236 \oplus S233)S151 \oplus(S270 \oplus S236 \oplus S233)S106 \oplus S106. \tag{16}
$$
| 行号 状态 | 比特及值 |
|---|---|
| 1 | Si+268= 0: i= 0…, 4 |
| 2 | Si+187= S[i+226] ⊕ S[i+193] ⊕ S[i+160] ⊕ S[i+154]: i= 0…, 3 |
| 3 | S191= S[230] ⊕ S[196] ⊕ S[193] ⊕ S[197] ⊕ S[164] ⊕ S[158] |
| ## 3 TMDTO攻击的复杂度 |
现在我们将详细描述TMDTO攻击。我们的状态大小为 n= 293位。因此,使用单个表的标准TMDTO公式[2,3]如下所示:
– TM²D²= N², where N= 2ⁿ, – D² ≤ T,
– P= N / D.
在预处理阶段,我们将准备一个包含 m行和 t列的表,其中mt²= N以实现成功的攻击。表的数量为 t / D,对于单个表我们有 t= D。表的每一行包含一条由 t个元素组成的链。假设一个特定的 n= 293比特状态为 ζ, f为单向函数。
此处的单向函数 f指的是:使用状态 ζ的密码将再次运行n次,以生成 n个密钥流比特。这些比特将被加载为新的状态,称为 η。即 η= f(ζ)。我们将从一个随机状态开始,通过此方法生成一条包含 t个元素的行。这样的行共有 m条。
因此,表的总大小为 mt。然而,完整的行不会被保存,仅保存起始和最终元素。
因此,表的存储需求为 O(m),这实际上是内存参数 M。
3.1 由47密钥流比特获知47比特状态
现在考虑一种情况,即我们能够从ψ个连续的密钥流比特和其他剩余的状态比特中恢复出 ψ位状态。在这种情况下,我们针对密钥流比特采用一个固定的模式,只有当该模式在密钥流中出现时,才尝试在表中搜索对应的状态。因此,在这种情况下,我们考虑状态大小为 n − ψ位,相关参数记为N′= 2ⁿ⁻ᵠ、 P′、 M′、 T′、 D′。现在考虑具体参数,参考表1,其中 ψ= 47。因此, T′M′D′²= N′²= 2²⁽²⁹³⁻⁴⁷⁾。让我们考虑 D′²= T T′= M′= 2¹²³ T′M′= 2²⁹³⁻⁴⁷= 2²⁴⁶ D′= 2⁶¹·⁵。于是, 我们得到。现在,可以假设,以及。然而,正如我们所讨论的,在在线阶段,只有当特定的 ψ位模式出现时才能发起攻击,因此有 D= 2ᵠD′。最终,我们得到参数 T= T′= 2¹²³、 M= M′= 2¹²³ 、 D= 2ᵠD′= 2⁴⁷ · 2⁶¹·⁵= 2¹⁰⁸·⁵、 P= P′= N ′ / D ′= 2¹⁸⁴·⁵。这使得在线参数的最大值为 2¹²³,,小于复杂度为 2¹²⁸的穷举密钥搜索。然而,正如预期的那样,预处理时间远大于穷举密钥搜索。
| 步骤 | 用于恢复的方程 | 猜测的位 |
|---|---|---|
| 0 | S147= z40 ⊕ S52 ⊕ S194 ⊕ S151 ⊕ S275(S101 ⊕ S63 ⊕ S40) ⊕ S275(S233 ⊕ S200 ⊕ S194) ⊕(S233 ⊕ S200 ⊕ S194)(S101 ⊕ S63 ⊕ S40) ⊕(S270 ⊕ S236 ⊕ S233)S151 ⊕(S270 ⊕ S236 ⊕ S233)S106 ⊕ S106 | S52, S101, S63, S25, S2, S40, S275, S233, S199, S196, S200, S167, S161 S194, S155, S236, S202, S151, S106 |
| 1 | S143= z36 ⊕ S48 ⊕ S190 ⊕ S147 ⊕ S271(S97 ⊕ S59 ⊕ S36) ⊕ S271(S229 ⊕ S196 ⊕ S190) ⊕(S229 ⊕ S196 ⊕ S190)(S97 ⊕ S59 ⊕ S36) ⊕(S266 ⊕ S232 ⊕ S229)S147 ⊕(S266 ⊕ S232 ⊕ S229)S102 ⊕ S102 | S48, S97, S36, S229, S163, S157, S266, S232, S198, S195, S102 |
| 2 | S139= z32 ⊕ S44 ⊕ S186 ⊕ S143 ⊕ S267(S93 ⊕ S55 ⊕ S32) ⊕ S267(S225 ⊕ S192 ⊕ S186) ⊕(S225 ⊕ S192 ⊕ S186)(S93 ⊕ S55 ⊕ S32) ⊕(S262 ⊕ S228 ⊕ S225)S143 ⊕(S262 ⊕ S228 ⊕ S225)S98 ⊕ S98 | S44, S93, S55, S32, S267, S225, S192, S186 S262, S228, S98 |
| 3 | S135= z28 ⊕ S40 ⊕ S182 ⊕ S139 ⊕ S263(S89 ⊕ S51 ⊕ S28) ⊕ S263(S221 ⊕ S188 ⊕ S182)⊕(S221 ⊕ S188 ⊕ S182) (S89 ⊕ S51 ⊕ S28) ⊕(S258 ⊕ S224 ⊕ S221)S139 ⊕(S258 ⊕ S224 ⊕ S221)S94 ⊕ S94 | S89, S51, S28, S 263, S221, S182, S258, S224 S94 |
| 4 | S131= z24 ⊕ S36 ⊕ S178 ⊕ S135 ⊕ S259(S85 ⊕ S47 ⊕ S24) ⊕ S259(S217 ⊕ S184 ⊕ S178) ⊕(S217 ⊕ S184 ⊕ S178)(S85 ⊕ S47 ⊕ S24) ⊕(S254 ⊕ S220 ⊕ S217)S135 ⊕(S254 ⊕ S220 ⊕ S217)S90 ⊕ S90 | S85, S47, S24, S259, S217, S184, S178, S254 S220, S90 |
| 5 | S127= z20 ⊕ S32 ⊕ S174 ⊕ S131 ⊕ S255(S81 ⊕ S43 ⊕ S20) ⊕ S255(S213 ⊕ S180 ⊕ S174) ⊕(S213 ⊕ S180 ⊕ S174)(S81 ⊕ S43 ⊕ S20) ⊕(S250 ⊕ S216 ⊕ S213)S131 ⊕(S250 ⊕ S216 ⊕ S213)S86 ⊕ S86 | S81, S43, S20, S255, S213, S180, S174, S250, S216, S86 |
| 6 | S123= z16 ⊕ S28 ⊕ S170 ⊕ S127 ⊕ S251(S77 ⊕ S39 ⊕ S16) ⊕ S251(S209 ⊕ S176 ⊕ S170) ⊕(S209 ⊕ S176 ⊕ S170)(S77 ⊕ S39 ⊕ S16) ⊕(S246 ⊕ S212 ⊕ S209)S127 ⊕(S246 ⊕ S212 ⊕ S209)S82 ⊕ S82 | S77, S39, S16, S251, S209, S176, S170, S246 S212, S82 |
| 7 | S119= z12 ⊕ S24 ⊕ S166 ⊕ S123 ⊕ S247(S73 ⊕ S35 ⊕ S12) ⊕ S247(S205 ⊕ S172 ⊕ S166) ⊕(S205 ⊕ S172 ⊕ S166)(S73 ⊕ S35 ⊕ S12) ⊕(S242 ⊕ S208 ⊕ S205)S123 ⊕(S242 ⊕ S208 ⊕ S205)S78 ⊕ S78 | S73, S35, S12, S247, S205, S172, S166, S242, S208, S78 |
| 8 | S115= z8 ⊕ S20 ⊕ S162 ⊕ S119 ⊕ S243(S69 ⊕ S31 ⊕ S8) ⊕ S243(S201 ⊕ S168 ⊕ S162) ⊕(S201 ⊕ S168 ⊕ S162)(S69 ⊕ S31 ⊕ S8) ⊕(S238 ⊕ S204 ⊕ S201)S119 ⊕(S238 ⊕ S204 ⊕ S201)S74 ⊕ S74 | S69, S31, S8, S243, S201, S168, S162, S238 S204, S74 |
| 9 | S111= z4 ⊕ S16 ⊕ S158 ⊕ S115 ⊕ S239(S65 ⊕ S27 ⊕ S4) ⊕ S239(S197 ⊕ S164 ⊕ S158) ⊕(S197 ⊕ S164 ⊕ S158)(S65 ⊕ S 27 ⊕ S 4) ⊕(S234 ⊕ S 200 ⊕ S 197) S 115 ⊕(S234 ⊕ S 200 ⊕ S 197) S 70 ⊕ S 70 | S65 , S27 , S4 , S239 , S197, S164, S158, S234 S 70 |
| 10 | S107= z0 ⊕ S12 ⊕ S154 ⊕ S111 ⊕ S235(S61 ⊕ S23 ⊕ S0) ⊕ S235(S193 ⊕ S160 ⊕ S154) ⊕(S193 ⊕ S160 ⊕ S154)(S61 ⊕ S23 ⊕ S0) ⊕(S230 ⊕ S196 ⊕ S193)S111 ⊕(S230 ⊕ S196 ⊕ S193)S66 ⊕ S66 | S61, S23, S0, S235, S193, S160, S154, S230 S66 |
| 11 | S148= z41 ⊕ S53 ⊕ S195 ⊕ S152 ⊕ S276(S102 ⊕ S64 ⊕ S41) ⊕ S276(S234 ⊕ S201 ⊕ S195) ⊕(S234 ⊕ S201 ⊕ S195)(S102 ⊕ S64 ⊕ S41) ⊕(S271 ⊕ S237 ⊕ S234)S152 ⊕(S271 ⊕ S237 ⊕ S234)S107 ⊕ S107 | S53, S64, S26, S3, S41, S276, S156, S237 S203, S152 |
| 12 | S144= z37 ⊕ S49 ⊕ S191 ⊕ S148 ⊕ S272(S98 ⊕ S60 ⊕ S37) ⊕ S272(S230 ⊕ S197 ⊕ S191) ⊕(S230 ⊕ S197 ⊕ S191) (S98 ⊕ S60 ⊕ S37) ⊕(S267 ⊕ S233 ⊕ S230)S148 ⊕(S267 ⊕ S233 ⊕ S230)S103 ⊕ S103 | S49, S37, S103 |
| 13 | S140= z33 ⊕ S45 ⊕ S187 ⊕ S144 ⊕ S268(S94 ⊕ S56 ⊕ S33) ⊕ S268(S226 ⊕ S193 ⊕ S187) ⊕(S226 ⊕ S193 ⊕ S187) (S94 ⊕ S56 ⊕ S33) ⊕(S263 ⊕ S229 ⊕ S226)S144 ⊕(S263 ⊕ S229 ⊕ S226)S99 ⊕ S99 | S45, S94, S33, S226, S99 |
| 14 | S136= z29 ⊕ S41 ⊕ S183 ⊕ S140 ⊕ S264(S90 ⊕ S52 ⊕ S29) ⊕ S264(S222 ⊕ S189 ⊕ S183)⊕(S222 ⊕ S189 ⊕ S183) (S90 ⊕ S52 ⊕ S29) ⊕(S259 ⊕ S225 ⊕ S222)S140 ⊕(S259 ⊕ S225 ⊕ S222)S95 ⊕ S95 | S29, S264, S222, S183, S95 |
| 15 | S132= z25 ⊕ S37 ⊕ S179 ⊕ S136 ⊕ S260(S86 ⊕ S48 ⊕ S25) ⊕ S260(S218 ⊕ S185 ⊕ S179) ⊕(S218 ⊕ S185 ⊕ S179) (S86 ⊕ S48 ⊕ S25) ⊕(S255 ⊕ S221 ⊕ S218)S136 ⊕(S255 ⊕ S221 ⊕ S218)S91 ⊕ S91 | S260, S218, S185, S179, S91 |
| 16 | S128= z21 ⊕ S33 ⊕ S175 ⊕ S132 ⊕ S256(S82 ⊕ S44 ⊕ S21) ⊕ S256(S214 ⊕ S181 ⊕ S175) ⊕(S214 ⊕ S181 ⊕ S175) (S82 ⊕ S44 ⊕ S21) ⊕(S251 ⊕ S217 ⊕ S214)S132 ⊕(S251 ⊕ S217 ⊕ S214)S87 ⊕ S87 | S21, S256, S214, S181, S175, S87 |
| 17 | S124= z17 ⊕ S29 ⊕ S171 ⊕ S128 ⊕ S252(S78 ⊕ S40 ⊕ S17) ⊕ S252(S210 ⊕ S177 ⊕ S171) ⊕(S210 ⊕ S177 ⊕ S171) (S78 ⊕ S40 ⊕ S17) ⊕(S247 ⊕ S213 ⊕ S210)S128 ⊕(S247 ⊕ S213 ⊕ S210)S83 ⊕ S83 | S17, S252, S210, S177, S171, S83 |
| 18 | S120= z13 ⊕ S25 ⊕ S167 ⊕ S124 ⊕ S248(S74 ⊕ S36 ⊕ S13) ⊕ S248(S206 ⊕ S173 ⊕ S167) ⊕(S206 ⊕ S173 ⊕ S167) (S74 ⊕ S36 ⊕ S13) ⊕(S243 ⊕ S209 ⊕ S206)S124 ⊕(S243 ⊕ S209 ⊕ S206)S79 ⊕ S79 | S13, S248, S206, S173, S79 |
| 19 | S116= z9 ⊕ S21 ⊕ S163 ⊕ S120 ⊕ S244(S70 ⊕ S32 ⊕ S9) ⊕ S244(S202 ⊕ S169 ⊕ S163) ⊕(S202 ⊕ S169 ⊕ S163)(S70 ⊕ S32 ⊕ S9) ⊕(S239 ⊕ S205 ⊕ S202)S120 ⊕(S239 ⊕ S 205 ⊕ S 202) S 75 ⊕ S 75 | S9, S244, S169, S75 |
| 20 | S112= z5 ⊕ S17 ⊕ S159 ⊕ S116 ⊕ S240(S66 ⊕ S28 ⊕ S5) ⊕ S240(S198 ⊕ S165 ⊕ S159) ⊕(S198 ⊕ S165 ⊕ S159)(S66 ⊕ S28 ⊕ S5) ⊕(S235 ⊕ S201 ⊕ S198)S116 ⊕(S235 ⊕ S201 ⊕ S198)S71 ⊕ S71 | S5, S240, S165, S159, S71 |
| 21 | S108= z1 ⊕ S13 ⊕ S155 ⊕ S112 ⊕ S236(S62 ⊕ S24 ⊕ S1) ⊕ S236(S194 ⊕ S161 ⊕ S155) ⊕(S194 ⊕ S161 ⊕ S155)(S62 ⊕ S24 ⊕ S1) ⊕(S231 ⊕ S197 ⊕ S194)S112 ⊕(S231 ⊕ S197 ⊕ S194)S67 ⊕ S67 | S62, S1, S231, S67 |
| 22 | S149= z42 ⊕ S54 ⊕ S196 ⊕ S153 ⊕ S277(S103 ⊕ S65 ⊕ S42) ⊕ S277(S235 ⊕ S202 ⊕ S196) ⊕(S235 ⊕ S202 ⊕ S196) (S103 ⊕ S65 ⊕ S42) ⊕(S272 ⊕ S238 ⊕ S235)S153 ⊕(S272 ⊕ S238 ⊕ S235)S108 ⊕ S108 | S54, S42, S277, S153 |
| 23 | S145= z38 ⊕ S50 ⊕ S192 ⊕ S149 ⊕ S273(S99 ⊕ S61 ⊕ S38) ⊕ S273(S231 ⊕ S198 ⊕ S192) ⊕(S231 ⊕ S198 ⊕ S192) (S99 ⊕ S61 ⊕ S38) ⊕(S268 ⊕ S234 ⊕ S231)S149 ⊕(S268 ⊕ S234 ⊕ S231)S104 ⊕ S104 | S50, S38, S273, S104 |
| 24 | S141= z34 ⊕ S46 ⊕ S188 ⊕ S145 ⊕ S269(S95 ⊕ S57 ⊕ S34) ⊕ S269(S227 ⊕ S194 ⊕ S188) ⊕(S227 ⊕ S194 ⊕ S188)(S95 ⊕ S57 ⊕ S34) ⊕(S264 ⊕ S230 ⊕ S227)S145 ⊕(S264 ⊕ S230 ⊕ S227)S100 ⊕ S100 | S46, S34, S227 S100 |
| 25 | S137= z30 ⊕ S42 ⊕ S184 ⊕ S141 ⊕ S265(S91 ⊕ S53 ⊕ S30) ⊕ S265(S223 ⊕ S190 ⊕ S184)⊕(S223 ⊕ S190 ⊕ S184) (S91 ⊕ S53 ⊕ S30) ⊕(S260 ⊕ S226 ⊕ S223)S141 ⊕(S260 ⊕ S226 ⊕ S223)S96 ⊕ S96 | S30, S265, S223, S96 |
| 26 | S133= z26 ⊕ S38 ⊕ S180 ⊕ S137 ⊕ S261(S87 ⊕ S49 ⊕ S26) ⊕ S261(S219 ⊕ S186 ⊕ S180) ⊕(S219 ⊕ S186 ⊕ S180)(S87 ⊕ S49 ⊕ S26) ⊕(S256 ⊕ S222 ⊕ S219)S137 ⊕(S256 ⊕ S222 ⊕ S219)S92 ⊕ S92 | S261, S219, S92 |
| 27 | S129= z22 ⊕ S34 ⊕ S176 ⊕ S133 ⊕ S257(S83 ⊕ S45 ⊕ S22) ⊕ S257(S215 ⊕ S182 ⊕ S176) ⊕(S215 ⊕ S182 ⊕ S176)(S83 ⊕ S45 ⊕ S22) ⊕(S252 ⊕ S218 ⊕ S215)S133 ⊕(S252 ⊕ S218 ⊕ S215)S88 ⊕ S88 | S22, S257, S215, S88 |
| 28 | S125= z18 ⊕ S30 ⊕ S172 ⊕ S129 ⊕ S253(S79 ⊕ S41 ⊕ S18) ⊕ S253(S211 ⊕ S178 ⊕ S172) ⊕(S211 ⊕ S178 ⊕ S172)(S79 ⊕ S41 ⊕ S18) ⊕(S248 ⊕ S214 ⊕ S211)S129 ⊕(S248 ⊕ S214 ⊕ S211)S84 ⊕ S84 | S18, S253, S211, S84 |
| 29 | S121= z14 ⊕ S26 ⊕ S168 ⊕ S125 ⊕ S249(S75 ⊕ S37 ⊕ S14) ⊕ S249(S207 ⊕ S174 ⊕ S168) ⊕(S207 ⊕ S174 ⊕ S168)(S75 ⊕ S37 ⊕ S14) ⊕(S244 ⊕ S210 ⊕ S207)S125 ⊕(S244 ⊕ S 210 ⊕ S 207) S 80 ⊕ S 80 | S14, S249, S207, S80 |
| 30 | S117= z10 ⊕ S22 ⊕ S164 ⊕ S121 ⊕ S245(S71 ⊕ S33 ⊕ S10) ⊕ S245(S203 ⊕ S170 ⊕ S164) ⊕(S203 ⊕ S170 ⊕ S164) (S71 ⊕ S33 ⊕ S10) ⊕(S240 ⊕ S206 ⊕ S203)S121 ⊕(S240 ⊕ S206 ⊕ S203)S76 ⊕ S76 | S10, S245, S76 |
| 31 | S113= z6 ⊕ S18 ⊕ S160 ⊕ S117 ⊕ S241(S67 ⊕ S29 ⊕ S6) ⊕ S241(S199 ⊕ S166 ⊕ S160) ⊕(S199 ⊕ S166 ⊕ S160) (S67 ⊕ S29 ⊕ S6) ⊕(S236 ⊕ S202 ⊕ S199)S117 ⊕(S236 ⊕ S202 ⊕ S199)S72 ⊕ S72 | S6, S241, S72 |
| 32 | S109= z2 ⊕ S14 ⊕ S156 ⊕ S113 ⊕ S237(S63 ⊕ S25 ⊕ S2) ⊕ S237(S195 ⊕ S162 ⊕ S156) ⊕(S195 ⊕ S162 ⊕ S156) (S63 ⊕ S25 ⊕ S2) ⊕(S232 ⊕ S198 ⊕ S195)S113 ⊕(S232 ⊕ S198 ⊕ S195)S68 ⊕ S68 | S68 |
| 33 | S150= z43 ⊕ S55 ⊕ S197 ⊕ S154 ⊕ S278(S104 ⊕ S66 ⊕ S43) ⊕ S278(S236 ⊕ S203 ⊕ S197) ⊕(S236 ⊕ S203 ⊕ S197) (S104 ⊕ S66 ⊕ S43) ⊕(S273 ⊕ S239 ⊕ S236)S154 ⊕(S273 ⊕ S239 ⊕ S236)S109 ⊕ S109 | S278 |
| 34 | S146= z39 ⊕ S51 ⊕ S193 ⊕ S150 ⊕ S274(S100 ⊕ S62 ⊕ S39) ⊕ S274(S232 ⊕ S199 ⊕ S193) ⊕(S232 ⊕ S199 ⊕ S193) (S100 ⊕ S62 ⊕ S39) ⊕(S269 ⊕ S235 ⊕ S232)S150 ⊕(S269 ⊕ S235 ⊕ S232)S105 ⊕ S105 | S274, S105 |
| 35 | S142= z35 ⊕ S47 ⊕ S189 ⊕ S146 ⊕ S270(S96 ⊕ S58 ⊕ S35) ⊕ S270(S228 ⊕ S195 ⊕ S189) ⊕(S228 ⊕ S195 ⊕ S189) (S96 ⊕ S58 ⊕ S35) ⊕(S265 ⊕ S231 ⊕ S228)S146 ⊕(S265 ⊕ S231 ⊕ S228)S101 ⊕ S101 | − |
| 36 | S138= z31 ⊕ S43 ⊕ S185 ⊕ S142 ⊕ S266(S92 ⊕ S54 ⊕ S31) ⊕ S266(S224 ⊕ S191 ⊕ S185)⊕(S224 ⊕ S191 ⊕ S185) (S92 ⊕ S54 ⊕ S31) ⊕(S261 ⊕ S227 ⊕ S224)S142 ⊕(S261 ⊕ S227 ⊕ S224)S97 ⊕ S97 | − |
| 37 | S134= z27 ⊕ S39 ⊕ S181 ⊕ S138 ⊕ S262(S88 ⊕ S50 ⊕ S27) ⊕ S262(S220 ⊕ S187 ⊕ S181)⊕(S220 ⊕ S187 ⊕ S181) (S88 ⊕ S50 ⊕ S27) ⊕(S257 ⊕ S223 ⊕ S220)S138 ⊕(S257 ⊕ S223 ⊕ S220)S93 ⊕ S93 | − |
| 38 | S130= z23 ⊕ S35 ⊕ S177 ⊕ S134 ⊕ S258(S84 ⊕ S46 ⊕ S23) ⊕ S258(S216 ⊕ S183 ⊕ S177) ⊕(S216 ⊕ S183 ⊕ S177) (S84 ⊕ S46 ⊕ S23) ⊕(S253 ⊕ S219 ⊕ S216)S134 ⊕(S253 ⊕ S219 ⊕ S216)S89 ⊕ S89 | − |
| 39 | S126= z19 ⊕ S31 ⊕ S173 ⊕ S130 ⊕ S254(S80 ⊕ S42 ⊕ S19) ⊕ S254(S212 ⊕ S179 ⊕ S173) ⊕(S212 ⊕ S179 ⊕ S173)(S80 ⊕ S42 ⊕ S19) ⊕(S249 ⊕ S215 ⊕ S212)S130 ⊕(S249 ⊕ S215 ⊕ S212)S85 ⊕ S85 | S19 |
| 40 | S122= z15 ⊕ S27 ⊕ S169 ⊕ S126 ⊕ S250(S76 ⊕ S38 ⊕ S15) ⊕ S250(S208 |
ACORNv3状态恢复与TMDTO攻击
51

被折叠的 条评论
为什么被折叠?



