[发明专利]一种DES算法抗能量攻击的方法及装置在审
申请号: | 201310552788.2 | 申请日: | 2013-11-08 |
公开(公告)号: | CN104639312A | 公开(公告)日: | 2015-05-20 |
发明(设计)人: | 于艳艳;李娜;胡晓波;张茜歌;甘杰 | 申请(专利权)人: | 国家电网公司;北京南瑞智芯微电子科技有限公司 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 北京中誉威圣知识产权代理有限公司 11279 | 代理人: | 郭振兴;彭晓玲 |
地址: | 100031 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 des 算法 能量 攻击 方法 装置 | ||
技术领域
本发明涉及信息安全技术领域,具体地,涉及一种DES算法抗能量攻击的方法和装置。
背景技术
随着计算机技术的发展、社会信息化程度的不断提高,信息安全问题越来越受到人们的广泛重现。加密作为信息安全中的一个有力的武器正在发挥着重要的作用,各种加密算法不断涌现,DES算法从上个世纪70年代成为加密标准到今天,经历了长期的考验。
除了针对密码算法本身进行分析外,近年来出现了一种新的强有力的攻击方法,人们称为旁路攻击(Side Channel Attack)。旁路攻击是指攻击者利用密码设备在运行过程中泄露的旁路信息,如功耗、时间、电磁辐射等,对密码系统进行攻击和分析。旁路攻击已经成为信息安全产品的巨大威胁,它的攻击危害性远远大于传统的分析方法。
能量攻击,又称为功耗攻击,是旁路攻击中的一种方法,它利用了密码设备的功耗与密码算法的中间值有一定的相关性,通过多次测量密码设备的功耗然后进行统计分析,进而获得密钥信息。掩码方法是目前抵抗能量攻击比较常用的一种方法,通过对加密操作的中间值进行掩盖的方法使得攻击变得困难。图1为DES循环迭代MASK掩码流程图,其中,M为输入的64bit明文,X为随机产生的随机数。首先明文M与随机数X进行异或运算,异或运算的结果作为DES运算的输入,然后按照DES运算循环执行16轮,最后将输出结果与随机数X异或,将该异或的结果作为最终的输出结果。其中,DES运算中使用的S盒是经过变换的SM盒,其他运算与标准DES运算完全相同。在DES运算第1轮中主要是对明文加掩码,这样,加密算法的中间值是不可知的,从而达到抗功耗攻击的目的。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:上述方法没有考虑分组密码多次循环迭代的特性,被掩盖的中间值经过异或后仍然会泄露密码信息,无法有效地抗功耗攻击。例如,每一轮输出的中间值带有相同的掩码值,同时在异或轮密钥之前和异或轮密钥之后的中间值带的掩码值也是是相同的,如果攻击者对这上述带有相同掩码值的中间结果进行异或,可以消去掩码的影响进而实施有效的攻击。
发明内容
本发明是为了克服现有技术中DES掩码算法仍然会泄露密码信息的缺陷,根据本发明的一个方面,提出一种DES算法抗能量攻击的方法。
根据本发明实施例的一种DES算法抗能量攻击的方法,包括:
将第1轮子密钥与第一掩码进行异或运算,异或运算的结果为第1轮掩码子密钥;
在原第1轮S盒基础上、根据第一掩码确定第1轮修正S盒,且第1轮修正S盒取代原第1轮S盒;
将第1轮输入数据的后半部分与第二掩码进行异或运算,异或运算结果为第1轮输出数据的前半部分,第1轮其余算法流程与DES中的第1轮算法流程相同;
第2至16轮以相同或不同的修正S盒取代原S盒,每轮根据轮密钥带的掩码和轮输入数据的后半部分带的掩码确定修正S盒,其余算法流程与第1轮算法流程相同;
将第16轮的输出执行逆初始置换后的结果与修正掩码进行异或运算,异或运算的结果为输出的密文,修正掩码与第1至16轮引入的掩码有关。
优选的,第一掩码为48bit的随机数,第二掩码为32bit的随机数,修正掩码为64bit的随机数。
优选的,第1轮修正S盒与第2轮修正S盒不相同。
优选的,第15轮修正S盒与第16轮修正S盒不相同。
优选的,第1轮修正S盒与第16轮修正S盒不相同。
优选的,第3轮至第14轮的修正S盒相同。
优选的,第1轮修正S盒定义为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网公司;北京南瑞智芯微电子科技有限公司,未经国家电网公司;北京南瑞智芯微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310552788.2/2.html,转载请声明来源钻瓜专利网。