CN103647640B - 针对des第二轮l寄存器翻转的功耗攻击方法 - Google Patents

针对des第二轮l寄存器翻转的功耗攻击方法 Download PDF

Info

Publication number
CN103647640B
CN103647640B CN201310637160.2A CN201310637160A CN103647640B CN 103647640 B CN103647640 B CN 103647640B CN 201310637160 A CN201310637160 A CN 201310637160A CN 103647640 B CN103647640 B CN 103647640B
Authority
CN
China
Prior art keywords
power consumption
register
des
computing
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.)
Active
Application number
CN201310637160.2A
Other languages
English (en)
Other versions
CN103647640A (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.)
Beijing CEC Huada Electronic Design Co Ltd
Original Assignee
Beijing CEC Huada Electronic Design 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 Beijing CEC Huada Electronic Design Co Ltd filed Critical Beijing CEC Huada Electronic Design Co Ltd
Priority to CN201310637160.2A priority Critical patent/CN103647640B/zh
Publication of CN103647640A publication Critical patent/CN103647640A/zh
Application granted granted Critical
Publication of CN103647640B publication Critical patent/CN103647640B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明是一种针对数据加密标准(DES,Data Encryption Standard)第二轮运算中L寄存器翻转的功耗攻击方法。用于信息安全领域中,对DES算法的加密芯片进行安全性测评。本发明特征在于利用功耗攻击的方法对DES加密芯片进行攻击,攻击的对象是DES第二轮运算中L寄存器翻转泄露的功耗信息。利用该功耗信息,与第一轮的中间数据进行相关功耗分析(CPA,Correlation Power Analysis),即可获得DES算法的密钥信息。本发明可用于DES加密芯片防御功耗攻击的安全性测评,提高DES加密芯片的安全性。

Description

