[发明专利]一种针对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,
2)攻击者对步骤1)中随机选择的明文进行加密操作,在加密操作过程中任选已正确生成且已储存在静态存储器中的K9的前三列中的一列,对所选列的所有字节进行随机故障诱导,每次随机故障诱导操作均获得一个包含多个字节的随机故障的有效错误密文,记为F,
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中的元素记为Ai,
a-3、根据AES-128密钥扩展算法的工作原理及B与A之间的线性关系,确定的所有字节中均被引入8比特的随机故障,且的每一行中的每个字节包含的随机故障相同,且的任意一行的每个字节包含的8比特的随机故障与W[36]相同行内字节中包含的随机故障相同,通过最后一轮加密算法的子密钥加操作后造成输出的密文中的所有字节出现故障;
a-4、根据AES-128加密算法的工作原理,确定AES-128加密算法中经第九轮加密后的加密结果中的第一列的所有字节中均被引入8比特的随机故障,将包含随机故障的第九轮加密结果记为其中,与对应字节包含的随机故障相同;
a-5、依次完成AES-128加密算法中第十轮加密的字节代换操作、行变换操作和子密钥加操作,造成输出的密文中的4个字节出现故障;然后结合所造成的输出的密文中的所有字节出现故障,最终得到一个16个字节均包含随机故障的有效错误密文,记为F,
a-6、对
a-7、将
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的对应关系消除
a-9、根据造成的输出的密文中的所有字节出现故障和造成的输出的密文中的4个字节出现故障,确定经上述两个随机故障传递过程影响的字节在有效错误密文中存在一个交集,将交集中包含随机故障的第1字节作为当前字节,记为Cs,s∈{0,7,10,13};
a-10、根据当前字节Cs在有效错误密文F中的位置s和
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中的元素记为Ai,
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,且
b-6、对
b-7、将
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的对应关系消除
b-9、根据造成的输出的密文的第二列至第四列中的所有字节出现故障和造成的输出的密文中的4个字节出现故障,确定经上述两个随机故障传递过程影响的字节在有铲错误密文中存在一个交集,将交集中包含随机故障的第1个字节作为当前字节,记为Cs,s∈{1,4,11,14};
b-10、根据当前字节Cs在有效错误密文F中的位置s和
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中的元素记为Ai,
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,且
c-6、对
c-7、将
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的对应关系消除
c-9、根据造成的输出的密文的第三列至第四列中的所有字节出现故障和造成的输出的密文中的4个字节出现故障,确定经上述两个随机故障传递过程影响的字节在有效错误密文中存在一个交集,将交集中包含随机故障的第1个字节作为当前字节,记为Cs,s∈{2,5,8,15};
c-10、根据当前字节Cs在有效错误密文F中的位置s和
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个字节的解中相同值作为各自字节的正确值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于宁波大学,未经宁波大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110328333.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:设置有移动工作台定位装置的油压机及其锁紧缸
- 下一篇:模具起模器