CN104639312A - 一种des算法抗能量攻击的方法及装置 - Google Patents

一种des算法抗能量攻击的方法及装置 Download PDF

Info

Publication number
CN104639312A
CN104639312A CN201310552788.2A CN201310552788A CN104639312A CN 104639312 A CN104639312 A CN 104639312A CN 201310552788 A CN201310552788 A CN 201310552788A CN 104639312 A CN104639312 A CN 104639312A
Authority
CN
China
Prior art keywords
box
mask
turns
revise
correction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310552788.2A
Other languages
English (en)
Other versions
CN104639312B (zh
Inventor
于艳艳
李娜
胡晓波
张茜歌
甘杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
Beijing Nanrui Zhixin Micro Electronics Technology Co Ltd
Original Assignee
State Grid Corp of China SGCC
Beijing Nanrui Zhixin Micro Electronics Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, Beijing Nanrui Zhixin Micro Electronics Technology Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201310552788.2A priority Critical patent/CN104639312B/zh
Publication of CN104639312A publication Critical patent/CN104639312A/zh
Application granted granted Critical
Publication of CN104639312B publication Critical patent/CN104639312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种DES算法抗能量攻击的方法及装置,其中,该方法包括:将第1轮子密钥与第一掩码进行异或运算;在原第1轮S盒基础上、根据第一掩码确定第1轮修正S盒,且取代原第1轮S盒;第1轮输入数据的后半部分与第二掩码进行异或运算,异或运算结果为第1轮输出数据的前半部分;第2至16轮以相同或不同的修正S盒取代原S盒,每轮根据轮密钥带的掩码和轮输入数据的后半部分带的掩码确定修正S盒,其余算法流程与第1轮算法流程相同;将第16轮的输出执行逆初始置换后的结果与修正掩码进行异或运算,异或运算的结果为输出的密文。通过本发明提供的DES算法抗能量攻击的方法,可以有效抵抗能量攻击。

Description

一种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盒定义为:
SM 1 ( A ) = S ( A ⊕ X 1 ) ⊕ P - 1 ( X 3 )
其中,SM1()为修正S盒置换,S()为S盒置换,P-1()为P盒置换的逆置换,X1为48bit的第一掩码,X3为32bit的第三掩码。
本发明的DES算法抗能量攻击的方法,通过对子密钥引入掩码,克服了现有技术中DES掩码算法仍然会泄露密码信息的缺陷,从而有效掩盖了密钥信息,可以更加有效地抵抗能量攻击。
根据本发明实施例的一种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盒。
优选的,修正S盒生成模块生成的第1轮修正S盒与第2轮修正S盒不相同。
优选的,修正S盒生成模块生成的第15轮修正S盒与第16轮修正S盒不相同。
优选的,修正S盒生成模块生成的第1轮修正S盒与第16轮修正S盒不相同。
优选的,修正S盒生成模块生成的第3轮至第14轮修正S盒相同。
优选的,修正S盒生成模块生成的第1轮修正S盒定义为:
SM 1 ( A ) = S ( A ⊕ X 1 ) ⊕ P - 1 ( X 3 )
其中,SM1()为修正S盒置换,S()为S盒置换,P-1()为P盒置换的逆置换,X1为48bit的第一掩码,X3为32bit的第三掩码。
本发明的DES算法抗能量攻击的方法,通过对子密钥引入掩码,克服了现有技术中DES掩码算法仍然会泄露密码信息的缺陷,从而有效掩盖了密钥信息,可以更加有效地抵抗能量攻击。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为现有技术中的DES循环迭代MASK掩码算法流程示意图;
图2为本发明实施例中DES算法抗能量攻击的方法流程图;
图3为本发明实施例中DES算法抗能量攻击的算法流程示意图;
图4为实施例一中DES算法抗能量攻击的算法流程示意;
图5为本发明实施例中DES算法抗能量攻击的装置结构示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
根据本发明实施例,提供了一种DES算法抗能量攻击的方法,参见图2所示,本发明实施例中DES算法抗能量攻击的方法流程如下:
步骤101:将第1轮子密钥与第一掩码进行异或运算,异或运算的结果为第1轮掩码子密钥。
该第一掩码为48bit的随机数且由随机数发生器产生,可以利用线性反馈移位寄存器产生伪随机数,也可以通过采集自然界中的物理模拟信号噪声,将模拟信号噪声转换为数字信号,进而获得真随机数。另外,可以由真随机数发生器直接产生48bit的第一掩码。通过对第1轮子密钥与第一掩码进行异或运算,可以为第1轮子密钥引入掩码,从而在第1轮掩码子密钥之前的中间值不存在掩码,而第1轮掩码子密钥之后的中间值存在掩码,因此攻击者即使对上述两个中间值带进行异或,仍然不能消去掩码的影响。
步骤102:在原第1轮S盒基础上、根据第一掩码确定第1轮修正S盒,且第1轮修正S盒取代原第1轮S盒。
本发明实施例中,第1轮修正S盒取代原第1轮S盒,功能与原第1轮S盒相似,即以查表的方式将48bit的输入转换为32bit的输出。修正S盒运算和S盒运算都为非线性运算,第1轮修正S盒是在原第1轮S盒基础上、根据第一掩码确定而成的。第1轮修正S盒与原S盒和第一掩码之间最简单的关系式为:其中SM1()为第1轮修正S盒置换,S()为原S盒置换,P-1()为P置换的逆置换,X1为48bit的第一掩码,X3为32bit的第三掩码,A为第1轮修正S盒的输入。需要说明的是,上式仅为第1轮修正S盒的一种形式,根据需要可以设计为更复杂的其他形式。
步骤103:将第1轮输入数据的后半部分与第二掩码进行异或运算,异或运算结果为第1轮输出数据的前半部分,第1轮其余算法流程与DES第1轮算法流程相同。
上述第1轮输入数据的后半部分即为明文初始置换后的右半部分数据,第二掩码为32bit的随机数,可以由随机数发生器产生,通过对第1轮输入数据的后半部分与32bit的第二掩码进行异或运算,可以对第1轮输出数据的前半部分引入掩码,即对第1轮左侧的输出引入掩码;利用第1轮修正S盒以及对第1轮子密钥引入掩码,可以对第1轮输出数据的后半部分引入掩码,即对第1轮右侧的输出引入掩码。这样,第1轮输出的中间值全部都引入了掩码。
第1轮运算中的其余算法流程与DES第1轮算法流程相同:明文初始置换后的结果分为左半部分数据和右半部分数据,对右半部分数据首先进行E盒扩展置换,在与第1轮掩码子密钥异或运算之后进行第1轮修正S盒置换,然后对第1轮修正S盒置换的结果进行P盒置换,最后与左半部分数据进行异或运算,异或运算的结果即为第1轮右侧的输出。
步骤104:第2至16轮以相同或不同的修正S盒取代原S盒,每轮根据轮密钥带的掩码和轮输入数据的后半部分带的掩码确定修正S盒,其余算法流程与第1轮流程相同。
第2至16轮每轮的流程与第1轮的流程相似。其中,第2至16轮都以修正S盒取代原S盒,且每轮的修正S盒由轮密钥带的掩码和轮输入数据的后半部分带的掩码确定。本发明实施例中,将每轮输入的64bit的输入数据分为32bit的左半部分和32bit的右半部分,步骤104中轮输入数据的后半部分即为轮输入数据的右半部分。同时,在第1轮运算中,子密钥和输出数据的前半部分都需要引入掩码,而在第2至16轮中可以引入掩码,也可以不引入掩码,具体根据每轮的修正S盒确定。
步骤105:第16轮的输出进行逆初始置换后,与修正掩码进行异或运算,异或运算的结果为输出的密文,修正掩码与第1至16轮引入的掩码有关。
修正掩码64bit的随机数,可以由随机数发生器产生。本发明实施例中,通过64bit的修正掩码去除逆初始置换输出结果中的掩码,从而得到与DES算法相同的密文,因此修正掩码与引入的所有掩码有关,具体的计算方法与整体算法有关。
具体算法流程参见图3所示,首先接收64bit的明文M,并对其进行初始置换(IP,Initial Permutation),初始置换的结果被分为32bit的左数据L0和32bit的右数据R0,之后对右数据R0进行扩展置换,即E盒置换,将32bit的右数据R0扩展为48bit的E(R0)。同时,对64bit的密钥去掉8位校验位以及进行置换、移位运算和压缩置换后,获得48bit的第1轮子密钥K1以及其他轮的子密钥。以上算法流程与标准DES算法流程相同。之后第1轮子密钥K1与第一掩码进行异或运算,再与E(R0)异或后输入到第1轮修正S盒SM1-Box中,SM1-Box的输出经P盒置换后与左数据L0进行异或运算,结果为第一轮右侧的输出R1’;同时右数据R0与第二掩码异或后,结果为第一轮左侧的输出L1’。在经过16轮运算后,通过引入修正掩码去除掩码,获得最终的密文。
下面通过实施例一详细介绍DES算法抗能量攻击的方法流程。
实施例一
实施例一中,第1、2轮DES运算中采用不同的修正S盒,第3-14轮DES运算中采用相同的修正S盒,第15、16轮DES运算中采用不同的修正S盒;随机数发生器随机产生三个掩码,分别为32bit的掩码X1,32bit的掩码X2和32bit的掩码X3。实施例一中,只有第1轮子密钥引入了掩码,其余子密钥未进行掩码处理,其具体算法流程如下。
实施例一中第1轮DES算法:
参见图2所示,首先对32bit的掩码X1进行E盒扩展置换,将32bit的掩码X1扩展为48bit的掩码E(X1),然后对子密钥K1和掩码E(X1)进行异或运算,得到子掩码密钥K1’,即
K 1 , = K 1 ⊕ E ( X 1 ) ;
将子掩码密钥K1’代替原DES算法中的子密钥K1,与E(R0)进行异或运算,然后将异或结果输入到第1轮的修正S盒SM1-Box。其中,修正S盒是在原有的S盒基础上确定的,具体如下:
SM 1 ( A ) = S [ A ⊕ E ( X 1 ) ] ⊕ P - 1 ( X 2 ) ;
在上述公式中,SM1()为第1轮的修正S盒运算,S()为S盒运算,E()为E盒扩展置换,P-1()为P盒置换的逆置换运算。修正S盒SM1-Box的输入为所以修正S盒的输出为:
SM 1 [ E ( R 0 ) ⊕ K 1 ⊕ E ( X 1 ) ] = S [ E ( R 0 ) ⊕ K 1 ] ⊕ P - 1 ( X 2 ) .
之后对修正S盒SM1-Box的输出进行P盒置换,P盒置换的结果与左数据L0进行异或运算,其结果即为第1轮DES运算右侧的输出R1’。由于P盒置换为线性运算,且所以:
R 1 , = P { S [ E ( R 0 ) ⊕ K 1 ] } ⊕ L 0 ⊕ X 2 ;
同时,右数据R0与掩码X3进行异或运算,其异或运算的结果作为第1轮DES运算左侧的输出L1’,即
对于未增加掩码的标准DES算法,设第1轮的输出分别为L1、R1,容易得到L1=R0,因此:
L 1 , = L 1 ⊕ X 3 , R 1 , = R 1 ⊕ X 2 .
综上,第1轮中修正S盒为第1轮的输出分别为 L 1 , = L 1 ⊕ X 3 R 1 , = R 1 ⊕ X 2 .
实施例一中第2轮DES算法:
将第1轮的输出R1’进行E盒置换后,再与子密钥K2进行异或运算,将异或运算的结果作为第2轮修正S盒SM2-Box的输入,修正S盒SM2-Box具体定义为:
SM 2 ( A ) = S [ A ⊕ E ( X 2 ) ] ⊕ P - 1 ( X 1 ⊕ X 2 ) ;
由于E盒置换为线性运算,所以第2轮的修正S盒SM2-Box的输出为:
SM 2 [ E ( R 1 , ) ⊕ K 2 ] = S [ E ( R 1 ) ⊕ K 2 ] ⊕ P - 1 ( X 1 ⊕ X 2 ) ;
然后将修正S盒SM2-Box的输出进行P盒置换,之后再与L1’进行异或运算,其异或运算的结果为第2轮DES运算右侧的输出R2’。
R 2 , = P { S [ E ( R 1 ) ⊕ K 2 ] } ⊕ L 1 ⊕ X 1 ⊕ X 2 ⊕ X 3 ;
R1’与掩码进行异或运算,其异或运算的结果作为第2轮DES运算左侧的输出L2’, L 2 , = R 1 , ⊕ X 1 ⊕ X 3 = R 1 ⊕ X 1 ⊕ X 2 ⊕ X 3 .
设未增加掩码的标准DES算法的第2轮输出分别为L2、R2,则L2=R1, R 2 = P { S [ E ( R 1 ) ⊕ K 2 ] } ⊕ L 1 , 因此:
L 2 , = L 2 ⊕ X 1 ⊕ X 2 ⊕ X 3 , R 2 , = R 2 ⊕ X 1 ⊕ X 2 ⊕ X 3 .
综上,第2轮中修正S盒为 SM 2 ( A ) = S [ A ⊕ E ( X 2 ) ] ⊕ P - 1 ( X 1 ⊕ X 2 ) , 第2轮的输出分别为 L 2 , = L 2 ⊕ X 1 ⊕ X 2 ⊕ X 3 , R 2 , = R 2 ⊕ X 1 ⊕ X 2 ⊕ X 3 .
实施例一中第3轮至第14轮DES算法:
第3轮至第14轮DES算法采用相同的修正S盒SM-Box,除左侧的输出不需要引入掩码之外,其余流程与第2轮流程相同。第3轮至第14轮的修正S盒具体为:
SM ( A ) = S [ A ⊕ E ( X 1 ⊕ X 2 ⊕ X 3 ) ] ;
经过运算可以得出,第i轮的输出分别为:
Li , = Li ⊕ X 1 ⊕ X 2 ⊕ X 3 , Ri , = Ri ⊕ X 1 ⊕ X 2 ⊕ X 3 , i为3-14的正整数;
其中,Li和Ri为未增加掩码的标准DES算法第i轮的输出。
实施例一中第15轮DES算法:
第15轮的修正S盒SM15-Box具体为:
SM 15 ( A ) = S [ A ⊕ E ( X 1 ⊕ X 2 ⊕ X 3 ) ] ⊕ P - 1 ( X 3 ) ;
经过运算可以得出,第15轮的输出分别为:
L 15 , = L 15 ⊕ X 1 ⊕ X 2 ⊕ X 3 , R 15 , = R 15 ⊕ X 1 ⊕ X 2 .
实施例一中第16轮DES算法:
第16轮的修正S盒SM15-Box具体为:
SM 16 ( A ) = S [ A ⊕ E ( X 1 ⊕ X 2 ) ] ⊕ P - 1 ( X 1 ⊕ X 3 ) ;
经过运算可以得出,第16轮的输出分别为:
L 16 , = L 16 ⊕ X 1 ⊕ X 2 , R 16 , = R 16 ⊕ X 2 .
在上述1-16轮DES运算中,第1、2、15和16轮中的修正S盒互不相同;四个修正S盒输入带的掩码分别为:E(X1)、E(X2)、输出带的掩码分别为P-1(X2)、P-1(X3)和即输入带的掩码与输出带的掩码也互不相同,从而可以更加有效的抵抗能量攻击。同时,第3-14轮采用相同的修正S盒,可以减少芯片设计面积,从而降低成本。
获得第16轮的输出后,将第16轮的输出32bit的L16’和32bit的R16’左右互换后组成64bit的数据,之后再进行逆初始置换,此过程与标准DES算法相同。
最后,逆初始置换的结果与64bit的修正掩码X4进行异或运算,该异或运算的结果即为DES算法最终输出的密文。其中64bit的X4是由32bit的X2与32bit的首尾相连形成的64bit数据。例如,32bit的X2为1010…1111,32bit的为0101…1001,则X4为1010…11110101…1001,X4共64位。
需要说明的是,实施例一中选取的修正S盒只是本发明实施例中的一种情况,通过合理选取其他修正S盒也可以达到本发明的技术效果。
以上详细介绍了一种DES算法抗能量攻击的方法,该方法也可以通过装置实现,下面详细介绍该装置的结构和功能。
参见图5所示,根据本发明实施例,提供了一种DES算法抗能量攻击的装置,包括:掩码子密钥生成模块201、修正S盒生成模块202、输出异或模块203和修正掩码模块204。
掩码子密钥生成模块201,用于将第1轮子密钥与第一掩码进行异或运算,异或运算的结果为第1轮掩码子密钥;
修正S盒生成模块202,用于在原第1轮S盒基础上、根据第一掩码确定第1轮修正S盒,第1轮修正S盒取代原第1轮S盒;
输出异或模块203,用于将第1轮输入数据的后半部分与第二掩码进行异或运算,异或运算结果为第1轮输出数据的前半部分,第1轮其余算法流程与DES中的第1轮算法流程相同;
修正掩码模块204,用于将第16轮的输出执行逆初始置换后的结果与修正掩码进行异或运算,异或运算的结果为输出的密文,修正掩码与第1至16轮引入的掩码有关;
掩码子密钥生成模块201还用于在第2至16将轮子密钥与子密钥掩码进行异或运算,异或运算的结果为该轮掩码子密钥;
修正S盒生成模块202还用于在第2至16轮生成相同或不同的修正S盒并且取代原S盒,每轮根据轮密钥带的掩码和轮输入数据的后半部分带的掩码确定修正S盒。
优选的,修正S盒生成模块202生成的第1轮修正S盒与第2轮修正S盒不相同。
优选的,修正S盒生成模块202生成的第15轮修正S盒与第16轮修正S盒不相同。
优选的,修正S盒生成模块202生成的第1轮修正S盒与第16轮修正S盒不相同。
优选的,修正S盒生成模块202生成的第3轮至第14轮修正S盒相同。
优选的,修正S盒生成模块202生成的第1轮修正S盒定义为:
SM 1 ( A ) = S ( A ⊕ X 1 ) ⊕ P - 1 ( X 3 )
其中,SM1()为修正S盒置换,S()为S盒置换,P-1()为P盒置换的逆置换,X1为48bit的第一掩码,X3为32bit的第三掩码。
本发明实施例提供的一种DES算法抗能量攻击的方法及装置,通过对DES轮运算的中间结果和子密钥进行掩码,使轮运算的中间结果和密钥等敏感信息不会泄露,可以有效抵抗能量攻击;DES算法的前两轮和最后两轮中采用不同的修正S盒,使各轮运算中间结果所引入的掩码值不同,可以使易受到攻击的上述四轮运算更加有效的抵抗能量攻击;同时第3-14轮采用相同的修正S盒,大大减小了芯片设计面积,从而可以降低成本。
本发明能有多种不同形式的具体实施方式,上面以图2-图5为例结合附图对本发明的技术方案作举例说明,这并不意味着本发明所应用的具体实例只能局限在特定的流程或实施例结构中,本领域的普通技术人员应当了解,上文所提供的具体实施方案只是多种优选用法中的一些示例,任何体现本发明权利要求的实施方式均应在本发明技术方案所要求保护的范围之内。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

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盒定义为:
SM 1 ( A ) = S ( A ⊕ X 1 ) ⊕ P - 1 ( X 3 )
其中,SM1()为修正S盒置换,S()为S盒置换,P-1()为P盒置换的逆置换,X1为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盒定义为:
SM 1 ( A ) = S ( A ⊕ X 1 ) ⊕ P - 1 ( X 3 )
其中,SM1()为修正S盒置换,S()为S盒置换,P-1()为P盒置换的逆置换,X1为48bit的第一掩码,X3为32bit的第三掩码。
CN201310552788.2A 2013-11-08 2013-11-08 一种des算法抗能量攻击的方法及装置 Active CN104639312B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310552788.2A CN104639312B (zh) 2013-11-08 2013-11-08 一种des算法抗能量攻击的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310552788.2A CN104639312B (zh) 2013-11-08 2013-11-08 一种des算法抗能量攻击的方法及装置

Publications (2)

Publication Number Publication Date
CN104639312A true CN104639312A (zh) 2015-05-20
CN104639312B CN104639312B (zh) 2017-12-29

Family

ID=53217670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310552788.2A Active CN104639312B (zh) 2013-11-08 2013-11-08 一种des算法抗能量攻击的方法及装置

Country Status (1)

Country Link
CN (1) CN104639312B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107769910A (zh) * 2017-11-15 2018-03-06 东南大学 一种基于Latch PUF的抗边信道攻击DES防护方法及电路
CN108023724A (zh) * 2016-11-04 2018-05-11 北京展讯高科通信技术有限公司 数据传输方法及装置
CN108123791A (zh) * 2017-12-26 2018-06-05 衡阳师范学院 一种轻量级分组密码scs的实现方法与装置
CN108270545A (zh) * 2016-12-30 2018-07-10 广东精点数据科技股份有限公司 一种基于移动互联网的改进的des数据加密算法
CN108737067A (zh) * 2018-04-04 2018-11-02 中国电子科技集团公司第三十研究所 一种基于s盒的分割方法
CN109936437A (zh) * 2019-04-10 2019-06-25 衡阳师范学院 一种基于d+1阶掩码的抗功耗攻击方法
CN112883395A (zh) * 2021-02-25 2021-06-01 山东华翼微电子技术股份有限公司 一种增强抗攻击能力的高性能gfn掩码方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040071291A1 (en) * 2001-02-08 2004-04-15 Fabrice Romain Secure method for secret key cryptographic calculation and component using said method
CN101197660A (zh) * 2006-12-07 2008-06-11 上海安创信息科技有限公司 防攻击标准加密标准的加密方法及其加密芯片
CN102983964A (zh) * 2012-12-28 2013-03-20 大唐微电子技术有限公司 一种抗差分功耗分析的数字加密标准改进方法及装置
CN103067155A (zh) * 2012-12-27 2013-04-24 东南大学 一种防止基于功耗分析的des算法攻击的方法及测试电路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040071291A1 (en) * 2001-02-08 2004-04-15 Fabrice Romain Secure method for secret key cryptographic calculation and component using said method
CN101197660A (zh) * 2006-12-07 2008-06-11 上海安创信息科技有限公司 防攻击标准加密标准的加密方法及其加密芯片
CN103067155A (zh) * 2012-12-27 2013-04-24 东南大学 一种防止基于功耗分析的des算法攻击的方法及测试电路
CN102983964A (zh) * 2012-12-28 2013-03-20 大唐微电子技术有限公司 一种抗差分功耗分析的数字加密标准改进方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李起瑞 等: "针对改进的Masking方法的差分功耗攻击", 《北京电子科技学院学报》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108023724A (zh) * 2016-11-04 2018-05-11 北京展讯高科通信技术有限公司 数据传输方法及装置
CN108270545A (zh) * 2016-12-30 2018-07-10 广东精点数据科技股份有限公司 一种基于移动互联网的改进的des数据加密算法
CN107769910A (zh) * 2017-11-15 2018-03-06 东南大学 一种基于Latch PUF的抗边信道攻击DES防护方法及电路
CN107769910B (zh) * 2017-11-15 2020-08-04 东南大学 一种基于Latch PUF的抗边信道攻击DES防护方法及电路
CN108123791A (zh) * 2017-12-26 2018-06-05 衡阳师范学院 一种轻量级分组密码scs的实现方法与装置
CN108123791B (zh) * 2017-12-26 2019-03-08 衡阳师范学院 一种轻量级分组密码scs的实现方法与装置
CN108737067A (zh) * 2018-04-04 2018-11-02 中国电子科技集团公司第三十研究所 一种基于s盒的分割方法
CN109936437A (zh) * 2019-04-10 2019-06-25 衡阳师范学院 一种基于d+1阶掩码的抗功耗攻击方法
CN109936437B (zh) * 2019-04-10 2020-01-31 衡阳师范学院 一种基于d+1阶掩码的抗功耗攻击方法
CN112883395A (zh) * 2021-02-25 2021-06-01 山东华翼微电子技术股份有限公司 一种增强抗攻击能力的高性能gfn掩码方法

Also Published As

Publication number Publication date
CN104639312B (zh) 2017-12-29

Similar Documents

Publication Publication Date Title
CN104639312A (zh) 一种des算法抗能量攻击的方法及装置
Guo et al. Shadow: A lightweight block cipher for IoT nodes
CN104639502A (zh) 一种sm4算法抗能量攻击的掩码方法及装置
CN103051442B (zh) 采用Feistel-PG结构的密码装置及加密方法
CN102983964A (zh) 一种抗差分功耗分析的数字加密标准改进方法及装置
CN103763696B (zh) 一种基于跨层安全压缩的节能传感器数据收集方法
CN106375079A (zh) 一种语音信息的混沌加密方法
CN107769910A (zh) 一种基于Latch PUF的抗边信道攻击DES防护方法及电路
Yu et al. A chaos-based image encryption algorithm using wavelet transform
CN104618094A (zh) 一种增强抗攻击能力的密码Mask方法
CN104184579A (zh) 基于双伪随机变换的轻量级分组密码vh算法
CN107204841B (zh) 一种抵御差分功耗攻击的分组密码多s盒实现的方法
US20110261958A1 (en) Table splitting for cryptographic processes
CN104301095A (zh) Des轮运算方法和电路
CN103905182A (zh) 基于动态改变中间数据存储位置的抗攻击方法及电路实现
CN111030820B (zh) 一种基于掩码sm4算法的选择明文相关碰撞攻击方法
Sani et al. Creation of S-box based on a hierarchy of Julia sets: image encryption approach
CN105049204A (zh) 基于ctr模式和分组密码vh的轻量级流密码技术vhc
CN103873229B (zh) KLEIN加密AVR环境下抗timing和cache边信道攻击的快速保护方法
CN106936822B (zh) 针对sms4抗高阶旁路分析的掩码实现方法及系统
CN107872317A (zh) 一种用于aes密钥扩展的随机掩码方法及其装置
CN101022331A (zh) 一种基于载体的混沌加密方法
CN108449169A (zh) 一种用于无线传感器网路的混沌分组加密方法
CN109936437B (zh) 一种基于d+1阶掩码的抗功耗攻击方法
CN105391546A (zh) 基于双伪随机变换和Feistel结构的轻量级分组密码技术VHF

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant