CN112035854B - 基于比特置换的循环移位和固定置换表的抗功耗攻击方法 - Google Patents
基于比特置换的循环移位和固定置换表的抗功耗攻击方法 Download PDFInfo
- Publication number
- CN112035854B CN112035854B CN202010810957.8A CN202010810957A CN112035854B CN 112035854 B CN112035854 B CN 112035854B CN 202010810957 A CN202010810957 A CN 202010810957A CN 112035854 B CN112035854 B CN 112035854B
- Authority
- CN
- China
- Prior art keywords
- bit
- cyclic shift
- permutation
- fixed
- calculation
- 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
- 125000004122 cyclic group Chemical group 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000004364 calculation method Methods 0.000 claims abstract description 19
- 238000011084 recovery Methods 0.000 claims abstract description 10
- 230000009466 transformation Effects 0.000 claims abstract description 9
- 239000011159 matrix material Substances 0.000 claims description 18
- 230000008521 reorganization Effects 0.000 claims description 3
- 238000006467 substitution reaction Methods 0.000 abstract description 16
- 238000000844 transformation Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 11
- 230000000739 chaotic effect Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于比特置换的循环移位和固定置换表的抗功耗攻击方法,输入明文,当一轮计算完成后,则将中间值进行比特置换后存入寄存器;在下一轮计算开始前,进行比特置换恢复操作,使中间值恢复原有的顺序,进行后续的计算。比特置换包括循环移位方式和固定置换表方式。循环移位方案中比特置换模块和比特置换恢复模块的控制信号相同,因此可以共用一个模块,节省一半的资源开销。固定置换表方案中其逆变换是其本身,即经过两次同样的变换即可恢复原来的顺序,可以资源重复利用,降低额外面积开销。同时,第i次和第i+1次将位置完全错开,因此对于同一位置的寄存器,其相邻两次的数据涉及到原来全部16个字节,将数据混淆程度增加到最大。
Description
技术领域
本发明涉及密码算法领域,尤其涉及一种基于比特置换的循环移位和固定置换表的抗功耗攻击方法。
背景技术
对于硬件实现的密码算法方案,攻击者的关注点往往是将中间值写入寄存器的操作。在此操作中,密码设备的能量消耗会根据寄存器的翻转情况发生不同的变化,因此若能将数据的写入过程进行混淆,则能在一定程度提高密码设备的抗功耗攻击能力。
基于寄存器随机化的抗功耗攻击方案,在计算完成后,将数据分为4组,然后随机存储到4个寄存器中,在下一轮计算之前将中间值数据恢复为正常的顺序。此方案可以在一定程度上提高密码设备的抗功耗攻击能力,但是从攻击者角度来说,之后往往关注其中的某个寄存器,而不是全体的寄存器。如攻击者选中攻击的寄存器为寄存器Reg0,则此寄存器有1/4的概率存入正确的数据。所以,此方案的提高的抗功耗攻击能力较小,另外这会在寄存器之前和之后加入一定的组合逻辑,会在影响密码设备的性能。
一种基于动态中间值存储的抗功耗攻击方案,以DES算法为例,介绍通过多增加了一对寄存器,在计算过程中,计算得到的中间值会交替存储在两对寄存器中,使得相邻两次计算的中间值存储在不同对的寄存器中,以此来提升密码设备的抗功耗攻击能力,但是此方案会增加一倍的寄存器消耗。
一种基于4-bit替换的抗功耗攻击方案,将一个字节分为高4位和低4位,然后根据替换表分别进行替换,替换表在使用之后会根据随机数进行更新,此种方案虽然能一定程度增加攻击难度,但消耗的额外面积较大。
上述方案虽然能在一定程度提高密码设备的抗功耗攻击能力,但是一方面提升的抗功耗攻击能力有限,另一方面需要使用随机数来增加混乱程度,这样虽然能在一定程度提高攻击难度,但同时也需要附加的资源消耗,即随机数发生器的构建。
发明内容
发明目的:针对以上问题,本发明提出一种基于比特置换的循环移位和固定置换表的抗功耗攻击方法,比特置换的实现是对所有的数据进行比特置换,可以达到更高的混乱程度,增加攻击的难度。
技术方案:为实现本发明的目的,本发明所采用的技术方案是:一种基于比特置换的循环移位和固定置换表的抗功耗攻击方法,包括步骤:
(1)输入明文,当一轮计算完成后,根据状态选择不同的路径;若计算完成,则直接输出密文;若未完成计算,则将中间值进行比特置换后存入寄存器;
(2)在下一轮计算开始前,进行比特置换恢复操作,使中间值恢复原有的顺序,进行后续的计算。
进一步地,比特置换包括循环移位方式和固定置换表方式。
进一步地,采用循环移位方式进行比特置换包括步骤:
(2-1)将时钟信号二分频,得到选择信号的周期为时钟信号的二倍;
(2-2)在每轮运算完成后,进行循环移位操作,根据选择信号选择循环左移还是循环右移;
(2-3)在下一轮计算开始前,将数据反向操作以恢复数据正确的次序。
进一步地,循环左移或循环右移一位。
进一步地,循环移位的实现方式包括时序电路和组合电路。
进一步地,采用固定置换表方式进行比特置换包括步骤:
(3-1)将中间值矩阵进行变换操作,将矩阵行列进行置换;
(3-2)将中间值进行重组操作,在新的矩阵中,按列在不同的字节块中按“位”提取数据,重新组成字节块,从而形成新的矩阵。
进一步地,采用固定置换表方式进行比特置换时,相邻两次置换位置完全错开。
有益效果:本发明包括两种抗功耗攻击方法,循环移位方案和固定置换表方案。本发明对所有的数据进行比特置换,可以达到更高的混乱程度,增加攻击的难度。
循环移位方案中比特置换模块和比特置换恢复模块的控制信号相同,因此可以共用一个模块,节省一半的资源开销。
固定置换表方案中其逆变换(比特置换恢复操作)是其本身,即经过两次同样的变换即可恢复原来的顺序,这可以在一定程度降低设计难度,也可以资源重复利用,降低额外面积开销。同时,第i次和第i+1次将位置完全错开,因此对于同一位置的寄存器,其相邻两次的数据涉及到原来全部16个字节,将数据混淆程度增加到最大。
附图说明
图1是循环移位模块示意图;
图2是中间值第i次比特置换策略;
图3是中间值第i+1次比特置换策略。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。
本发明所述的基于比特置换的循环移位和固定置换表的抗功耗攻击方法,包括步骤:
(1-1)输入明文,当一轮计算完成后,根据状态,输入不同的路径;若计算完成,则直接输出密文;若未完成计算,则将中间值进行比特置换后存入寄存器;
(1-2)在下一轮计算开始前,先进行比特置换恢复操作,使中间值恢复原有的顺序,进行后续的计算。
比特置换包括循环移位方案和固定置换表方案。
如图1所示,采用循环移位方式进行比特置换,包括步骤:
(2-1)将时钟信号二分频,得到选择信号的周期为时钟信号的二倍;
这种巧妙的设计可以使选择信号在控制数据移位并写入寄存器时进行翻转,以便控制后续的比特置换恢复操作。
(2-2)对于比特置换,在每轮运算完成后,进行循环移位操作,根据选择信号选择循环左移还是循环右移;
为将能量消耗与中间值的关联性打破,同时使消耗的资源开销也最小,设计仅循环左移或右移一位。
(2-3)在下一轮计算开始前,将数据反向操作以恢复数据正确的次序。
对于比特置换,最简单的方式就是进行循环移位,即在每轮运算完成后,将数据进行循环左移或右移,在下一轮计算开始前,将数据反向操作以恢复数据正确的次序。对于循环移位的实现有两种实现方式,即时序电路和组合电路。时序电路即为线性反馈移位寄存器(Linear Feedback Shift Register,LFSR),而组合电路要在写入寄存器前和后增加组合逻辑以完成循环移位操作。
如图2和3所示,采用固定置换表方式进行比特置换,包括步骤:
(3-1)将中间值矩阵进行变换操作,将矩阵行列进行置换;
如图2(a)所示,将中间值的原始4×4的矩阵变换成为8×2的矩阵形式,其顺序按图2(a)中右图的顺序排列,第一列从上到下依次为a1、a2、…b3、b4,第二列从上到下依次为c1、c2、…d3、d4。
图2(a)左图为中间值的一般形态,其中每个小正方形表示“一个字节”,第一行表示最高32位,最后一行表示最低32位。第一行中,a1为最高8位,a4为最低8位,每个字节的最高位到最低位皆是从左到右,以下3行与此类似。将中间值的原始4×4的矩阵变换成为8×2的矩阵形式,其顺序按图2(a)右图的顺序排列,第一列从上到下依次为a1、a2、…b3、b4,第二列从上到下依次为c1、c2、…d3、d4。图2(a)是比特置换的准备阶段,将中间值矩阵的形式变化是为了下一步容易将每个字节(小正方形)按“位”切割。
(3-2)将中间值进行重组操作,在新的矩阵中,按列在不同的字节块中按“位”提取数据,重新组成字节块,从而形成新的矩阵;
如图2所示,(a)的右图到(b)的左图,其形式和数据相同,不同之处仅仅是(a)图是按“字节”将数据分块,而(b)图是以“位”将数据分开,然后将(b)的左图中的最左侧一列从上到下的8位(从高位到低位)依次写入(b)的右图的e1,此时e1的8位数据分别来自a1、a2、a3、a4、b1、b2、b3和b4的最高位。剩余部分的操作类似,(b)的左图中从左到右按列取数据(一个字节)。
图2(b)为具体的比特置换策略。图2(b)中每个长方形表示“一位”,8个小长方向表示“一个字节”。(a)右图到(b)左图,其形式和数据相同,不同之处仅仅是(a)图是按“字节”将数据分块,而(b)左图中以“位”将数据分开。然后将(b)左图中的最左侧一列从上到下8位(从高位到低位)依次写入(b)右图的e1,此时e1的8位数据分别来自a1、a2、a3、a4、b1、b2、b3和b4的最高位。剩余部分的操作类似,(b)左图中从左到右按列取数据(一个字节)。
(3-3)如图3所示,第i+1次时的比特置换策略,与第i次比特置换不同之处在于将中间值矩阵a行和c行对换位置,将b行和d行对换位置,如图3(a)所示,图3(b)的操作方式与图3(b)相同。
循环移位方案中虽有比特置换模块和比特置换恢复模块,但是其控制信号相同,因此可以共用一个模块,节省一半的资源开销。
固定置换表方案有两个明显优势:其一,其逆变换(比特置换恢复操作)是其本身,即经过两次同样的变换即可恢复原来的顺序,这可以在一定程度降低设计难度,也可以资源重复利用,降低额外面积开销;其二,因为第i次和第i+1次将位置完全错开,因此对于同一位置(8位)的寄存器,其相邻两次的数据涉及到原来全部16个字节,将数据混淆程度增加到最大。
Claims (4)
1.一种基于比特置换的循环移位和固定置换表的抗功耗攻击方法,其特征在于,包括步骤:
(1)输入明文,当一轮计算完成后,根据状态选择不同的路径;若计算完成,则直接输出密文;若未完成计算,则将中间值进行比特置换后存入寄存器;
(2)在下一轮计算开始前,进行比特置换恢复操作,使中间值恢复原有的顺序,进行后续的计算;
其中,比特置换包括循环移位方式和固定置换表方式;
采用循环移位方式进行比特置换包括步骤:
(2-1)将时钟信号二分频,得到选择信号的周期为时钟信号的二倍;
(2-2)在每轮运算完成后,进行循环移位操作,根据选择信号选择循环左移还是循环右移;
(2-3)在下一轮计算开始前,将数据反向操作以恢复数据正确的次序;
采用固定置换表方式进行比特置换包括步骤:
(3-1)将中间值矩阵进行变换操作,将矩阵行列进行置换;
(3-2)将中间值进行重组操作,在新的矩阵中,按列在不同的字节块中按“位”提取数据,重新组成字节块,从而形成新的矩阵。
2.根据权利要求1所述的基于比特置换的循环移位和固定置换表的抗功耗攻击方法,其特征在于,循环左移或循环右移一位。
3.根据权利要求1所述的基于比特置换的循环移位和固定置换表的抗功耗攻击方法,其特征在于,循环移位的实现方式包括时序电路和组合电路。
4.根据权利要求1所述的基于比特置换的循环移位和固定置换表的抗功耗攻击方法,其特征在于,采用固定置换表方式进行比特置换时,相邻两次置换位置完全错开。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010810957.8A CN112035854B (zh) | 2020-08-13 | 2020-08-13 | 基于比特置换的循环移位和固定置换表的抗功耗攻击方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010810957.8A CN112035854B (zh) | 2020-08-13 | 2020-08-13 | 基于比特置换的循环移位和固定置换表的抗功耗攻击方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035854A CN112035854A (zh) | 2020-12-04 |
CN112035854B true CN112035854B (zh) | 2024-02-23 |
Family
ID=73577973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010810957.8A Active CN112035854B (zh) | 2020-08-13 | 2020-08-13 | 基于比特置换的循环移位和固定置换表的抗功耗攻击方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035854B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117573065B (zh) * | 2024-01-17 | 2024-04-16 | 青岛本原微电子有限公司 | 一种处理器多功能移位运算装置及运算方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013010362A1 (zh) * | 2011-07-18 | 2013-01-24 | 中国电力科学研究院 | 一种防御功耗攻击的集成电路及方法 |
CN108123791A (zh) * | 2017-12-26 | 2018-06-05 | 衡阳师范学院 | 一种轻量级分组密码scs的实现方法与装置 |
CN108183729A (zh) * | 2018-03-19 | 2018-06-19 | 西安电子科技大学 | 基于fpga的电力线载波通信的信道交织方法及系统 |
CN110677237A (zh) * | 2019-11-04 | 2020-01-10 | 郑州轻工业学院 | 一种具有似混沌特性的文件加密方法 |
-
2020
- 2020-08-13 CN CN202010810957.8A patent/CN112035854B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013010362A1 (zh) * | 2011-07-18 | 2013-01-24 | 中国电力科学研究院 | 一种防御功耗攻击的集成电路及方法 |
CN108123791A (zh) * | 2017-12-26 | 2018-06-05 | 衡阳师范学院 | 一种轻量级分组密码scs的实现方法与装置 |
CN108183729A (zh) * | 2018-03-19 | 2018-06-19 | 西安电子科技大学 | 基于fpga的电力线载波通信的信道交织方法及系统 |
CN110677237A (zh) * | 2019-11-04 | 2020-01-10 | 郑州轻工业学院 | 一种具有似混沌特性的文件加密方法 |
Non-Patent Citations (1)
Title |
---|
Midori算法抗故障攻击安全性评估;王艺迪;赵新杰;张帆;郭世泽;吴礼发;李文;楼潇轩;;密码学报(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112035854A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5623548A (en) | Transformation pattern generating device and encryption function device | |
Biham et al. | New results on boomerang and rectangle attacks | |
US20130132706A1 (en) | Table lookup operation on masked data | |
US8787563B2 (en) | Data converter, data conversion method and program | |
US20050213756A1 (en) | Round key generation for aes rijndael block cipher | |
CN110071794B (zh) | 一种基于aes算法的信息加密方法、系统及相关组件 | |
NO300909B1 (no) | Nökkelströmgenerator med tilbakekoblet skiftregisterstruktur | |
CN112422272B (zh) | 一种防功耗攻击的aes加密方法及电路 | |
JP2845308B2 (ja) | 並列疑似ランダムパターン発生器 | |
US11258579B2 (en) | Method and circuit for implementing a substitution table | |
EP2316189A2 (en) | Method for generating a cipher-based message authentication code | |
CN110784307B (zh) | 轻量级密码算法scenery实现方法、装置及存储介质 | |
CN112035854B (zh) | 基于比特置换的循环移位和固定置换表的抗功耗攻击方法 | |
CN107204841B (zh) | 一种抵御差分功耗攻击的分组密码多s盒实现的方法 | |
US20170257212A1 (en) | Cryptographic Apparatuses And Methods For Encrypting And Decrypting Data Using Automata | |
Kumar et al. | Novel and efficient cellular automata based symmetric key encryption algorithm for wireless sensor networks | |
US11824969B2 (en) | Method and circuit for performing a substitution operation | |
US7190787B1 (en) | Stream cipher having a combiner function with storage based shuffle unit | |
EP1764762B1 (en) | Electronic element and data processing method | |
Rasoolzadeh et al. | Cryptanalysis of 6-round PRINCE using 2 Known Plaintexts | |
EP3531612B1 (en) | Method and device for performing substitution table operations | |
CN111510296A (zh) | Sm4/aes双模加密电路 | |
RU2503135C1 (ru) | Способ криптографического преобразования информации и устройство для его реализации | |
Hanosh et al. | 11× 11 Playfair Cipher based on a Cascade of LFSRs | |
RU2246129C2 (ru) | Способ генерации случайных чисел |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |