[发明专利]一种针对AES-128算法的新型故障攻击方法有效

专利信息
申请号: 201110328333.3 申请日: 2011-10-25
公开(公告)号: CN102404108A 公开(公告)日: 2012-04-04
发明(设计)人: 汪鹏君;郝李鹏 申请(专利权)人: 宁波大学
主分类号: H04L9/06 分类号: H04L9/06;H04L9/08
代理公司: 宁波奥圣专利代理事务所(普通合伙) 33226 代理人: 程晓明
地址: 315211 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 针对 aes 128 算法 新型 故障 攻击 方法
【权利要求书】:

1.一种针对AES-128算法的新型故障攻击方法,其特征在于包括以下步骤:

1)攻击者随机选择一个明文,获取该明文在初始密钥作用下的正确密文,将该正确密文记为C,C=SR(SB(SK9))K10,]]>其中,S表示AES-128加密算法中经第九轮列混淆操作后的状态,K9表示AES-128加密算法中第九轮子密钥加操作所需的子密钥,K9包含W[36]、W[37]、W[38]和W[39]四列16个字节的信息,W[36]列包含K9中的第0个字节的信息K09、第1个字节的信息K19、第2个字节的信息K29和第3个字节的信息K39,W[37]列包含K9中的第4个字节的信息K49、第5个字节的信息K59、第6个字节的信息K69和第7个字节的信息K79,W[38]列包含K9中的第8个字节的信息K89、第9个字节的信息K99、第10个字节的信息K109和第11个字节的信息K119,W[39]列包含K9中的第12个字节的信息K129、第13个字节的信息K139、第14个字节的信息K149和第15个字节的信息K159,SB表示AES-128加密算法中第十轮加密的字节代换操作,SR表示AES-128加密算法中第十轮加密的行变换操作,K10表示AES-128加密算法中第十轮子密钥加操作所需的子密钥,为异或操作符号;

2)攻击者对步骤1)中随机选择的明文进行加密操作,在加密操作过程中任选已正确生成且已储存在静态存储器中的K9的前三列中的一列,对所选列的所有字节进行随机故障诱导,每次随机故障诱导操作均获得一个包含多个字节的随机故障的有效错误密文,记为F,F=SR(SB(SK~9))K~10,]]>表示包含随机故障的第九轮子密钥,表示包含随机故障的第十轮子密钥;然后,攻击者依照AES-128加密算法的工作原理,采用差分分析技术恢复得到K10的4个字节的信息;

3)采用与步骤2)相同的操作,对K9的前三列中剩余两列分别进行随机故障诱导,共恢复得到K10的12个字节的信息;

4)对K9的最后一列字节的信息进行暴力攻击,获取K10的剩余4个字节的信息;

5)攻击者根据AES-128密钥扩展算法的工作原理以及恢复得到的K10,逆向计算得到初始密钥。

2.根据权利要求1所述的一种针对AES-128算法的新型故障攻击方法,其特征在于所述的步骤2)中当随机故障诱导操作选择的是K9的第一列W[36]时,对W[36]的所有字节进行随机故障诱导,获得包含多个字节的随机故障的有效错误密文F,并以此恢复得到K10中的4个字节的具体过程为:

a-1、分别向W[36]的每个字节中引入8比特的随机故障,得到包含随机故障的第九轮子密钥,记为

a-2、根据以及AES-128密钥扩展算法的工作原理,获得包含随机故障的第十轮子密钥然后分别构建两个4×4的二维数组,分别记为A和B,将A中的元素记为AiAi=Ki9K~i9,]]>将B中的元素记为BiBi=Ki10K~i10;]]>根据AES-128密钥扩展算法的工作原理,确定B与A之间存在线性关系,表示为:B=A×1111000000000000,]]>其中,i=0,1,2,…,14,15,Ki9表示K9中的第i个字节,表示中的第i个字节,Ki10表示K10中的第i个字节,表示中的第i个字节;

a-3、根据AES-128密钥扩展算法的工作原理及B与A之间的线性关系,确定的所有字节中均被引入8比特的随机故障,且的每一行中的每个字节包含的随机故障相同,且的任意一行的每个字节包含的8比特的随机故障与W[36]相同行内字节中包含的随机故障相同,通过最后一轮加密算法的子密钥加操作后造成输出的密文中的所有字节出现故障;

a-4、根据AES-128加密算法的工作原理,确定AES-128加密算法中经第九轮加密后的加密结果中的第一列的所有字节中均被引入8比特的随机故障,将包含随机故障的第九轮加密结果记为其中,与对应字节包含的随机故障相同;

a-5、依次完成AES-128加密算法中第十轮加密的字节代换操作、行变换操作和子密钥加操作,造成输出的密文中的4个字节出现故障;然后结合所造成的输出的密文中的所有字节出现故障,最终得到一个16个字节均包含随机故障的有效错误密文,记为F,F=SR(SB(SK~9))K~10,]]>其中,式表示随机故障经AES-128加密算法传递,式表示随机故障经AES-128密钥扩展算法传递;

a-6、对C=SR(SB(SK9))K10]]>F=SR(SB(SK~9))K~10]]>分别进行逆操作,并根据AES-128加密算法中经第九轮列混淆操作后的状态S不受多字节故障诱导影响的特点,得到K9InvSB(InvSR(K10C))K~9InvSB(InvSR(K~10F))=0;]]>然后向K9InvSB(InvSR(K10C))K~9InvSB(InvSR(K~10F))=0]]>中引入A和B,得到InvSB(InvSR(K10C))AInvSB(InvSR(K10BF))=0,]]>其中,InvSB表示AES-128加密算法中第十轮加密的字节代换操作的逆操作,InvSR表示AES-128加密算法中第十轮加密的行变换操作的逆操作;

a-7、将InvSB(InvSR(K10C))AInvSB(InvSR(K10BF))=0]]>以字节形式表示为InvSB(InvSR(Ki10Ci))AjInvSB(InvSR(Ki10BiFi))=0,]]>其中,j=0,1,2,…,14,15;

a-8、根据AES-128加密算法中第十轮加密的行变换操作的逆操作InvSR的工作特点,确定当i=0,4,8,12时j=i,当i=1,5,9,13时j=(i+4)%16,当i=2,6,10,14时j=(i+8)%16,当i=3,7,11,15时j=(i+12)%16,其中,“%”为求余数符号;然后根据i和j的对应关系消除InvSB(InvSR(Ki10Ci))AjInvSB(InvSR(Ki10BiFi))=0]]>中的InvSR,得到InvSB(Ki10Ci)AjInvSB(Ki10BiFi)=0;]]>

a-9、根据造成的输出的密文中的所有字节出现故障和造成的输出的密文中的4个字节出现故障,确定经上述两个随机故障传递过程影响的字节在有效错误密文中存在一个交集,将交集中包含随机故障的第1字节作为当前字节,记为Cs,s∈{0,7,10,13};

a-10、根据当前字节Cs在有效错误密文F中的位置s和InvSB(Ki10Ci)AjInvSB(Ki10BiFi)=0,]]>确定A中与Cs对应的字节的位置x,当s=0时x=s,当s=13时x=(s+4)%16,当s=10时x=(s+8)%16,当s=7时x=(s+12)%16;再在空间大小为28的搜索空间内对Ks10进行穷尽搜索,得到Ks10的一组解;

a-11、将交集中包含随机故障的下一个字节作为当前字节,返回步骤a-10继续执行,直至交集中包含随机故障的所有字节全部处理完毕,最终得到K10中的第0个字节K010、第7个字节K710、第10个字节K1010和第13个字节K1310的一组解;

a-12、再次向K9的W[36]的所有字节中引入随机故障,并采用与步骤a-2至步骤a-11相同的操作,得到K10的第0个字节K010、第7个字节K310、第10个字节K1010和第13个字节K1310的另一组解;

a-13、将由步骤a-11与步骤a-12得到的两组关于K010、K710、K1010、K13104个字节的解中的相同值作为各自字节的正确值;

当随机故障诱导操作选择的是K9的第二列W[37]时,对W[37]的所有字节进行随机故障诱导,获得包含多个字节的随机故障的有效错误密文F,并以此恢复得到K10中的4个字节的具体过程为:

b-1、分别向W[37]的每个字节中引入8比特的随机故障,得到包含随机故障的第九轮子密钥,记为

b-2、根据以及AES-128密钥扩展算法的工作原理,获得包含随机故障的第十轮子密钥然后分别构建两个4×4的二维数组,分别记为A和B,将A中的元素记为AiAi=Ki9K~9,]]>将B中的元素记为BiBi=Ki10K~10;]]>根据AES-128密钥扩展算法的工作原理,确定B与A之间存在线性关系,表示为:B=A×0000011100000000,]]>其中,i=0,1,2,…,14,15,Ki9表示K9中的第i个字节,表示中的第i个字节,Ki10表示K10中的第i个字节,表示中的第i个字节;

b-3、根据AES-128密钥扩展算法的工作原理及B与A之间的线性关系,确定的所有字节中均被引入8比特的随机故障,且的每一行中的第二列至第四列中的字节包含的随机故障相同,且的任意一行的第二列至第四列中的每个字节中包含的8比特的随机故障与W[37]中相同行内字节中包含的8比特的随机故障相同,通过最后一轮加密算法的子密钥加操作后造成输出的密文的第二列至第四列中的所有字节出现故障;