针对DES第二轮L寄存器翻转的功耗攻击方法
技术领域
本发明主要应用于信息安全领域对智能卡芯片安全性要求较高的场合中,对DES算法的加密芯片进行抗功耗攻击测试,提高芯片安全性。
背景技术
1973年5月15日,美国国家标准局在联邦记录中公开征集密码体制,这一举措最终导致了DES的出现。DES由IBM开发,它是对早期被称为Lucifer密码体制的改进。DES在1975年3月17日首次在联邦记录中公布,在经过大量的公开讨论后,1977年2月15日DES被采纳作为用于非国家保密机关的数据加密标准。1980年和1984年,DES分别得到美国标准协会和国际标准化组织的认可。至今,DES仍是工业界常用的密码算法之一。
DES算法的分组长度是64比特,密钥长度是56比特,属于Feistel结构密码,迭代轮数为16轮。采用DES算法加密时,64比特的明文首先经过一个初始置换,然后通过由轮密钥控制的16轮迭代变换,最后再通过初始置换的逆变换进而得到密文。DES加密芯片也就是能够对数据进行DES算法加密的芯片,该芯片经常被应用在智能卡中,作为智能卡内的数据加密模块,对接收到的数据进行加密,使智能卡能够与读卡器进行保密性的数据交互。
1999年Kocher提出了差分功耗攻击方法,之后业界对功耗攻击方法进行了深入研究。目前对于DES算法的功耗攻击主要集中在对DES第一轮运算的攻击上,因此密码芯片的设计者通常会在第一轮运算中加入一些防护措施,从而隐藏DES第一轮运算的功耗信息。例如,在第一轮运算中加入伪轮运算或者随机***延时等,使得攻击者无法找到第一轮运算的位置。这些防护措施虽然可以起到防御功耗攻击的效果,但是带来了额外的成本开销。为了节省成本,设计者通常仅在第一轮中加入类似的防护措施。
功耗攻击的基本原理是,密码设备的瞬态功耗与其运算的中间数据相关,而中间数据又与密钥相关。因此,通过分析密码设备的瞬态功耗,可以获得密钥信息,从而达到完全破解密钥的目的。
数字电路是由若干个相同的逻辑门组成,每个逻辑门的功耗包括静态功耗和动态功耗两部分。逻辑门的静态功耗相对较小,动态功耗占逻辑门总功耗的主要部分。动态功耗主要由逻辑门信号的翻转产生,当信号由“0”变化到“1”,或者由“1”变化到“0”,即为翻转,逻辑门就会产生功耗。但维持“0”或者“1”不变,即没有翻转,不产生功耗。因此,电路运行时产生的功耗与内部运行数据存在相关性,功耗攻击就是利用了这个原理。
为了成功地进行功耗攻击,找到合适的中间数据至关重要。该中间数据越准确地反映芯片内部的功耗开销,功耗攻击就越容易成功。
从图中1可以看出,每次DES加密进行16轮运算,轮输出的中间结果保存在两个寄存器中,即L寄存器和R寄存器。L寄存器保存中间结果的高32位数据,R寄存器保存中间结果的低32位数据。在每一次的轮运算中,R寄存器的值与轮密钥经过f函数的运算,f函数的输出再与上一轮L寄存器的值异或,将异或结果保存在R寄存器中,即为本轮运算轮输出的低32位;上一轮R寄存器的值写入L寄存器中,即为本轮运算轮输出的高32位。反复进行16次上述操作,即完成了DES算法的16个轮运算。
发明内容
本发明用功耗攻击的方法攻击DES第二轮运算中L寄存器的翻转,解决了在第一轮加入防护措施时无法进行功耗攻击的问题。
本发明的内容在于发明了一种针对DES第二轮L寄存器翻转的功耗攻击方法。本发明选择的中间数据为DES第一轮运算中R寄存器的变化情况,即第一轮运算前写入R寄存器的数据与第一轮运算后写入R寄存器的数据,二者异或的结果。通过上述的功耗攻击原理可知,通过寄存器前后状态的异或值可以表征该寄存器的功耗开销。
本发明攻击的对象是DES第二轮运算中L寄存器的翻转,利用上述中间数据对DES功耗曲线上执行第二轮运算的位置进行功耗攻击,根据L寄存器翻转产生的功耗与中间数据的相关性,从而获得密钥。
针对DES第二轮L寄存器翻转的功耗攻击方法,其特征在于用功耗攻击的方法,利用DES第二轮运算中L寄存器翻转泄露的功耗信息,攻击DES加密芯片,获得DES算法的密钥,具体步骤如下:
a)在固定密钥的前提下,改变明文对DES加密芯片执行多次加密运算,采集每次加密时芯片的功耗,保存功耗曲线和该条曲线对应的明文;
b)利用该明文和猜测的密钥计算出相应的R1,将R0与R1异或,得到R寄存器在第一轮运算中寄存器翻转产生的功耗,并将该功耗作为功耗攻击的中间数据,其中R0为明文的低32位数据,R1为明文的高32位数据;
c)计算每一条功耗曲线对应的中间数据,得到一个与曲线条数相同元素个数的中间数据数组,数组的个数与猜测密钥的个数相同;
d)在功耗曲线上找到第二轮运算中L寄存器更新的位置,记录每条曲线对应的L寄存器更新处的功耗大小,保存在一个功耗数组中;
e)分别用中间数据数组与功耗数组计算相关性,找出相关性最大的中间数据数组对应的密钥,该密钥即为真实密钥。
目前,很多DES加密芯片都对DES的第一轮运算加入了防护措施,使攻击者无法找到第一轮运算的位置,从而不能开展功耗攻击。使用本发明所公开的方法后,不必关注DES第一轮运算的位置,而是对第二轮运算进行攻击。利用第一轮的中间数据与第二轮功耗的相关性,即可成功攻击。本发明丰富了功耗攻击方法,对智能卡芯片的安全性提高有很大帮助。
附图说明
图1 DES算法结构示意图
图2 DES轮运算电路结构示意图
图3 DES寄存器更新示意图
具体实施方式
图1是示意性地示出本发明针对的DES算法结构图,并给出了本发明的功耗攻击方法针对的攻击点。图1中灰色标记处是本发明的功耗攻击方法主要攻击点,攻击的是第二轮运算L寄存器的翻转。
图2给出了DES加密芯片轮运算部分的电路结构示意图,在轮运算中只有L寄存器和R寄存器,且两个寄存器工作在同一时钟信号下。因此每一个DES轮运算在一个时钟周期内完成,L寄存器和R寄存器每个时钟周期更新一次。具体的更新方式如图3所示。
在进行DES加密运算前,将准备加密的明文保存在L寄存器和R寄存器中。L寄存器保存明文的高32位数据,即图3中的L0;R寄存器保存明文的低32位数据,即图3中的R0。经过第一轮运算,输出的中间结果保存在L寄存器和R寄存器中,记为L1和R1;经过第二轮运算,输出的中间结果再次保存在L寄存器和R寄存器中,记为L2和R2。根据DES算法的执行过程可知:L1=R0、L2=R1。因此在第二轮中L1到L2的寄存器翻转,等同于第一轮运算中R0到R1的寄存器翻转。寄存器的翻转情况体现了功耗的大小,故在功耗曲线上执行第二轮运算的部分,可以间接地表征第一轮运算的功耗特征。
基于以上的分析,对DES加密芯片的功耗攻击主要分为以下几步进行。
首先,在固定密钥的前提下,改变明文对DES加密芯片执行多次加密运算。采集每次加密时芯片的功耗,保存功耗曲线和该条曲线对应的明文。
第二,利用该明文和猜测的密钥计算出相应的R1。由于R0已知(明文的低32位数据),将R0与R1异或,可以得到R寄存器在第一轮运算中寄存器翻转的多少。该翻转情况与真实的功耗开销大小成正比,故作为功耗攻击的中间数据。计算每一条曲线对应的中间数据,可以得到一个与曲线条数相同元素个数的中间数据数组,数组的个数与猜测密钥的个数相同。
第三,在功耗曲线上找到第二轮运算中L寄存器更新的位置,记录每条曲线对应的L寄存器更新处的功耗大小,保存在一个数组中。
第四,分别用中间数据数组与功耗数组计算相关性,找出相关性最大的中间数据数组对应的猜测密钥,该密钥即为真实密钥。
本发明利用上述功耗攻击方法,用DES第二轮运算中L寄存器翻转的功耗信息与第一轮运算的中间数据相关性,对DES加密芯片实施功耗攻击。对于在第一轮中加入伪轮运算和随机***延时等防护的DES加密芯片设计,具有显著的攻击效果。

