一种des算法抗能量攻击的方法及装置的制造方法

文档序号:8322023阅读:398来源:国知局
一种des算法抗能量攻击的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及信息安全技术领域,具体地,涉及一种DES算法抗能量攻击的方法和 装直。
【背景技术】
[0002] 随着计算机技术的发展、社会信息化程度的不断提高,信息安全问题越来越受到 人们的广泛重现。加密作为信息安全中的一个有力的武器正在发挥着重要的作用,各种加 密算法不断涌现,DES算法从上个世纪70年代成为加密标准到今天,经历了长期的考验。
[0003] 除了针对密码算法本身进行分析外,近年来出现了一种新的强有力的攻击方法, 人们称为旁路攻击(Side Channel Attack)。旁路攻击是指攻击者利用密码设备在运行过 程中泄露的旁路信息,如功耗、时间、电磁辐射等,对密码系统进行攻击和分析。旁路攻击已 经成为信息安全产品的巨大威胁,它的攻击危害性远远大于传统的分析方法。
[0004] 能量攻击,又称为功耗攻击,是芳路攻击中的一种方法,它利用了密码设备的功耗 与密码算法的中间值有一定的相关性,通过多次测量密码设备的功耗然后进行统计分析, 进而获得密钥信息。掩码方法是目前抵抗能量攻击比较常用的一种方法,通过对加密操作 的中间值进行掩盖的方法使得攻击变得困难。图1为DES循环迭代MASK掩码流程图,其中, M为输入的64bit明文,X为随机产生的随机数。首先明文M与随机数X进行异或运算,异 或运算的结果作为DES运算的输入,然后按照DES运算循环执行16轮,最后将输出结果与 随机数X异或,将该异或的结果作为最终的输出结果。其中,DES运算中使用的S盒是经过 变换的SM盒,其他运算与标准DES运算完全相同。在DES运算第1轮中主要是对明文加掩 码,这样,加密算法的中间值是不可知的,从而达到抗功耗攻击的目的。
[0005] 在实现本发明过程中,发明人发现现有技术中至少存在如下问题:上述方法没有 考虑分组密码多次循环迭代的特性,被掩盖的中间值经过异或后仍然会泄露密码信息,无 法有效地抗功耗攻击。例如,每一轮输出的中间值带有相同的掩码值,同时在异或轮密钥之 前和异或轮密钥之后的中间值带的掩码值也是是相同的,如果攻击者对这上述带有相同掩 码值的中间结果进行异或,可以消去掩码的影响进而实施有效的攻击。

【发明内容】

