使用费斯妥和MISTY结构构造轻量级S盒
摘要
本工作的目的是寻找大型S盒,通常在8位上操作,兼具良好的密码学性质和较低的实现成本。这类S盒适用于许多轻量级分组密码,因为它们可能比直接基于更小S盒的设计提供更高的安全级别。我们关注对应于三轮平衡Feistel和平衡MISTY结构的S盒,并推广了李和王关于此类构造所能提供的最佳差分均匀性和线性度的最新结果。特别值得注意的是,我们证明了Feistel网络在构造8位置换方面优于MISTY网络。基于这些结果,我们还给出了一个具有优于多个密码(包括Robin、Fantomas或 CRYPTON)中所用S盒性质的8位置换的具体实例。
关键词 :S盒 · Feistel网络 · MISTY网络 · Lightweight分组密码
1 引言
一个安全的分组密码必须遵循香农准则,提供混淆和扩散[42]。在大多数情况下,混淆通过作用于状态部分(通常是字节)的小型替换盒(S盒)并行实现,而扩散则通过混合状态的线性操作实现。密码的安全性因此强烈依赖于S盒的密码学性质。例如,高级加密标准使用基于有限域中 28个元素上求逆运算的8位 S盒。该S盒具有目前已知最小的差分概率和线性相关,从而使高级加密标准在较少轮数下即具备安全性,并获得良好的性能。然而,在资源受限环境中,它并不总是最佳选择。在软件中,S盒可通过内存中的查找表实现,但这需要 256字节存储空间用于高级加密标准S盒,且可能存在缓存时序攻击[7]问题。在硬件中,目前已知最优的高级加密标准S盒实现需要115个门电路[13];该硬件描述也可用于位切片软件实现[25]。
部分由法国国家科研署通过BLOC项目在ANR‐11‐INS‐011合同下支持。
本文档由 funstory.ai 的开源 PDF 翻译库 BabelDOC v0.5.10 (http://yadt.io) 翻译,本仓库正在积极的建设当中,欢迎 star 和关注。
对于某些受限环境而言,这种成本可能过高。因此,轻量级密码学领域产生了许多占用空间更小的替代方案,例如 Tea[47], Crypton[29,30], Noekeon[16], PRESENT[11],Katan[17], LBlock[48], Prince[12], Twine[44]、LS设计 [23],或Pride[2]。特别是,这些轻量级密码中的许多使用作用于4位字的S盒,甚至像 [1]中那样在更小的字母表上操作。但是,减少变量数量会增加最优差分概率和线性相关的值。因此,为了达到对差分与线性攻击相同的抵抗能力,需要更多的轮数。
构造轻量级密码的另一种方法是使用更大的S盒,通常像高级加密标准一样对8位进行操作,但实现成本更低。然后,我们寻找比高级加密标准S盒实现更优但密码学性质次优的S盒。找到提供这种有趣权衡的8位S盒是一个困难的问题:它们无法像4位情况那样被分类[18,27],,而随机选择的S盒具有较高的实现成本 [46]。因此,我们将重点放在基于更小的S盒和线性运算的构造上。这种通用方法已在多个先前的构造中使用: Crypton v0.5 29 , Crypton v1.0 30 , Whirlpool 5 , Khazad 4 , Iceberg 43 , Zorro 21 ,以及 LS设计 23 。与[23],相同,我们在此关注使用3轮 Feistel网络或3轮平衡MISTY网络的构造,因为它们仅使用3个较小的S盒,但仍能提供良好的大型S盒。我们研究这两种构造各自的优点,因为这一比较在 [23]中被提出为一个开放性问题。
费斯妥和MISTY结构在分组密码设计的背景下已被广泛研究,并且已知最大期望差分概率(MEDP)[3,32,38]和最大期望线性潜力(MELP)[3,37]的界。然而,这些结果对于S盒的构造并不适用,因为它们仅考虑了所有密钥上的平均值,而S盒是无密钥的。因此,需要在无密钥设置下分析费斯妥和 MISTY构造的差分与线性性质。李和王[28]最近针对3轮Feistel网络的情况启动了此类研究。在本研究中,我们扩展了李和王的结果,给出了关于无密钥费斯妥和MISTY结构的一些更一般的理论结果,特别关注8位置换的构造。由于篇幅限制,部分结果未在此详细说明,仅在本文的完整版本[15]中呈现。
我们的贡献
我们首先解释了为何在无密钥设置中,通常的MEDP和 MELP概念是无意义的。特别是,我们展示了一个3轮MISTY网络,其中存在一个差分概率高于任何固定密钥下的MEDP的差分,但该最优差分依赖于密钥。然后,第3节给出了任意3轮平衡MISTY结构的差分均匀性和线性度的一些下界,这些下界涉及三个
使用Feistel和MISTY结构构造轻量级S盒 375
内部S盒。关于3轮费斯妥网络的类似结果也在[15],中第5节详细描述,这些结果推广了[28]的先前成果。第4节随后聚焦于8位置换的构造。最值得注意的是,我们证明了具有适当内部S盒的3轮Feistel网络比任何3轮MISTY网络提供更好的密码学性质,从而解释了[23]中报告的一些实验结果。第5节给出了此类8位置换的一个实例化方案,该方案在密码学性质和实现成本之间提供了非常好的权衡。它可以在硬件和位切片软件中高效实现,并且在使用掩码的抗侧信道攻击实现方面具有良好性质。特别是,该S盒优于许多轻量级密码(包括 CRYPTON、Robin和Fantomas)中所采用的S盒。
2 从可密钥构造到无密钥S盒
2.1 S盒的主要密码学性质
本文中,我们关注输入和输出比特数相同的S盒。S盒对差分[10]和线性[31]密码分析的抵抗能力由其差分表(或线性偏差表,即线性逼近表)中的最大值来衡量。更准确地说,这两个主要安全性参数定义如下。
定义1(差分均匀性 [36]) 。设 F是从 F n 2到 F n 2的函数。对于 F n 2中的任意一对差分(a, b),我们定义集合
DF(a → b)={x ∈ F n 2 | F(x ⊕ a)⊕ F(x)= b}.
差分表中位置 (a, b) 处的项对应于 DF(a → b)的基数,记为 δF(a, b)。
此外, F的差分均匀性为
δ(F)= max a≠0,b δF(a, b).
显然,S盒的差分均匀性总是为偶数,这意味着对于任意 F, δ(F) ≥ 2。满足等式的函数被称为几乎完全非线性(APN)函数。
类似地,S盒的最佳线性逼近的偏置通过其线性度来衡量。
定义 2(S盒的沃尔什变换) 。设 F 是从 F n 2到 F n 2的函数。 F 的沃尔什变换是函数
F n 2 × F n 2 → Z (a, b) → λF(a, b)=∑x ∈ F n 2 (−1) b·F(x)+a·x.
此外,线性度 of F 是
L(F)= max a,b ∈ F n 2 ,b≠0 |λF(a, b)|.
实际上,直到一个因子 2n,线性度对应于 F 的输入和输出之间最佳线性关系的偏置:
PrX[b· F(X)+ a · X= 1]= 1 2n(2 n−1 − 1 2 x∑∈F2n (−1)b·F(x)+a·x)= 1 2(1 − λF(a, b) 2n).
值得注意的是,对于任意固定的输出掩码 b ∈ F2n,函数a → λF(a, b) 对应于 F 的 n 变量布尔分量的沃尔什变换: x → b· F(x)。特别是,它具有离散傅里叶变换的所有性质,例如帕塞瓦尔关系。
2.2 从小S盒构造S盒
本文中,我们专注于使用若干更小的S盒来构造S盒。实际上,小型S盒的实现成本远低于大型S盒:
– 对于基于查表的软件实现,查表更小;
– 对于硬件实现,门电路数量更低;
– 对于位切片软件实现,指令数量更低;
– 对于向量化实现,小型 S盒可以使用向量置换。
在许多情况下,实现多个小型S盒所需的资源少于实现一个大型S盒。因此,通过小型S盒构造S盒可以降低实现成本。
Feistel结构是一种著名的构造方法,用于从较小的 2n比特函数构建 n比特置换,该结构于1971年为Lucifer的设计而提出(后来发展为DES [34])。它是在合理的实现成本下从小型S盒构造大型S盒的良好候选方案。特别是,该结构已被用于 Crypton v0.5[29], ZUC[20](针对 S0)、Robin [23]和i Scream[22]的S盒设计中。由松井[32]提出的MISTY构造采用了不同的结构,但提供了相似的安全性水平。MISTY网络的主要优势在于其可以降低延迟,因为前两个S盒可以并行计算。因此,它是构造轻量级S盒时费斯妥网络的一种自然替代方案,并已应用于Fantomas [23]和 Scream[22]的设计中。为了减少实现该构造所使用的门电路数量,我们专注于平衡MISTY网络,而[33]中提出 的MISTY分组密码是非平衡的,结合了一个(n −1)比特S盒和一个(n+ 1)比特 S盒。
我们研究的两种结构如图1和 2所示。值得注意的是两者之间的一个主要区别:由Feistel结构得到的函数始终是可逆的(因为一轮操作在输出置换意义下是一个对合),而由MISTY结构得到的函数仅当所有内部S盒都可逆时才是可逆的。
| S3 | |
|---|---|
| S3 | |
| S3 | |
Feistel和MISTY结构分析 。 由于这两种构造已被用于设计许多分组密码(特别是DES [34]和MISTY [33],分别使用了这两种结构),它们的安全性已被广泛研究。衡量所生成分组密码对差分和线性密码分析抵抗能力的一种自然方法是研究在所有密钥上取平均后的差分概率(或线性逼近势)。
定义3(MEDP和 MELP) 。设 FK是从 F n 2到F n 2的一族函数。MEDP是差分的最大概率,在所有密钥上取平均:
MEDP(FK)= max a≠0,b 1 2k ∑ K∈F k 2 δFK(a, b) 2n .
MELP是在线性逼近的所有密钥上取平均的最大势能:
MELP(FK)= max a,b≠0 1 2k ∑ K∈F k 2 (λFK(a, b) 2n) 2 .
以下定理表明,费斯妥或MISTY结构的MEDP和MELP可以被限定。
定理 1(费斯妥或MISTY,[3,32,38]在所有密钥上取平均) 。给定S1、 S2和 S3三个 n-比特置换,令 p= maxi δ(Si)/2 n和 q=maxi(L(Si)/2 n ) 2。那么由内部函数为 Si的Feistel或MISTY网络的3轮结构所定义的函数族(FK) K=(K1 ,K 2 ,K 3)∈ F 3 k 2 满足
MEDP(FK) ≤ p 2 and MELP(FK) ≤ q 2 .
该定理在构造迭代分组密码时非常强大:它表明可以通过具有强密码学性质的小函数来构建具有强密码学性质的大函数。然而,在由更小的S盒设计S盒时,该定理作用有限。实际上,我们关注的是单个固定S盒的性质,而非S盒族的平均性质。对于固定的(a, b),该定理证明了 δFK(a, b)和 λFK(a, b)的平均值是有界的,因此至少存在一个密钥使得其值小于或等于该平均值。但可能存在这样的情况:达到最大值的 a, b在不同密钥下并不相同。因此,如果我们选择一个密钥使得 δFK(a, b)在某个使平均概率最大的 a, b处较小,则差分表的另一个条目仍可能达到最大值。
更引人注目的是,我们发现了一些 S1、 S2、 S3的选择,使得相应函数族中函数的最大差分概率始终高于MEDP。
例1 。我们考虑一个使用三个相同的S盒的MISTY结构:
Si=[A, 7, 9, 6, 0, 1, 5, B, 3, E, 8, 2, C, D, 4, F].
我们有 MEDP(FK) ≤ 16/256根据定理1,因为 δ(Si)= 4。然而,对于该函数族中的任意函数,存在一个差分概率为 32/256。这并不矛盾,因为达到最大值的差分依赖于密钥。
S盒构造的相关性质是最大差分概率(或最大线性势)。因此,我们可以根据最大差分概率的平均值(即EMDP,相应地EMLP)来推导出某些固定密钥下 FK在该量上的部分信息,而该平均值可能与MEDP(相应地MELP)有显著差异。我们想指出的是,在[33]中这两个概念存在混淆:定义对应的是期望最大差分概率(相应地期望最大线性势),而定理却应用于MEDP和MELP。
Feistel和MISTY结构分析(固定密钥) 。为了研究费斯妥和MISTY结构在轻量级S盒构造中的性质,我们必须在固定密钥的情况下研究这些结构。等价地,我们可以考虑无任何密钥的结构,因为具有固定密钥的结构等同于使用不同S盒的无密钥结构。事实上,使用带轮密钥 ki的S盒 Si,等价于使用 S′ i: x → Si (x+ ki)作为无密钥的S盒。在下文中,我们始终考虑无密钥变体。
在最近对固定密钥Feistel结构[28],的分析中,李和王推导出了3轮 Feistel密码在固定密钥下可达到的最佳差分均匀性和线性度,并给出了达到该界限的例子。他们的主要结果如下:
使用费斯妥和MISTY结构构造轻量级S盒 379
定理 2(费斯妥无密钥,[28]) 。设 S1、 S2和 S3为三个 n比特S盒,且 F是由相应3轮费斯妥结构定义的 2n比特函数。则有 δ(F) ≥ 2δ(S2)。此外,若 S2不是置换,则 δ(F) ≥ 2如n+1果。 n= 4, F 满足 δ(F) ≥ 8。如果等式成立,则 L(F) ≥ 64。
3 从MISTY或费斯妥三轮得到的S盒
3.1 我们的结果
在本文中,我们推广了李和王[28]关于Feistel结构的界,并推导了MISTY结构的界。两种结构的结果非常相似,但对于MISTY结构,仅在使用非可逆内部函数时才能达到最优结果。因此,我们的工作表明,在可逆8位S盒的设计中, Feistel结构比MISTY结构能够实现更好的结果。
更准确地说,我们引入了两个新的S盒性质 δmin和 Lmin以推导我们的界: Lmin表示S盒非平凡分量所能具有的最小线性度。类似地, δmin表示差分表中某一行内最大maxb δ(a, b)的最小可能取值。特别地,对于任意4位函数 S, δmin(S) ≥ 2且 Lmin(S) ≥ 4。此外,如果 S是一个4位置换,则 δmin(S) ≥ 4 且 Lmin(S) ≥ 8。
我们首先给出了费斯妥结构和MISTY构造在3轮情况下的差分均匀性和线性度的下界。
-
对于具有内部S盒 S1、 S2和 S3的费斯妥网络:
– δ(F) ≥ δ(S2) max (δmin(S1) δmin(S3))
– 若 S2不是置换,则 δ(F) ≥ 2n+1。
– 若 S2是置换,则 δ(F) ≥maxi≠2,j≠i,2(δ(Si)δmin(Sj) δ(Si)δmin(S −1 2))。
– L(F) ≥ L(S2) max (Lmin(S1) Lmin(S3))
– 若S2是置换,则 L(F) ≥ maxi≠2,j≠i,2(L(Si)Lmin(Sj) L(Si)Lmin(S −1 2))。 -
对于具有内部S盒 S1、 S2和 S3的MISTY网络:
– δ(F) ≥ δ(S1) max (δmin(S2) δmin(S3))
– 如果 S1 不是置换,则 δ(F) ≥ 2n+1。
– 如果 S1 是置换,则 δ(F) ≥maxi≠1,j≠1,i( δ (Si)δmin(Sj) δ(Si) δmin(S −1 1));
– L(F) ≥max (L(S1)Lmin(S2) L(S2)Lmin(S1) L(S3)Lmin(S1));
– 如果 S3 是置换,则 L(F) ≥ L(S1)Lmin(S −1 3)。
– 如果 S1 是置换,则 L(F) ≥ L(S3)Lmin(S2)。
– 如果 S1 和 S3 都是置换,则 L(F) ≥ L(S2) Lmin(S −1 3)。
如果 n= 4这两种构造都产生以下结果:
δ(F) ≥ 8 and L(F) ≥ 48.
此外, L(F) ≥ 64,除非 δ(F) ≥ 32。
380 A. Canteaut等人
对于具有 n= 4 的MISTY构造,如果 F 是一个置换,则我们得到更紧的界: δ(F) ≥ 16 和 L(F) ≥ 64。这意味着费斯妥构造更适合用于构造8位置换。我们还将证明,当 n= 4 时,所有这些界都是紧的。现在我们详细说明 MISTY构造的情况下的结果,而费斯妥构造的结果则在完整版本中给出[15]。
3.2 MISTY 三轮的差分均匀性
我们对3轮MISTY的差分均匀性的下界依赖于对某些差分解数量的评估,其中 3个S盒之一的输入差分被抵消(见[15]中的图3)。
命题1 。设 S1、 S2和 S3为三个 n比特的S盒,并设 F是由相应的3轮 MISTY网络定义的 2n比特函数。那么,对于 F2n中的所有 a、b和 c,我们有:
(i) δF(0‖a, b‖c)= δS1(a, c)× δS3(c, b⊕ c);
(ii)如果S1是双射的,
δF(a‖0, b‖c)= δS2(a, a⊕ c)× δS3(a, b⊕ c);
(iii) δS1(a, b)×δS2(b, c) ≤ δF(b‖a, c‖c) ≤∑ d∈F n 2 δS1(a, b⊕d)×δS2(b, c⊕d)×γS3(d)
其中 γS3(d)在 δS3(d,0)= 0 时为 0,否则为 1。最值得注意的是,如果 S3 是双射
δF(b‖a, c‖c)= δS1(a, b)× δS2(b, c).
证明 。设 x为MISTY网络的输入,xL和 xR分别为其左半部分和右半部分。
(i) x=(xL, xR) 满足 F(xL‖xR) ⊕ F(xL‖(xR ⊕ a)) = b‖c当且仅当
{ S3(S1(xR)⊕ xL)⊕ S3(S1(xR ⊕ a)⊕ xL)= b⊕ c, S2(xL)⊕ S1(xR)⊕ xL ⊕ S2(xL)⊕ S1(xR ⊕ a)⊕ xL= c ⇔{S3(S1(xR)⊕ xL)⊕ S3(S1(xR ⊕ a)⊕ xL)= b⊕ c, S1(xR)⊕ S1(xR ⊕ a)= c
或等价地
xR ∈ DS1(a → c) and xL ∈ S1(xR)⊕ DS3(c → b⊕ c).
因此,我们推断出恰好有δS1 (a, c)个 xR的取值,且对于每一个这样的取值,有 δ S 3 (c, b⊕ c)个 xL的取值,使得 x满足该差分。
使用Feistel和MISTY结构构造轻量级S盒 381
(ii) x=(xL, xR) 满足 F(xL‖xR) ⊕ F((xL ⊕ a)‖xR) = b‖c当且仅当
{ S3(S1(xR)⊕ xL)⊕ S3(S1(xR)⊕ xL ⊕ a)= b⊕ c, S2(xL)⊕ S1(xR)⊕ xL ⊕ S2(xL ⊕ a)⊕ S1(xR)⊕ xL ⊕ a= c
⇔{ S1(xR)⊕ xL ∈ DS3(a → b⊕ c), S2(xL)⊕ S2(xL ⊕ a)= a⊕ c
或等价地,
xL ∈ DS2(a → a⊕ c) and S1(xR) ∈ xL ⊕ DS3(a → b⊕ c).
如果 S1 可逆,则对于任意固定的 xL,由第二个条件定义的 δS3(a, b ⊕ c) 的每一个值都唯一确定一个 xR 的值。因此,满足该差分的 (xL, xR) 的数量恰好为 δS2(a, a ⊕ c) ×δS3(a, b⊕ c)。
(iii)(xL, xR) 满足 F(xL‖xR) ⊕ F((xL ⊕ b)‖(xR ⊕ a)) = c‖c当且仅当
{ S3(S1(xR)⊕ xL)⊕ S3(S1(xR ⊕ a)⊕ xL ⊕ b)= 0, S2(xL)⊕ S1(xR)⊕ xL ⊕ S2(xL ⊕ b)⊕ S1(xR ⊕ a)⊕ xL ⊕ b= c ⇔{S3(S1(xR)⊕ xL)⊕ S3(S1(xR ⊕ a)⊕ xL ⊕ b)= 0, S2(xL)⊕ S1(xR)⊕ S2(xL ⊕ b)⊕ S1(xR ⊕ a)= b⊕ c
这等价于存在某个 d ∈ F2n 使得
{xR ∈ DS1(a → b⊕ d), xL ∈ DS2(b → c⊕ d), S3(S1(xR)⊕ xL)⊕ S3(S1(xR ⊕ a)⊕ xL ⊕ b)= 0,
即,
xR ∈ DS1(a → b⊕ d), xL ∈ DS2(b → c⊕ d) and S1(xR)⊕ xL ∈ DS3(d → 0).
然后,对于任意固定的 d ∈ F n 2 使得 δS3( d, 0) = 0,没有任何一对 (xL, xR) 满足第三个条件。如果 δS3( d, 0) > 0,则由前两个条件定义的一些值 (xL, xR) 可能也满足第三个条件;而如果 d= 0,则第三个条件总是成立。由此可得
δS1(a, b)× δS2(b, c) ≤ δF(b‖a, c‖c) ≤∑ d ∈F n 2 δS1(a, b⊕ d)× δS2(b, c⊕ d)× γS3(d)
其中 γS3( d) 在 δS3( d,0) = 0时为 0,否则为 1。此外,若 S3 是双射, 则 δS3( d,0) > 0 当且仅当 d= 0,这意味着前述两个上界相等,即
δF(b‖a, c‖c)= δS1(a, b)× δS2(b, c).
这三种特定类型的差分为我们提供了任意3轮MISTY网络差分均匀性的下界。
382 A. Canteaut等人
定理3 。设 S1、 S2和 S3为三个 n比特的S盒,并设 F为由相应的3轮MISTY网络定义的 2n比特函数。那么,
δ(F) ≥ δ(S1)max(δmin(S2), δmin(S3)) where δmin(S)= min a≠0 max b δS(a, b).
此外,
– 如果 S1是一个置换,
δ(F) ≥ max i≠1,j≠1,i max(δ(Si)δmin(Sj), δ(Si)δmin(S−1 1)),
– 如果 S1 不是一个置换, δ(F) ≥ 2n+1。
证明 。该结果是命题1的直接推论。我们在此从命题1的第一项推导出界;其他情况可类似地由另外两项得出。首先考虑一对差分(α, β),其达到 S1的差分均匀性,即, δ(S1)= δS1(α, β)。然后,我们选择 a= α和 c= β,并得到对于任意 b ∈ F2n,
δF(0‖α, b‖β)= δ(S1)× δS3(β, β ⊕ b).
然后,我们可以为 b选择一个使δS3(β, β ⊕ b)最大的值。该值始终大于或等于 δmin(S3)。类似地,我们现在可以考虑一对差分(α, β),使其达到 S3的差分均匀性,即δ(S3) = δS3(α, β)。在这种情况下,我们选择 c= α和 b= α⊕β,并得到对于任意 a ∈ F n 2,
δF(0‖a,(α ⊕ β)‖α)= δS1(a, α)× δ(S3).
然后我们为 a选择使δS1( a, α)最大的值,当 S1是置换时,该值始终大于或等于 δmin(S −1 1)。
现在假设 S1不是双射。这意味着存在某个非零的 a ∈ F n 2,使得 δS1(a, 0) ≥ 2。然后,根据命题1的第一项,取 b= c= 0,可推出 F(xL‖xR) ⊕ FK( xL ⊕ a‖xR) =(0, 0) 在 F 2n 2中有δS1( a,0) × δS3(0, 0) ≥ 2 × 2n= 2n+1个解。
3.3 MISTY三轮的线性度
三轮MISTY结构线性度的下界可以通过类似的方式推导得出。以下结果的证明见 [15]。
命题2 。设S1、 S2和 S3为三个 n比特的S盒, F是由相应的3轮MISTY网络定义的 2n比特函数。那么,对于 F n 2中的所有 a、b和 c,我们有:
(i) λF(a‖b, 0‖c)= λS1(b, c)λS2(a⊕ c, c)
(ii) λF(a‖b, c‖c)= λS1(b, a)λS3(a, c)
(iii) If S1 is bij ective, λF(a‖0, b‖c)= λ S 2(a, b⊕ c)λS3(b⊕ c, b)
使用Feistel和MISTY结构构造轻量级S盒 383
与差分情况类似,前述三个线性逼近为我们提供了任意3轮MISTY网络线性度的下界。该下界既涉及组成S盒的线性度,也涉及另一个由线性偏差表计算得到的量 Lmin。
定义4(Lmin) 。设 F是一个 n比特的S盒。我们定义
Lmin(F)= min b∈F2n,b≠0 max a∈F2n |λF(a, b)|.
最值得注意的是, Lmin(F) ≥ 2n 2并且当 F是双射时,该界不是紧的。
证明 。根据定义,Lmin(F) 是当 b在 F2n{0}中变化时, F的分量Fb: x → b · F(x) 所能达到的最小线性度。 n变量布尔函数,其线性度至少为 2n 2 ,当且仅当 Fb 是弯曲函数[41]时取等号。由于弯曲函数不是平衡的,因此置换的任何分量都不可能是弯曲函数,这意味着当 F是置换时, Lmin(F)> 2n 2成立。
然后我们推导出任意3轮MISTY网络线性度的下界。证明见[15]。
定理4 。 设S1、 S2和 S3为三个 n比特的S盒,并设 F为由相应的3轮MISTY网络定义的 2n比特函数。那么,
L(F) ≥ max(L(S1)Lmin(S2), L(S2)Lmin(S1), L(S3)Lmin(S1)).
此外,如果 S1 是一个置换,则 L(F) ≥L(S3)Lmin(S2);如果 S3 是一个置换,则 L ≥ L F ≥L S1 Lmin S−1 3 S1 S3 L F S2 Lmin S−1 3 ()()();如果两者都是置换,则 () ()()。
4 8位S盒的应用
在本节中,我们研究了对应于具有4比特内部S盒的3轮MISTY结构的8位S盒的密码学性质,特别关注三个内部S盒均为双射的情况,因为这对应于所得到的函数为置换的情形。
4.1 差分均匀性
对于任意3轮MISTY网络,其差分均匀性的以下界是定理3的直接推论。
推论1 . 任何 8 比特函数 F 对应于一个3轮MISTY网络,满足 δ(F) ≥ 8。
证明 。 当S1不是双射时,该界显然成立,因为我们从定理 3可知,在这种情况下 δ(F) ≥ 32。如果 S1是双射,则 δ(S1) ≥ 4,因为如定理2所证明的那样, F 4 2 上不存在APN置换。[24,定理23]。显然,任何4比特S盒 S都满足 δ min(S) ≥ 2,这意味着 δ(F) ≥ δ(S1)δmin(S2) ≥ 8.
384 A. Canteaut等人
除了这一总体结果外,我们还可以提供一些关于组成S盒的必要条件,以达到之前的下界。
定理5 . 设 S1、 S2和 S3为三个4比特S盒,令 F为由相应的3轮MISTY网络定义的8比特函数。那么, δ(F)= 8意味着 S1是一个置换,且 δ(S1)= 4,同时 S2和 S3是两个APN函数。否则, δ(F) ≥ 12。
证明 。由于当 S1不是双射时, δ(F) ≥ 32,我们只需关注 S1为置换的情况。如果任意一个组成S盒 Si的差分均匀性严格大于4,即 δ(Si) ≥ 6,则根据定理 3可推出 δ(F) ≥ δ(Si)δmin(Sj) ≥ 12。因此,仅当δ(S1) = 4、 δ(S2) ≤ 4以及 δ (S3) ≤ 4时,才能实现 δ(F) = 8。至少有一个S盒 S2或 S3的差分均匀性为 4时, δ(F) ≥ 16这一事实已在完整版本的引理1中证明。
然后,我们可以通过给出三个满足前述条件的4比特S盒来证明推论1中的下界是紧的,这些S盒可构造出具有差分均匀性8的3轮MISTY结构。
例2 。 在MISTY结构中使用以下4位S盒时,可得到差分均匀性为8且线性度64的8位 S盒:
S1=[4, 0, 1, f, 2, b, 6, 7, 3, 9, a, 5, c, d, e, 8]
S2=[0, 0, 0, 1, 0, a, 8, 3, 0, 8, 2, b, 4, 6, e, d]
S3=[0, 7, b, d, 4, 1, b, f, 1, 2, c, e, d, c, 5, 5]
使用双射内层S盒 。我们现在关注三个内部S盒均为置换的情况,因为这能保证生成的MISTY网络是一个置换。我们已证明,在这种情况下,所能达到的可能的最低差分均匀性为12。此处,我们改进该结果,表明差分均匀性不可能低于 16。这一改进的界利用了关于4位置换的差分表的以下引理。
引理1 。 设 S1、 S2 和 S3 为 4 位置换。那么,存在一个非零差分 γ ∈ F 4 2{0},使得以下至少一个陈述成立:
– S1的差分表在第 γ列中至少有一个值大于或等于4,且 S2的差分表在第 γ行中至少有一个值大于或等于4;
– S1的差分表在第 γ列中至少有一个值
使用Feistel和MISTY结构构造轻量级S盒 385
大于或等于4,且 S3的差分表在第 γ行中至少有一个值大于或等于4;
– S2的差分表在第 γ行中至少有一个值大于或等于4,且 S3的差分表在第 γ行中至少有一个值大于或等于4。
证明 。该结果依赖于对等价类的穷举搜索,这些等价类是通过在左侧和右侧与仿射变换进行复合所定义的,这与[18,27]中最优4比特S盒的分类方法完全相同。对于4位置换,共有302个等价类。我们从每个类中选取一个代表元,并验证其差分表中至少存在六行,这些行对应某个非零输入差 a且包含大于或等于4的值。令 R(S)表示相应的集合(大小至少为六):
R(S)={a ∈ F4 2{0}: ∃b ∈ F4 2{0}, δS(a, b) ≥ 4}.
因此,如果不存在满足引理中三个陈述之一的差分γ ∈ F4 2{0},则意味着三个集合 R(S2)、 R(S3)和 R(S−1 1)互不相交。换句话说,我们可以在 F4 2的15个非零元素中找到18个不同的值,这是不可能的。
然后我们推导出在具有内部置换的F8 2上3轮MISTY网络的差分均匀性的以下改进下界。
定理6 。设 S1、 S2 和 S3 是三个 4 比特 置换,并设 F 是由相应的 3轮 MISTY网络 定义的 8 比特函数。那么, δ(F) ≥16。
证明 。该结果是命题1与前面引理结合的直接推论。事实上,引理1保证了存在 a, b和 c,使得以下三个性质中至少有一个成立:
– δS1( a, c) ≥ 4和 δS3( c, b⊕ c) ≥ 4,
– δS2( a, a⊕ c) ≥ 4和 δS3( a, b⊕ c) ≥ 4,
– δS1( a, b) ≥ 4和 δS2( b, c) ≥ 4。
在这三种情况中的每一种中,命题1展示了α, β)的差分,该差分对应于F且满足 δF (α, β) = 16。
4.2 线性度
为了将定理4应用于8比特MISTY网络的情况,我们需要估计4位S盒的最佳线性度(以及Lmin)。众所周知,一个4位置换的最低线性度是8。但是,即使S盒不是双射的,这一结果仍然成立。
引理2 . 任何 4比特 S盒 S满足 L(S) ≥ 8。
证明 。假设存在某个从F 4 2到 F 4 2的 S,使得 L(S) < 8,即 L(S) ≤ 6。那么, S的所有非零布尔分量 Sc: x → c · S(x)(其中 c= 0)均满足 L(Sc) ≤ 6。根据伯lekamp和韦尔奇对最多5个变量的所有布尔函数的分类[6],,我们可以推断出任意 Sc, c= 0要么仿射等价于 x1x2x3x4+ x1x2+ x3x4,要么仿射等价于 x1x2+ x3x4,因为这些是线性度至多为6的布尔函数的唯一类。设 L1 (相应地, L2)表示所有非零的 c ∈ F42的集合,使得 Sc属于第一类(相应地,第二类)。由于次数在仿射变换下保持不变,L1(相应地, L2)对应于次数为 4的分量(相应地,次数至多为2的分量)。两个次数至多为2的分量之和的次数仍至多为2,这意味着 L2∪{0}是 F4 2的一个线性子空间 V。因此, S在 V上的投影可视为从 F4 2到 FdimV 2的一个具有线性度4的函数,即一个弯曲函数。Nyberg [35]已证明,若一个从 F2n到 Fm 2的函数 F是弯曲函数,则 m ≤ n/2。因此,dimV ≤ 2。但是,任意两个次数为4的分量 Sc之和不可能具有次数4,因为4个变量中次数为4的单项式只有一个。我们推断,如果 L1包含 t个重量为1的码字(即,如果 S有 t个坐标具有线性度6),那么 #L2 ≥(t 2)+ 24−t −1> 3, 对所有 0 ≤ t ≤ 4,矛盾。
结合前面的引理和定义4,定理4给出了 F8 2上3轮MISTY网络线性度的以下下界。
推论2 . 任何对应于3轮MISTY网络的8位函数 F 满足 L(F) ≥ 32。
这个界的意义有限,因为据我们所知, L(S)= 32是8位S盒已知最低的线性度。但同样地,当专注于置换时,之前的下界可以进一步改进。事实上,我们可以利用任意4位置换满足 Lmin(S) ≥ 8这一性质:
引理3 。对于任意 4 比特置换 S, S 的线性偏差表在每一行和每一列中至少有一个值大于或等于 8。
证明 。该结果是通过对所有仿射等价类进行穷举搜索得到的。我们已经检查了 302个代表元,并能够对每一个代表元验证该结果。
利用任意4位置换 S满足 L(S) ≥ 8且Lmin(S) ≥ 8,我们由定理4直接推导出以下改进的下界。
命题3 。设 S1、 S2 和 S3 为三个 4 比特的 S盒,并设 F 为由相应的 3轮 MISTY网络 定义的 8 比特函数。如果这三个内部S盒中任意一个是置换,则 L (F) ≥ 64。特别地,如果 L(F)< 64,则 δ(F) ≥ 32。前一个定理的最后结论是从定理3的第一项推导得出的。虽然这表明具有 L (F)< 64的3轮MISTY几乎没有意义,但我们在[15]以下定理中证明了它们的线性度至少为48。
使用费斯妥和MISTY结构构造轻量级S盒 387
定理7 。设 S1、 S2和 S3为三个4比特S盒,并设 F为由相应的3轮MISTY网络定义的8比特函数。则 L(F) ≥ 48。
我们推测,任何具有4位内部函数的MISTY网络实际上都满足 L(F) ≥ 64, 但在缺乏对4位函数的完整分类的情况下,似乎很难证明这一点。
5 种构造方法
我们现在利用先前的结果来设计针对轻量级实现优化的8位可逆S盒。我们使用费斯妥和MISTY网络,并选择具有低成本实现且能为所得8位S盒提供良好密码学性质的4位S盒 Si,此类S盒已被认为是许多轻量级构造(例如 LS‐设计 [23])的良好候选方案,但它们各自的优势及其密码学性质仍未明确。
我们专注于实现具有低门电路数量的硬件实现,以及位切片实现中的低指令数(对于基于查表的实现,表大小与具体的S盒无关)。此外,我们关注非线性门数量较少的实现,因为在某些特定场景下(如掩码、多方计算或同态加密),非线性门比线性门更难实现。位切片可作为一种实现技术,以利用某些平台特性(例如,它在某些Intel处理器上实现了高级加密标准最快已知的实现),但也可以作为一种设计标准。实际上,使用位切片S盒可以实现无需查表的紧凑实现,并在软件和硬件中均表现出良好的性能。此外,以这种方式实现的S盒更容易通过掩码来抵御侧信道攻击。因此,许多轻量级密码设计采用了这种方法,例如 Serpent[9]、 Noekeon[16]、Keccak[8]、 Robin和 Fantomas[23]、 Pride[2]、 Prøst[26],或 Ascon[19]。这使得低门电路数量的S盒构造在轻量级密码学中尤为重要。
根据前几节的内容,我们能够为8位可逆S盒实现的最佳结果是:
使用MISTY网络: δ(F)= 16与 L(F)= 64。
使用Feistel网络: δ(F)= 8与 L(F)= 64。
我们可以提供一些满足这些界限的示例:示例2对于MISTY构造是最优的,而 Feistel构造的一个示例如下所示。值得注意的是,这些结果解释了在[23]中报告的模拟所得到的S盒的相应性质。由于费斯妥网络能够达到更高的安全性,我们将主要考虑这种构造。在这种情况下,只有当 S1、 S3是APN,且 S2是一个具有 δ (S2)= 4的置换时,才能达到最优差分均匀性,如全文中定理9所证明的那样版本 [15]。请注意,在某些其他情况下,MISTY结构具有一些优势,因为它在吞吐量和延迟方面表现出更好的性能,因为前两个S盒可以并行计算。
5.1 具有低门数和指令数的Feistel网络
与其先选择具有良好性质的S盒 S1、 S2和 S3 ,然后再寻找这些S盒的高效实现(例如如[13,39]中所示),我们采用相反的方法,遵循Ullrich等人的做法 [45]。我们构建S盒的门级描述,并测试其密码学性质,直到找到一个良好的候选方案。实际上,我们无需预先指定4比特S盒 S1、 S2、 S3。相反,我们寻找满足 δ(S)= 4(当 S2时)的置换的一个良好实现,以及在 S1和S3上的一个良好实现的APN函数,并测试所得到的Feistel结构的性质。有很大概率,这将产生一个具有 δ(F)= 8和 L(F)= 64的Feistel网络 F。
继Ullrich et al.之后,我们进行了一项面向位切片实现的搜索。我们考虑软件指令序列,使用AND、OR、XOR、NOT和MOV指令,并最多使用5个寄存器。这可以直接转换为硬件表示:MOV指令变为分支,而其他指令对应相应的门电路。每一步有85种指令选择,但我们使用等价关系来限制搜索范围。对于S2,我们可以直接复用[45]的结果:他们给出了使用 δ(S)= 4实现4位置换的最优方案。对于 S1和 S3,我们实现了他们算法的一个版本,并搜索了APN函数。我们发现,无法用9条或更少的指令构造出APN函数。存在使用10条指令的解,但它们至少包含6条非线性指令(AND、OR),这对于掩码实现而言效率不高。最终,使用11条指令时,存在具有4条非线性指令、5条XOR指令和2条MOV(复制)指令的APN函数构造方案。该搜索需要约6000核心小时的计算量。我们的搜索分支因子接近10,而Ullrich et al.报告的分支因子小于7;这是因为我们并未将搜索限制在置换范围内(实际上,4位APN函数不是置换)。
这最终得到一个非常高效的8位S盒,具有良好的密码学性质,仅使用12个非线性门和26个异或门。根据[15]中的定理9以及以下引理,这是非线性门数量的最优解。
引理4 . 设 S是一个4位置换,满足 δ(S) ≤ 4,或是4位APN函数。任何 S的实现至少需要4个非线性门。
证明 。如果 S可以通过3个或更少的非线性门实现,则输出变量的代数表达式是输入变量以及对应于3个非线性门输出的3个多项式的线性组合。因此,存在一个输入变量和输出变量的线性组合,其和为常数,即 L(S) = 16。根据4位的分类置换在 [18],任何具有 δ(S) 的置换满足 = 4 L(S) ≤ 12。此外,4位APN函数的分类 [14]表明它们满足L(S)= 8,这证明了该引理。
= 2的APN函数。)
S1=[0, 0, 4, d, c, 0, 0,5, 8,0, 7,6,5, a, 2, 4]
= 4的置换)
S2=[0, 8, 6, d, 5, f, 7,c, 4,e, 2,3, 9, 1, b,a]
图3。 使用三轮费斯妥结构(S1, S2, S1)构造满足 δ(S) = 8 且 L(S) = 64 的轻量级 S盒 S。
我们在图3中给出了此类实现的一个示例,并在表1中将我们的结果与之前的设计进行了比较。特别是,与Robin和Fantomas中使用的S盒相比,我们以少量额外门电路的代价实现了更低的差分均匀性。[23],为了比较表1中考虑的各个S盒的优劣,我们利用以下事实:作为简单近似,为达到针对差分攻击的固定安全级别所需的轮数与 1/log(δ(S)/256)成正比,而每轮的实现成本与非线性门的数量成正比(对于采用掩码的位切片软件实现)。这使得我们可以为最后一列中列出的S盒推导出一个简单的实现成本度量,以高级加密标准为1,并且仅考虑针对差分攻击的安全性。
5.2 非平衡 MISTY结构
最后,我们考虑本文所研究的MISTY结构的一种替代方案。与将输入划分为两个相等大小的部分不同,我们考虑非平衡网络。该思路是将8个输入比特划分为大小不等的两部分,即3位和5位。因此,MISTY网络将仅使用3位和5位S盒。3位和5位S盒的优势在于存在满足 δ= 2的可逆S盒,而相比之下对于4位S盒的情况。我们设法利用非平衡MISTY网络获得了8位S盒 S,其 δ(S) 为= 8,优于在平衡MISTY网络中证明的下界 δ(S) ≥ 16。然而,该方法使用了5位S盒,相比4位S盒更复杂,难以实现。
例3 。 我们考虑一个3轮非平衡MISTY结构,其包含5位置换S1, S3以及一个3位置换 S2。在 S1和 S3之后,该3位置换 xL与 xR的3个最高有效位进行异或;在 S2之后,该5位 xL的3个最高有效位与 xL进行异或。以下S盒定义了一个8位S盒,具有 δ= 8和 L= 64:
S1=[00, 01, 02, 04, 03, 08, 0d, 10, 05, 11, 1c, 1b, 1e, 0e, 18, 0a, 06, 13, 0b, 14, 1f, 1d, 0c, 15, 12, 1a, 0f, 19, 07, 16, 17, 09]
S2=[2, 5, 6, 4, 0, 1, 3, 7]
S3=[00, 01, 02, 04, 03, 08, 10, 1c, 05, 0a, 1a, 12, 11, 14, 1f, 1d, 06, 15, 18, 0c, 16, 0f, 19, 07, 0e, 13, 0d, 17, 09, 1e, 1b, 0b]
这表明将我们的结果推广到非平衡情况,特别是MISTY构造,可能是值得关注的。
表1。 一些8位S盒的比较。 δ和 L分别表示S盒的差分均匀性和线性度(定义见第2.1节), 最后一列给出了相对整体实现成本(以高级加密标准为1)。
| S盒 | 构造 | 实现 与/或 | 异或 | L | δ | 属性 成本 |
|---|---|---|---|---|---|---|
| 高级加密标准 [13] | F28+仿射中的逆 | 32 | 83 | 32 | 4 | 1 |
| 漩涡 [5] | Lai‐Massey | 36 | 58 | 56 | 8 | 1.35 |
| CRYPTON[29] | 3‐轮费斯妥 | 49 | 12 | 64 | 64 | 16 |
| Robin [23] | 3轮Feistel | 12 | 24 | 64 | 16 | 0.51 |
| Fantomas [23] | 3轮MISTY(3/5比特) | 11 | 25 | 64 | 10 | 0.64 |
| 未命名 [23] | 类漩涡 | 16 | 41 | |||
| New | 3轮费斯妥 | 12 | 26 | 64 | 8 | 0.45 |
6 结论
我们的结果加深了对由更小的S盒构建的轻量级S盒密码学性质的理解。我们精确描述了使用3轮平衡Feistel或MISTY结构实现8位S盒所能达到的最佳安全性,以及达到该界限所需的必要条件。有趣的是,MISTY网络无法像Feistel网络一样提供相同的安全性构造一个可逆的8位S盒。利用这些结果,我们描述了一个仅使用12个非线性门和26个异或门的8位S盒 S,其具有 δ(S) = 8和 L(S) = 64。这是在3轮费斯妥或MISTY结构下所能达到的最佳安全性,且我们的构造使用了达到此安全性的最少数量的非线性门。相比之前的方案(包括CRYPTON、Fantomas和 Robin中使用的S盒)有所改进,但仍需进一步研究以确定不同结构是否能提供更优的S盒。
47

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



