CN103647639A - 一种对称密码算法抵抗侧信道分析的方法 - Google Patents
一种对称密码算法抵抗侧信道分析的方法 Download PDFInfo
- Publication number
- CN103647639A CN103647639A CN201310636903.4A CN201310636903A CN103647639A CN 103647639 A CN103647639 A CN 103647639A CN 201310636903 A CN201310636903 A CN 201310636903A CN 103647639 A CN103647639 A CN 103647639A
- Authority
- CN
- China
- Prior art keywords
- mask
- symmetric cryptographic
- computing
- cryptographic algorithm
- key
- 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.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明设计了一种对称密码算法抵抗侧信道分析的方法,能够抵抗针对对称密码算法的侧信道攻击,阻止攻击者通过侧信道分析获取对称算法的运算密钥。对称密码算法可以通过软、硬件实现,在运算过程中,实现载体会通过侧信道泄露运算的密钥信息,例如利用运算过程中的功耗信息进行差分功耗分析攻击。侧信道分析对对称密码算法的软、硬件实现安全性产生了很大的威胁。本发明提出了一种对称密码算法抵抗侧信道分析的方法,在整个对称密码运算过程中,没有攻击者已知的明文数据参与运算,对称密码运算中的中间结果具有随机的掩码,且每轮运算的掩码不同,使得攻击者从侧信道分析中获取密钥信息变得极为困难,从而实现对对称密码算法密钥的保护。
Description
技术领域
本发明涉及在电子部件中安全地执行DES密码算法的方法,尤其涉及电子部件在执行DES算法时抗侧信道攻击的方法。
背景技术
在数学原理上已证明是足够安全的对称密码算法如DES、AES等,在软硬件实现过程中,存在许多安全漏洞。这些安全漏洞往往通过功耗、运算时间和电磁辐射等侧信道形式被攻击者获取并进行统计分析。侧信道分析可以通过测量记录密码算法运算过程中的功耗、时间、电磁辐射等这些侧信道信息,经过数学计算,获取密码运算中使用的密钥信息,对密码算法的实现安全性产生了很大的威胁。因此,对称密码算法的实现安全性得到越来越多的重视。
对称密码算法通常有多轮运算构成,每轮运算结构相同,每轮运算中,长的密钥会拆成多个子密钥进行运算。在对对称密码算法进行侧信道分析过程中,攻击者需要利用已知明文,通过猜测运算过程中的子密钥,计算出运算过程中的一个中间值,测量记录该中间值产生的侧信道信息,经过统计分析,可以证实子密钥猜测是否正确,从而获取整个密码。
针对侧信道分析,有多种防御方法,例如增加功耗噪声,使用随机数进行数据掩码,均衡功耗变化等。本文提出的是一种新的基于掩码思想的防御方法。
发明内容
本发明提出了一种对称密码算法抵抗侧信道分析的方法,把对称密码算法的轮运算拆分成了对掩码的运算和对掩码后的明文的运算,使用计数器遍历子密钥,和掩码计算出多个中间结果,以计数器遍历的顺序,存储到存储单元中,存储时,加入了新的掩码;然后使用掩码后的明文和密钥计算出索引值,从存储单元中取出中间结果,经过运算后得出轮运算结果,计算出的轮运算结果具有掩码。在运算时,每轮运算都取用新的随机数作为掩码,使每轮运算结果具有的掩码不同。在整个对称密码运算过程中,没有攻击者已知的数据参与运算,参与运算的明文和中间运算结果都带有随机的掩码,且每轮运算的掩码不同,攻击者通过猜测密钥,计算出的运算过程中的中间值在实际运算中并不存在,也就无法通过对侧信道信息的统计分析,来判断密钥猜测的正确性,从而使得通过侧信道分析获取密钥信息变得极为困难。
该方法由部件掩码A、计数器、掩码B、密码函数1、存储单元、掩码后的明文、密码函数2、密钥、密码函数3、运算结果组成。把对称密码算法的轮运算分成三个步骤,步骤1)由掩码A,计数器,掩码B,密码函数1计算出中间结果,存储到存储单元中;步骤2)由掩码A掩码后的明文、密钥、密码函数2计算出索引值;步骤3)根据索引值从存储单元中获取中间结果,经过密码函数3计算出轮运算结果。重复上述步骤,直到完成对称密码算法规定的所有轮数。
本方法中,掩码A,掩码B是两个随机数,且掩码A不等于掩码B,掩码B在存储中间结果到存储单元时使用,在每轮运算时,取用新的随机数作为掩码B,使得每轮运算结果具有的掩码不同。步骤1)计算中,使用计数器遍历子密钥空间,对掩码A,掩码B进行密码函数1运算,运算得出的中间结果以计数器遍历的顺序,存入存储单元中。步骤1)中存储单元实现方式包括但不限于寄存器,单独的RAM存储器,外部SRAM。步骤2)中,使用经过随机数掩码A掩码以后的明文、密钥进行密码函数2运算,计算出的值作为查找存储单元的索引值。步骤3)中根据索引值从存储单元中获取中间结果,经过密码函数3计算出轮运算结果,该轮运算结果是具有掩码的轮运算结果。对称密码算法的全部轮运算都由这三步完成,或者只有部分轮运算由这三步完成。例如前两轮运算和后两轮运算使用该方法进行运算,其他轮数进行正常运算。
附图说明
图1是本发明方法的原理图。
图2是以对称密码算法中常见的DES算法为例,说明本发明方法的具体实施方式。
具体实施方式
本发明适用于多种对称密码算法,下面以对称密码算法中常见的DES算法为例,说明本发明方法的具体实施方式。
DES算法的原始计算流程是把64位明文分为左L0,右R0,各32位,右半边数据R0经过扩展变换E,扩展到48位宽,然后和48位宽的轮密钥Key1进行异或,生成的48位数据分为6位一组,共8组,经过8个6进4出SBOX生成32位数据,该结果经过P变换然后和左半边数据L0进行异或后生成轮运算结果R1=L0^F(R0,key1),R0交换到左半边生成L1=R0。重复该步骤直至完成16轮运算。
把本发明方法应用到DES算法上,计算流程如图2所示,1)取随机数M1,M2作为掩码A,掩码B;2)掩码A为32位随机数,经过扩展变换E变为48位数据D1;3)计数器为6Bits计数器C1;4)D1、C1异或后,送入8个S盒,S盒为DES算法的6Bits进4Bits出的变换表,输出32Bits数据D2;5)PR是DES算法中P置换的逆变换,掩码B为和掩码A不同的32位随机数,左一半数据L经过掩码A掩码,然后经过PR变换后和D2异或生成D3;6)计数器C1从0计数到63,遍历子密钥空间,生成不同的D3存储到存储单元中;7)右一半数据R经过掩码A掩码,然后经过扩展变换E后和密钥异或生成索引值N1;8)根据N1从存储单元中取出数据D4;9)D4经过P置换后生成带有掩码的轮运算结果。完成DES的一轮运算。重复该步骤,完成16轮DES运算。
下表列出了每轮运算结果掩码值的变化和最终的掩码值。
轮数 | 右半边数据R | 左半边数据L | 掩码A | 掩码B | 随机数(32位) |
初始 | R0^M1 | L0^M1 | M1 | M2 | M1,M2 |
第1轮结果 | R1^M1^M2 | R0^M1^M2 | M1^M2 | M3 | M3 |
第2轮结果 | R2^M1^M2^M3 | R1^M1^M2^M3 | M1^M2^M3 | M4 | M4 |
... | ... | ... | ... | ... | ... |
第15轮结果 | R15^M1^..^M16 | R14^M1^..^M16 | M1^M2^...^M16 | M17 | M17 |
第16轮结果 | R16^M1^..^M17 | R15^M1^..^M17 | M1^M2^...^M17 |
从表中可以看出,在本实现示例中,最终的DES运算结果具有的掩码值为M1^M2^...^M17。把最终的运算结果和该值异或,即可得到正确的DES运算结果。从整个运算过程可以看出,运算中没有攻击者已知明文出现,中间运算过程中不需要脱去掩码,每轮的运算结果具有不同的掩码。最终可以通过异或运算得到正确的DES运算结果。通过该方法,实现了对整个运算过程的安全保护,能有效抵御侧信道的攻击。
上文以DES为例,说明了本发明方法的具体实现。对于该领域技术人员,根据本发明描述的方法,可以做出其他对称密码算法的具体防护实现,并不仅局限于DES算法。也可以使用本发明方法,做出一个具体实现,同时支持多种对称密码算法。
Claims (8)
1.一种对称密码算法抵抗侧信道分析的方法,其特征在于:该方法把对称密码算法的轮运算拆分成了对掩码的运算和对掩码后的明文的运算,使用计数器遍历子密钥,和掩码计算出多个中间结果,以计数器遍历的顺序,存储到存储单元中,存储时,加入了新的掩码;然后使用掩码后的明文和密钥计算出索引值,从存储单元中取出中间结果,经过运算后得出轮运算结果,计算出的轮运算结果具有掩码。
2.如权利要求1所述的方法,其特征在于所述对称密码算法的轮运算具体步骤如下:
1)由掩码A,计数器,掩码B,密码函数1计算出中间结果,存储到存储单元中;
2)由掩码A掩码后的明文、密钥、密码函数2计算出索引值;
3)根据索引值从存储单元中获取中间结果,经过密码函数3计算出轮运算结果;
其中掩码A,掩码B是两个随机数,且掩码A不等于掩码B;密码函数1、密码函数2、密码函数3是对称密码算法中的函数运算。
3.如权利要求2所述的方法,其特征在于每轮运算时,取用新的随机数作为掩码B,使得每轮运算结果具有的掩码不同。
4.如权利要求2所述的方法,其特征在于步骤1)中,使用计数器遍历子密钥空间,对掩码A,掩码B进行密码函数1运算,运算得出的中间结果以计数器遍历的顺序,存入存储单元中。
5.如权利要求2或3所述的方法,其特征在于所述存储单元实现方式包括但不限于寄存器,单独的RAM存储器,外部SRAM。
6.如权利要求2所述的方法,其特征在于步骤2)中,使用经过随机数掩码A掩码以后的明文、密钥进行密码函数2运算,计算出的值作为查找存储单元的索引值。
7.如权利要求2所述的方法,其特征在于步骤3)中经过密码函数3计算出的轮运算结果具有掩码。
8.如权利要求1所述的方法,其特征在于:使用权利要求1描述的步骤完成对称密码算法的所有轮或部分轮运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310636903.4A CN103647639A (zh) | 2013-12-03 | 2013-12-03 | 一种对称密码算法抵抗侧信道分析的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310636903.4A CN103647639A (zh) | 2013-12-03 | 2013-12-03 | 一种对称密码算法抵抗侧信道分析的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103647639A true CN103647639A (zh) | 2014-03-19 |
Family
ID=50252802
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310636903.4A Pending CN103647639A (zh) | 2013-12-03 | 2013-12-03 | 一种对称密码算法抵抗侧信道分析的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103647639A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161005A (zh) * | 2015-03-31 | 2016-11-23 | 北京南瑞智芯微电子科技有限公司 | 一种分组加密算法防攻击的掩码方法和装置 |
CN106330424A (zh) * | 2015-06-17 | 2017-01-11 | 上海复旦微电子集团股份有限公司 | 基于sm3算法的密码模块的防攻击方法及装置 |
CN106897628A (zh) * | 2015-12-18 | 2017-06-27 | 北京同方微电子有限公司 | 一种防止被加数侧信道信息泄露的安全处理装置及方法 |
CN107102919A (zh) * | 2016-02-22 | 2017-08-29 | 埃沙尔公司 | 测试电路对侧信道分析的抵抗力的方法 |
CN107547195A (zh) * | 2016-06-28 | 2018-01-05 | 埃沙尔公司 | 免受侧信道分析的保护方法和设备 |
CN112364392A (zh) * | 2020-09-03 | 2021-02-12 | 上海科技大学 | 一种基于图同构的程序高阶功耗侧信道安全性的证明方法 |
CN112883395A (zh) * | 2021-02-25 | 2021-06-01 | 山东华翼微电子技术股份有限公司 | 一种增强抗攻击能力的高性能gfn掩码方法 |
CN115643003A (zh) * | 2022-12-23 | 2023-01-24 | 飞腾信息技术有限公司 | 用于侧信道分析的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070140478A1 (en) * | 2005-12-15 | 2007-06-21 | Yuichi Komano | Encryption apparatus and encryption method |
CN101197660A (zh) * | 2006-12-07 | 2008-06-11 | 上海安创信息科技有限公司 | 防攻击标准加密标准的加密方法及其加密芯片 |
CN101729241A (zh) * | 2008-10-23 | 2010-06-09 | 国民技术股份有限公司 | 抵御差分能量攻击的aes加密方法 |
-
2013
- 2013-12-03 CN CN201310636903.4A patent/CN103647639A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070140478A1 (en) * | 2005-12-15 | 2007-06-21 | Yuichi Komano | Encryption apparatus and encryption method |
CN101197660A (zh) * | 2006-12-07 | 2008-06-11 | 上海安创信息科技有限公司 | 防攻击标准加密标准的加密方法及其加密芯片 |
CN101729241A (zh) * | 2008-10-23 | 2010-06-09 | 国民技术股份有限公司 | 抵御差分能量攻击的aes加密方法 |
Non-Patent Citations (1)
Title |
---|
顾星远: "软件实现的密码系统的旁路攻击防护研究", 《硕士学位论文》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161005A (zh) * | 2015-03-31 | 2016-11-23 | 北京南瑞智芯微电子科技有限公司 | 一种分组加密算法防攻击的掩码方法和装置 |
CN106330424A (zh) * | 2015-06-17 | 2017-01-11 | 上海复旦微电子集团股份有限公司 | 基于sm3算法的密码模块的防攻击方法及装置 |
CN106330424B (zh) * | 2015-06-17 | 2019-11-05 | 上海复旦微电子集团股份有限公司 | 基于sm3算法的密码模块的防攻击方法及装置 |
CN106897628A (zh) * | 2015-12-18 | 2017-06-27 | 北京同方微电子有限公司 | 一种防止被加数侧信道信息泄露的安全处理装置及方法 |
CN107102919A (zh) * | 2016-02-22 | 2017-08-29 | 埃沙尔公司 | 测试电路对侧信道分析的抵抗力的方法 |
CN107547195A (zh) * | 2016-06-28 | 2018-01-05 | 埃沙尔公司 | 免受侧信道分析的保护方法和设备 |
CN107547193A (zh) * | 2016-06-28 | 2018-01-05 | 埃沙尔公司 | 使替换运算免受侧信道分析的方法 |
CN107547194A (zh) * | 2016-06-28 | 2018-01-05 | 埃沙尔公司 | 免受侧信道分析的保护方法和设备 |
CN112364392A (zh) * | 2020-09-03 | 2021-02-12 | 上海科技大学 | 一种基于图同构的程序高阶功耗侧信道安全性的证明方法 |
CN112364392B (zh) * | 2020-09-03 | 2023-12-15 | 上海科技大学 | 一种基于图同构的程序高阶功耗侧信道安全性的证明方法 |
CN112883395A (zh) * | 2021-02-25 | 2021-06-01 | 山东华翼微电子技术股份有限公司 | 一种增强抗攻击能力的高性能gfn掩码方法 |
CN115643003A (zh) * | 2022-12-23 | 2023-01-24 | 飞腾信息技术有限公司 | 用于侧信道分析的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103647639A (zh) | 一种对称密码算法抵抗侧信道分析的方法 | |
CN106953722B (zh) | 一种全同态加密的密文查询方法和系统 | |
CN101764686B (zh) | 一种用于网络与信息安全的加密方法 | |
Kanso et al. | A fast and efficient chaos-based keyed hash function | |
CN106663387B (zh) | 加密函数和解密函数生成方法、加密和解密方法以及相关装置 | |
Ye et al. | An efficient chaotic image encryption algorithm based on a generalized Arnold map | |
CN107070630B (zh) | 一种aes算法的快速安全硬件结构 | |
Xiao et al. | A chaos-based hash function with both modification detection and localization capabilities | |
Li et al. | Toward secure and privacy-preserving distributed deep learning in fog-cloud computing | |
Azam et al. | An Injective S‐Box Design Scheme over an Ordered Isomorphic Elliptic Curve and Its Characterization | |
CN109918923A (zh) | 一种基于dna编码的多通道彩色图像混沌加密方法 | |
CN102546157B (zh) | 一种抵抗能量分析的随机混合加密系统及其实现方法 | |
Li et al. | Parallel Hash function construction based on chaotic maps with changeable parameters | |
CN103634101A (zh) | 加密处理方法及设备 | |
CN103825722A (zh) | 一种sm4密码算法的二阶侧信道能量分析方法 | |
CN104065473A (zh) | Sm4分组密码算法s盒的紧凑实现方法 | |
CN101938350A (zh) | 一种基于组合编码的文件加密和解密的方法 | |
CN101977109A (zh) | 线性混淆高次方程公钥密码算法 | |
CN104639502A (zh) | 一种sm4算法抗能量攻击的掩码方法及装置 | |
CN104301095A (zh) | Des轮运算方法和电路 | |
Li et al. | Keyed hash function based on a dynamic lookup table of functions | |
Zhu et al. | A novel lightweight block encryption algorithm based on combined chaotic system | |
Isa et al. | S-box construction from non-permutation power functions | |
CN106059746B (zh) | 一种抗任意阶侧信道攻击的掩码防护方法及系统 | |
CN108650072A (zh) | 一种支持多种对称密码算法芯片及其抗攻击电路实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 102209 Beijing, Beiqijia, the future of science and technology in the south area of China electronic network security and information technology industry base C building, Applicant after: Beijing CEC Huada Electronic Design Co., Ltd. Address before: 100102 Beijing City, Chaoyang District Lize two Road No. 2, Wangjing science and Technology Park A block five layer Applicant before: Beijing CEC Huada Electronic Design Co., Ltd. |
|
COR | Change of bibliographic data | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140319 |