Claims (2)

1.针对DES第二轮L寄存器翻转的功耗攻击方法,其特征在于用功耗攻击的方法,利用DES第二轮运算中L寄存器翻转泄露的功耗信息,攻击DES加密芯片,获得DES算法的密钥,具体步骤如下:
a)在固定密钥的前提下,改变明文对DES加密芯片执行多次加密运算,采集每次加密时芯片的功耗,保存功耗曲线和该条曲线对应的明文;
b)利用该明文和猜测的密钥计算出相应的R1,将R0与R1异或,得到R寄存器在第一轮运算中寄存器翻转产生的功耗,并将该功耗作为功耗攻击的中间数据,其中R0为明文的低32位数据,R1为第一轮加密运算中R寄存器保存的低32位数据;
c)计算每一条功耗曲线对应的中间数据,得到一个与曲线条数相同元素个数的中间数据数组,数组的个数与猜测密钥的个数相同;
d)在功耗曲线上找到第二轮运算中L寄存器更新的位置,记录每条曲线对应的L寄存器更新处的功耗大小,保存在一个功耗数组中;
e)分别用中间数据数组与功耗数组计算相关性,找出相关性最大的中间数据数组对应的密钥,该密钥即为真实密钥。
2.根据权利要求1所述的方法,其特征在于利用第一轮运算中R寄存器的变化情况作为区分函数进行攻击,该变化情况是指在第一轮运算前写入R寄存器的数据与第一轮运算后写入R寄存器的数据,二者异或的结果即为寄存器变化情况。
CN201310637160.2A 2013-12-03 2013-12-03 针对des第二轮l寄存器翻转的功耗攻击方法 Active CN103647640B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310637160.2A CN103647640B (zh) 2013-12-03 2013-12-03 针对des第二轮l寄存器翻转的功耗攻击方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310637160.2A CN103647640B (zh) 2013-12-03 2013-12-03 针对des第二轮l寄存器翻转的功耗攻击方法

