CN110417540B - 一种抗差分功耗分析的信息加密方法 - Google Patents
一种抗差分功耗分析的信息加密方法 Download PDFInfo
- Publication number
- CN110417540B CN110417540B CN201910715232.8A CN201910715232A CN110417540B CN 110417540 B CN110417540 B CN 110417540B CN 201910715232 A CN201910715232 A CN 201910715232A CN 110417540 B CN110417540 B CN 110417540B
- Authority
- CN
- China
- Prior art keywords
- bit
- des
- output
- module
- input
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种抗差分功耗分析的信息加密方法,通过将输入的明文经过DES模块进行多次加密,并经过位移变换和仿射映射操作,最终通过3DES模块输出密文。本发明采用行位移操作和仿射映射操作,无法对DES加密实施差异功耗分析,可实现高阶的DPA高阶防护。
Description
技术领域
本发明属于信息安全领域,具体涉及一种信息加密方法,尤其涉及一种抗差分功耗分析的信息加密方法。
背景技术
近年来,密码算法的旁路攻击越来越受到关注和研究。旁路攻击(Side ChannelAttacks,SCA)利用算法在电路中运行时所泄漏出来的非特意的信息从而分析出算法电路中的秘密数据。功耗分析是目前旁路攻击中最热门、研究最为广泛的类型,通过监测加密系统泄露的电流和电压等物理信息来进行攻击。功耗分析按照攻击手段主要可分为简单功耗分析(Simple Power Analysis, SPA)和差分功耗分析(Differential Power Analysis,DPA)两种,分别针对电路不同的弱点。简单功耗分析通过观察算法电路运行时的功耗特征来进行攻击;差异功耗分析对大量的明文(或密文)和功耗曲线进行统计分析获取密钥信息。
差异功耗分析的关键手段之一就是需要在算法运行时找出一个观察点,以便根据该观察点的值来进行功耗分组。差异功耗分析的基本步骤为:首先采集大量的功耗曲线,然后根据选定的观察点对这些功耗曲线进行分组,然后必须要将各组的功耗曲线在时域上对齐之后,才能对功耗曲线进行统计分析。由于差异功耗分析处理的是时域信号,因此在时域上精确对齐功耗曲线是十分关键的一步。如果没有对齐的话,不同数据的功耗差异就无法在大量样本中得到累积。因此只有把所有功耗曲线对齐,之后的统计分析才有意义。
DES算法是在密码体制中应用比较广泛的对称密码体制,又被成为美国数据加密标准,是1972年美IBM公司研制的对称密码体制加密算法。该DES 算法将64位的明文输入块变化成64位的密文输出块,其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,进行初始置换,即得密文输出。其中每一轮DES算法的F函数包括扩展置换、与密钥的异或、S盒代换和P盒置换。S盒,英文名称为Substitution-box,是对称密钥算法执行置换计算的基本结构。S盒用在分组密码算法中,是非线性结构,其密码强度直接决定了密码算法的好坏。
对于硬件实现的DES算法,差异功耗分析是最需要防范的。抵御差异功耗分析的常用方法为盲化方案,但是DES算法由于其本身算法的特点,即存在非线性的Sbox,很难对其进行彻底盲化。本发明中提出的抗攻击方法由于采用行位移操作和仿射映射操作,使得攻击者难以在时域上对齐功耗曲线,从而无法对DES加密实施差异功耗分析,可实现高阶的DPA防护。
发明内容
本发明要解决的技术问题是提供一种抗差分功耗分析的信息加密方法,能够通过将DES运算根据随机数在时域上进行偏移,使得DES运算的功耗曲线无法在时域上对齐,从而使得攻击者无法对其实施差异功耗分析。
针对现有技术中存在的缺陷,本发明的目的在于提供一种抗差分功耗分析的信息加密方法,在不限制算法应用的情况下,简单有效的抵抗CPA攻击,便于实际应用。
为了达到上述目的,本发明提出的一种抗差分功耗分析的信息加密方法如下步骤:
步骤(1),第一个DES模块的输入为64位的明文输入,以及64位的第一密钥k1作为该第一DES模块的另一输入,对于每个DES模块,生成一个随机数列r,数列r由1~64共64个数字组成,数字的顺序随机设置,第一 DES模块生成第一随机数r1,第二DES模块生成第二随机数r2,对于第一个DES 模块来说,将第一DES模块输出的密文y1与64的第一随机数r1作第一异或运算,所述第一异或运算的输出为64位的y2;
步骤(2),将y2执行位移变换;
优选地,所述位移变换具体为:
将64位的y从上往下、从左到右地写成一个矩阵,第一行保持不动,第二行向左滑动1格,第三行向左滑动2格,第四行向左滑动3格,第五行向左滑动 4格,第六行向左滑动5格,第七行向左滑动6格,第八行向左滑动7格,最后在从上往下、从左到右地“读取”,并输出64位y3。
步骤(3),将行位移输出y3作为第二DES模块的输入,并将64位的第二密钥k2作为该第二DES模块的另一输入,接着对第二DES模块输出的密文y4与所述第二随机数r2作第二异或运算,所述第二异或运算的输出为64位的y5。
步骤(4),将第二异或运算的输出为64位的y5执行仿射映射,对y5做如下仿射映射可得到y6。
优选地,所述仿射映射具体为:
将64位的y5看作是8*8的矩阵,对y5的列进行仿射映射操作,
所述仿射映射操作y6=Aiy5+B mod 2,i=1,2,3,...8,
步骤(5),将仿射映射运算输出的64位的y6输入到3DES模块,64位的第三密钥k3作为该3DES模块的另一输入,3DES输出相应密文。
本发明提供的一个抗差分功耗分析的信息加密方法可实现以下效果:
(1)采用行位移操作和仿射映射操作,使得攻击者难以在时域上对齐功耗曲线,从而无法对DES加密实施差异功耗分析,可实现高阶的DPA防护。
(2)采用仿射变换能“破坏”伽罗瓦域GF(28)的数学结构,使DES能抵抗一些针对有限域逆元的攻击方案,进一步提升DES加密抗差分功耗分析能力。
附图说明
图1为本发明加密算法的示意图;
图2为本发明中行位移操作的示意图;
图3为本发明中仿射映射操作的示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本实用新型的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本实用新型所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
DES,英文全称:DataEncryption Standard,是分组对称密码算法,是一种应用较广的对称加/解密算法,DES算法将64位的明文输入块变化成64位的密文输出块,其功能是把输入的64位数据块按位重新组合,并把输出分为L0、 R0两部分,每部分各长32位,进行初始置换,即得密文输出。其中每一轮DES 算法的F函数包括扩展置换、与密钥的异或、S盒代换和P盒置换。
S盒,英文名称为Substitution-box,是对称密钥算法执行置换计算的基本结构。S盒用在分组密码算法中,是非线性结构,其密码强度直接决定了密码算法的好坏。
DES总体加密过程如下:
(1)64位密钥经子密钥产生算法产生出16个子密钥:K1,K2,...,K16,分别供第一次,第二次,第三次,第四次,第五次,...,第十六次加密迭代使用;
(2)64位明文经初始置换IP,将数据打乱重排并分成左右两半。左边32 位构成L0,右边2位构成R0;
第一次加密迭代:由加密函数f实现子密钥k1对R0的加密,得到32位的f(R0, K1),然后L0⊕f(R0,K1),32位的结果作为第二次加密迭代的R1,以R0作为第二次加密迭代的L1;
第二次加密迭代至第十六次加密迭代分别用子密钥K2,...,K16进行,其过程与第一次加密迭代相同;
第十六次加密迭代结束后,产生一个64位的数据组,以其左边32位作为 R16,以其右边32位作为L16。R16与L16合并,再经过逆初始置换IP^–1,将数据重新排列,便得到64位密文。
参见图1本发明提供了一个抗差分功耗分析的信息加密方法如下,本发明以DES模块为基本运算单元,
(1)第一个DES模块的输入为64位的明文输入,以及64位的第一密钥 k1作为该第一DES模块的另一输入,对于每个DES模块,生成一个随机数列 r,数列r由1~64共64个数字组成,数字的顺序随机设置,第一DES 模块生成第一随机数r1,第二DES模块生成第二随机数r2,对于第一个DES模块来说,将第一DES模块输出的密文y1与64的第一随机数r1作第一异或运算,所述第一异或运算的输出为64位的y2;
(2)将y2执行位移变换,具体可以理解为,对于将64位的y从上往下、从左到右地写成一个矩阵。第一行保持不动,第二行向左滑动1格,第三行向左滑动2格,第四行向左滑动3格,第五行向左滑动4格,第六行向左滑动5格,第七行向左滑动6格,第八行向左滑动7格,最后在从上往下、从左到右地“读取”,行位移的操作如图2所示,所述行位移的输出位y3;
(3)将行位移输出y3作为第二DES模块的输入,另外,将64位的第二密钥k2作为该第二DES模块的另一输入,接着对第二DES模块输出的密文y4与所述第二随机数r2作第二异或运算,所述第二异或运算的输出为64位的y5;
(4)将第二异或运算的输出为64位的y5执行仿射映射,对y5做如下仿射映射可得到y6,如图3所示,将64位的y5看作是8*8的矩阵,对y5的列进行仿射映射操作,具体以其中一列为例,将y5的其中一列b0-b7每一个小写字母代表一个字节中的一个位(bit)。通常,这里小写字母的角标0对应字节中的最低有效位(least significantbit,LSB),也是扩展域中的x0系数;角标7对应字节中的最高有效位(most significantbit,MSB),也是扩展域中的x7系数。所述仿射变换能“破坏”伽罗瓦域GF(28)的数学结构,使DES能抵抗一些针对有限域逆元的攻击方案。在所述图3中,图3是按照仿射映射操作y6=Aiy5+B mod 2, i=1,2,3,...8,
矩阵B为:计算y6的第一列的计算过程,在计算y6第i列时采用矩阵Ai进行运算,在计算y6第1列时采用矩阵A1进行运算,在计算y6第2列时采用矩阵A2进行运算,在计算y6第3列时采用矩阵A3进行运算,在计算y6第4列时采用矩阵A4进行运算,在计算y6第5列时采用矩阵A5进行运算,在计算y6 第6列时采用矩阵A6进行运算,在计算y6第7列时采用矩阵A7进行运算,在计算y6第8列时采用矩阵A8进行运算,其中,y6的第1列为y5的第1列为
(5)将仿射映射运算输出的64位的y6输入到3DES模块,64位的第三密钥 k3作为该3DES模块的另一输入,3DES输出相应密文。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (1)
1.一种抗差分功耗分析的信息加密方法,以DES模块为基本运算单元,其特征在于:
包括以下步骤:
步骤(1),第一DES模块的输入为64位的明文输入,以及64位的第一密钥k1作为该第一DES模块的另一输入,对于每个DES模块,生成一个随机数列r,数列r由1~64共64个数字组成,数字的顺序随机设置,第一DES模块生成第一随机数r1,第二DES模块生成第二随机数r2,将第一DES模块输出的密文y1与64的第一随机数r1作第一异或运算,所述第一异或运算的输出为64位的y2;
步骤(2),将64位的y2执行位移变换;
步骤(3),将行位移输出y3作为第二DES模块的输入,并将64位的第二密钥k2作为该第二DES模块的另一输入,接着对第二DES模块输出的密文y4与所述第二随机数r2作第二异或运算,所述第二异或运算的输出为64位的y5;
步骤(4),将第二异或运算的输出为64位的y5执行仿射映射,对y5做仿射映射运算得到y6;
步骤(5),将仿射映射运算输出的64位的y6输入到3DES模块,64位的第三密钥k3作为该3DES模块的另一输入,3DES模块输出相应密文;
所述位移变换具体为:
将64位的y从上往下、从左到右地写成一个矩阵,第一行保持不动,第二行向左滑动1格,第三行向左滑动2格,第四行向左滑动3格,第五行向左滑动4格,第六行向左滑动5格,第七行向左滑动6格,第八行向左滑动7格,最后再从上往下、从左到右地“读取”,并输出64位y3;
所述仿射映射具体为:
将64位的y5看作是8*8的矩阵,对y5的列进行仿射映射操作,
所述仿射映射操作y6=Aiy5+B mod 2,i=1,2,3,...8,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910715232.8A CN110417540B (zh) | 2019-08-05 | 2019-08-05 | 一种抗差分功耗分析的信息加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910715232.8A CN110417540B (zh) | 2019-08-05 | 2019-08-05 | 一种抗差分功耗分析的信息加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110417540A CN110417540A (zh) | 2019-11-05 |
CN110417540B true CN110417540B (zh) | 2023-01-03 |
Family
ID=68365671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910715232.8A Active CN110417540B (zh) | 2019-08-05 | 2019-08-05 | 一种抗差分功耗分析的信息加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110417540B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666049B (zh) * | 2022-03-25 | 2024-02-20 | 中金金融认证中心有限公司 | 一种用于加密明文数据的方法及其相关产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795527A (zh) * | 2014-03-03 | 2014-05-14 | 重庆大学 | 防止基于功耗分析攻击aes算法的软件掩码防护方案 |
CN106027222A (zh) * | 2016-06-30 | 2016-10-12 | 中国南方电网有限责任公司电网技术研究中心 | 一种防止差分功耗分析的智能卡加密方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10136303A1 (de) * | 2001-07-26 | 2003-02-13 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Ausführen einer Bytesubstitutionsoperation des AES-Algorithmus nach Rijndael |
EP1798888B1 (fr) * | 2005-12-19 | 2011-02-09 | St Microelectronics S.A. | Protection de l'exécution d'un algorithme DES |
CN102447556A (zh) * | 2010-10-14 | 2012-05-09 | 上海华虹集成电路有限责任公司 | 一种基于随机偏移的抗差分功耗分析des加密方法 |
CN103067155A (zh) * | 2012-12-27 | 2013-04-24 | 东南大学 | 一种防止基于功耗分析的des算法攻击的方法及测试电路 |
CN102983964A (zh) * | 2012-12-28 | 2013-03-20 | 大唐微电子技术有限公司 | 一种抗差分功耗分析的数字加密标准改进方法及装置 |
-
2019
- 2019-08-05 CN CN201910715232.8A patent/CN110417540B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795527A (zh) * | 2014-03-03 | 2014-05-14 | 重庆大学 | 防止基于功耗分析攻击aes算法的软件掩码防护方案 |
CN106027222A (zh) * | 2016-06-30 | 2016-10-12 | 中国南方电网有限责任公司电网技术研究中心 | 一种防止差分功耗分析的智能卡加密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110417540A (zh) | 2019-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Brown et al. | Improving resistance to differential cryptanalysis and the redesign of LOKI | |
Li et al. | Differential fault analysis on the ARIA algorithm | |
US8971526B2 (en) | Method of counter-measuring against side-channel attacks | |
Link et al. | Clarifying obfuscation: improving the security of white-box DES | |
JP5987250B2 (ja) | カスタマイズされたマスキングによって保護される低複雑度の電子回路 | |
US7720225B2 (en) | Table splitting for cryptographic processes | |
KR101324351B1 (ko) | 암호 기반 메시지 인증 코드를 생성하는 방법 | |
EP1833190A1 (en) | Table splitting for cryptographic processes | |
Jaffe | A first-order DPA attack against AES in counter mode with unknown initial counter | |
US10903978B2 (en) | Method of encryption with dynamic diffusion and confusion layers | |
WO2008026622A1 (en) | Encryption device, encryption method, and computer program | |
TW201507427A (zh) | 加解密裝置及其加解密方法 | |
Kuang et al. | Quantum safe lightweight cryptography with quantum permutation pad | |
CN112653546A (zh) | 一种基于功耗分析的故障攻击检测方法 | |
CN110417540B (zh) | 一种抗差分功耗分析的信息加密方法 | |
Singh et al. | Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish | |
Parihar et al. | Blowfish algorithm: a detailed study | |
Borghoff et al. | Cryptanalysis of C2 | |
CN114428979A (zh) | 一种数据处理方法及装置、设备和系统 | |
CN110532763B (zh) | 一种基于高阶正形置换的密码构造方法及系统 | |
CN105553644A (zh) | 32比特分组长度的轻量级加密解密方法 | |
Saha et al. | Diagonal fault analysis of Gr⊘ stl in dedicated MAC mode | |
Lu et al. | Differential attack on nine rounds of the SEED block cipher | |
Zhao et al. | Research of changeable S-Box in block cryptosystem based on chaos | |
Xiutao et al. | A realtime key recovery attack on the authenticated cipher FASER128 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210730 Address after: 010010 No. 65 Xinhua East Street, New District, Hohhot City, Inner Mongolia Autonomous Region Applicant after: CHINA AEROSPACE SCIENCE & INDUSTRY CORP. NO.6 INSTITUTE INTELLIGENCE INFORMATION RESEARCH CENTER Address before: 010010 No. 65 Xinhua East Street, New District, Hohhot City, Inner Mongolia Autonomous Region Applicant before: Li Chunwang |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |