高级搜索

留言板

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

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

密码算法旁路立方攻击改进与应用

王永娟 王涛 袁庆军 高杨 王相宾

王永娟, 王涛, 袁庆军, 高杨, 王相宾. 密码算法旁路立方攻击改进与应用[J]. 电子与信息学报, 2020, 42(5): 1087-1093. doi: 10.11999/JEIT181075
引用本文: 王永娟, 王涛, 袁庆军, 高杨, 王相宾. 密码算法旁路立方攻击改进与应用[J]. 电子与信息学报, 2020, 42(5): 1087-1093. doi: 10.11999/JEIT181075
Yongjuan WANG, Tao WANG, Qingjun YUAN, Yang GAO, Xiangbin WANG. Side Channel Cube Attack Improvement and Application to Cryptographic Algorithm[J]. Journal of Electronics & Information Technology, 2020, 42(5): 1087-1093. doi: 10.11999/JEIT181075
Citation: Yongjuan WANG, Tao WANG, Qingjun YUAN, Yang GAO, Xiangbin WANG. Side Channel Cube Attack Improvement and Application to Cryptographic Algorithm[J]. Journal of Electronics & Information Technology, 2020, 42(5): 1087-1093. doi: 10.11999/JEIT181075

密码算法旁路立方攻击改进与应用

doi: 10.11999/JEIT181075
基金项目: 国家自然科学基金(61872381, 61602512)
详细信息
    作者简介:

    王永娟:女,1972年生,副教授,主要研究方向为网络空间安全、密码算法分析

    王涛:男,1995年生,硕士生,研究方向为侧信道攻击

    袁庆军:男,1993年生,助教,研究方向为侧信道攻击

    高杨:男,1994年生,硕士生,研究方向为故障攻击

    王相宾:男,1996年生,硕士生,研究方向为侧信道攻击

    通讯作者:

    王涛 1072637697@qq.com

  • 中图分类号: TP309.7

Side Channel Cube Attack Improvement and Application to Cryptographic Algorithm

