分组密码结构抗Simon量子算法攻击研究*
2019-11-07罗宜元闫海伦胡红钢来学嘉
罗宜元, 闫海伦, 王 磊, 胡红钢, 来学嘉,5
1.惠州学院信息科学技术学院, 惠州516007
2.上海电机学院电子信息学院, 上海201306
3.上海交通大学计算机科学与工程系, 上海200240
4.中国科学技术大学电子工程与信息科学系, 合肥230027
5.卫士通摩石实验室, 北京100070
1 引言
1.1 量子算法
随着物理学与计算技术的进展, 量子计算颠覆了传统的计算理论并引起世界各国研究人员的广泛关注.量子计算领域中一个突破性的算法就是 Shor 算法[1], 该算法能够在多项式时间内寻找有限群里一个元素的阶, 并被用来分解大整数和计算离散对数.由于公钥密码算法大多是基于大整数分解与计算离散对数这两类困难问题, Shor 量子算法对现有公钥密码算法是一个严重的威胁.除了 Shor 算法以外,Simon 算法和Grover 算法均对现有对称密码算法的安全性构成了挑战, 这使得对称密码学界也掀起了抗量子攻击的研究热潮.Simon 算法能够以O(n) 次查询获取一个特殊函数f的周期, 并且启发了Shor 算法的发现[2].Grover 算法则能够将任意一个K比特密钥密码算法的穷举复杂度降低为O(2K/2), 并且是针对任意密码算法的通用性攻击[3].由于量子算法强大的密码攻击能力, 国内学术界近些年也积极开展对后量子密码的研究, 并取得了一系列的结果[4–7].
1.2 分组密码结构
现代分组密码算法的设计思路基本上还是沿用香农于 1949 年发表的经典论文《保密系统的通信原理》中提出的混淆和扩散理论.从设计结构上来看, 分组密码结构已经从起初经典的 Feistel 结构扩展出许多变体.当前分组密码的结构基本分为三大类, 一类是Feistel 结构及其变体, 此类结构最为常见; 第二类是代换置换网络结构SPN; 还有一类是 Lai-Massey 结构, 如FOX 算法[8].相比 SPN 结构, Feistel 结构和Lai-Massey 结构的优势有两方面: 一是不要求内部轮函数为置换, 从而内部S 盒等非线性模块可以不必为置换.设计者选择 S 盒的范围更加广泛, 密码分析的难度大大增加, 因为不少密码分析方法, 如积分攻击、不可能差分分析、零相关线性分析等都是利用了 S 盒的置换性质.第二个优势是可以通过一定的密钥编排, 使Feistel 结构和Lai-Massey 结构的加密过程和解密过程相同, 往往可以节省算法实现的资源, 而SPN 结构则不具备此类优点.
1.3 现有分组密码结构的量子攻击
从已有的研究结果来看, 分组密码结构的构造与其抗量子攻击能力有很大的关系.在量子计算机中实现的分组密码结构的抗量子攻击能力与其具体构造相关.在量子计算机上运行密码算法时, 攻击者可以在选择明文的情形下, 对密码算法的输入进行叠加状态查询, 这类攻击被称为量子选择明文攻击 (CPA).日本学者Kuwakado 和Morii 在2010 年首次给出了在量子计算机上实现的3 轮Feistel 结构的量子CPA 查询攻击, 该攻击基于 Simon 算法在多项式时间内将 3 轮 Feistel 结构与一个随机置换区分出来[9].而在经典计算模型下, 3 轮 Feistel 结构被证明是在多项式时间内无法与随机置换区分的[10].在 2012 年,Kuwakado 和 Morii 又对 Even-Mansour 类型的分组密码结构进行了类似的分析, 分析的方法仍然是基于 Simon 算法, 结果表明在量子计算机上实现的 Even-Mansour 分组密码结构是不安全的, 量子攻击者可以在多项式时间内寻找到密钥[11].
在 2016 年美密会上, Kaplan 等人对 Simon 算法进行了扩充和完善, 并对一系列密码结构工作模式,包括常见的认证加密结构CBC-MAC、GCM、OCB 等进行了量子攻击[12].他们的结果表明在量子计算机下实现的这些结构将不再安全.在同一年的FSE 上,他们也提出了量子差分和线性分析[13].在2017 年亚密会上, Leander 等人利用 Grover 算法和 Simon 算法的组合, 对分组密码 DESX 所采用的 FX 结构进行了量子攻击, 该方法用 Simon 算法作为内部判定函数, 来判定搜索到的一个密钥是否为正确的密钥,并且使用Grover 算法作为外部密钥搜索算法.该结果表明在量子计算机环境下, DESX 所使用的密钥白化方法并不能增加安全性[14].
同样在 RSA 2018 上, Hosoyamada 和 Sasaki 分析了攻击者对密码结构使用经典计算机在线查询,使用量子计算机进行离线计算的情形下的复杂度, 并给出了相关的时空折中复杂度结果[15].在 SCN 2018 上, 他们对 Feistel 扩展结构进行了量子中间相遇攻击, 结果显示量子计算机能够显著增加中间相遇攻击的能力[16].
国内方面在量子对称密码学领域研究的文献较少,Dong 等人在最近的《中国科学》上对一些扩展Feistel 结构作出了量子 Simon 算法攻击[17], 在最近的 Eprint 上, Dong 等人结合 Simon 算法对滑动攻击(Slide Attack) 进行了改进, 并对Feistel 的一些变体和GOST 进行了密钥恢复攻击[18].
从最近几年学术界发表的文献趋势来看, 分组密码结构的量子攻击方法研究已经成为各国密码学研究的热点领域.研究人员开始考虑到在量子计算模型下, 经典的分组密码结构是否能够达到一定的伪随机性,或者是否存在更为简单的通用性量子攻击算法.在当前已知的量子算法中, 对分组密码结构攻击最有效的是Simon 算法, 所以本文主要研究常见的分组密码结构抵抗Simon 量子算法攻击的安全性.
1.4 本文贡献
本文的工作分为以下几部分.
(1) 梳理针对现有分组密码结构的 Simon 量子算法攻击方法, 研究在 Simon 承诺无法完全满足时,Simon 算法的成功概率.证明了 Simon 算法中周期函数的一个特别性质, 即若一个随机函数f具有周期, 则该函数只存在唯一周期的概率几乎为1.
(2) 进一步具体地指出用 Simon 算法区分三轮 Feistel 结构时, 若 Feistel 结构中的第二轮的轮函数F为置换, 而其余两轮的轮函数为任意的函数, 就能够构造出完全满足 Simon 承诺的周期函数.而 Kuwakado 和 Morii 的文章则要求每一轮轮函数都为置换, 该结论也可以应用到对其他的类Feistel 分组密码结构, 包括对CAST256、RC6 结构的攻击上.
(3) 指出 Dong 等人所引用的 Simon 算法需要得到修改, 因为 Dong 等人的结果是基于 Kaplan 等人的算法, 但 Kaplan 等人的理论分析结果是在直接测量前n个量子比特的情形下获得的.而Dong 等的 Simon 算法是要先测量后n个量子比特, 再测量前n个量子比特, 根据量子纠缠理论, 这样将会使Kaplan 等人的分析结果更为复杂, 需要进一步的分析.
(4) 指出Dong 等人对类RC6 分组密码结构的Simon 攻击是不正确的, 并给出了正确的攻击过程.
(5) 在 CPA 模式下, 使用 Simon 量子算法将三轮 MISTY-L 与 MISTY-R 结构与随机置换区分.
(6) 论证了在量子 CPA 攻击下, 三轮 Lai-Massey 结构能够抵抗已知基于 Simon 量子算法的攻击.从抗Simon 量子算法攻击的角度讲, Lai-Massey 结构优于Feistel 结构.
2 基础知识
2.1 Simon量子算法
Simon 算法于 1994 年提出, 其对经典算法作出指数级的加速并启发了 Shor 算法的发现[2].Simon算法解决的问题对象被称为Simon 问题, 表述如下.
Simon 问题:给定一个布尔函数f:{0,1}n→{0,1}n, 满足条件x⊕y∈{0,s}⇔f(x)=f(y), 其中⊕表示二进制异或操作, 该条件称为Simon 承诺, 现在需求出n比特值s.
在经典计算模型下计算s, 根据生日界, 需要对f查询O(2n/2) 次.而 Simon 量子算法仅需要对f作出O(n) 次量子查询.Simon 算法的量子电路如图1 所示.
图1 Simon 量子算法Figure 1 Simon’s quantum algorithm
Simon 算法工作步骤如下:
(1) 将 2n个量子比特的初始状态设置为
(2) 对前n个量子比特进行 Hadamard 变换后, 2n个量子比特的状态转换为叠加态:
(3) 查询Uf后, 2n个量子比特的状态为:
(4) 对后n个量子比特进行测量, 得到f(x) 的一个n比特随机输出y, 根据f的性质, 存在一对原像 {x,x⊕s} 使得f(x)=f(x⊕s)=y, 所以前n个量子比特塌缩为
(5) 对前n个量子比特再一次应用Hadamard 变换后, 其状态为:
若y与s的内积y·s=1, 则根据量子相消干涉,的幅度为 0, 所以, 若测量得到一个n比特则必有y·s=0, 可以将y看作一个n比特的向量, 并将y的值存下来.
(6) 重复运行步骤 (1–5)n− 1 次, 我们得到n− 1 个与s正交的向量y1,··· ,yn−1, 令事件Ei,1 ≤i≤n−1 为前i个向量彼此独立的事件, 则有(排除掉向量 0), Pr[Ei|Ei−1]=
上面公式中最后一个极限可由数值软件计算得出, 即可以至少0.288 的概率得到n−1 个独立向量 {y1,··· ,yn−1}, 随后也就得到一个关于变量s的 (n−1) 个独立的线性方程, 可以在O(n3)的时间内用高斯消元法快速求解得到s.运行全算法m次, 寻找到正确的s的值的概率至少为1 −(1 −0.288)m, 当m=20 的时候, 算法成功的概率大于 0.99.
2.2 Simon承诺条件的弱化情形
在文献 [19]中, Santoli 和 Schaffner 观察到若f函数不完全满足 Simon 承诺, 只满足条件x⊕y=s⇒f(x)=f(y),s=0 时, 也可以使用Simon 算法来做区分攻击, 但是他们宣称弱化条件后的 Simon 算法的成功概率会下降, 这是因为在某些情况下无法得到一系列独立的线性方程.
在Simon 承诺条件弱化的情形下, Kaplan 等人也分析了Simon 算法成功的概率[12].在文献[17]中,Dong 等人使用 Simon 算法对 Feistel 的扩展结构, 包括 CAST256、RC6 等结构给出了区分攻击, 并结合 Leander 等人的思路给出了对应分组密码结构的密钥恢复攻击.在这里我们指出 Dong 等人的 Si-mon 算法需要得到修改, 因为其结果是基于 Kaplan 等人的算法, 但 Kaplan 等人的理论分析结果是在直接测量前n个量子比特的情形下获得的.若先测量后n个量子比特, 再测量前n个量子比特, 根据量子纠缠理论, 可能会影响Kaplan 等人的分析结果, 需要对算法成功概率作出进一步分析.
当 Simon 承诺不满足时, 可以从第 (4) 步开始修改 Simon 算法:
(4) 对前n个量子比特再一次应用Hadamard 变换.2n个量子比特状态为:
此时, 测量前n个量子比特得到 |y⟩的概率为:
由于f存在周期s, 若y·s= 1, 则py的值为 0.所以, 若测量得到一个n比特 |y⟩, 则必有y·s=0, 且py与具体的函数f满足 Simon 承诺的情形有关.
Kaplan 等人定义了一个指标来衡量一个函数与Simon 承诺完全满足时的距离[12].该指标定义如下:
定义 1对于一个存在周期s的函数f:{0,1}n→{0,1}n, 对任意的x都有f(x⊕s)=f(x), 令
在文献 [20]中, Daemen 和 Rijmen 给出, 对于一个随机的函数,
Kaplan 等人的主要工作是证明了如下定理.
定理 1如果ϵ(f,s) ≤p0< 1, 则 Simon 算法在经过cn次查询后, 得到正确s值的概率至少为
2.3 对Simon承诺中f函数的周期进一步研究
我们进一步研究发现, 若一个函数存在周期, 则该函数只存在唯一周期的概率接近1.
引理 1若存在一个n比特常数s0, 使得函数f:{0,1}n→{0,1}n满足条件x⊕y=s⇒f(x)=f(y), 则称s称为f的周期.在所有 {0,1}n→ {0,1}n的函数中, 存在周期s的函数个数为NN/2,N=2n.在所有存在周期s的函数中随机选取一个f,f存在唯一周期的概率为:
证明:令函数f的N个n比特输入集合为A, 由于A可以表示为:
根据f的性质, 有所以只需计算的可能取值的个数, 每一个f(xi) 值是从N个 {0,1}n值里选取, 所以存在周期s的函数集合M的大小为: |M|=NN/2.
在存在周期s函数f中, 如果存在使得f(xi) 的值与都不同,则f只存在唯一周期s.也就是说, 在函数f的值域中至少存在一个y,y的值与值域中其他所有的值都不同.这是因为若其存在另外一个周期有f(x)=f(x⊕t), 则有
由于f(xi) 的值与都不同, 且只有f(xi⊕s) 与f(xi) 相等, 若y∈/{xi,xi⊕s},必有与我们定义的条件矛盾.所以此时的f函数必然只存在唯一周期s.
令具有唯一周期s的函数f的集合为S, 令为都不同的函数的集合, 则根据容斥原理,
可以通过 Maple 数值计算软件得出, 当n≥ 4, 即N≥24时,P(n) > 0.99.P(n) 的值随n的大小如图2 所示.即当周期函数f的输入输出长度大于4 时, 其存在唯一周期的概率几乎为1.
3 常见分组密码结构的Simon量子算法攻击
在文献 [9]中, Kuwakado 和 Morii 首次将 Simon 量子算法应用到攻击 3 轮 Feistel 结构上, 他们的结果表明, 若3 轮Feistel 结构中的轮函数均为彼此独立的置换, 则3 轮的Feistel 结构与一个随机置换在多项式时间内可以区分[10].在经典计算模型下, 已证明3 轮Feistel 结构与一个随机置换在多项式时间内不可区分.随后在文献 [19]中, Santoli 等人给出了对Feistel 结构在内部函数为随机函数时的攻击方法,但并没有给出详细的理论分析.而Kaplan 等人的文章却给出详细的理论分析结果[12].
对一个分组密码结构Ek: {0,1}n→ {0,1}n使用 Simon 算法攻击时, 当前已知的方法都是基于Ek构造得到一个具有周期s的函数f, 攻击者可以对f进行量子叠加态查询, 并且获得了周期s就可以攻破该加密结构.当前基于Ek构造周期函数f的方法只有如下2 种:
3.1 对3轮Feistel结构的区分攻击
在文献 [9]中, Kuwakado 和 Morii 基于轮函数为置换的 3 轮 Feistel 结构, 构造了相应的周期函数,并给出对应攻击.3 轮 Feistel 结构E如图3 所示, 第i轮的输入为输出为令α0和α1为两个任意的常量, 构造得到的周期函数f为:
可以验证f(b,x)=f(b⊕1,x⊕F1(α0)⊕F(α1)), 即得到了一个周期为s=(1,F1(α0)⊕F1(α1)) 的函数.
图2 P(n) 的值Figure 2 Value of P(n)
图3 三轮 Feistel 结构Figure 3 Three-round Feistel structure
定理 2当F2为置换时, 若X1= (b1,x1),X2= (b2,x2) 且若f(X1) =f(X2), 则有X2=X1⊕s.
证明:因为若b1=b2=b∈ {0,1}, 由于f(X1) =f(X2), 所以F2(x1⊕F1(αb)) =F2(x2⊕F1(αb)).因为F2是一个置换, 必有x1=x2, 使得X1=X2, 与已知条件矛盾.所以b1=b2, 即b1=b2⊕1.
当b1=b2⊕1 时, 由于f(X1)=f(X2), 则有F2(x1⊕F1(αb1))=F2(x2⊕F1(αb2)).因为F2是一个置换, 必有x2=x1⊕F1(α0)⊕F1(α1).即X2=X1⊕s.
所以, 当 3 轮 Feistel 结构中的第二轮函数F2为一个置换时, 基于此方法构造得到的周期函数f完全满足Simon 承诺.当F2为一个随机函数时, Kaplan 等人给出了以近似1 的概率有此时根据定理1, 当c=3 时, 即运行 Simon 算法3n次时, 能够以近似 1 的概率找到函数f的正确周期s.
3.2 对类RC6结构Simon量子算法攻击的修正
在文献 [17]中, Dong 等人对 4 分支的 5 轮类 RC6 分组密码结构给出了 Simon 量子算法攻击, 同时对6 分支的7 轮类RC6 分组密码结构给出了Simon 量子算法攻击.
5 轮类 RC6 结构图如图4 所示.
图4 五轮 RC6-like 结构Figure 4 Five-round RC6-like structure
Dong 等人基于此结构构造出的周期函数f为
可以计算得出,f具有周期但该函数f不能够被用来构造成量子黑盒, 因为要获得该函数f的输出结果, 攻击者需要计算其中攻击者能够获取αb和但攻击者无法获取的值.这是因为攻击者无法访问f函数内部轮函数的输出中间变量.若攻击者能够访问f函数内部轮函数的输出, 则整个攻击变为平凡攻击.同样, Dong 等人对6 分支的7 轮类RC6 分组密码结构的Simon 量子算法攻击也是不正确的.
对4 分支的类RC6 分组密码结构, 基于5 轮类RC6 结构构造得到正确的f函数如下:
同理, 基于7 轮6 分支类RC6 分组密码结构构造得到的正确f函数如下:
在文献 [21,22]中, Moriai, Vaudenay 以及 Luo 等人的结果表明, 在经典计算模型下, 4 分支类 RC6 分组密码结构至少需要 10 轮才能达到伪随机性, 因此, 相对于经典攻击方法, 对类 RC6 结构进行Simon 量子算法攻击效果并不显著.
3.3 对MISTY-L和MISTY-R结构的Simon算法攻击
除了 Feistel 结构以外, 日本学者 MATSUI 参考 Feistel 结构提出了 MISTY 结构, 该结构被用在分组密码算法 MISTY1 上[23].在文献 [24]中, Gilbert 和 Minier 将 MISTY 结构划分为 MISTYL 和 MISTY-R 结构, 并且证明了 4 轮 MISTY-L 和 3 轮 MISTY-R 结构能够达到伪随机性.在这里我们基于3 轮MISTY-L 和MISTY-R 结构构造其对应的周期函数, 从而构造相应的Simon 量子算法攻击,3 轮 MISTY-L 和 MISTY-R 结构如图5 所示.
图5 三轮 MISTY-L 结构 (左) 与 MISTY-R 结构 (右)Figure 5 Three-round MISTY-L structure (Left) and MISTY-R structure (Right)
基于3 轮类MISTY-L 结构构造得到的f函数如下:
可以计算得出, 基于该构造得到的f函数具有周期
基于3 轮类MISTY-R 结构构造得到的f函数如下:
可以计算得出, 基于该构造得到的f函数具有周期
由于在 MISTY-L 和 MISTY-R 结构中,Fi为置换, 构造得到的f函数完全满足 Simon 承诺, 使得Simon 算法对这两个分组密码结构完全适用.
4 Lai-Massey结构抗Simon量子算法攻击分析
Lai-Massey 结构是由瑞士密码学家Vaudenay 对IDEA 算法的结构进行修改得到[25].原始的IDEA算法上层结构并不具有理论意义上的伪随机性, Vaudenay 对 IDEA 算法结构进行了微小改动, 添加了一个正形置换σ(x,y) = (y,x⊕y), 从而使该结构具有理论意义上的伪随机性, 并被称为 Lai-Massey 结构.Lai-Massey 结构被证明经过三轮迭代后具有伪随机性, 四轮迭代后具有强伪随机性, 其结构如图6 所示.
图6 三轮 Lai-Massey 结构, σ(x,y)=(y,x ⊕y)Figure 6 Three-round Lai-Massey structure
相比 Feistel 结构, 对 Lai-Massey 结构的通用性攻击研究文献较少.在文献 [26]中, Luo 等人最先给出了对 Lai-Massey 结构的 2 轮伪随机性区分器和 3 轮强伪随机性区分器.在 2011 年的 DCC 上,韩国 Yun 等人认为 Lai-Massey 结构和 Feistel 结构具有相同的安全性, 属于同一家族, 并将该家族命名为 quasi-Feistel 结构.他们宣称在 Luby-Rackoff 模型下, 作为一个分组密码设计, Lai-Massey 结构与 Feistel 结构相比不具备优势[27].这样的宣称就使学术界认为 Lai-Massey 结构只是 Feistel 结构的一种变换结构, 分组密码结构设计者使用Lai-Massey 结构来设计算法, 相比Feistel 结构没有优势.
在文献[28]中, Luo 等人指出, 在5 轮迭代以内, Lai-Massey 结构与Feistel 结构相比, 对抗已知通用性攻击能力更强.他们采用了Patarin 对Feistel 结构分析中所使用的4-Point 攻击技术对Lai-Massey 结构进行攻击.结果表明 Patarin 对 Feistel 结构的部分攻击在 Lai-Massey 结构上并不成立.攻击者攻击3 轮、4 轮、5 轮 Lai-Massey 结构的查询复杂度和计算复杂度普遍要高于 Feistel 结构.这一结果表明了Lai-Massey 结构抗现有通用攻击的能力更强.
从已有对分组密码结构进行 Simon 攻击的步骤可以得出, 如果基于一个分组密码结构可以构造一个周期函数即x与x⊕s对于函数f发生了碰撞, 因为f的内部组件是分组密码结构, 则必定在分组密码结构内部状态处发生了碰撞, 并且该碰撞值被用来构造周期函数f的输出值.
由于Simon 量子攻击过程中需要获取周期函数f的输出, 若不能获取f的输出值, 则无法构造量子黑盒提供攻击者进行量子查询.在本文第3 节对3 轮Feistel 结构的Simon 算法攻击中, 攻击者可以由明密文对生成Feistel 结构的第二轮轮函数F2的碰撞, 并且该碰撞值可以由明文和密文计算得出, 继而构造周期函数.若对一个分组密码结构进行选择明文攻击时, 尽管在某未知状态处能够产生碰撞, 但若无法由选择明密文计算得出该碰撞值, 则该碰撞特性不能够用在构造周期函数中, 使得其能够抵抗Simon 量子攻击.
下面, 我们将论证三轮 Lai-Massey 结构在选择明文攻击下, 其内部的任一未知状态都不能够由明密文对计算得出.由图6 可以得出, 一轮Lai-Massey 结构实际上只产生一个未知状态, 即轮函数Fi的输出,三轮 Lai-Massey 结构实际上共有三个未知状态, 即轮函数F1,F2,F3的输出值u,v,w, 而其他的状态都可以由明密文和这三个未知状态计算得到.
在选择明攻击中, 攻击者可以生成一系列明密文对:
由Lai-Massey 结构的计算过程可以得出对于明密文对(ai∥bi,gi∥hi), 其对应的三个未知状态ui,vi,wi分别为:
由于攻击者无法获取三轮Lai-Massey 结构内部轮函数F1,F2,F3的任一输出值, 所以三个基本的未知状态ui,vi,wi中任意一个值都无法由选择明密文对计算得出.这样, 即使攻击者能够在某未知状态处产生碰撞, 但由于该碰撞值无法由选择明密文对计算得出, 无法使用该特性构造碰撞函数, 继而无法构造周期函数, 所以三轮Lai-Massey 结构能够抵抗Simon 量子算法攻击.
Lai-Massey 结构与 Feistel 结构在计算效率上相差无几, 二者都可以通过修改密钥调度来实现相同的加解密过程.在经典计算模型下, 从已有的结果可以得出Lai-Massey 结构比Feistel 结构对抗已有通用攻击更强, 本文结果又表明在量子CPA 模型下, 相比Feistel 结构, Lai-Massey 结构抵抗Simon 量子算法攻击的能力更强, 所以Lai-Massey 结构在分组密码算法的设计中是一个较好的候选结构.
5 结论
本文对 Simon 量子算法作出进一步分析, 证明了当Simon 承诺不完全满足时, 一个具有周期的随机函数存在唯一周期的概率接近 1.本文同时指出对 Feistel 结构及其扩展结构应用 Simon 算法时, 只需要中间的轮函数为置换, 就可以构造出完全满足 Simon 承诺的周期函数.本文也总结了 Simon 量子算法对常见分组密码结构的攻击步骤, 修正了Dong 等人对 RC6 算法结构攻击中的错误, 对三轮 MISTYL 和MISTY-R 成功进行了区分攻击.最后, 本文论证了在量子 CPA 模型下, 三轮 Lai-Massey 结构能够抵抗Simon 量子算法攻击.当前结果表明了在抵抗已知攻击时, 同样轮数的Lai-Massey 结构的安全性要强于 Feistel 结构.我们建议分组密码算法设计者采用 Lai-Massey 结构, 以同样的轮数达到更高的安全性.