Iterative Block Decision Feedback Equalizer with Soft Detection for Underwater Acoustic Channels
-
摘要: 在单载波频域均衡水声通信系统中,混合结构的时-频域判决反馈均衡器(H-DFE)计算复杂度高,不利于实时实现;而基于硬判决的块迭代判决反馈均衡器(HD-IBDFE)存在错误符号判决造成系统性能下降问题,同时需要估计判决符号和发射数据之间的互相关函数。该文对水声通信中基于软判决的块迭代判决反馈均衡(SD-IBDFE)接收机算法进行了研究,通过对均衡器输出信号进行软判决,并将符号软信息进行反馈,提高了系统性能,同时采用迭代信道估计方法来适应水声信道的时变性。通过仿真比较得出,该方法在水声信道条件下明显优于HD- IBDFE。对湖上试验数据处理结果表明,在浅水1.8 km通信距离下,单通道无编码QPSK调制可实现10-3的误码率并达到3000 bps的有效数据率。Abstract: In single-carrier modulation system with frequency domain equalization, Decision Feedback Equalizer with a Hybrid time-frequency structure (H-DFE) is attractive for its performance; the complexity is also significant, especially for very dispersive channels. Iterative Block Decision Feedback Equalizer with Hard Detection (HD-IBDFE) system performance degrades caused by errors in symbol decision and it needs to calculate the correlation factor of the transmitted and hard detected data. To solve these problems, Iterative Block Decision Feedback Equalizer with Soft Detection (SD-IBDFE) is introduced to improve the system performance. The receiver feedbacks the soft information of the equalizers output. The iterative channel estimation is adopted in order to deal with the time-varying underwater acoustic channels. Simulation results show that SD-IBDFE is superior to HD-IBDFE obviously for underwater acoustic channel. One underwater acoustic communication system is designed and tested in the lake. At a distance of 1.8 km with complex channel condition, the useful data rate of around 3000 bps is achieved with uncoded bit error rates10-3inlake experiment.
-
1. 引言
万物联网的需求使得无线传感器、智能卡和RFID标签等受限设备的应用越来越广泛。针对资源受限环境下数据安全和隐私保护问题,兼顾安全和效率的轻量级密码算法的设计和分析成为研究热点。2013年6月,美国国家安全局提出了分别适用于软件和硬件环境的轻量级分组密码算法SIMON和SPECK[1]。这两种算法一经提出,就受到广泛关注。随后,在CHES 2015上,Yang等人[2]提出了一种新的轻量级分组密码Simeck算法。Simeck结合了SIMON和SPECK设计上的优点,在软件及硬件方面都有出色的表现。
针对Simeck算法安全性的分析,最初由设计者给出了Simeck算法差分分析和不可能差分分析的结果[2]。随后,Bagheri[3]对Simeck算法抗线性攻击的能力进行了评估。2016年,文献[4]针对Simeck48和Simeck64,给出了成功概率为1的差分分析的更好结果。随后,Blondeau等人[5]给出了更长轮数带概率的差分分析结果。2018年,Zhang等人[6]给出了Simeck算法零相关线性攻击的结果。对Simeck算法的积分攻击首先由文献[7]提出,Zhang等人[7]构造了Simeck算法的积分区分器,分别给出了21/21/24轮Simeck32/48/64算法的积分攻击。
积分攻击是一种有效的选择明文攻击。1997年,Daemen等人[8]提出一种新的分析方法攻击SQUARE算法。2001年,Lucks[9]提出Saturation攻击,同年,Biryukov等人[10]提出了Multiset攻击。随后,Knudsen等人[11]在FSE 2002上提出了积分攻击的思想。积分攻击的原理是加密特定形式的选择明文,再对所得密文求和,通过积分值的不随机性将密码算法与随机置换区分开。积分攻击成功的关键是建立有效的积分区分器,近年来,提出了很多新的自动化算法搜索积分区分器,大大加快了积分区分器的搜索效率,提高了积分攻击的成功率。
本文对Simeck48和Simeck64在积分攻击下的安全性进行研究。首先,在文献[7]给出的Simeck48算法13轮积分区分器的基础上,标记区分器内部比特的状态,利用文献[12]提出的由内向外的扩展方法,向前解密2轮得到Simeck48算法15轮的高阶积分区分器,再根据Simeck算法Feistel的结构特点,在顶部加1轮得到16轮的积分区分器。然后利用该区分器,给出了24轮Simeck48算法的积分攻击。密钥恢复过程中利用等价子密钥技术和密钥扩展算法的性质减少了密钥猜测量,攻击过程结合中间相遇思想和部分和技术,降低了整个攻击算法的计算复杂度。攻击24轮Simeck48算法的时间复杂度为295,数据复杂度为246,存储复杂度为282.52。同样地,对于Simeck64算法,构造了20轮高阶积分区分器,部分解密9轮,猜测得到2104个105 bit等价子密钥,在此基础上穷举23 bit等价子密钥,实现密钥的恢复。攻击29轮Simeck64数据复杂度为263,时间复杂度为2127.3,存储复杂度为2109.02。
本文的结构安排如下:第2节简要介绍Simeck算法,给出密钥扩展算法的性质和安全性分析的结果;第3节给出Simeck48算法积分攻击的具体过程和复杂度计算;第4节给出Simeck64算法积分攻击的新结果;第5节总结全文。
2. Simeck算法
文中用到的符号说明如表1所示。
表 1 符号说明符号 说明 Simeck2n(4n) 分组为2n,密钥为4n的Simeck算法 Li 第i轮左半部分输入nbit Li(j) Li第j bit Ri 第i轮右半部分输入nbit Ri(j) Ri第j bit K 主密钥K=(K3,K2,K1,K0) rki 第i轮nbit的轮子密钥 ⊕ 异或运算 &,⊙ 与运算 <<<r, >>>r 循环左移、右移rbit 2.1 Simeck算法的轮函数
Simeck算法是文献[2]提出的轻量级分组密码,设计思想结合了SIMON和SPECK算法的优点。为了满足不同的应用需求,Simeck算法按照分组长度和密钥长度的不同分为3个版本Simeck2n(4n), n=16, 24, 32,每个版本的Simeck参数如表2所示。
表 2 Simeck算法的参数算法 分组长度 密钥长度 字长 轮数 Simeck 32 64 16 32 48 96 24 36 64 128 32 44 Simeck算法采用Feistel结构,其轮函数与SIMON算法类似,只有与运算,异或和循环移位操作,唯一的区别是循环移位常数不同。轮函数的迭代过程如图1所示,可以表示如式(1)
Ri+1=LiLi+1=f(Li)⊕Ri⊕rki} (1) 其中,
f(x)=(x⊙(x<<<5))⊕(x<<<1) 。2.2 Simeck算法的密钥扩展算法
Simeck2n(4n)的密钥扩展算法借鉴SPECK算法,密钥迭代算法使用线性反馈移位寄存器(LFSR)来产生轮子密钥,初始主密钥K包含4个nbit字
(K3, K2,K1,K0) ,作为LFSR的初始状态(t2,t1,t0,rk0) 。为了更新寄存器状态以生成轮子密钥,复用轮函数并使用轮常数ci 作为轮密钥。对于0≤i<T−1 ,状态更新过程如式(2)rki+1=tici=c⊕(zj)iti+3=rki⊕f(ti)⊕ci} (2) 其中,
c=2n−4 ,(zj)i 是序列zj 的第i bit。Simeck32(64)和Simeck48(96)使用同一个m-序列z0 , Simeck64(128)则使用另外一个m-序列z1 。对于Simeck2n(4n),通过研究Simeck密钥扩展算法的规律不难发现,开始4轮的密钥
rk0 ,rk1 ,rk2 ,rk3 分别等于K0 ,K1 ,K2 ,K3 , 且rki+4 只由rki ,rki+1 和ci 决定,与其它轮子密钥无关。基于上述发现,本文给出密钥扩展算法的性质。性质1 对于Simeck2n(4n)算法,当
0≤i≤ T−4 时,rki=rki+4⊕f(rki+1)⊕ci 。证明 当
i≥3 时,联立Simeck密钥扩展算法的式(2),可得rki+1=ti=rki−3⊕f(ti−3) ⊕ci−3 。此外,由式(2)可知,ti−3=rki−2 。因此,rki+1 可以由rki−3 ,rki−2 和ci−3 唯一表示rki+1=rki−3⊕f(rki−2)⊕ci−3 (3) 即对于任意的
0≤i≤T−4 ,都有rki+4=rki ⊕f(rki+1)⊕ci 。等式两边同时异或rki+4⊕rki ,成立rki=rki+4⊕f(rki+1)⊕ci (4) 证毕
更进一步,如果需要求解
rki 的某一特定比特,则有以下性质。性质2 对于Simeck2n(4n)算法,当
0≤i≤ T−4 ,0≤j<n 时,rki(j)=rki+4(j)⊕(rki+1(j) ⊙rki+1((j−5)modn))⊕rki+1((j−1)modn)⊕ci(j) 。根据Simeck密钥扩展算法的性质,可以利用轮数较高的轮子密钥来求解轮数较低的轮子密钥,进而减少攻击过程中密钥的猜测量。
2.3 Simeck算法的安全性分析
Simeck48和Simeck64算法的安全性分析主要集中在差分和线性攻击,不可能差分和零相关攻击,积分攻击等。表3,表4分别列出了对Simeck48, Simeck64主要攻击结果。
表 3 Simeck48的主要攻击结果算法 攻击方法 攻击轮数 数据复杂度 存储复杂度 时间复杂度 成功概率 参考文献 Simeck48(96) 差分攻击 20 O(246) – 275 1 文献[2] Simeck48(96) 差分攻击 26 O(247) – 262 1 文献[4] Simeck48(96) 差分攻击 28 O(246) – 268.3 0.468 文献[5] Simeck48(96) 线性攻击 19 O(245) – 294 1 文献[3] Simeck48(96) 不可能差分 24 O(248) O(274) 294.7 1 文献[2] Simeck48(96) 零相关攻击 24 O(248) O(265.06) 291.6 1 文献[6] Simeck48(96) 积分攻击 21 O(234) O(266) 295 1 文献[7] Simeck48(96) 积分攻击 24 O(246) O(282.52) 295 1 本文 表 4 Simeck64的主要攻击结果算法 攻击方法 攻击轮数 数据复杂度 存储复杂度 时间复杂度 成功概率 参考文献 Simeck64(128) 差分攻击 26 O(263) – 2121 1 文献[2] Simeck64(128) 差分攻击 33 O(263) O(263) 296 1 文献[4] Simeck64(128) 差分攻击 35 O(263) – 2116.3 0.555 文献[5] Simeck64(128) 线性攻击 27 O(261) – 2120.5 0.477 文献[3] Simeck64(128) 不可能差分 25 O(264) O(279) 2126.6 1 文献[2] Simeck64(128) 零相关攻击 28 O(264) O(297.67) 2123.06 1 文献[6] Simeck64(128) 积分攻击 24 O(235) O(290.46) 2127 1 文献[7] Simeck64(128) 积分攻击 29 O(263) O(2109.02) 2127.3 1 本文 3. 24轮Simeck48算法的积分攻击
3.1 Simeck48算法的积分区分器
对于Simeck48算法,文献[7]构造了13轮的积分区分器。具体形式为
(ACCC,ACCC,AACC,AAAC,A,A,ACCA,ACCA,AACA,A,A,A)→(U,U,U,U,U,U,∗B∗∗,U,U,U,U,U) 其中,
A 表示4个活动比特,A 表示1个活动比特,C 表示1 bit的固定值,U表示4 bit的任意值,∗ 表示1 bit的任意值,B表示1个平衡比特。区分器的输入有34个活动比特,区分器输出状态中右半部分第22个比特CR(22) 是平衡的。在该积分区分器的基础上,用“1”标记比特活跃,用“0”标记常数比特,得到向量(1000, 1000, 1100, 1110, 1111, 1111, 1001, 1001, 1101, 1111, 1111, 1111)刻画算法的积分状态,利用文献[12]提出高阶积分的扩展方法,向前解密2轮得到15轮的高阶积分区分器,区分器的输入形式为:
(ACAA,ACAA,A,A,A,A,A,A,A,A,A,A) ,有46个活动比特,区分器输出状态中右半部分第22个比特CR(22) 仍是平衡的。进一步,基于Feistel结构,令
(L1,R1)= (ACAA,ACAA,A,A,A,A,A,A,A,A,A,A) ,可以向前扩展1轮得到16的高阶积分区分器。区分器的输入(L0,R0)=(R1,f(R1)⊕L1) ,区分器输出状态中右半部分第22个比特CR(22) 是平衡比特。利用该区分器向后加8轮,可以攻击24轮的Simeck48算法。攻击过程中利用等价子密钥技术和密钥扩展算法的性质减少密钥猜测量,结合中间相遇思想和部分和技术,降低攻击的复杂度。3.2 降低复杂度的技术
(1) 等价子密钥技术
等价子密钥技术是由Isobe等人[13]在ASIACRYPT 2013首次提出,结合Simeck算法轮函数的具体运算,把第
i 轮的子密钥rki 移动到第i−1 轮,其中i=17,18,···,24 ,可以得到等效子密钥K′i 。如图2所示,以rk23 为例。图2(a)为Simeck算法本来的结构,为了等效移动
rk23 而不改变算法结构,rk23 需要异或到相应位置,如图2(b)所示。此外,rk23 可以进一步转移,与rk22 异或,如图2(c)所示。因此,rk23 等价于K′23 ,同样地,可以通过类似的处理进行移动,即rk22⊕(rk23<<<1) 等价于K′22 。以此类推,K′i 仅与rki 有关,并且这种关系是线性的。在攻击过程中,注意到K′16 在区分器内部,所以恢复密钥时不需要猜测。(2) 中间相遇策略
根据积分攻击的原理,对猜测的子密钥,如果
⊕R16(22)=0 ,那么猜测值是候选密钥。因此,进行部分解密的目标是找到使得⊕R16(22)=0 子密钥比特。根据Feistel结构特性式(5)成立⊕R16(22)=⊕((L16(22)⊙L16(17))⊕L16(21)⊕L17(22)) (5) 进一步
⊕R16(22)=⊕((L16(22)⊙L16(17))⊕L17(22)⊕R17(21)) (6) 因此,
⊕R16(22)=0 等价于⊕((L16(22)⊙L16(17))⊕L17(22)=⊕R17(21) (7) 这个过程如图3所示。
采用中间相遇策略,独立计算
⊕((L′16(22) ⊙L′16(17))⊕L′17(22)) ,将所有猜测的密钥和结果一起存储在表Tb1 中;独立计算⊕R′17(21) ,并将猜测的密钥和结果存储在另一个表Tb2 ,其中,L′i 和R′i 表示使用了等价子密钥技术后的中间状态。最后,通过检查这两个表之间的匹配得到正确的候选密钥,从而降低复杂度。在计算过程中,使用部分和技术来降低时间复杂度。(3) 部分和技术
部分和技术是Ferguson等人[14]在FSE 2000提出的,用以改进对Rijndael算法的攻击结果,随后,部分和技术广泛应用于分组密码的积分攻击[15,16]。下面具体给出利用部分和技术恢复Simeck48密钥的过程。
3.3 Simeck48算法的密钥恢复过程
攻击最终的目标是恢复Simeck48的96-bit密钥,需要独立计算
⊕((L′16(22)⊙L′16(17))⊕L′17(22)) 和⊕R′17(21) ,分别存储在表Tb1 和表Tb2 中。(1) 计算表
Tb1 的过程计算
⊕((L′16(22)⊙L′16(17))⊕L′17(22)) ,总共需要猜测79 bit 密钥,具体过程如图4所示。(a) 对于224个猜测密钥
K′23 和246个密文,设置241个1 bit计数器Re1 ,计算得到L′22(1,2,5∼7,9∼ 22)||R′22(0∼2,4∼22) 的值,给相应的计数器的值增加1,保留计数器的值为奇数的那些值。这一步的时间复杂度为246×224×1/24+246×224×22/ (24×24)≈266.42 。(b) 对于222个猜测密钥
K′22(0∼2,4∼22) 和保留下来的Re1 的位置,设置233个1 bit计数器Re2 ,计算得到L′21(2,6,7,10∼12,14∼17,19∼22)||R′21 (1,2,5∼7,9∼22) 的值,保留计数器的值为奇数的那些值。这一步的时间复杂度为246×241×19/(24× 24)≈282.08 。(c) 对于210个猜测密钥
K′21(1,2,6,7,11,12,16, 17,21,22) 和保留下来的Re2 的位置,设置230个1 bit计数器Re3 ,计算L′20(5,7,9∼22)||R′20(2,6, 7,11,12,16,17,21,22)||L′21(10,14,15,19,20) 的值,保留计数器的值为奇数的那些值。这一步的时间复杂度为256×233×9/(24×24)≈283.00 。(d) 对于27个猜测密钥
K′21(5,9,10,14,15,19, 20) 和保留下来的Re3 的位置,设置223个1 bit计数器Re4 ,计算得到L′20(7,11,12,15∼17,20∼22)|| R′20(2,6,7,10∼12,14∼17,19∼22) 的值,保留计数器的值为奇数的那些值。这一步的时间复杂度为263×230×5/(24×24)≈286.15 。(e) 对于27个猜测密钥
K′20(6,10,11,15,16,20, 21) 和保留下来的Re4 的位置,设置218个1 bit计数器Re5 ,计算得到L′19(2,6,7,11,12,16,17,21,22)|| R′19(11,15,16,20,21)||R′20(7,12,17,22) 的值,保留计数器的值为奇数的那些值。这一步的时间复杂度为270×223×5/(24×24)≈286.15 。(f) 对于25个猜测密钥
K′20(2,7,12,17,22) 和保留下来的Re5 的位置,设置214个1 bit计数器Re6 ,计算得到L′19(12,16,17,21,22)||R′19(7,11,12,15∼ 17,20∼22) 的值,保留计数器的值为奇数的那些值。这一步的时间复杂度为275×218×4/(24 ×24)≈285.83 。(g) 对于27个密钥
K′19(7,11,12,16,17,21,22) 和保留下来的Re6 的位置,由密钥扩展算法的性质1和性质2可知,因为K′19=rk19⊕(rk20<<<1) ,rk19=rk23⊕f(rk20)⊕c19 ,又根据等价子密钥与原始子密钥的线性关系,rk23 和rk20 可以由已经猜测的密钥比特直接算出,所以K′19(7,11,12,16,17, 21,22) 不需要猜测。而且计算过程与中间状态无关,所以相较于解密过程,计算复杂度忽略不计。设置27个1 bit计数器Re7 ,计算得到L′18(17,22)|| R′18(12,16,17,21,22) 的值,给相应的计数器的值增加1,保留计数器的值为奇数的那些值。这一步的时间复杂度为275×214×5/(24×24)≈282.15 。(h) 对于23个密钥
K′18(12,17,22) 和保留下来的Re7 的位置,与第(g)步类似,根据密钥扩展算法的性质和等价子密钥与原始子密钥的关系,可知计算K′18(12,17,22) 的复杂度忽略不计。设置23个1 bit计数器Re8 ,计算得到L′17(22)||R′17(17,22) 的值,保留计数器的值为奇数的那些值。这一步的时间复杂度为275×27×2/(24×24)≈273.83 。(i) 对于密钥
K′17(17,22) 以及保留下来的Re8 的位置,猜测4-bitK′20(14,19) 和K′21(13,18) ,计算出K′17(17,22) 这2-bit 的密钥值,计算复杂度约为3轮Simeck48加密运算。计算得到((L′16 (22)⊕K′17(22))⊙(L′16(17)⊕K′17(17)))⊕L′17(22) 的值,和猜测的密钥比特一起存储在表Tb1 。这一步的时间复杂度为279×23×1/(24×24)+279×3× 2/(24×24)≈273.64 。(2) 计算表
Tb2 的过程计算
⊕R′17(21) ,总共需要猜测65 bit密钥,具体过程下所示。(a) 对于222个猜测密钥
K′23(0,1,3∼21,23) 和246个密文,设置233个1 bit计数器Re1 ,计算得到L′22(1,5,6,9∼11,13∼21)||R′22(0,1,4∼6,8∼21) 的值,给相应的计数器加1,保留计数器的值为奇数的值。这一步时间复杂度为246×222×22/(24× 24)+246×222×19/(24×24)≈263.29 。(b) 对于219个猜测密钥
K′22(0,1,4∼6,8∼ 21) 和保留下来的Re1 的位置,设置225个1 bit计数器Re2 ,计算得到L′21(6,10,11,14∼16,18∼21)|| R′21(1,5,6,9∼11,13∼21) 的值,给相应计数器的值增加1,保留计数器的值为奇数的值。这一步时间复杂度为241×233×15/(24×24)≈268.74 。(c) 对于215个
K′21(1,5,6,9∼11,13∼21) 和保留下来的Re2 位置,设置216个1 bit计数器Re3 ,计算L′20(11,15,16,19∼21)||R′20(6,10,11,14∼16,18∼ 21) 的值,保留计数器的值为奇数的值。时间复杂度为256×225×10/(24×24)≈275.15 。(d) 对于29个猜测密钥
K′20(6,10,11,14∼16, 19∼21) 和保留下来的Re3 的位置,设置29个1 bit计数器Re4 ,计算得到L′19(10,16,21)||R′19(11,15,16, 19∼21) 的值,给相应的计数器的值增加1,保留计数器的值为奇数的那些值。这一步的时间复杂度为265×216×6/(24×24)≈274.42 。(e) 对于25个密钥
K′19(11,15,16,20,21) 和保留下来的Re4 的位置,因为K′19=rk19⊕(rk20<<<1) ,由性质1可知rk19=rk23⊕f(rk20)⊕c19 ,又根据等价子密钥与原始子密钥的关系,rk23 和rk20 可以由已经猜测的密钥比特直接算出,所以K′19(11,15,16,20, 21)不需要猜测。计算过程与中间状态无关,所以相较于解密过程,计算复杂度可以忽略不计。设置24个1 bit计数器Re5 ,计算得到L′18(21)||R′18(10, 16,21)的值,给相应的计数器的值增加1,保留计数器的值为奇数的那些值。这一步的时间复杂度为265×29×3/(24×24)≈266.42 。(f) 对于密钥
K′18(16,21) 和保留下来的Re5 的位置,密钥K′18(16,21) 可以由已经猜测的密钥比特唯一解出,计算复杂度约为加密2轮Simeck48运算。计算得到⊕R′17(21) 的值,和猜测的密钥一起存储在表Tb2 中。时间复杂度为265×24×1/(24×24)+ 265×(2×2)/(24×24)≈260.15 。因为只考虑1个平衡比特,所以总的密钥候选空间从
265+14+0=279 减少到278。再加上剩余的K′20(0,1,3,4,5,7,8,13,18,23) ,K′21(0,3,4,8,23) 和K′22(1,23) 这17 bit的密钥,仍然有295个候选密钥。针对这295个候选密钥检测明密文是否匹配,进一步根据等价子密钥和轮子密钥的关系和密钥扩展算法,可以由轮子密钥解出正确的主密钥。24轮Simeck48算法的积分攻击的过程可以概括如下:
步骤 1 构造一个包含246个明文的集合,该集合中的明文满足以下性质:加密1轮后的输出形式为
(ACAA,ACAA,A,A,A,A,A,A,A,A,A,A) 。进一步,加密明文获得相应密文;步骤 2 猜测子密钥
K′i(17≤i≤23) 的部分比特,并且部分解密246个密文8轮来计算⊕((L′16(22) ⊙L′16(17))⊕L′17(22)) ,计算结果和79 bit猜测密钥一起存储在表Tb1 中;步骤 3 猜测
K′i(18≤i≤23) 的部分比特,并且部分解密246个密文7轮来计算⊕R′17(21) ,计算结果和65 bit猜测密钥一起存储在表Tb2 中;步骤 4 对每个候选的子密钥,猜测
K′i(20≤ i≤23) 剩余的17 bit密钥,根据性质1计算得到主密钥,利用两组明密文对检查密钥的正确性,筛选得到正确的主密钥。3.4 复杂度计算
24轮Simeck48积分攻击的数据复杂度为246个选择明文。
构造
Tb1 和Tb2 的时间复杂度分别为287.75 和275.83 ,所以攻击过程中步骤2和步骤3总的时间复杂度为287.75+275.83≈287.75 次24轮Simeck48加密,而步骤4的时间复杂度为295次24轮Simeck48加密。所以,总的攻击时间复杂度约为295次24轮Simeck48加密。存储的内容包括
Tb1 和Tb2 。对于Tb1 ,存储复杂度为282.52 Byte。对于Tb2 ,存储复杂度为268.19 Byte。所以,总的存储复杂度约为282.52 Byte。4. 29轮Simeck64算法的积分攻击
文献[7]中给出Simeck64算法15轮积分区分器,区分器的输入形式为:
(ACCC,CCCC,CCCC, ACCC,AACC,AAAC,A,A,ACCC,CCCA,CCCA, ACCA,AACA,A,A,A) ,区分器输出状态中右半部分第28个比特CR(28) 是平衡的。在该积分区分器基础上,向前做高阶积分扩展,得到19轮的积分区分器(AAAC,A,A,A,A,A,A,A,A,A,A,A,A,A, A,A) ,进一步,基于算法 Feistel结构,可以向前扩展1轮得到20轮的高阶积分区分器。利用该区分器,攻击29轮的Simeck64算法。攻击过程与3.3节类似。在部分解密9轮Simeck64算法恢复密钥的计算过程中,使用部分和技术和密钥扩展算法的性质来降低时间复杂度。猜测得到2104个105 bit等价子密钥,在此基础上穷举23 bit等价子密钥,从而实现全密钥的恢复。29轮Simeck64积分攻击的数据复杂度为263,时间复杂度为2127.3次,存储复杂度为2109.02。
5. 结束语
本文给出了轻量级分组密码算法Simeck积分攻击的新结果。在已有积分区分器的基础上,通过向前做高阶积分扩展,分别得到16轮Simeck48和20轮Simeck64算法的积分区分器。利用等价子密钥技术、中间相遇策略,结合部分和技术和密钥扩展算法的性质,实现了24轮Simeck48和29轮Simeck64的积分攻击。与已有积分攻击的结果相比,本文明显提高了Simeck48和Simeck64算法积分攻击的轮数,分别提高了3轮和5轮。下一步如何利用减少复杂度的技术推广积分攻击算法的应用范围,将是值得研究的工作。
-
ZHENG Y R, XIAO C S, YANG T C, et al. Frequency- domain channel estimation and equalization for shallow- water acoustic communications[J]. Physical Communication, 2010, 3(1): 48-63. doi: 10.1016/j.phycom.2009.08.010. XIA M L, ROUSEFF D, RITCEY J A, et al. Underwater acoustic communication in a highly refractive environment using SCFDE[J]. IEEE Journal of Oceanic Engineering, 2013, 29(3): 491-499. doi: 10.1109/JOE.2013.2257232. FALCONER D, ARIYAVISITAKUL S L, BENYAMIN- SEEYAR A, et al. Frequency domain equalization for single-carrier broadband wireless systems[J]. IEEE Communications Magazine, 2002, 40(4): 58-66. doi: 10.1109 /35.995852. BENVENUTO N and TOMASIN S. Iterative design and detection of a DFE in the frequency domain[J]. IEEE Transactions on Communications, 2005, 53(11): 1867-1875. doi: 10.1109/TCOMM.2005.858666. BENVENUTO N, DINIS R, FALCONER D, et al. Single carrier modulation with nonlinear frequency domain equalization: an idea whose time has come again[J]. Proceedings of the IEEE, 2010, 98(1): 69-96. doi: 10.1109/ JPROC.2009.2031562. AL-IESAWI S A, AHMED M S, and SALMAN T M. Iterative block DFE (IBDFE) and IC techniques based chip- level multiple access systems[C]. Electrical, Communication, Computer, Power, and Control Engineering International Conference 2013, Mosul, Iraq, 2013: 42-45. doi: 10.1109/ ICECCPCE.2013.6998768. ASSUNO J, SILVA A, DINIS R, et al. IB-DFE-based receivers for MC-CDMA systems with interference alignment[C]. 2014 IEEE Symposium on Computers and Communication, Funcha, Portugal, 2014: 1-6. doi: 10.1109/ ISCC.2014.6912557. 张磊, 蒋伟, 项海格. 一种单载波频域均衡输出符号的软信息计算方法[J]. 电子与信息学报, 2008, 30(8): 1806-1809. ZHANG Lei, JIANG Wei, and XIANG Haige. A soft output information calculation method for SC-FDE[J]. Journal of Electronics Information Technology, 2008, 30(8): 1806-1809. ZHANG C, WANG Z C, PAN C Y, et al. Low-complexity iterative frequency domain decision feedback equalization[J]. IEEE Transactions on Vehicular Technology, 2011, 60(3): 1295-1301. doi: 10.1109/TVT.2011.2109017. 顾晨阳, 杨瑞, 盛文钦, 等. 单载波频域均衡系统中一种简化的IBDFE算法[J]. 电子学报, 2014, 42(9): 1699-1704. doi: 10.3969/j.issn.0372-2112.2014.09.006. GU Chenyang, YANG Rui, SHENG Wenqin, et al. A simplification of IBDFE algorithm in single carrier frequency domain equalization system[J]. Acta Electronica Sinica, 2014, 42(9): 1699-1704. doi: 10.3969/j.issn.0372-2112.2014.09.006. PEDROSA P, DINIS R, NUNES F, et al. Joint frequency domain equalisation and phase noise estimation for single- carrier modulations in doubly-selective channels[J]. IET Communications, 2015, 9(8): 1138-1146. doi: 10.1049/ iet-com.2014.0900. PEDROSA P, DINIS R, and NUNES F. Joint equalization and phase drift compensation for the underwater acoustic channel[C]. IEEE Vehicular Technology Conference Fall, Vancouver, BC, Canada, 2014: 1-6. doi: 10.1109/VTCFall.2014. 6966029. HE C B, HUANG J Q, ZHANG Q F, et al. Single carrier frequency domain equalizer for underwater wireless communication[C]. WRI International Conference on Communications and Mobile Computing, Kunming, China, 2009: 186-190. doi: 10.1109/CMC.2009.24. 何成兵, 黄建国, 孟庆微, 等. 基于扩频码的单载波迭代频域均衡水声通信[J]. 物理学报, 2013, 62(23): 234301. doi: 10.7498/aps.62.234301. HE Chengbing, HUANG Jianguo, MENG Qingwei, et al. PN-based single carrier block transmission with iterative frequency domain equalization over underwater acoustic channels[J]. Acta Physica Sinica, 2013, 62(23): 234301. doi: 10.7498/aps.62.234301. SUN H X, GUO Y H, KUAI X Y, et al. Iterative block DFE for underwater acoustic single carrier system[J]. China Communications, 2012, 9(7): 121-126. 张歆, 张小蓟. 水声信道中的迭代分组判决反馈均衡器[J]. 电子与信息学报, 2013, 35(3): 683-688. doi: 10.3724/SP. J.1146.2012.00948. ZHANG Xin and ZHANG Xiaoji. Iterative block decision feedback equalization for underwater acoustic channels[J]. Journal of Electronics Information Technology, 2013, 35(3): 683-688. doi: 10.3724/SP.J.1146.2012.00948. LAM C T, FALCONER D D, and DANILO-LEMOINE F. Iterative frequency domain channel estimation for DFT- precoded OFDM systems using in-band pilots[J]. IEEE Journal Selected Areas in Communications, 2008, 26(2): 348-358. doi: 10.1109/JSAC.2008.080211. COELHO F, DINIS R, and MONTEZUMA P. Joint detection and channel estimation for block transmission schemes[C]. Military Communications Conference, San Jose, USA, 2010: 1765-1770. doi: 10.1109/MILCOM.2010.5680240. HUANG G, NIX A, and ARMOUR S. DFT-Based channel estimation and noise variance estimation techniques for single-carrier FDMA[C]. IEEE Vehicular Technology Conference Fall 2010, Ottawa, Canada, 2010: 1-5. doi: 10.1109/VETECF.2010.5594158. 孟庆微, 黄建国, 何成兵, 等. 水声单载波分块传输中基于压缩感知的稀疏信道估计方法[J]. 北京邮电大学学报, 2012, 35(5): 14-17. MENG Qiangwei, HUANG Jianguo, HE Chengbing, et al. Compressed sensing based sparse channel estimation method for underwater single carrier block transmission[J]. Journal of Beijing University of Posts and Telecommunications, 2012, 35(5): 14-17. 期刊类型引用(1)
1. 杜小妮,段娥娥,王天心. 基于混沌的双模块Feistel结构高安全性高速分组密码算法安全性分析. 电子与信息学报. 2021(05): 1365-1371 . 本站查看
其他类型引用(1)
-
计量
- 文章访问数: 1501
- HTML全文浏览量: 216
- PDF下载量: 414
- 被引次数: 2