高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于半张量积的逻辑综合研究进展

储著飞 马铖昱 闫鸣 潘家祥 潘鸿洋 王伦耀 夏银水

任炯炯, 李航, 陈少真. 减轮Simeck算法的积分攻击[J]. 电子与信息学报, 2019, 41(9): 2156-2163. doi: 10.11999/JEIT180849
引用本文: 储著飞, 马铖昱, 闫鸣, 潘家祥, 潘鸿洋, 王伦耀, 夏银水. 基于半张量积的逻辑综合研究进展[J]. 电子与信息学报, 2024, 46(9): 3490-3502. doi: 10.11999/JEIT231457
Jiongjiong REN, Hang LI, Shaozhen CHEN. Integral Attack on Reduced-round Simeck Algorithm[J]. Journal of Electronics & Information Technology, 2019, 41(9): 2156-2163. doi: 10.11999/JEIT180849
Citation: CHU Zhufei, MA Chengyu, YAN Ming, PAN Jiaxiang, PAN Hongyang, WANG Lunyao, XIA Yinshui. Research Progress in Logic Synthesis Based on Semi-Tensor Product[J]. Journal of Electronics & Information Technology, 2024, 46(9): 3490-3502. doi: 10.11999/JEIT231457

基于半张量积的逻辑综合研究进展

doi: 10.11999/JEIT231457
基金项目: 国家自然科学基金(62274100, U23A20351),浙江省重点研发计划(2024C01111),宁波市重点研发计划(2023Z071)
详细信息
    作者简介:

    储著飞:男,教授,研究方向为集成电路电子设计自动化,逻辑综合

    马铖昱:男,硕士生,研究方向为集成电路电子设计自动化,逻辑综合

    闫鸣:男,硕士生,研究方向为集成电路电子设计自动化,逻辑综合

    潘家祥:男,硕士生,研究方向为集成电路电子设计自动化,逻辑综合

    潘鸿洋:男,硕士生,研究方向为集成电路电子设计自动化,逻辑综合

    王伦耀:男,教授,研究方向为集成电路电子设计自动化,逻辑综合

    夏银水:男,教授,研究方向为集成电路电子设计自动化,集成电路设计

    通讯作者:

    储著飞 chuzhufei@nbu.edu.cn

  • 中图分类号: TN47

Research Progress in Logic Synthesis Based on Semi-Tensor Product