Funds: The National Natural Science Foundation of China(61872381, 61602512)
  • 摘要:

    立方攻击的预处理阶段复杂度随输出比特代数次数的增长呈指数级增长,寻找有效立方集合的难度也随之增加。该文对立方攻击中预处理阶段的算法做了改进,在立方集合搜索时,由随机搜索变为带目标的搜索,设计了一个新的目标搜索优化算法,优化了预处理阶段的计算复杂度,进而使离线阶段时间复杂度显著降低。将改进的立方攻击结合旁路方法应用在MIBS分组密码算法上,从旁路攻击的角度分析MIBS的算法特点,在第3轮选择了泄露位置,建立关于初始密钥和输出比特的超定的线性方程组,可以直接恢复33 bit密钥,利用二次检测恢复6 bit密钥。所需选择明文量221.64,时间复杂度225。该结果较现有结果有较大改进,恢复的密钥数增多,在线阶段的时间复杂度降低。

  • 2009年,Dinur和Shamir[1]在欧密会上提出了立方攻击。立方攻击是一种代数攻击方法,其主要思想是将密码算法视为黑盒多项式,通过寻找指标集与其对应的低次超多项式的方法恢复密钥。其原理与高阶差分攻击[2]和AIDA攻击[3]相似。立方攻击适用于分组密码、序列密码、哈希函数等多种密码算法,出现了很多理论成果[4-7]。2009年,Dinur等人[4]对767轮的Trivium算法进行了立方攻击,以245的时间复杂度恢复了35位密钥。2010年,Mroczkowski等人[5]将二次检测应用于对709轮Trivium算法,恢复了80 bit密钥,其中二次检测中恢复了39 bit。2017年,Todo等人[6]利用可分性将立方攻击视为非黑盒攻击,恢复了832轮Trivium, 183轮Grain128a, 704轮ACORN以及872轮Kreyvium的部分密钥。2017年,Szmidt[7]攻击了约简至4轮的CTC算法,恢复了全部120 bit密钥,预处理阶段的复杂度为211次4轮CTC加密,并利用中间相遇方法将攻击扩展到5轮。

    立方攻击的成功率与密码算法的代数次数有很大关系,代数次数的大小关系着指标集的大小,而攻击的时间复杂度随指标集的增加而增加。随着算法轮数的增加,代数次数越来越高,为了攻击更高的轮数,传统的立方攻击已不适用。后来,在之前立方攻击相关工作基础上,出现了一些立方攻击的变种,比如旁路立方攻击[8],动态立方攻击[9],故障立方攻击[10],条件立方攻击[11],相关立方攻击[12]

    旁路立方攻击是将旁路攻击与立方攻击结合的一种新的攻击方法,由Dinur等人[8]于2009年提出,主要思想是通过旁路信息恢复密码算法运行的中间状态的某一比特,然后通过寻找关于这一比特的低次超多项式进行攻击。旁路立方攻击同样出现了很多理论成果[13-16]。2009年,Yang等人[13]将旁路立方攻击应用到PRESENT算法中,选取第3轮第1, 2, 3位为泄露位,以215的选择明文量可恢复48 bit密钥。2010年,Abdul-latip等人[14]对NOEKEON密码进行攻击,以210.89的选择明文量,268的时间复杂度恢复全部密钥。此外,旁路立方攻击还应用于Simeck[15], MIBS[16]等算法上。

    本文主要对旁路立方攻击的预处理阶段进行改进,代数次数的增加会使立方攻击的预处理阶段复杂度带来指数级的增长,对预处理阶段的优化可以极大提高旁路立方攻击的效率。在立方集合搜索时,设计了一个新的目标搜索优化算法,优化了预处理阶段的计算复杂度,进而使离线阶段时间复杂度显著降低。将改进的立方攻击结合旁路方法应用在MIBS分组密码算法上,在第3轮选择了泄露位置,建立关于初始密钥和输出比特的超定的线性方程组,可以直接恢复27 bit密钥,利用二次检测恢复6 bit密钥。所需选择明文量为221.61,时间复杂度为231

    密码算法的最后输出可以描述为F2上关于密钥K和公开变量(明文比特或者IV比特)的低次多项式,通过合理选择公开变量值可能获得一些关于密钥的线性关系,从而得到关于密钥的线性方程组,进而通过解方程组恢复一定数目的密钥。

    考虑由下面的布尔函数描述的密码体制:z=f(p1,p2,···,pm,k1,k2,···,kn)。其中p1,p2,···,pmm个公开变量,k1,k2,···,knn个秘密变量,函数值代表密文输出。在序列密码中一般IV为公开变量,K为秘密变量,分组密码中明文为公开变量,密钥为秘密变量。通常f的次数很高,甚至f的具体形式可能是未知的(黑盒)。为得到线性/低次方程,有如定理1:

    定理1[5]任意n元布尔函数f(x1,x2,···,xn),对任意指标集I={i1,i2,···,ik}{1,2,···,n},则函数f总可以表示为如下形式:f(x1,x2,···,xn)=tIpIq(x1,x2,···,xn),其中表示模2加,tI=xi1xi2···xik, q(x1,x2,···,xn)中单项式不是tI的倍式。本文称tI为cube,即立方体,称pI为立方体对应的超级多项式。

    性质1[5]{i1,i2,···,ik}f(x1,x2,···,xn)=pI。证明见文献[5]。

    为说明这一定理与性质,给出例1。

    例1:设五元布尔函数f(x1,x2,···,x5)=x1x2x3x1x2x4x2x4x5x1x2x3x5x5,取立方体I={1,2},tI=x1x2,则f=x1x2(x3x41)x2x4x5x3x5x5,超多项式  pI=x3x41

    立方攻击一般分为预处理阶段与在线阶段。立方攻击的主要难点在第1个阶段,如何寻找满足条件的指标集I与超级多项式。第1个阶段的具体算法介绍见3.1节。

    预处理阶段:通过改变公共变量与秘密变量的值,寻找满足条件的指标集I,即I对应的超级多项式可以通过BLR线性测试[17]或二次测试。

    在线阶段:固定集合I之外的变量,穷举I并计算加和,得到超级多项式的值。多个指标集可以得到多个超级多项式组成的方程组,通过解方程组获得密钥。

    立方攻击中,输出比特对应的多项式f随轮数的增长而增加,当次数达到一定界限时,立方体维数超过计算机能够计算的最大值,立方攻击失败。当通过旁路分析得到算法运行的中间状态比特时,本文可以通过选择泄露的比特控制其对应多项式的次数,在计算机可以计算的范围内恢复尽可能多的密钥。旁路立方攻击等效于约简轮的密码分析。而且旁路立方攻击可以构成对密码算法的实现构成威胁,具有研究价值。

    MIBS算法在CANS2009上由Izadi等人[18]提出,是一种Feistel结构的分组密码算法。MIBS分组长64 bit,迭代32轮,初始密钥长64或80 bit,用MIBS-64和MIBS-80表示密钥长度。本文的攻击对象是64 bit密钥的MIBS,攻击方法也可应用在80 bit版本。MIBS中的所有运算都作用在4 bit,即半字节上。轮函数结构如图1

    图 1  MIBS算法结构

    轮函数的主体F具有由轮密钥加,4×4 S盒的S层和混淆层M和字节置换P构成的SPN结构,包含下面3个步骤(由于M混淆和P字节置换均为线性变换,统一组合为线性变换P):

    轮密钥加:将上一轮输出的左半部分与轮密钥异或。

    混淆层S:将轮密钥加的结果每4位一组过S盒,S盒见表1

    表 1  MIBS算法S盒
    x0123456789abcdef
    S(x)4f38dac0b57e2619
    下载: 导出CSV 
    | 显示表格

    扩散层P:将S代换的输入用{y1,y2,y3,y4,y5,y6,y7,y8}表示,输出用{y1,y2,y3,y4,y5,y6,y7,y8}表示,线性变换为

    y1=y1y2y4y5y7y8y2=y2y3y4y5y6y7y3=y1y2y3y5y6y8y4=y2y3y4y7y8y5=y1y3y4y5y8y6=y1y2y4y5y6y7=y1y2y3y6y7y8=y1y3y4y6y7y8}
    (1)

    MIBS-64初始密钥为64 bit,记为K(k63,k62,···,k0)。每处理一轮后将前32 bit留存作为轮密钥,共处理32轮。密钥扩展方案见文献[17]。

    立方攻击的预处理阶段复杂度随输出比特代数次数的增长呈指数级增长,寻找有效立方集合的难度也随之增加。本节对立方攻击中预处理阶段的算法做了改进,在立方集合搜索时,设计了一个新的目标搜索优化算法,优化了预处理阶段的计算复杂度,进而使离线阶段时间复杂度显著降低。

    对于一个黑盒多项式,本文不知道其具体的代数标准型,可以通过图2中的方法寻找攻击需要的指标集I和超多项式pI

    图 2  标准预处理阶段流程图

    步骤 1 随机选择公共变量的一个子集I,其它公共变量设为固定值;固定值一般全设置为0,文献[9]中指出也可以一部分设为0,一部分设为1。

    步骤 2 设I对应的超多项式为pI,随机选择两个密钥x,y{0,1}n,进行BLR线性测试:

    pI[0]pI[x]pI[y]=pI[xy],则pI可能是线性的,否则pI必不是线性的。

    步骤 3 若测试不通过,转步骤1;若测试通过,转步骤2继续测试,若连续通过N次测试,认为pI以接近1的概率是线性的,保存指标集I,计算pI的代数标准型。

    步骤 4 转到步骤1,直到获得足够数量的指标集I

    pI为线性多项式,接下来的方法可以确定pI的代数标准型:

    定理2(1)设布尔函数的代数标准型为f(x1,x2,···,xn)=2n1i=0aixi,其中i={i1,i2,···,in}, xi=xi11···xinn。则布尔函数的每一项的系数ai=xif(x1,x2,···,xn), xi表示x的汉明重量小于等于i。证明见文献[1]。

    将定理2应用到确定pI的代数标准型上需要两步:

    步骤 1 首先确定常数项。此时i=0,系数a0=f(0),即密钥取全0,计算pI(0);

    步骤 2 确定pI中一次项的系数。取密钥Xjj位为1,其余位为0,则该一次项的系数为pI(0)pI(Xj)

    常规的立方攻击预处理阶段指标集I是随机选取的,这样选择的效率比较低,会做很多重复性的工作。考虑线性测试,在进行N次测试后,其结果可以分为3种情况:

    情况1 pI通过线性检测,且对于每次测试随机选择的密钥x,y{0,1}n,始终有pI[0]=pI[x]= pI[y]=pI[xy]。此时认为超多项式pI的次数为0,即pI只有常数项。由于这样的pI不包含秘密变量,对密钥恢复没有意义。

    情况2 pI通过线性检测,且在某次测试pI[0],pI[x],pI[y],pI[xy]中存在两项不相等。此时认为超多项式pI的次数为1,这种情况是密钥恢复需要的情况。

    情况3 pI不通过线性检测。此时超多项式pI的次数大于等于2,需要重新随机选择I进行测试。

    本文对于立方攻击的改进在于情况2出现后的处理方法。当选择的指标集I对应的超多项式pI出现情况2时,不是重新选择指标集,而是在现有的指标集中添加一个元素,然后对新的指标集进行线性测试。此时pI仍然有可能出现3种情况,在出现情况2时继续添加元素进行测试,直到出现情况0或情况1。这样立方体搜索算法就从一个随机算法变成了一个有目标的算法,显著减少了预处理阶段所需要的时间复杂度。重新设计后的算法分为如下4步,见图3

    图 3  改进预处理阶段流程

    步骤 1 随机选择公共变量的一个子集I,其它公共变量设为固定值;

    步骤 2  设I对应的超多项式为pI,随机选择两个密钥x,y{0,1}n,进行N次BLR线性测试;

    步骤 3 若测试结果为情况0,转到步骤1;若测试结果为情况1,保存I,计算pI的代数标准型,转到步骤4;若测试结果为情况2,在I中添加一个元素,转到步骤2;

    步骤 4 转到步骤1,直到获得足够数量的指标集I

    本节利用目标搜索优化算法,针对MIBS算法进行旁路立方攻击,在第3轮采集泄露信息,进行了线性检测与二次检测,具体攻击过程如下。

    旁路立方攻击中进行最佳泄露位置选取时,泄露比特需尽可能的覆盖更多的密钥变量,且对应的多项式次数应尽可能地小,以降低攻击复杂度。

    [x0x1x2x3][y0y1y2y3]分别表示MIBS的S盒输入和输出比特,根据真值表计算出其对应的代数标准型为

    y0=x0x1x2x1x2x3x0x2x1x3x0x1x3y1=x0x2x3x0x1x3x1x2x0x3x1x3x0x21y2=x0x2x3x1x2x3x0x1x3x1x2x0x2x0x2x3y3=x0x1x2x0x2x3x1x2x3x0x3x0x2x0x1x2x3}
    (2)

    根据代数标准型可以看到,每个S盒输出比特的代数次数均为3。根据这一性质可以估计MIBS算法每轮S盒输出比特的代数次数上界,第r轮S盒输出比特的代数次数上界为3r。前4轮的次数上界为3, 9, 27和81。由于MIBS算法明文为64 bit,所以第4轮次数上界应为64,超过了计算机能够计算的范围。由于第3轮输出比特覆盖的密钥变量最多,能够提取出的立方体最多,能恢复的密钥量最多,所以选择第3轮S盒输出为泄露位置。

    运用符号计算方法可以得出第3轮S盒输出比特的准确代数次数,见表2

    表 2  第3轮S盒输出比特代数次数
    位置0123456789101112131415
    次数27272727272727272727272727272727
    位置16171819202122232425262728293031
    次数27272727272727272727272727272727
    位置32333435363738394041424344454647
    次数9999999999999999
    位置48495051525354555657585960616263
    次数9999999999999999
    下载: 导出CSV 
    | 显示表格

    用如下算法可以测试第3轮S盒输出覆盖的密钥变量个数,见表3。其中D[64]存储输出比特涉及密钥的个数;f函数为MIBS 3轮加密,输入是明文和密钥,输出为MIBS算法第3轮S盒输出;K=¬K(j)表示第j位密钥取反,其它值不变。算法基于这样一个原理:当一个密钥参与运算时,改变它的值有可能改变最终输出;当一个密钥不参与运算时,改变它的值不会改变最终输出。

    表 3  算法2的过程
    算法2 第3轮S盒输出覆盖密钥变量个数检测
    输出:每个比特覆盖的密钥变量个数
     (1)setD[64]to0
     (2)fori=0to63do//表示64个输出比特
     (3)forj=0to63do//检测64个密钥是否参与输出比特运算
     (4)fork=1toNdo//测试N
     (5)GetRandom(K)
     (6)K=¬K(j)
     (7)t=f(K)f(K)
     (8)ift=1
     (9)D[i]++
     (10)returnD
    下载: 导出CSV 
    | 显示表格

    第3轮S盒输出比特覆盖密钥数见表4。通过该表可以看出,涉及密钥比特最多的位置是8-11, 24-27,均有59位密钥参与运算。因此MIBS算法的泄露位置可以取第3轮S盒输出的第8-11, 24-27位。

    表 4  第3轮S盒输出比特覆盖密钥数
    位置0123456789101112131415
    密钥数58585858585858585959595958585858
    位置16171819202122232425262728293031
    密钥数58585858585858585959595958585858
    位置32333435363738394041424344454647
    密钥数43434343434343434444444443434343
    位置48495051525354555657585960616263
    密钥数43434343434343434444444443434343
    下载: 导出CSV 
    | 显示表格

    攻击中,选取第8位输出作为泄露位置,按照3.2节中的方法进行立方体搜索,经高斯消元后得到表5。选择明文量为2×27+2×28+4×210+3×211+7×212+5×213+4×214+2×215+217+218+2×220221.37 ,可恢复33 bit密钥信息。

    表 5  第3轮输出第8位泄露立方体
    维数立方体超多项式
    729 30 38 40 43 44 45k2+k3+k4+k6+k7+k8+k13+k16+k38
    723 27 28 35 47 60 61k1+k4+k34+k37+k50+k57+k60
    80 1 2 3 4 5 40 41k55
    80 1 2 3 8 9 52 53k59
    100 1 2 3 4 5 6 8 32 56k59+k60
    100 1 2 3 4 5 6 16 43 48k3+k4
    100 1 2 3 8 9 10 20 35 55k7+k8
    104 7 16 19 29 30 31 32 33 34k2+k54
    110 1 2 3 4 5 6 12 13 48 63k0
    110 1 2 3 4 5 6 16 17 40 49k3
    110 1 2 3 8 9 10 20 21 32 53k7
    120 1 2 3 4 5 6 8 10 24 36 39k11+k12
    120 1 2 3 4 5 6 16 17 19 31 43k13
    121 2 3 4 5 6 7 8 9 10 18 32k2
    121 2 3 4 5 6 7 8 9 10 26 32k10
    120 1 2 3 4 5 6 8 9 11 15 43k61
    120 1 2 4 5 6 7 8 10 12 43 52k0+k63
    120 1 2 3 4 5 6 8 9 11 12 14 41k62
    130 1 2 3 4 5 6 16 17 19 28 29 40k15
    130 1 2 3 4 5 6 16 17 19 28 29 41k15+k16
    130 1 2 3 4 5 6 16 17 19 28 30 41k14
    135 6 17 19 25 26 27 28 29 30 31 32 331+k53
    139 11 21 23 29 30 31 32 33 35 36 38 39k5+k57
    141 2 3 4 5 6 8 9 10 11 20 21 22 321+k0+k39+k40+k43+k44+k63
    141 2 3 4 5 6 8 9 10 11 20 21 22 331+k0+k40+k44
    141 2 3 4 5 6 8 9 10 11 20 21 23 32k0+k1+k38+k39+k40+k41 +k42+k43+k44+k45+k62+k63
    141 2 3 4 5 6 8 9 10 11 20 21 23 331+k38+k42+k62
    150 1 2 3 4 5 6 8 9 10 12 14 25 27 631+k11
    151 2 3 4 5 6 8 9 10 11 12 13 15 27 6227 62k9
    174 5 13 14 15 16 17 18 19 20 21 22 24 25 26 28 30k56
    181 2 3 4 5 6 7 8 9 11 12 13 14 16 17 18 20 23k6+k7
    201 2 3 4 5 6 8 9 10 12 13 14 16 17 19 20 22 23 58 61k38+k41+k58+k61
    201 2 3 4 5 7 8 9 10 12 13 14 16 17 18 28 30 31 38 611+k1+k42+k45+k54+k57+k58+k61+k62
    下载: 导出CSV 
    | 显示表格

    立方攻击得到的超多项式不一定必须是线性的,二次多项式也可以恢复密钥信息。特别在一次超多项式已经恢复一定密钥信息的情况下,二次多项式有可能转化为一次多项式。将3.2节中的线性测试换为二次,可以恢复更多的密钥。选择明文量为27+210+3×214+219219.13,可恢复6 bit密钥信息,结果见表6

    表 6  二次测试立方体
    维数立方体超多项式
    70 1 2 3 4 40 411+k55+k56+k54k55+k55k56
    100 1 2 3 4 5 6 8 32 401+k59+k58k60+k59k60
    140 1 2 3 4 5 6 8 9 10 12 13 14 17k3+k1k4+k3k4
    140 1 2 3 4 5 6 8 9 10 12 13 14 21k7+k5k8+k7k8
    140 1 2 3 4 5 6 8 9 10 12 13 14 29k15+k13k16+k15k16
    191 2 3 4 5 6 8 9 10 12 13 14 16
    17 19 20 22 58 61
    k8k38+k8k41+k8k58+k8k61
    下载: 导出CSV 
    | 显示表格

    二次测试:设I对应的超多项式为pI,随机选择3个密钥x,y,z{0,1}n,若pI[0]pI[x]pI[y]pI[z]pI[xy]pI[yz]pI[zx]=pI[xyz],则pI的次数可能小于等于2,否则pI次数必大于2。

    文献[16]利用传统的立方攻击方法,针对MIBS加密第1轮输出的第5比特泄露,利用选择明文分析将MIBS-64密钥搜索空间降低至240。文献[19]分析了轻量级分组密码抵抗立方攻击的能力,指出SIMECK和MIBS相比于KATAN, SIMON, SPECK等算法对立方攻击有较好的抗性。该论文没有给出具体的立方体,但指出恢复MIBS-80密钥需要272时间复杂度,意味着只找到8个低次超多项式,恢复了8 bit密钥信息。本文的方法与与之前文献相比相比,选择明文量至221.37+219.13221.64,但穷举量降低至225,总体复杂度降低,如表7所示。

    表 7  结果对比
    方法攻击轮数选择明文密钥搜索空间
    文献[16]126.39240
    文献[19]4未提及272
    本文3221.64225
    下载: 导出CSV 
    | 显示表格

    本文对立方攻击中预处理阶段的算法做了改进,由随机搜索变为带目标的搜索,离线阶段时间复杂度显著降低。从旁路攻击的角度分析了MIBS的算法特点,选择了泄露位置。将改进的立方攻击结合旁路方法应用在MIBS算法上,恢复的密钥数增多,在线阶段的时间复杂度降低。此方法的改进具有普适性,未来可以用在其它分组密码、序列密码以及哈希函数的立方攻击中。

  • 图  1  MIBS算法结构

    图  2  标准预处理阶段流程图

    图  3  改进预处理阶段流程

    表  1  MIBS算法S盒

    x0123456789abcdef
    S(x)4f38dac0b57e2619
    下载: 导出CSV

    表  2  第3轮S盒输出比特代数次数

    位置0123456789101112131415
    次数27272727272727272727272727272727
    位置16171819202122232425262728293031
    次数27272727272727272727272727272727
    位置32333435363738394041424344454647
    次数9999999999999999
    位置48495051525354555657585960616263
    次数9999999999999999
    下载: 导出CSV

    表  3  算法2的过程

    算法2 第3轮S盒输出覆盖密钥变量个数检测
    输出:每个比特覆盖的密钥变量个数
     (1)setD[64]to0
     (2)fori=0to63do//表示64个输出比特
     (3)forj=0to63do//检测64个密钥是否参与输出比特运算
     (4)fork=1toNdo//测试N
     (5)GetRandom(K)
     (6)K=¬K(j)
     (7)t=f(K)f(K)
     (8)ift=1
     (9)D[i]++
     (10)returnD
    下载: 导出CSV

    表  4  第3轮S盒输出比特覆盖密钥数

    位置0123456789101112131415
    密钥数58585858585858585959595958585858
    位置16171819202122232425262728293031
    密钥数58585858585858585959595958585858
    位置32333435363738394041424344454647
    密钥数43434343434343434444444443434343
    位置48495051525354555657585960616263
    密钥数43434343434343434444444443434343
    下载: 导出CSV

    表  5  第3轮输出第8位泄露立方体

    维数立方体超多项式
    729 30 38 40 43 44 45k2+k3+k4+k6+k7+k8+k13+k16+k38
    723 27 28 35 47 60 61k1+k4+k34+k37+k50+k57+k60
    80 1 2 3 4 5 40 41k55
    80 1 2 3 8 9 52 53k59
    100 1 2 3 4 5 6 8 32 56k59+k60
    100 1 2 3 4 5 6 16 43 48k3+k4
    100 1 2 3 8 9 10 20 35 55k7+k8
    104 7 16 19 29 30 31 32 33 34k2+k54
    110 1 2 3 4 5 6 12 13 48 63k0
    110 1 2 3 4 5 6 16 17 40 49k3
    110 1 2 3 8 9 10 20 21 32 53k7
    120 1 2 3 4 5 6 8 10 24 36 39k11+k12
    120 1 2 3 4 5 6 16 17 19 31 43k13
    121 2 3 4 5 6 7 8 9 10 18 32k2
    121 2 3 4 5 6 7 8 9 10 26 32k10
    120 1 2 3 4 5 6 8 9 11 15 43k61
    120 1 2 4 5 6 7 8 10 12 43 52k0+k63
    120 1 2 3 4 5 6 8 9 11 12 14 41k62
    130 1 2 3 4 5 6 16 17 19 28 29 40k15
    130 1 2 3 4 5 6 16 17 19 28 29 41k15+k16
    130 1 2 3 4 5 6 16 17 19 28 30 41k14
    135 6 17 19 25 26 27 28 29 30 31 32 331+k53
    139 11 21 23 29 30 31 32 33 35 36 38 39k5+k57
    141 2 3 4 5 6 8 9 10 11 20 21 22 321+k0+k39+k40+k43+k44+k63
    141 2 3 4 5 6 8 9 10 11 20 21 22 331+k0+k40+k44
    141 2 3 4 5 6 8 9 10 11 20 21 23 32k0+k1+k38+k39+k40+k41 +k42+k43+k44+k45+k62+k63
    141 2 3 4 5 6 8 9 10 11 20 21 23 331+k38+k42+k62
    150 1 2 3 4 5 6 8 9 10 12 14 25 27 631+k11
    151 2 3 4 5 6 8 9 10 11 12 13 15 27 6227 62k9
    174 5 13 14 15 16 17 18 19 20 21 22 24 25 26 28 30k56
    181 2 3 4 5 6 7 8 9 11 12 13 14 16 17 18 20 23k6+k7
    201 2 3 4 5 6 8 9 10 12 13 14 16 17 19 20 22 23 58 61k38+k41+k58+k61
    201 2 3 4 5 7 8 9 10 12 13 14 16 17 18 28 30 31 38 611+k1+k42+k45+k54+k57+k58+k61+k62
    下载: 导出CSV

    表  6  二次测试立方体

    维数立方体超多项式
    70 1 2 3 4 40 411+k55+k56+k54k55+k55k56
    100 1 2 3 4 5 6 8 32 401+k59+k58k60+k59k60
    140 1 2 3 4 5 6 8 9 10 12 13 14 17k3+k1k4+k3k4
    140 1 2 3 4 5 6 8 9 10 12 13 14 21k7+k5k8+k7k8
    140 1 2 3 4 5 6 8 9 10 12 13 14 29k15+k13k16+k15k16
    191 2 3 4 5 6 8 9 10 12 13 14 16
    17 19 20 22 58 61
    k8k38+k8k41+k8k58+k8k61
    下载: 导出CSV

    表  7  结果对比

    方法攻击轮数选择明文密钥搜索空间
    文献[16]126.39240
    文献[19]4未提及272
    本文3221.64225
    下载: 导出CSV
  • DINUR I and SHAMIR A. Cube attacks on tweakable black box polynomials[C]. The 28th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Cologne, Germany, 2009: 278–299. doi: 10.1007/978-3-642-01001-9_16.
    LAI Xuejia. Higher Order Derivatives and Differential Cryptanalysis[M]. BLAHUT R E, COSTELLO JR D J, MAURER U, et al. Communications and Cryptography. Boston: Springer, 1994: 227–233. doi: 10.1007/978-1-4615-2694-0_23.
    VIELHABER M. Breaking ONE. FIVIUM by AIDA an algebraic IV differential attack[R]. 2007.
    AUMASSON J P, DINUR I, MEIER W, et al. Cube testers and key recovery attacks on reduced-round MD6 and trivium[C]. The 16th International Workshop on Fast Software Encryption, Leuven, Belgium, 2009: 1–22. doi: 10.1007/978-3-642-03317-9_1.
    MROCZKOWSKI P and SZMIDT J. The cube attack on stream cipher trivium and quadraticity tests[J]. Fundamenta Informaticae, 2012, 114(3/4): 309–318. doi: 10.3233/FI-2012-631
    TODO Y, ISOBE T, HAO Yonglin, et al. Cube attacks on non-blackbox polynomials based on division property[J]. IEEE Transactions on Computers, 2018, 67(12): 1720–1736. doi: 10.1109/TC.2018.2835480
    SZMIDT J. The cube attack on Courtois toy cipher[C]. The 1st International Conference on Number-Theoretic Methods in Cryptology, Warsaw, Poland, 2017: 241–253. doi: 10.1007/978-3-319-76620-1_14.
    DINUR I and SHAMIR A. Side channel cube attacks on block ciphers[J]. IACR Cryptology Eprint Archive, 2009: 127.
    DINUR I and SHAMIR A. Breaking Grain-128 with dynamic cube attacks[C]. The 18th International Workshop on Fast Software Encryption, Lyngby, Denmark, 2011: 167–187. doi: 10.1007/978-3-642-21702-9_10.
    马云飞, 王韬, 陈浩, 等. SIMON系列轻量级分组密码故障立方攻击[J]. 浙江大学学报: 工学版, 2017, 51(9): 1770–1779. doi: 10.3785/j.issn.1008-973X.2017.09.011

    MA Yunfei, WANG Tao, CHEN Hao, et al. Fault-cube attack on SIMON family of lightweight block ciphers[J]. Journal of Zhejiang University:Engineering Science, 2017, 51(9): 1770–1779. doi: 10.3785/j.issn.1008-973X.2017.09.011
    HUANG Senyang, WANG Xiaoyun, XU Guangwu, et al. Conditional cube attack on reduced-round Keccak sponge function[C]. The 36th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Paris, France, 2017: 259–288. doi: 10.1007/978-3-319-56614-6_9.
    LIU Meicheng, YANG Jingchun, WANG Wenhao, et al. Correlation cube attacks: From weak-key distinguisher to key recovery[C]. The 37th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Tel Aviv, Israel, 2018: 715–744. doi: 10.1007/978-3-319-78375-8_23.
    YANG Lin, WANG Meiqin, and QIAO Siyuan. Side channel cube attack on PRESENT[C]. The 8th International Conference on Cryptology and Network Security, Kanazawa, Japan, 2009: 379–391. doi: 10.1007/978-3-642-10433-6_25.
    ABDUL-LATIP S F, REYHANITABAR M R, SUSILO W, et al. On the security of NOEKEON against side channel cube attacks[C]. The 6th International Conference on Information Security Practice and Experience, Seoul, South Korea, 2010: 45–55. doi: 10.1007/978-3-642-12827-1_4.
    BUJA A G, ABDUL-LATIP S F, and AHMAD R. A security analysis of IoT encryption: Side-channel cube attack on Simeck32/64[J]. International Journal of Computer Networks & Communications, 2018, 10(4): 79–90. doi: 10.5121/ijcnc.2018.10406
    刘会英, 王韬, 郭世泽, 等. MIBS密码旁路立方体攻击[J]. 计算机仿真, 2013, 30(5): 302–305. doi: 10.3969/j.issn.1006-9348.2013.05.069

    LIU Huiying, WANG Tao, GUO Shize, et al. Side channel cube attacks on MIBS[J]. Computer Simulation, 2013, 30(5): 302–305. doi: 10.3969/j.issn.1006-9348.2013.05.069
    FISCHER S, KHAZAEI S, and MEIER W. Chosen IV statistical analysis for key recovery attacks on stream ciphers[C]. The 1st International Conference on Cryptology in Africa, Casablanca, Morocco, 2008: 236–245. doi: 10.1007/978-3-540-68164-9_16.
    IZADI M, SADEGHIYAN B, SADEGHIAN S S, et al. MIBS: A new lightweight block cipher[C]. The 8th International Conference on Cryptology and Network Security, Kanazawa, Japan, 2009: 334–348. doi: 10.1007/978-3-642-10433-6_22.
    ZAHERI M and SADEGHIAN B. Comparing resistance against cube like attacks[C]. The 24th Iranian Conference on Electrical Engineering, At Shiraz, Iran, 2016.
  • 期刊类型引用(4)

    1. 李聪辉,姚茂群. 基于掩码技术的抗功耗攻击电路方案设计. 太赫兹科学与电子信息学报. 2024(12): 1421-1425 . 百度学术
    2. 罗玉玲,李天浩,肖丁维,丘森辉. 一种抗能量分析攻击的混沌密码系统. 湖南大学学报(自然科学版). 2022(04): 47-57 . 百度学术
    3. 任炯炯,侯泽洲,李曼曼,林东东,陈少真. 改进的减轮MIBS-80密码的中间相遇攻击. 电子与信息学报. 2022(08): 2914-2923 . 本站查看
    4. 关杰,黄俊君. Keccak类S盒的线性性质研究. 电子与信息学报. 2020(07): 1790-1795 . 本站查看

    其他类型引用(1)

  • 加载中
图(3) / 表(7)
计量
  • 文章访问数:  3914
  • HTML全文浏览量:  1172
  • PDF下载量:  93
  • 被引次数: 5
出版历程
  • 收稿日期:  2018-11-23
  • 修回日期:  2019-11-27
  • 网络出版日期:  2020-03-25
  • 刊出日期:  2020-06-04

目录

/

返回文章
返回