CN112035854B - 基于比特置换的循环移位和固定置换表的抗功耗攻击方法 - Google Patents

基于比特置换的循环移位和固定置换表的抗功耗攻击方法 Download PDF

Info

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
Application number
CN202010810957.8A
Other languages
English (en)
Other versions
CN112035854A (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.)
Nanjing Low Power Chip Technology Research Institute Co ltd
Original Assignee
Nanjing Low Power Chip Technology Research Institute 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 Nanjing Low Power Chip Technology Research Institute Co ltd filed Critical Nanjing Low Power Chip Technology Research Institute Co ltd
Priority to CN202010810957.8A priority Critical patent/CN112035854B/zh
Publication of CN112035854A publication Critical patent/CN112035854A/zh
Application granted granted Critical
Publication of CN112035854B publication Critical patent/CN112035854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/75Protecting 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/755Protecting 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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所述的基于比特置换的循环移位和固定置换表的抗功耗攻击方法,其特征在于,采用固定置换表方式进行比特置换时,相邻两次置换位置完全错开。
CN202010810957.8A 2020-08-13 2020-08-13 基于比特置换的循环移位和固定置换表的抗功耗攻击方法 Active CN112035854B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573065B (zh) * 2024-01-17 2024-04-16 青岛本原微电子有限公司 一种处理器多功能移位运算装置及运算方法

Citations (4)

* Cited by examiner, † Cited by third party
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 郑州轻工业学院 一种具有似混沌特性的文件加密方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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