Funds: The National Natural Science Foundation of China (62274100, U23A20351), The Key R&D Program of Zhejiang Province (2024C01111), The Key R&D Program of Ningbo City (2023Z071)
  • 摘要: 逻辑综合在现代电子设计自动化流程中扮演着至关重要的角色。随着计算能力的不断增强以及新的计算范式的涌现,各种高效的布尔可满足性(SAT)求解器和电路仿真器(Simulator)得以开发,并在逻辑综合的领域取得了显著的应用。该文首先对布尔可满足性问题和电路逻辑仿真器进行了简要介绍;其次回顾了矩阵半张量积的发展历程,并根据半张量积的基本原理深入阐述了其在推理引擎和逻辑综合方面的研究进展;最后,对未来可能对逻辑综合产生重大影响的新技术进行了展望。
  • 万物联网的需求使得无线传感器、智能卡和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节总结全文。

    文中用到的符号说明如表1所示。

    表 1  符号说明
    符号说明
    Simeck2n(4n)分组为2n,密钥为4n的Simeck算法
    Lii轮左半部分输入nbit
    Li(j)Lij bit
    Rii轮右半部分输入nbit
    Ri(j)Rij bit
    K主密钥K=(K3,K2,K1,K0)
    rkiinbit的轮子密钥
    异或运算
    &,与运算
    <<<r, >>>r循环左移、右移rbit
    下载: 导出CSV 
    | 显示表格

    Simeck算法是文献[2]提出的轻量级分组密码,设计思想结合了SIMON和SPECK算法的优点。为了满足不同的应用需求,Simeck算法按照分组长度和密钥长度的不同分为3个版本Simeck2n(4n), n=16, 24, 32,每个版本的Simeck参数如表2所示。

    表 2  Simeck算法的参数
    算法分组长度密钥长度字长轮数
    Simeck32641632
    48962436
    641283244
    下载: 导出CSV 
    | 显示表格

    Simeck算法采用Feistel结构,其轮函数与SIMON算法类似,只有与运算,异或和循环移位操作,唯一的区别是循环移位常数不同。轮函数的迭代过程如图1所示,可以表示如式(1)

    图 1  Simeck算法的轮函数
    Ri+1=LiLi+1=f(Li)Rirki}
    (1)

    其中,f(x)=(x(x<<<5))(x<<<1)

    Simeck2n(4n)的密钥扩展算法借鉴SPECK算法,密钥迭代算法使用线性反馈移位寄存器(LFSR)来产生轮子密钥,初始主密钥K包含4个nbit字(K3,K2,K1,K0),作为LFSR的初始状态(t2,t1,t0,rk0)。为了更新寄存器状态以生成轮子密钥,复用轮函数并使用轮常数ci作为轮密钥。对于0i<T1,状态更新过程如式(2)

    rki+1=tici=c(zj)iti+3=rkif(ti)ci}
    (2)

    其中,c=2n4, (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+1ci决定,与其它轮子密钥无关。基于上述发现,本文给出密钥扩展算法的性质。

    性质1 对于Simeck2n(4n)算法,当0iT4时,rki=rki+4f(rki+1)ci

    证明 当i3时,联立Simeck密钥扩展算法的式(2),可得rki+1=ti=rki3f(ti3)ci3。此外,由式(2)可知,ti3=rki2。因此,rki+1可以由rki3, rki2ci3唯一表示

    rki+1=rki3f(rki2)ci3
    (3)

    即对于任意的0iT4,都有rki+4=rkif(rki+1)ci。等式两边同时异或rki+4rki,成立

    rki=rki+4f(rki+1)ci
    (4)

    证毕

    更进一步,如果需要求解rki的某一特定比特,则有以下性质。

    性质2 对于Simeck2n(4n)算法,当0iT4, 0j<n时,rki(j)=rki+4(j)(rki+1(j)rki+1((j5)modn))rki+1((j1)modn)ci(j)

    根据Simeck密钥扩展算法的性质,可以利用轮数较高的轮子密钥来求解轮数较低的轮子密钥,进而减少攻击过程中密钥的猜测量。

    Simeck48和Simeck64算法的安全性分析主要集中在差分和线性攻击,不可能差分和零相关攻击,积分攻击等。表3表4分别列出了对Simeck48, Simeck64主要攻击结果。

    表 3  Simeck48的主要攻击结果
    算法攻击方法攻击轮数数据复杂度存储复杂度时间复杂度成功概率参考文献
    Simeck48(96)差分攻击20O(246)2751文献[2]
    Simeck48(96)差分攻击26O(247)2621文献[4]
    Simeck48(96)差分攻击28O(246)268.30.468文献[5]
    Simeck48(96)线性攻击19O(245)2941文献[3]
    Simeck48(96)不可能差分24O(248)O(274)294.71文献[2]
    Simeck48(96)零相关攻击24O(248)O(265.06)291.61文献[6]
    Simeck48(96)积分攻击21O(234)O(266)2951文献[7]
    Simeck48(96)积分攻击24O(246)O(282.52)2951本文
    下载: 导出CSV 
    | 显示表格
    表 4  Simeck64的主要攻击结果
    算法攻击方法攻击轮数数据复杂度存储复杂度时间复杂度成功概率参考文献
    Simeck64(128)差分攻击26O(263)21211文献[2]
    Simeck64(128)差分攻击33O(263)O(263)2961文献[4]
    Simeck64(128)差分攻击35O(263)2116.30.555文献[5]
    Simeck64(128)线性攻击27O(261)2120.50.477文献[3]
    Simeck64(128)不可能差分25O(264)O(279)2126.61文献[2]
    Simeck64(128)零相关攻击28O(264)O(297.67)2123.061文献[6]
    Simeck64(128)积分攻击24O(235)O(290.46)21271文献[7]
    Simeck64(128)积分攻击29O(263)O(2109.02)2127.31本文
    下载: 导出CSV 
    | 显示表格

    对于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算法。攻击过程中利用等价子密钥技术和密钥扩展算法的性质减少密钥猜测量,结合中间相遇思想和部分和技术,降低攻击的复杂度。

    (1) 等价子密钥技术

    等价子密钥技术是由Isobe等人[13]在ASIACRYPT 2013首次提出,结合Simeck算法轮函数的具体运算,把第i轮的子密钥rki移动到第i1轮,其中i=17,18,···,24,可以得到等效子密钥Ki。如图2所示,以rk23为例。

    图 2  等价子密钥技术

    图2(a)为Simeck算法本来的结构,为了等效移动rk23而不改变算法结构,rk23需要异或到相应位置,如图2(b)所示。此外,rk23可以进一步转移,与rk22异或,如图2(c)所示。因此,rk23等价于K23,同样地,可以通过类似的处理进行移动,即rk22(rk23<<<1)等价于K22。以此类推,Ki仅与rki有关,并且这种关系是线性的。在攻击过程中,注意到K16在区分器内部,所以恢复密钥时不需要猜测。

    (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所示。

    图 3  中间相遇策略

    采用中间相遇策略,独立计算((L16(22)L16(17))L17(22)),将所有猜测的密钥和结果一起存储在表Tb1中;独立计算R17(21),并将猜测的密钥和结果存储在另一个表Tb2,其中,LiRi表示使用了等价子密钥技术后的中间状态。最后,通过检查这两个表之间的匹配得到正确的候选密钥,从而降低复杂度。在计算过程中,使用部分和技术来降低时间复杂度。

    (3) 部分和技术

    部分和技术是Ferguson等人[14]在FSE 2000提出的,用以改进对Rijndael算法的攻击结果,随后,部分和技术广泛应用于分组密码的积分攻击[15,16]。下面具体给出利用部分和技术恢复Simeck48密钥的过程。

    攻击最终的目标是恢复Simeck48的96-bit密钥,需要独立计算((L16(22)L16(17))L17(22))R17(21),分别存储在表Tb1和表Tb2中。

    (1) 计算表Tb1的过程

    计算((L16(22)L16(17))L17(22)),总共需要猜测79 bit 密钥,具体过程如图4所示。

    图 4  Tb1的计算

    (a) 对于224个猜测密钥K23和246个密文,设置241个1 bit计数器Re1,计算得到L22(1,2,57,922)||R22(02,422)的值,给相应的计数器的值增加1,保留计数器的值为奇数的那些值。这一步的时间复杂度为246×224×1/24+246×224×22/(24×24)266.42

    (b) 对于222个猜测密钥K22(02,422)和保留下来的Re1的位置,设置233个1 bit计数器Re2,计算得到L21(2,6,7,1012,1417,1922)||R21(1,2,57,922)的值,保留计数器的值为奇数的那些值。这一步的时间复杂度为246×241×19/(24×24)282.08

    (c) 对于210个猜测密钥K21(1,2,6,7,11,12,16,17,21,22)和保留下来的Re2的位置,设置230个1 bit计数器Re3,计算L20(5,7,922)||R20(2,6,7,11,12,16,17,21,22)||L21(10,14,15,19,20)的值,保留计数器的值为奇数的那些值。这一步的时间复杂度为256×233×9/(24×24)283.00

    (d) 对于27个猜测密钥K21(5,9,10,14,15,19,20)和保留下来的Re3的位置,设置223个1 bit计数器Re4,计算得到L20(7,11,12,1517,2022)||R20(2,6,7,1012,1417,1922)的值,保留计数器的值为奇数的那些值。这一步的时间复杂度为263×230×5/(24×24)286.15

    (e) 对于27个猜测密钥K20(6,10,11,15,16,20,21)和保留下来的Re4的位置,设置218个1 bit计数器Re5,计算得到L19(2,6,7,11,12,16,17,21,22)||R19(11,15,16,20,21)||R20(7,12,17,22)的值,保留计数器的值为奇数的那些值。这一步的时间复杂度为270×223×5/(24×24)286.15

    (f) 对于25个猜测密钥K20(2,7,12,17,22)和保留下来的Re5的位置,设置214个1 bit计数器Re6,计算得到L19(12,16,17,21,22)||R19(7,11,12,1517,2022)的值,保留计数器的值为奇数的那些值。这一步的时间复杂度为275×218×4/(24×24)285.83

    (g) 对于27个密钥K19(7,11,12,16,17,21,22)和保留下来的Re6的位置,由密钥扩展算法的性质1和性质2可知,因为K19=rk19(rk20<<<1), rk19=rk23f(rk20)c19,又根据等价子密钥与原始子密钥的线性关系,rk23rk20可以由已经猜测的密钥比特直接算出,所以K19(7,11,12,16,17,21,22)不需要猜测。而且计算过程与中间状态无关,所以相较于解密过程,计算复杂度忽略不计。设置27个1 bit计数器Re7,计算得到L18(17,22)||R18(12,16,17,21,22)的值,给相应的计数器的值增加1,保留计数器的值为奇数的那些值。这一步的时间复杂度为275×214×5/(24×24)282.15

    (h) 对于23个密钥K18(12,17,22)和保留下来的Re7的位置,与第(g)步类似,根据密钥扩展算法的性质和等价子密钥与原始子密钥的关系,可知计算K18(12,17,22)的复杂度忽略不计。设置23个1 bit计数器Re8,计算得到L17(22)||R17(17,22)的值,保留计数器的值为奇数的那些值。这一步的时间复杂度为275×27×2/(24×24)273.83

    (i) 对于密钥K17(17,22)以及保留下来的Re8的位置,猜测4-bit K20(14,19)K21(13,18),计算出K17(17,22)这2-bit 的密钥值,计算复杂度约为3轮Simeck48加密运算。计算得到((L16(22)K17(22))(L16(17)K17(17)))L17(22)的值,和猜测的密钥比特一起存储在表Tb1。这一步的时间复杂度为279×23×1/(24×24)+279×3×2/(24×24)273.64

    (2) 计算表Tb2的过程

    计算R17(21),总共需要猜测65 bit密钥,具体过程下所示。

    (a) 对于222个猜测密钥K23(0,1,321,23)和246个密文,设置233个1 bit计数器Re1,计算得到L22(1,5,6,911,1321)||R22(0,1,46,821)的值,给相应的计数器加1,保留计数器的值为奇数的值。这一步时间复杂度为246×222×22/(24×24)+246×222×19/(24×24)263.29

    (b) 对于219个猜测密钥K22(0,1,46,821)和保留下来的Re1的位置,设置225个1 bit计数器Re2,计算得到L21(6,10,11,1416,1821)||R21(1,5,6,911,1321)的值,给相应计数器的值增加1,保留计数器的值为奇数的值。这一步时间复杂度为241×233×15/(24×24)268.74

    (c) 对于215K21(1,5,6,911,1321)和保留下来的Re2位置,设置216个1 bit计数器Re3,计算L20(11,15,16,1921)||R20(6,10,11,1416,1821)的值,保留计数器的值为奇数的值。时间复杂度为256×225×10/(24×24)275.15

    (d) 对于29个猜测密钥K20(6,10,11,1416,1921)和保留下来的Re3的位置,设置29个1 bit计数器Re4,计算得到L19(10,16,21)||R19(11,15,16,1921)的值,给相应的计数器的值增加1,保留计数器的值为奇数的那些值。这一步的时间复杂度为265×216×6/(24×24)274.42

    (e) 对于25个密钥K19(11,15,16,20,21)和保留下来的Re4的位置,因为K19=rk19(rk20<<<1),由性质1可知rk19=rk23f(rk20)c19,又根据等价子密钥与原始子密钥的关系,rk23rk20可以由已经猜测的密钥比特直接算出,所以K19(11,15,16,20,21)不需要猜测。计算过程与中间状态无关,所以相较于解密过程,计算复杂度可以忽略不计。设置24个1 bit计数器Re5,计算得到L18(21)||R18(10,16,21)的值,给相应的计数器的值增加1,保留计数器的值为奇数的那些值。这一步的时间复杂度为265×29×3/(24×24)266.42

    (f) 对于密钥K18(16,21)和保留下来的Re5的位置,密钥K18(16,21)可以由已经猜测的密钥比特唯一解出,计算复杂度约为加密2轮Simeck48运算。计算得到R17(21)的值,和猜测的密钥一起存储在表Tb2中。时间复杂度为265×24×1/(24×24)+265×(2×2)/(24×24)260.15

    因为只考虑1个平衡比特,所以总的密钥候选空间从265+14+0=279减少到278。再加上剩余的K20(0,1,3,4,5,7,8,13,18,23), K21(0,3,4,8,23)K22(1,23)这17 bit的密钥,仍然有295个候选密钥。针对这295个候选密钥检测明密文是否匹配,进一步根据等价子密钥和轮子密钥的关系和密钥扩展算法,可以由轮子密钥解出正确的主密钥。

    24轮Simeck48算法的积分攻击的过程可以概括如下:

    步骤 1 构造一个包含246个明文的集合,该集合中的明文满足以下性质:加密1轮后的输出形式为(ACAA,ACAA,A,A,A,A,A,A,A,A,A,A)。进一步,加密明文获得相应密文;

    步骤 2 猜测子密钥Ki(17i23)的部分比特,并且部分解密246个密文8轮来计算((L16(22)L16(17))L17(22)),计算结果和79 bit猜测密钥一起存储在表Tb1中;

    步骤 3 猜测Ki(18i23)的部分比特,并且部分解密246个密文7轮来计算R17(21),计算结果和65 bit猜测密钥一起存储在表Tb2中;

    步骤 4 对每个候选的子密钥,猜测Ki(20i23)剩余的17 bit密钥,根据性质1计算得到主密钥,利用两组明密文对检查密钥的正确性,筛选得到正确的主密钥。

    24轮Simeck48积分攻击的数据复杂度为246个选择明文。

    构造Tb1Tb2的时间复杂度分别为287.75275.83,所以攻击过程中步骤2和步骤3总的时间复杂度为287.75+275.83287.75次24轮Simeck48加密,而步骤4的时间复杂度为295次24轮Simeck48加密。所以,总的攻击时间复杂度约为295次24轮Simeck48加密。

    存储的内容包括Tb1Tb2。对于Tb1,存储复杂度为282.52 Byte。对于Tb2,存储复杂度为268.19 Byte。所以,总的存储复杂度约为282.52 Byte。

    文献[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

    本文给出了轻量级分组密码算法Simeck积分攻击的新结果。在已有积分区分器的基础上,通过向前做高阶积分扩展,分别得到16轮Simeck48和20轮Simeck64算法的积分区分器。利用等价子密钥技术、中间相遇策略,结合部分和技术和密钥扩展算法的性质,实现了24轮Simeck48和29轮Simeck64的积分攻击。与已有积分攻击的结果相比,本文明显提高了Simeck48和Simeck64算法积分攻击的轮数,分别提高了3轮和5轮。下一步如何利用减少复杂度的技术推广积分攻击算法的应用范围,将是值得研究的工作。

  • 图  1  逻辑网络转换成真值表形式

    图  2  电路节点真值表

    图  3  评估插入替换项的示例

    图  4  SAT Sweeping 框架

    图  5  验证过程图

    图  6  对应的4-LUTs网络

  • [1] 储著飞, 潘鸿洋. 基于布尔可满足性的精确逻辑综合综述[J]. 电子与信息学报, 2023, 45(1): 14–23. doi: 10.11999/JEIT220391.

    CHU Zhufei and PAN Hongxiang. Survey on exact logic synthesis based on boolean SATisfiability[J]. Journal of Electronics & Information Technology, 2023, 45(1): 14–23. doi: 10.11999/JEIT220391.
    [2] PAN Hongyang and CHU Zhufei. A semi-tensor product based all solutions boolean satisfiability solver[J]. Journal of Computer Science and Technology, 2023, 38(3): 702–713. doi: 10.1007/s11390-022-1981-4.
    [3] ZHANG Ruibing, PAN Hongyang, and CHU Zhufei. Logic circuit simulation based on semi-tensor product[C]. Proceedings of 2023 China Semiconductor Technology International Conference, Shanghai, China, 2023: 1–3. doi: 10.1109/CSTIC58779.2023.10219157.
    [4] FROLEYKS N, HEULE M, ISER M, et al. SAT competition 2020[J]. Artificial Intelligence, 2021, 301: 103572. doi: 10.1016/j.artint.2021.103572.
    [5] NADEL A. Introducing intel(R) SAT solver[C]. The 25th International Conference on Theory and Applications of Satisfiability Testing, Haifa, Israel, 2022: 8: 1–8: 23. doi: 10.4230/LIPIcs.SAT.2022.8.
    [6] LEE S Y, RIENER H, MISHCHENKO A, et al. A simulation-guided paradigm for logic synthesis and verification[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2022, 41(8): 2573–2586. doi: 10.1109/TCAD.2021.3108704.
    [7] MAGYARI A and CHEN Yuhua. Review of state-of-the-art FPGA applications in IoT networks[J]. Sensors, 2022, 22(19): 7496. doi: 10.3390/s22197496.
    [8] CHENG Daizhan. Semi-tensor product of matrices and its application to Morgen’s problem[J]. Science in China Series:Information Sciences, 2001, 44(3): 195–212. doi: 10.1007/bf02714570.
    [9] CHENG Daizhan. Matrix and Polynomial Approach to Dynamic Control Systems[M]. Beijing: Science Press, 2002.
    [10] 程代展, 齐洪胜. 矩阵的半张量积理论与应用[M]. 北京: 科学出版社, 2007.

    CHENG Daizhan and QI Hongsheng. Semi-Tensor Product of Matrices—Theory and Applications[M]. Beijing: Science Press, 2007.
    [11] CHU Zhufei. Semi-tensor product (STP) engine for electronic design automation (EDA)[EB/OL]. https://gitee.com/zfchu/stp, 2023.
    [12] CHENG Daizhan, QI Hongsheng, and ZHAO Yin. An Introduction to semi-Tensor Product of Matrices and its Applications[M]. Singapore: World Scientific, 2012.
    [13] VAN LOAN C F. The ubiquitous Kronecker product[J]. Journal of Computational and Applied Mathematics, 2000, 123(1/2): 85–100. doi: 10.1016/S0377-0427(00)00393-9.
    [14] 程代展, 齐洪胜, 赵寅. 布尔网络的分析与控制—矩阵半张量积方法[J]. 自动化学报, 2011, 37(5): 529–540. doi: 10.3724/SP.J.1004.2011.00529.

    CHENG Daizhan, QI Hongsheng, and ZHAO Yin. Analysis and control of boolean networks: A semi-tensor product approach[J]. Acta Automatica Sinica, 2011, 37(5): 529–540. doi: 10.3724/SP.J.1004.2011.00529.
    [15] HORN R A and JOHNSON C R. Matrix Analysis[M]. 2nd ed. Cambridge: Cambridge University Press, 2012.
    [16] RÅDE L and WESTERGREN B. Mathematics Handbook for Science and Engineering[M]. 4th ed. Berlin: Springer, 1999. doi: 10.1007/978-3-662-03556-6.
    [17] CHENG Daizhan. On logic-based intelligent systems[C]. 2005 International Conference on Control and Automation, Budapest, Hungary, 2005: 71–76. doi: 10.1109/ICCA.2005.1528094.
    [18] CHENG Daizhan and QI Hongsheng. Matrix expression of logic and fuzzy control[C]. The 44th IEEE Conference on Decision and Control, Seville, Spain, 2005: 3273–3278. doi: 10.1109/CDC.2005.1582666.
    [19] KHATRI C G and RAO C R. Solutions to some functional equations and their applications to characterization of probability distributions[J]. Sankhyā: The Indian Journal of Statistics, Series A, 1968, 30(2): 167–180.
    [20] ZHANG Xiao, MENG Min, WANG Yuanhua, et al. Criteria for observability and reconstructibility of Boolean control networks via set controllability[J]. IEEE Transactions on Circuits and Systems II:Express Briefs, 2021, 68(4): 1263–1267. doi: 10.1109/TCSII.2020.3021190.
    [21] ZHANG Xiao, WANG Yuanhua, and CHENG Daizhan. Incomplete logical control system and its application to some intellectual problems[J]. Asian Journal of Control, 2018, 20(2): 697–706. doi: 10.1002/asjc.1579.
    [22] CHENG Daizhan, WU Yuhu, ZHAO Guodong, et al. A comprehensive survey on STP approach to finite games[J]. Journal of Systems Science and Complexity, 2021, 34(5): 1666–1680. doi: 10.1007/s11424-021-1232-8.
    [23] MARDEN J R, ARSLAN G, and SHAMMA J S. Cooperative control and potential games[J]. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), 2009, 39(6): 1393–1407. doi: 10.1109/TSMCB.2009.2017273.
    [24] LI Rui and CHU Tianguang. Synchronization in an array of coupled Boolean networks[J]. Physics Letters A, 2012, 376(45): 3071–3075. doi: 10.1016/j.physleta.2012.08.037.
    [25] EÉN N and SÖRENSSON N. An extensible SAT-solver[C]. The 6th International Conference on Theory and Applications of Satisfiability Testing, Santa Margherita Ligure, Italy, 2003: 502–518. doi: 10.1007/978-3-540-24605-3_37.
    [26] DAVIS M, LOGEMANN G, and LOVELAND D. A machine program for theorem-proving[J]. Communications of the ACM, 1962, 5(7): 394–397. doi: 10.1145/368273.368557.
    [27] MARQUES-SILVA J, LYNCE I, and MALIK S. Conflict-driven clause learning SAT solvers[M]. BIERE A, HEULE M, VAN MAAREN H, et al. Handbook of Satisfiability. 2nd ed. Amsterdam: IOS Press, 2021: 133–182.
    [28] CABODI G, CAMURATI P E, PALENA M, et al. Interpolation with guided refinement: Revisiting incrementality in SAT-based unbounded model checking[J]. Formal Methods in System Design, 2022, 60(2): 117–146. doi: 10.1007/s10703-022-00406-Proceedings of the. doi: 10.1007/s10703-022-00406-Proceedingsofthe.
    [29] SUNHARE P, CHOWDHARY R R, and CHATTOPADHYAY M K. Internet of things and data mining: An application oriented survey[J]. Journal of King Saud University-Computer and Information Sciences, 2022, 34(6): 3569–3590. doi: 10.1016/j.jksuci.2020.07.002.
    [30] ZHANG Yueling, PU Geguang, and SUN Jun. Accelerating All-SAT computation with short blocking clauses[C]. The 35th IEEE/ACM International Conference on Automated Software Engineering, Melbourne, Australia, 2020: 6–17.
    [31] TODA T and SOH T. Implementing efficient all solutions SAT solvers[J]. ACM Journal of Experimental Algorithmics, 2016, 21(1.12): 1–44. doi: 10.1145/2975585.
    [32] YU Yinlei, SUBRAMANYAN P, TSISKARIDZE N, et al. All-SAT using minimal blocking clauses[C]. 2014 27th International Conference on VLSI Design and 2014 13th International Conference on Embedded Systems, Mumbai, India, 2014: 86–91. doi: 10.1109/VLSID.2014.22.
    [33] FRIED D, NADEL A, and SHALMON Y. AllSAT for combinational circuits[C]. The 26th International Conference on Theory and Applications of Satisfiability Testing, Alghero, Italy, 2023: 9: 1–9: 18. doi: 10.4230/LIPIcs.SAT.2023.9.
    [34] PAN Hongyang and CHU Zhufei. A semi-tensor product based all solutions boolean satisfiability solver[C]. 2021 CCF Integrated Circuit Design and Automation Conference, Wuhan, China, 2020.
    [35] MASINA G, SPALLITTA G, and SEBASTIANI R. On CNF conversion for disjoint SAT enumeration[C]. The 26th International Conference on Theory and Applications of Satisfiability Testing, Alghero, Italy, 2023: 15: 1–15: 16. doi: 10.4230/LIPIcs.SAT.2023.15.
    [36] CAI Shaowei and ZHANG Xindi. Deep cooperation of cdcl and local search for sat[C]. The 24th International Conference on Theory and Applications of Satisfiability Testing, Barcelona, Spain, 2021: 64–81. doi: 10.1007/978-3-030-80223-3_6.
    [37] KULIKOV A S, PECHENEV D, and SLEZKIN N. SAT-based circuit local improvement[J]. arXiv: 2102.12579, 2021.
    [38] MISHCHENKO A, CHATTERJEE S, JIANG R, et al. FRAIGs: A unifying representation for logic synthesis and verification[R]. ERL Technical Report, 2005.
    [39] MISHCHENKO A, CHATTERJEE S, BRAYTON R, et al. Improvements to combinational equivalence checking[C]. The 2006 IEEE/ACM International Conference on Computer-Aided Design, San Jose, USA, 2006: 836–843. doi: 10.1145/1233501.1233679.
    [40] MISHCHENKO A, ZHANG J S, SINHA S, et al. Using simulation and satisfiability to compute flexibilities in Boolean networks[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2006, 25(5): 743–755. doi: 10.1109/TCAD.2005.860955.
    [41] LEE S Y, RIENER H, and DE MICHELI G. External don’t cares in logic synthesis[M]. DRECHSLE R and HUHN S. Advanced Boolean Techniques: Selected Papers from the 15th International Workshop on Boolean Problems. Cham: Springer, 2023: 33–47. doi: 10.1007/978-3-031-28916-3_3.
    [42] LIU Zequn and CHENG Daizhan. Canonical form of Boolean networks[C]. 2019 Chinese Control Conference, Guangzhou, China, 2019: 1801–1806. doi: 10.23919/ChiCC.2019.8865729.
    [43] FENG June, ZHAO Rong, and CUI Yanjun. Simplification of logical functions with application to circuits[J]. Electronic Research Archive, 2022, 30(9): 3320–3336. doi: 10.3934/era.2022168.
    [44] HAASWIJK W, SOEKEN M, MISHCHENKO A, et al. SAT-based exact synthesis: Encodings, topology families, and parallelism[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2020, 39(4): 871–884. doi: 10.1109/TCAD.2019.2897703.
    [45] HAASWIJK W, SOEKEN M, AMARÙ L, et al. A novel basis for logic rewriting[C]. The 22nd Asia and South Pacific Design Automation Conference, Chiba, Japan, 2017: 151–156. doi: 10.1109/ASPDAC.2017.7858312.
    [46] PAN Hongyang and CHU Zhufei. Exact synthesis based on semi-tensor product circuit solver[C]. 2023 Design, Automation & Test in Europe Conference & Exhibition, Antwerp, Belgium, 2023: 1–6. doi: 10.23919/DATE56975.2023.10137287.
    [47] MISHCHENKO A, CHATTERJEE S, and BRAYTON R. Improvements to technology mapping for LUT-based FPGAs[C]. 2006 ACM/SIGDA 14th International Symposium on Field Programmable Gate Arrays, Monterey, USA, 2006: 41–49. doi: 10.1145/1117201.1117208.
    [48] RIENER H, HAASWIJK W, MISHCHENKO A, et al. On-the-fly and DAG-aware: Rewriting Boolean networks with exact synthesis[C]. 2019 Design, Automation & Test in Europe Conference & Exhibition, Florence, Italy, 2019: 1649–1654. doi: 10.23919/DATE.2019.8715185.
    [49] RIENER H, LEE S Y, MISHCHENKO A, et al. Boolean rewriting strikes back: Reconvergence-driven windowing meets resynthesis[C]. The 27th Asia and South Pacific Design Automation Conference, Taipei, China, 2022: 395–402. doi: 10.1109/ASP-DAC52403.2022.9712526.
    [50] PAN Hongyang, XIA Yinshui, WANG Lunyao, et al. Semi-tensor product based exact synthesis for logic rewriting[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2023. doi: 10.1109/TCAD.2023.3337279.
    [51] MISHCHENKO A, CHATTERJEE S, and BRAYTON R. DAG-aware AIG rewriting a fresh look at combinational logic synthesis[C]. The 43rd Annual Design Automation Conference, San Francisco, USA, 2006: 532–535. doi: 10.1145/1146909.1147048.
    [52] MISHCHENKO A and BRAYTON R. Integrating an AIG package, simulator, and SAT solver[C]. The International Workshop on Logic and Synthesis, Linz, Austria, 2018: 11–16.
    [53] AMARÚ L, MARRANGHELLO F, TESTA E, et al. SAT-sweeping enhanced for logic synthesis[C]. The 57th ACM/IEEE Design Automation Conference, San Francisco, USA, 2020: 1–6. doi: 10.1109/DAC18072.2020.9218691.
    [54] ZHU Qi, KITCHEN N, KUEHLMANN A, et al. SAT sweeping with local observability don't-cares[C]. The 43rd ACM/IEEE Design Automation Conference, San Francisco, USA, 2006: 229–234. doi: 10.1109/DAC.2006.229206.
    [55] PAN Hongyang and CHU Zhufei. Semi-tensor product based circuit simulation for SAT sweeping[C]. The International Workshop on Logic and Synthesis, Lausanne, Switzerland, 2023.
    [56] KRICHEN M. A survey on formal verification and validation techniques for internet of things[J]. Applied Sciences, 2023, 13(14): 8122. doi: 10.3390/app13148122.
    [57] 卢山. 基于半张量积的模型检验方法的研究与实现[D]. [硕士论文], 电子科技大学, 2014.

    LU Shan. Research and implementation of model checking method based on semi-tensor product[D]. [Master dissertation], University of Electronic Science and Technology of China, 2014.
    [58] ZHAN Jinyu, LU Shan, and YANG Guowu. Improved calculation scheme of structure matrix of Boolean network using semi-tensor product[C]. The 3rd International Conference on Information Computing and Applications, Chengde, China, 2012: 242–248. doi: 10.1007/978-3-642-34038-3_33.
    [59] ZHAN Jinyu, LU Shan, and YANG Guowu. Analysis of boolean networks using an optimized algorithm of structure matrix based on semi-tensor product[J]. Journal of Computers, 2013, 8(6): 1441–1448. doi: 10.4304/jcp.8.6.1441-1448.
    [60] NETO W L, AUSTIN M, TEMPLE S, et al. LSOracle: A logic synthesis framework driven by artificial intelligence: Invited paper[C]. 2019 IEEE/ACM International Conference on Computer-Aided Design, Westminster, USA, 2019: 1–6. doi: 10.1109/ICCAD45719.2019.8942145.
    [61] HAASWIJK W, COLLINS E, SEGUIN B, et al. Deep learning for logic optimization algorithms[C]. 2018 IEEE International Symposium on Circuits and Systems, Florence, Italy, 2018: 1–4. doi: 10.1109/ISCAS.2018.8351885.
    [62] YANG Chenghao, XIA Yinshui, CHU Zhufei, et al. Logic synthesis optimization sequence tuning using RL-based LSTM and graph isomorphism network[J]. IEEE Transactions on Circuits and Systems II:Express Briefs, 2022, 69(8): 3600–3604. doi: 10.1109/TCSII.2022.3168344.
    [63] WU Nan, LI Yingjie, HAO Cong, et al. Gamora: Graph learning based symbolic reasoning for large-scale boolean networks[C]. The 60th ACM/IEEE Design Automation Conference, San Francisco, USA, 2023: 1–6,doi: 10.1109/DAC56929.2023.10247828.
    [64] 程代展, 齐洪胜, 刘挺, 等. 从矩阵半张量积到逻辑控制系统: 献给陈翰馥教授80华诞[J]. 中国科学:数学, 2016, 46(10): 1401–1424. doi: 10.1360/N012015-00381.

    CHENG Daizhan, QI Hongsheng, LIU Ting, et al. From semi-tensor product of matrices to logical control systems[J]. Scientia Sinica:Mathematica, 2016, 46(10): 1401–1424. doi: 10.1360/N012015-00381.
    [65] FAN Longfei and WU Chang. FPGA technology mapping with adaptive gate decomposition[C]. The 2023 ACM/SIGDA International Symposium on Field Programmable Gate Arrays, Monterey, USA, 2023: 135–140. doi: 10.1145/3543622.3573048.
    [66] KUBICA M, OPARA A, and KANIA D. Technology mapping for LUT-Based FPGA[M]. Cham: Springer, 2021: 119–132. doi: 10.1007/978-3-030-60488-2.
    [67] CHENG Daizhan and XU Xiangru. Bi-decomposition of multi-valued logical functions and its applications[J]. Automatica, 2013, 49(7): 1979–1985. doi: 10.1016/j.automatica.2013.03.013.
    [68] LIU Fengqiu, YAN Ming, MAO Yuxin, et al. Application of semi-tensor product-based Bi-decomposition to FPGA mapping[C]. The 41st Chinese Control Conference, Hefei, China, 2022: 5945–5949. doi: 10.23919/CCC55666.2022.9901693.
  • 期刊类型引用(11)

    1. 牟晓霜,黎淼,王玺,梁文凯,王峰,理玉龙,关赞洋,余泊汕,张磊,高翊喆,张佳杰. 基于分块平滑投影二次重构算法的单像素成像系统. 强激光与粒子束. 2022(11): 157-164 . 百度学术
    2. 万艳,石锦峰,农旭安. 基于ZED相机的无人机三维重建系统. 中国新通信. 2019(14): 155-157 . 百度学术
    3. 苗英杰,崔琛,易仁杰. 基于BFGS拟牛顿法的观测矩阵优化算法. 电子信息对抗技术. 2019(06): 32-37+55 . 百度学术
    4. 王烈,罗文,秦伟萌. 分段弱选择自适应正交匹配追踪算法. 计算机工程与设计. 2018(12): 3767-3773 . 百度学术
    5. 周四望,刘龙康. 基于小波变换的图像零树压缩感知方法. 湖南大学学报(自然科学版). 2017(02): 129-136 . 百度学术
    6. 胡强,林云. 基于观测矩阵优化的自适应压缩感知算法. 计算机应用. 2017(12): 3381-3385 . 百度学术
    7. 边胜琴,徐正光,张利欣. 依据列相关性优化高斯测量矩阵. 计算机测量与控制. 2017(11): 141-145 . 百度学术
    8. 麻曰亮,裴立业,江桦. 改进的压缩感知测量矩阵优化方法. 信号处理. 2017(02): 192-197 . 百度学术
    9. 王占刚,王大鸣,巴斌. 适用于压缩感知估计角度的测量矩阵研究. 信号处理. 2017(07): 970-977 . 百度学术
    10. 金广智,石林锁,崔智高,刘浩,牟伟杰. 结合GLCM与三阶张量建模的在线目标跟踪. 电子与信息学报. 2016(07): 1609-1615 . 本站查看
    11. 王怀光,张培林,吴定海,范红波. 基于提升小波的机械振动信号自适应压缩感知. 中南大学学报(自然科学版). 2016(03): 771-776 . 百度学术

    其他类型引用(20)

  • 加载中
图(6)
计量
  • 文章访问数:  601
  • HTML全文浏览量:  313
  • PDF下载量:  66
  • 被引次数: 31
出版历程
  • 收稿日期:  2024-01-09
  • 修回日期:  2024-03-15
  • 网络出版日期:  2024-03-21
  • 刊出日期:  2024-09-26

目录

/

返回文章
返回