b-4、根据AES-128加密算法的工作原理,确定AES-128加密算法中经第九轮加密后的加密结果中的第二列的所有字节均被引入了8比特的随机故障,将包含随机故障的第九轮加密结果记为其中,与对应字节包含的随机故障相同;

b-5、依次完成AES-128加密算法中第十轮加密的字节代换操作、行变换操作和子密钥加操作,造成输出的密文中的4个字节出现故障;然后结合所造成的输出的密文的第二列至第四列中的所有字节出现故障,最终得到一个13个字节包含随机故障的有效错误密文,记为F,且F=SR(SB(SK~9))K~10,]]>其中,式表示随机故障经AES-128加密算法传递,式表示随机故障经AES-128密钥扩展算法传递;

b-6、对C=SR(SB(SK9))K10]]>F=SR(SB(SK~9))K~10]]>分别进行逆操作,并根据AES-128加密算法中经第九轮列混淆操作后的状态S不受多字节故障诱导影响的特点,得到K9InvSB(InvSR(K10C))K~9InvSB(InvSR(K~10F))=0;]]>然后向K9InvSB(InvSR(K10C))K~9InvSB(InvSR(K~10F))=0]]>中引入A和B,得到InvSB(InvSR(K10C))AInvSB(InvSR(K10BF))=0,]]>其中,InvSB表示AES-128加密算法中第十轮加密的字节代换操作的逆操作,InvSR表示AES-128加密算法中第十轮加密的行变换操作的逆操作;

b-7、将InvSB(InvSR(K10C))AInvSB(InvSR(K10BF))=0]]>以字节形式表示为InvSB(InvSR(Ki10Ci))AjInvSB(InvSR(Ki10BiFi))=0,]]>其中,j=0,1,2,…,14,15;

b-8、根据AES-128加密算法中第十轮加密的行变换操作的逆操作InvSR的工作特点,确定当i=0,4,8,12时j=i,当i=1,5,9,13时j=(i+4)%16,当i=2,6,10,14时j=(i+8)%16,当i=3,7,11,15时j=(i+12)%16,其中,“%”为求余数符号;然后根据i和j的对应关系消除InvSB(InvSR(Ki10Ci))AjInvSB(InvSR(Ki10BiFi))=0]]>中的InvSR,得到InvSB(Ki10Ci)AjInvSB(Ki10BiFi)=0;]]>

b-9、根据造成的输出的密文的第二列至第四列中的所有字节出现故障和造成的输出的密文中的4个字节出现故障,确定经上述两个随机故障传递过程影响的字节在有铲错误密文中存在一个交集,将交集中包含随机故障的第1个字节作为当前字节,记为Cs,s∈{1,4,11,14};

b-10、根据当前字节Cs在有效错误密文F中的位置s和InvSB(Ki10Ci)AjInvSB(Ki10BiFi)=0,]]>确定与Cs对应的字节的位置x,当s=4时x=s,当s=1时x=(s+4)%16,当s=14时x=(s+8)%16,当s=11时x=(s+12)%16;再在空间大小为28的搜索空间内对Ks10进行穷尽搜索,得到Ks10的一组解;

b-11、将交集中包含随机故障的下一个字节作为当前字节,返回步骤b-10继续执行,直至交集中包含随机故障的所有字节全部处理完毕,最终得到K10中的第1个字节K110、第4个字节K410、第11个字节K1110和第14个字节K1410的一组解;

b-12、再次向K9的W[37]的所有字节中引入随机故障,并采用与步骤b-2至步骤b-11相同的操作,得到K10的第1个字节K110、第4个字节K410、第11个字节K1110和第14个字节K1410的另一组解;

b-13、将由步骤b-11与步骤b-12得到的两组关于K110、K410、K1110、K14104个字节的解中相同值作为各自字节的正确值;

当随机故障诱导操作选择的是K9的第三列W[38]时,对W[38]的所有字节进行随机故障诱导,获得包含多个字节的随机故障的有效错误密文F,并以此恢复得到K10中的4个字节的具体过程为:

c-1、分别向W[38]的每个字节中引入8比特的随机故障,得到包含随机故障的第九轮子密钥,记为

