CN103023634A - 一种防止差分功耗分析的des装置 - Google Patents
一种防止差分功耗分析的des装置 Download PDFInfo
- Publication number
- CN103023634A CN103023634A CN2012105151738A CN201210515173A CN103023634A CN 103023634 A CN103023634 A CN 103023634A CN 2012105151738 A CN2012105151738 A CN 2012105151738A CN 201210515173 A CN201210515173 A CN 201210515173A CN 103023634 A CN103023634 A CN 103023634A
- Authority
- CN
- China
- Prior art keywords
- module
- round
- wheel
- des
- power consumption
- 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)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种防止差分功耗分析的DES装置,其特征在于:包括随机轮分配模块、控制逻辑模块、轮加密模块、存储器。本发明对存储器的读写时间进行随机化。每一次的明文和密钥在第1个真加密轮次开始前的任意时间内随机读取。本次的密文则在本次的密文生成之后,以及下一次密文生成之前的任意时间写入存储器,具备较大的弹性。随机读取存储器的另一个作用在于,存储器的随机化读写可以在一定程度上充当功耗的噪声,使得攻击者对功耗发生的时间和定位更加困难。
Description
技术领域
本发明涉及通信领域,尤其涉及一种防止差分功耗分析的DES装置。
背景技术
DES加密技术是较早的数据加密技术,于1977年即已被美国国家标准局定为信息处理标准。DES是一种典型的对称加密算法。对称加密算法的含义是加密和解密使用相同的密钥,通信双方需要同时知道密钥并且确定不被泄漏。一般认为,加解密系统的安全性并不基于算法的保密性,而是基于算法本身难以攻破和密钥的保密性。
在DES加密算法流程中,64位的明文首先进行初始置换,然后分为左右两部分,通过S盒、异或、左右交换等操作进行16次轮运算,最后经过逆初始置换得到密文。密钥也为64位,但其中8位为校验位,所以有效位数为56。密钥也首先经过替换,然后通过循环移位的操作生成16轮加密运算中的轮密钥。
在DES加密算法提出不久就有许多人试图攻击该算法,主要是通过不断地尝试密钥搜索进行破解。除了针对算法的攻击和穷举攻击等方式以外,有一种被称为旁路攻击(side-channel attack)的方式也得到了较多的研究。
当加解密模块进行运算时,系统运行会泄漏一些物理信息如算法执行时间、功耗、电磁场等。这些信息称为旁路信息。旁路信息跟密钥、明文等具有一定的相关性。例如对于CMOS电路,其功耗很大一部分为0,1翻转的功耗。对于不同的明文或者密钥,电路加密时晶体管的翻转存在区别,造成功耗的差异。攻击者通过建立旁路模型,对掌握到的旁路信息和部分的明文、密文等信息,就可以对密钥进行分析。差分功耗分析(DPA),即是一种有效的旁路攻击方式。
针对DES的最后一次轮加密运算进行DPA攻击的方法如下。随机选择S个明文,进行加密,得到S个密文 。S次加密,每次在时间轴上获得T次采样,最终得到功耗。选择区分函数,其中C是密文,K为猜测的第16轮密钥,b是第15轮计算得到的运算结果的某一位。根据任何选择的子密钥,计算区分函数的值,根据计算出的值,将功耗分为两类
将两组功耗的平均值相减得到差分功耗,
当猜测的密钥与真的密钥匹配时,功耗曲线上将出现尖峰。注意到DES加密中轮密钥为48位,分成8组进行S盒置换,因此我们可以选择其中的6个比特进行子密钥穷举来攻击,从而大大提高攻击的效率。
发明内容
本发明解决的技术问题是设计一种能防止差分功耗分析的DES硬件模块。
为达到上述目的,本发明采用的技术方案是:一种防止差分功耗分析的DES装置,其特征在于:包括随机轮分配模块、控制逻辑模块、轮加密模块、存储器;
所述的随机分配模块与轮加密模块连接,用于接收S个明文信息,在每个明文信息的16个真加密轮次中插入n个伪加密轮次后向所述轮加密模块输出S个16+n的分配向量;
所述存储器与轮加密模块连接,用于存储明文、密钥;所述轮加密模块从存储器提取明文、密钥,并根据与其匹配的分配向量开始轮运算操作得到密文;所述存储器接收该密文并输出;
所述控制逻辑模块与存储器、轮加密模块、随机轮分配模块连接,控制整个模块明文的接收、加密及输出。
本发明的第一优选方案为,所述控制逻辑模块内设配置信息。
本发明的第二优选方案为,所述配置信息包括明文的数量s、在每16个真加密轮次中插入伪加密轮次的数量n。
本发明的第三优选方案为,所述随机分配模块采用一种按优先级排列的分配方法;对于s次加密运算中的每一次,随机轮分配模块产生长度为16+n的分配向量;每一个分配向量包含16个1,指示真加密轮次;包含n个0,指示伪加密轮次;n个0随机地分配在16个1之中。
本发明的第四优选方案为,所述轮加密模块在控制逻辑的控制下,根据随机轮分配模块的分配向量工作,其流程为:
(一) 从存储器读取本次的明文和密钥;
(二) 根据分配向量的每一位依次进行轮加密操作,当该位值为1时,进行实际的DES轮加密操作;当该位值为0时,则根据随机产生的伪数据进行假的轮加密操作;
(三) 当16个真加密轮次和n个伪加密轮次全部完成后,得到本次的密文,将其写入存储器;
(四) 重复以上三步直至所有s次加密操作完成。
本发明的技术优势在于:本发明对存储器的读写时间进行随机化。每一次的明文和密钥在第1个真加密轮次开始前的任意时间内随机读取。本次的密文则在本次的密文生成之后,以及下一次密文生成之前的任意时间写入存储器,具备较大的弹性。随机读取存储器的另一个作用在于,存储器的随机化读写可以在一定程度上充当功耗的噪声,使得攻击者对功耗发生的时间和定位更加困难。
随机轮分配模块采用的按优先级排列方法,能够起到优化功耗掩盖效率的作用。以下通过与均匀随机化方法的比较来说明。
首先考虑均匀随机化方法。如果对分配的伪加密轮次采取均匀排列,那么总加密轮次(包括伪加密轮次和真加密轮次)的每一种排列方式出现的概率是一样的。对于16个DES真加密轮次,随机分配n个伪加密轮次,则共有16+n个加密轮次。那么总共的排列方式的个数表示为,
(3)
考虑攻击第16个真加密轮次的功耗,第16个真加密轮次对应最多排列数的位置是在总加密轮次的最后一个位置,其对应的排列组合数为,
最后得到第16个真加密轮次在特定位置出现的概率最大值为,
当n=4时,第16个真加密轮次在特定位置出现的概率最大值为80%。
第16、15、14个真加密轮次在特定位置出现的概率最大值为20%、45.67%、66.77%,依次增大。可见对于同样的n,按优先级排列的方法使得靠近密文的真加密轮次,尤其是第16个真加密轮次在特定位置出现的概率最大值大大减小。对于差分功耗分析,攻击者需要知道加密操作的具体时刻。因此使用按优先级排列的方法时,攻击者估计该真加密轮次的具体位置变得更加困难,掩盖功耗的效率大大提高。
附图说明
图1是本实施例一种防止差分功耗分析的DES装置的模块图。
具体实施方式
下面结合具体实施例对发明做进一步说明。
一种防止差分功耗分析的DES装置,包括随机轮分配模块、控制逻辑模块、轮加密模块、存储器;
随机分配模块与轮加密模块连接,用于接收S个明文信息,在每个明文信息的16个真加密轮次中插入n个伪加密轮次后向轮加密模块输出S个16+n的分配向量;
存储器与轮加密模块连接,用于存储明文、密钥;轮加密模块从存储器提取明文、密钥,并根据与其匹配的分配向量开始轮运算操作得到密文;存储器接收该密文并输出;
控制逻辑模块与存储器、轮加密模块、随机轮分配模块连接,控制整个模块明文的接收、加密及输出,控制逻辑模块内设配置信息。配置信息包括明文的数量s、在每16个真加密轮次中插入伪加密轮次的数量n。
随机分配模块采用一种按优先级排列的分配方法;对于s次加密运算中的每一次,随机轮分配模块产生长度为16+n的分配向量;每一个分配向量包含16个1,指示真加密轮次;包含n个0,指示伪加密轮次;n个0随机地分配在16个1之中。
其具体流程为:
(一) 在第16个真加密轮次的所有可能位置,即16、17、…16+n中随机选择一个位置,假设为Pi;
(二) 根据第16个真加密轮次的分配结果,在第15个真加密轮次剩下的可分配位置即15、16、…Pi中随机分配一个位置,假设为Pj;
(三) 根据第16、15个真加密轮次的分配结果,在第14个真加密轮次剩下的可分配位置即14、15、…Pj中随机分配一个位置,假设为Pk;
(四) 重复上述操作直至16个真加密轮次全部分配完毕。根据分配的结果,产生分配向量。所产生分配向量长度为16+n,16个真加密轮次位于第Pi、Pj、Pk、…,分配向量中对应位的值为1;n个伪加密轮次位于其它位置,分配向量对应位的值为0。
轮加密模块在控制逻辑的控制下,根据随机轮分配模块的分配向量工作,其流程为:
(一) 从存储器读取本次的明文和密钥;
(二) 根据分配向量的每一位依次进行轮加密操作,当该位值为1时,进行实际的DES轮加密操作;当该位值为0时,则根据随机产生的伪数据进行假的轮加密操作;
(三) 当16个真加密轮次和n个伪加密轮次全部完成后,得到本次的密文,将其写入存储器;
(四) 重复以上三步直至所有s次加密操作完成。
对于每一次DES运算中的初始置换和逆初始置换,本发明将其分别合并在第1个真加密轮次和第16个真加密轮次中。
本发明虽然以上述实施例做了详细描述,但是基于本发明的设计思想无论采用硬件或软件完成,皆在本申请的保护范围内。
Claims (5)
1.一种防止差分功耗分析的DES装置,其特征在于:包括随机轮分配模块、控制逻辑模块、轮加密模块、存储器;
所述的随机分配模块与轮加密模块连接,用于接收S个明文信息,在每个明文信息的16个真加密轮次中插入n个伪加密轮次后向所述轮加密模块输出S个16+n的分配向量;
所述存储器与轮加密模块连接,用于存储明文、密钥;所述轮加密模块从存储器提取明文、密钥,并根据与其匹配的分配向量开始轮运算操作得到密文;所述存储器接收该密文并输出;
所述控制逻辑模块与存储器、轮加密模块、随机轮分配模块连接,控制整个模块明文的接收、加密及输出。
2.根据权利要求1所述的一种防止差分功耗分析的DES装置,其特征在于所述控制逻辑模块内设配置信息。
3.根据权利要求2所述的一种防止差分功耗分析的DES装置,其特征在于:所述配置信息包括明文的数量s、在每16个真加密轮次中插入伪加密轮次的数量n。
4.根据权利要求1所述的一种防止差分功耗分析的DES装置,其特征在于:所述随机分配模块采用一种按优先级排列的分配方法;对于s次加密运算中的每一次,随机轮分配模块产生长度为16+n的分配向量;每一个分配向量包含16个1,指示真加密轮次;包含n个0,指示伪加密轮次;n个0随机地分配在16个1之中。
5.根据权利要求1所述的一种防止差分功耗分析的DES装置,其特征在于:所述轮加密模块在控制逻辑的控制下,根据随机轮分配模块的分配向量工作,其流程为:
从存储器读取本次的明文和密钥;
根据分配向量的每一位依次进行轮加密操作,当该位值为1时,进行实际的DES轮加密操作;当该位值为0时,则根据随机产生的伪数据进行假的轮加密操作;
当16个真加密轮次和n个伪加密轮次全部完成后,得到本次的密文,将其写入存储器;
重复以上三步直至所有s次加密操作完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105151738A CN103023634A (zh) | 2012-12-05 | 2012-12-05 | 一种防止差分功耗分析的des装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012105151738A CN103023634A (zh) | 2012-12-05 | 2012-12-05 | 一种防止差分功耗分析的des装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103023634A true CN103023634A (zh) | 2013-04-03 |
Family
ID=47971798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012105151738A Pending CN103023634A (zh) | 2012-12-05 | 2012-12-05 | 一种防止差分功耗分析的des装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103023634A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378196A (zh) * | 2014-11-07 | 2015-02-25 | 昆腾微电子股份有限公司 | 加解密算法的安全执行方法和装置 |
CN107154843A (zh) * | 2017-05-18 | 2017-09-12 | 北京万协通信息技术有限公司 | 一种抗功耗攻击的sm4算法的硬件实现系统 |
CN110324146A (zh) * | 2018-03-30 | 2019-10-11 | Sap欧洲公司 | 对离线唯密文攻击的缓解 |
CN111294199A (zh) * | 2018-12-06 | 2020-06-16 | 新唐科技股份有限公司 | 加解密系统、加密装置、解密装置和加解密方法 |
CN111600873A (zh) * | 2020-05-13 | 2020-08-28 | 江苏芯盛智能科技有限公司 | 防侧信道攻击方法及相关装置 |
CN114327367A (zh) * | 2022-03-07 | 2022-04-12 | 北京智芯微电子科技有限公司 | 伪数据处理方法、装置、执行单元以及处理器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101695021A (zh) * | 2009-10-22 | 2010-04-14 | 杭州晟元芯片技术有限公司 | 一种抗spa/dpa攻击的系统和方法 |
CN102447556A (zh) * | 2010-10-14 | 2012-05-09 | 上海华虹集成电路有限责任公司 | 一种基于随机偏移的抗差分功耗分析des加密方法 |
CN203180936U (zh) * | 2012-12-05 | 2013-09-04 | 无锡华大国奇科技有限公司 | 一种防止差分功耗分析的des装置 |
-
2012
- 2012-12-05 CN CN2012105151738A patent/CN103023634A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101695021A (zh) * | 2009-10-22 | 2010-04-14 | 杭州晟元芯片技术有限公司 | 一种抗spa/dpa攻击的系统和方法 |
CN102447556A (zh) * | 2010-10-14 | 2012-05-09 | 上海华虹集成电路有限责任公司 | 一种基于随机偏移的抗差分功耗分析des加密方法 |
CN203180936U (zh) * | 2012-12-05 | 2013-09-04 | 无锡华大国奇科技有限公司 | 一种防止差分功耗分析的des装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104378196A (zh) * | 2014-11-07 | 2015-02-25 | 昆腾微电子股份有限公司 | 加解密算法的安全执行方法和装置 |
CN107154843A (zh) * | 2017-05-18 | 2017-09-12 | 北京万协通信息技术有限公司 | 一种抗功耗攻击的sm4算法的硬件实现系统 |
CN110324146A (zh) * | 2018-03-30 | 2019-10-11 | Sap欧洲公司 | 对离线唯密文攻击的缓解 |
CN110324146B (zh) * | 2018-03-30 | 2022-05-06 | Sap欧洲公司 | 对离线唯密文攻击的缓解 |
CN111294199A (zh) * | 2018-12-06 | 2020-06-16 | 新唐科技股份有限公司 | 加解密系统、加密装置、解密装置和加解密方法 |
CN111294199B (zh) * | 2018-12-06 | 2023-05-05 | 新唐科技股份有限公司 | 加解密系统、加密装置、解密装置和加解密方法 |
CN111600873A (zh) * | 2020-05-13 | 2020-08-28 | 江苏芯盛智能科技有限公司 | 防侧信道攻击方法及相关装置 |
CN114327367A (zh) * | 2022-03-07 | 2022-04-12 | 北京智芯微电子科技有限公司 | 伪数据处理方法、装置、执行单元以及处理器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101371480B (zh) | 加密保护方法 | |
CN104734845B (zh) | 基于全加密算法伪操作的旁路攻击防护方法 | |
CN104734842B (zh) | 基于伪操作的电路旁路攻击抵御方法 | |
CN105530263B (zh) | 一种基于标签id的超轻量级rfid双向认证方法 | |
CN103023634A (zh) | 一种防止差分功耗分析的des装置 | |
CN103413109B (zh) | 一种无线射频识别系统的双向认证方法 | |
CN105940439B (zh) | 使用排列应对对密码算法的旁通道攻击的对策 | |
Wyseur | White-Box Cryptography. | |
CN108521325B (zh) | 一种适用于系统数据全生命周期的防侧信道攻击方法 | |
CN104184733B (zh) | 一种基于crc编码的rfid轻量级双向认证方法 | |
CN103795527A (zh) | 防止基于功耗分析攻击aes算法的软件掩码防护方案 | |
CN102571331A (zh) | 一种用于防御能量分析攻击的密码算法实现保护方法 | |
CN102571330B (zh) | 一种基于随机函数的分组加密算法的构造方法 | |
CN103067155A (zh) | 一种防止基于功耗分析的des算法攻击的方法及测试电路 | |
CN105406957B (zh) | 保护密码设备对抗实现攻击 | |
CN103716157A (zh) | 分组多密钥加密方法及装置 | |
CN102138300A (zh) | 消息认证码预计算在安全存储器中的应用 | |
CN108352981A (zh) | 被布置用于计算目标块加密的密码设备 | |
CN103595539A (zh) | 保留格式的数值型个人识别信息的加密方法 | |
CN103986571B (zh) | 一种智能卡多核处理器系统及其防御差分功耗分析的方法 | |
CN102970132A (zh) | 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法 | |
CN107171811A (zh) | 一种基于Present算法的轻量级RFID安全认证方法 | |
CN102710413A (zh) | 一种抗dpa/spa攻击的系统和方法 | |
CN102255727B (zh) | 改进的基于用户自定义算法环境的防攻击智能卡认证方法 | |
CN107154843A (zh) | 一种抗功耗攻击的sm4算法的硬件实现系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130403 |