[0006] 本发明是为了克服现有技术中DES掩码算法仍然会泄露密码信息的缺陷,根据本 发明的一个方面,提出一种DES算法抗能量攻击的方法。
[0007] 根据本发明实施例的一种DES算法抗能量攻击的方法,包括:
[0008] 将第1轮子密钥与第一掩码进行异或运算,异或运算的结果为第1轮掩码子密 钥;
[0009] 在原第1轮S盒基础上、根据第一掩码确定第1轮修正S盒,且第1轮修正S盒取 代原第1轮S盒;
[0010] 将第1轮输入数据的后半部分与第二掩码进行异或运算,异或运算结果为第1轮 输出数据的前半部分,第1轮其余算法流程与DES中的第1轮算法流程相同;
[0011] 第2至16轮以相同或不同的修正S盒取代原S盒,每轮根据轮密钥带的掩码和轮 输入数据的后半部分带的掩码确定修正S盒,其余算法流程与第1轮算法流程相同;
[0012] 将第16轮的输出执行逆初始置换后的结果与修正掩码进行异或运算,异或运算 的结果为输出的密文,修正掩码与第1至16轮引入的掩码有关。
[0013] 优选的,第一掩码为48bit的随机数,第二掩码为32bit的随机数,修正掩码为 64bit的随机数。
[0014] 优选的,第1轮修正S盒与第2轮修正S盒不相同。
[0015] 优选的,第15轮修正S盒与第16轮修正S盒不相同。
[0016] 优选的,第1轮修正S盒与第16轮修正S盒不相同。
[0017] 优选的,第3轮至第14轮的修正S盒相同。
[0018] 优选的,第1轮修正S盒定义为:
[0019]
【主权项】
1. 一种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轮引入的掩码有关。
2. 根据权利要求1所述的方法,其特征在于,所述第一掩码为48bit的随机数,所述第 二掩码为32bit的随机数,所述修正掩码为64bit的随机数。
3. 根据权利要求1所述的方法,其特征在于,所述第1轮修正S盒与所述第2轮修正S 盒不相同。
4. 根据权利要求1或3所述的方法,其特征在于,所述第15轮修正S盒与所述第16轮 修正S盒不相同。
5. 根据权利要求1或3所述的方法,其特征在于,所述第1轮修正S盒与所述第16轮 修正S盒不相同。
6. 根据权利要求1所述的方法,其特征在于,所述第3轮至第14轮的修正S盒相同。
7. 根据权利要求1所述的方法,其特征在于,所述第1轮修正S盒定义为: SM1(A)=S(A0X1)0P'(X3) 其中,SMl ()为修正S盒置换,SO为S盒置换,P4O为P盒置换的逆置换,Xl为48bit 的第一掩码,X3为32bit的第三掩码。
8. -种DES算法抗能量攻击的装置,其特征在于,包括: 掩码子密钥生成模块,用于将第1轮子密钥与第一掩码进行异或运算,所述异或运算 的结果为第1轮掩码子密钥; 修正S盒生成模块,用于在原第1轮S盒基础上、根据所述第一掩码确定第1轮修正S 盒,所述第1轮修正S盒取代所述原第1轮S盒; 输出异或模块,用于将第1轮输入数据的后半部分与第二掩码进行异或运算,所述异 或运算结果为第1轮输出数据的前半部分,第1轮其余算法流程与DES中的第1轮算法流 程相同; 修正掩码模块,用于将第16轮的输出执行逆初始置换后的结果与修正掩码进行异或 运算,所述异或运算的结果为输出的密文,所述修正掩码与第1至16轮引入的掩码有关; 所述掩码子密钥生成模块还用于在第2至16将轮子密钥与子密钥掩码进行异或运算, 异或运算的结果为该轮掩码子密钥; 所述修正S盒生成模块还用于在第2至16轮生成相同或不同的修正S盒并且取代原 S盒,每轮根据轮密钥带的掩码和轮输入数据的后半部分带的掩码确定修正S盒。
9. 根据权利要求8所述的装置,其特征在于,所述修正S盒生成模块生成的第1轮修正 S盒与第2轮修正S盒不相同。
10. 根据权利要求8或9所述的装置,其特征在于,所述修正S盒生成模块生成的第15 轮修正S盒与第16轮修正S盒不相同。
11. 根据权利要求8或9所述的装置,其特征在于,所述修正S盒生成模块生成的第1 轮修正S盒与第16轮修正S盒不相同。
12. 根据权利要求8所述的装置,其特征在于,所述修正S盒生成模块生成的第3轮至 第14轮修正S盒相同。
13. 根据权利要求8所述的装置,其特征在于,所述修正S盒生成模块生成的第1轮修 正S盒定义为: SMl(A)=S(AeX) )0Ρ·'(Χ3) 其中,SMlO为修正S盒置换,SO为S盒置换,P4O为P盒置换的逆置换,Xl为48bit 的第一掩码,X3为32bit的第三掩码。
【专利摘要】本发明公开了一种DES算法抗能量攻击的方法及装置,其中,该方法包括:将第1轮子密钥与第一掩码进行异或运算;在原第1轮S盒基础上、根据第一掩码确定第1轮修正S盒,且取代原第1轮S盒;第1轮输入数据的后半部分与第二掩码进行异或运算,异或运算结果为第1轮输出数据的前半部分;第2至16轮以相同或不同的修正S盒取代原S盒,每轮根据轮密钥带的掩码和轮输入数据的后半部分带的掩码确定修正S盒,其余算法流程与第1轮算法流程相同;将第16轮的输出执行逆初始置换后的结果与修正掩码进行异或运算,异或运算的结果为输出的密文。通过本发明提供的DES算法抗能量攻击的方法,可以有效抵抗能量攻击。
【IPC分类】H04L9-06
【公开号】CN104639312
【申请号】CN201310552788
【发明人】于艳艳, 李娜, 胡晓波, 张茜歌, 甘杰
【申请人】国家电网公司, 北京南瑞智芯微电子科技有限公司
【公开日】2015年5月20日
【申请日】2013年11月8日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1