c-2、根据以及AES-128密钥扩展算法的工作原理,获得包含随机故障的第十轮子密钥然后分别构建两个4×4的二维数组,分别记为A和B,将A中的元素记为AiAi=Ki9K~9,]]>将B中的元素记为BiBi=Ki10K~10;]]>根据AES-128密钥扩展算法的工作原理,确定B与A之间存在线性关系,表示为:B=A×0000000000110000,]]>其中,i=0,1,2,…,14,15,Ki9表示K9中的第i个字节,表示中的第i个字节,Ki10表示K10中的第i个字节,表示中的第i个字节;

c-3、根据AES-128密钥扩展算法的工作原理及B与A之间的线性关系,确定的的第三列至第四列中的所有字节中均被引入8比特的随机故障,且K10的每一行中的第三列至第四列中的字节包含的随机故障相同,且的任意一行的第三列至第四列中的每个字节中包含的8比特的随机故障与W[38]相同行内字节中包含的8比特的随机故障信息相同,通过最后一轮加密算法的子密钥加操作后造成输出的密文的第三列至第四列中的所有字节出现故障;

c-4、根据AES-128加密算法的工作原理,确定AES-128加密算法中经第九轮加密后的加密结果中的第三列的所有字节均被引入了8比特的随机故障,将包含随机故障的第九轮加密结果记为其中,与对应字节包含的随机故障相同;

c-5、依次完成AES-128加密算法中第十轮加密的字节代换操作、行变换操作和子密钥加操作,造成输出的密文中的4个字节出现故障;然后结合所造成的输出的密文的第三列至第四列中的所有字节出现故障,最终得到一个10个字节包含随机故障的有效错误密文,记为F,且F=SR(SB(SK~9))K~10,]]>其中,式表示随机故障经AES-128加密算法传递,式表示随机故障经AES-128密钥扩展算法传递;

c-6、对C=SR(SB(SK9))K10]]>F=SR(SB(SK~9))K~10]]>分别进行逆操作,并根据AES-128加密算法中经第九轮列混淆操作后的状态S不受多字节故障诱导影响的特点,得到K9InvSB(InvSR(K10C))K~9InvSB(InvSR(K~10F))=0;]]>然后向K9InvSB(InvSR(K10C))K~9InvSB(InvSR(K~10F))=0]]>中引入A和B,得到InvSB(InvSR(K10C))AInvSB(InvSR(K10BF))=0,]]>其中,InvSB表示AES-128加密算法中第十轮加密的字节代换操作的逆操作,InvSR表示AES-128加密算法中第十轮加密的行变换操作的逆操作;

c-7、将InvSB(InvSR(K10C))AInvSB(InvSR(K10BF))=0]]>以字节形式表示为InvSB(InvSR(Ki10Ci))AjInvSB(InvSR(Ki10BiFi))=0,]]>其中,j=0,1,2,…,14,15;

c-8、根据AES-128加密算法中第十轮加密的行变换操作的逆操作InvSR的工作特点,确定当i=0,4,8,12时j=i,当i=1,5,9,13时j=(i+4)%16,当i=2,6,10,14时j=(i+8)%16,当i=3,7,11,15时j=(i+12)%16,其中,“%”为求余数符号;然后根据i和j的对应关系消除InvSB(InvSR(Ki10Ci))AjInvSB(InvSR(Ki10BiFi))=0]]>中的InvSR,得到InvSB(Ki10Ci)AjInvSB(Ki10BiFi)=0;]]>

c-9、根据造成的输出的密文的第三列至第四列中的所有字节出现故障和造成的输出的密文中的4个字节出现故障,确定经上述两个随机故障传递过程影响的字节在有效错误密文中存在一个交集,将交集中包含随机故障的第1个字节作为当前字节,记为Cs,s∈{2,5,8,15};

c-10、根据当前字节Cs在有效错误密文F中的位置s和InvSB(Ki10Ci)AjInvSB(Ki10BiFi)=0,]]>确定与Cs对应的字节的位置x,当s=8时x=s,当s=5时x=(s+4)%16,当s=2时x=(s+8)%16,当s=15时x=(s+12)%16;再在空间大小为28的搜索空间内对Ks10进行穷尽搜索,得到Ks10的一组解;

c-11、将交集中包含随机故障的下一个字节作为当前字节,返回步骤c-10继续执行,直至交集中包含随机故障的所有字节全部处理完毕,最终得到K10中的第2个字节K210、第5个字节K510、第8个字节K810和第15个字节K1510的一组解;

c-12、再次向K9的W[38]的所有字节中引入随机故障,并采用与步骤c-2至c-11相同的操作,得到K10的第2个字节K210、第5个字节K510、第8个字节K810和第15个字节K1510的另一组解;

c-13、将由步骤c-11与步骤c-12得到的两组关于K210、K510、K810、K15104个字节的解中相同值作为各自字节的正确值。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宁波大学,未经宁波大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110328333.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top