Publications (2)

Publication Number Publication Date
CN103647640A CN103647640A (zh) 2014-03-19
CN103647640B true CN103647640B (zh) 2016-09-14

Family

ID=50252803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310637160.2A Active CN103647640B (zh) 2013-12-03 2013-12-03 针对des第二轮l寄存器翻转的功耗攻击方法

Country Status (1)

Country Link
CN (1) CN103647640B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905182B (zh) * 2014-04-25 2017-02-15 东南大学 基于动态改变中间数据存储位置的抗攻击方法及电路实现
CN105897399B (zh) * 2016-06-14 2019-01-29 东南大学 一种基于寄存器掩码的面向des算法的抗功耗攻击方法
CN110190951B (zh) * 2019-06-17 2022-09-27 中金金融认证中心有限公司 一种针对des算法l寄存器翻转的功耗攻击方法及***

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602006020010D1 (de) * 2005-12-19 2011-03-24 St Microelectronics Sa Schutz der Ausführung eines DES-Algorithmus
CN103067155A (zh) * 2012-12-27 2013-04-24 东南大学 一种防止基于功耗分析的des算法攻击的方法及测试电路

Also Published As

Publication number Publication date
CN103647640A (zh) 2014-03-19

Similar Documents

Publication Publication Date Title
EP1873671B2 (en) A method for protecting IC Cards against power analysis attacks
CN103067155A (zh) 一种防止基于功耗分析的des算法攻击的方法及测试电路
CN104734842B (zh) 基于伪操作的电路旁路攻击抵御方法
CN108964872B (zh) 一种基于aes的加密方法及装置
CN102970132B (zh) 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法
CN103530474A (zh) 面向aes算法电路的差分功耗攻击测试方法
CN103532973A (zh) 面向des算法电路的差分功耗攻击测试方法
CN104734845A (zh) 基于全加密算法伪操作的旁路攻击防护方法
CN101009554A (zh) 一种抗功耗攻击的字节替换电路
CN105933108B (zh) 一种对sm4算法实现破解的方法
CN104333447A (zh) 一种可抵御能量分析攻击的sm4方法
CN103647640B (zh) 针对des第二轮l寄存器翻转的功耗攻击方法
CN110190951A (zh) 一种针对des算法l寄存器翻转的功耗攻击方法及***
CN104301095A (zh) Des轮运算方法和电路
CN107154843A (zh) 一种抗功耗攻击的sm4算法的硬件实现***
Cai et al. An energy trace compression method for differential power analysis attack
CN108155984B (zh) 一种基于能量分析的密码算法簇逆向工程分析方法
Luo et al. Cryptanalysis of a chaotic block cryptographic system against template attacks
CN104811295A (zh) 一种对具备掩码防护的祖冲之密码算法进行侧信道能量分析方法
CN103546277B (zh) 一种智能卡sm4算法的dpa攻击与密钥还原方法及***
Hu et al. Adaptive chosen-plaintext correlation power analysis
CN102523085A (zh) 数据加密方法、装置及智能卡
CN103916235A (zh) 随机***伪轮运算对的抗功耗攻击方法
Xiao et al. CNN based electromagnetic side channel attacks on SoC
CN105656629A (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
C14 Grant of patent or utility model
GR01 Patent grant