CN104618094B - 一种增强抗攻击能力的密码Mask方法 - Google Patents
一种增强抗攻击能力的密码Mask方法 Download PDFInfo
- Publication number
- CN104618094B CN104618094B CN201510042629.7A CN201510042629A CN104618094B CN 104618094 B CN104618094 B CN 104618094B CN 201510042629 A CN201510042629 A CN 201510042629A CN 104618094 B CN104618094 B CN 104618094B
- Authority
- CN
- China
- Prior art keywords
- mask
- function
- random number
- functional operation
- xor
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本发明一种增强抗攻击能力的密码Mask方法,加密过程包括步骤:(1)引入原始随机数X,对明文M进行异或;(2)进行IP初始置换,之后分成L和R两部分,并引入中间产生的随机数Xy、Xz;(3)引入掩码修正过的F函数,进行n轮F函数运算;(4)L和R两部分合并,之后进行FP逆初始置换;(5)引入原始随机数X,进行异或,得到密文C。本发明在加解密过程全程中,只使用掩码修正过的两种F函数,就可以达到相邻轮运算结果中所带掩码不同的效果,本发明只需要实现两种SM-Box,与其它具有抗CPA攻击的方案相比,在大幅度增强抗差分功耗攻击、相关功耗攻击能力的基础上,还能节约大量的硬件资源,降低了成本。
Description
技术领域
本发明涉及一种增强抗攻击能力的密码Mask方法,适用于Feistel结构的密码算法。
背景技术
随着信息科技的快速发展,信息的价值变得越来越高。相应的,针对这部分信息资产的保护也显得越来越重要。目前普遍采取的措施是软件的方法,但由于网络病毒的泛滥、黑客事件的不断发生以及操作系统的安全漏洞频繁暴露,人们渐渐地已经对基于软件的安全措施失去了信心。
硬件在安全系统中已经逐步起到了至关重要的作用。其基本的考虑是硬件尤其是集成电路具有天生的高安全级别。由于集成电路内部集成了大量的电路,其具有封闭性好、破解难度和破解代价高的特点,自然也更加适合于更高安全要求的系统。
随着集成电路分析技术的发展,安全芯片本身的安全性受到越来越多的威胁。这些威胁大致可以分为两种,其中一种需要破坏芯片的正常工作甚至需要解剖芯片,利用高精度的仪器设备对芯片内部的电路进行分析;另一种威胁是在不破坏芯片正常工作的情况下,通过探测一些旁路信息,如芯片的功耗、电磁辐射、运行时间以及错误处理等信息,找到这些信息与内部的密钥等机密数据的关系,最终找到密钥,破解整个安全系统。显然,后者比前者的威胁要更大。原因在于:一方面后者所需要的设备比前者要简单,攻击成本要低;另一方面,后者可以在不破坏芯片的正常工作的情况下达到攻击目的,所以从攻击效能上来看,后者也比前者高。
标准Feistel结构的密码算法中,分组密码多次循环迭代,实现算法的过程中硬件功耗呈现某种特征。攻击者监测功耗曲线,利用统计方法进行分析处理,算法安全性受影响。针对这种情况,抗攻击方案主要是利用Masking掩盖技术,其通过引入芯片内部产生的随机数,对芯片内部的数据进行掩盖,使得电路的功耗、运行时间以及电磁辐射等外界可探测的因素与内部运算数据无关。
基本的基于掩码技术的算法,通过在算法进行初始置换时就与1个随机数进行异或操作来引入掩码值,之后在每一轮内添加相同的随机化掩码操作,从而使整体功耗随机化,因此能防御经典DPA攻击(根据数据和功耗之间的关联性来还原出密钥,进而达到攻击的效果);但是在进行更强大的基于相关系数的CPA(相关性功耗分析)攻击时,取IP置换后的值与首轮的输出值并利用汉明距离模型构造模拟功耗矩阵,可以推导出,二者的汉明距离与标准算法的汉明距离完全相同,因而采用汉明距离模型能有效屏蔽掩码的作用,使得该抗攻击方法无法抵御基于相关系数的CPA攻击。
为克服两轮之间使用同一个掩码带来的安全隐患,目前有一种基于非对称掩码的抗攻击方案,其核心思想是对算法的首轮和末轮添加的掩码值及位置均异与其它轮,使得对其采用汉明距离模型时无法消去掩码的作用。该方案的实现共需要3种F函数,需要大量的硬件资源支持。因为每一种F函数对应一种SM-Box实现,而且每一种非线性的SM-Box的实现硬件资源消耗都很大。并且由于该算法实现是基于非对称掩码的,加密和解密过程不对称,流程不同,增加了逻辑控制的复杂度。
目前采用Mask技术对Feistel结构的密码算法中的明/密文进行掩码,是利用一个随机数来对关键信息进行处理,增强抗功耗以及电磁攻击的能力。当前已有的带掩码的于Feistel结构的密码Mask算法,有的只有首末两轮加掩码,中间轮的数据仍与原算法的值相同;有的虽然全程带掩码,但各轮左右部分横向异或处理,或者前后轮纵向异或处理,皆可消除掩码。
发明内容
本发明为了克服以上技术的不足,提供了一种增强抗攻击能力的密码Mask方法,本方法适用于所有Feistel结构的密码算法。本方法使用几个不同掩码,按照修正过的算法混合入加密和解密过程全程,相邻轮运算中所带掩码不同,在使用少量的硬件资源的基础上可以大幅度增强抗差分功耗攻击、相关功耗攻击的能力。
术语解释:
1、Feistel密码结构是用于分组密码中的一种对称结构,标准Feistel结构如图1所示。Feistel结构的优点在于:由于它是对称的密码结构,所以对信息的加密和解密的过程就极为相似,甚至完全一样,这就使得在实施的过程中,对编码量和线路传输的要求就减少了几乎一半。许多分组密码采用了Feistel结构,例如DES、Camellia、FEAL、GOST、LOKI、E2、Blofish、RC5和RC6等。
2、DES:DataEncryptionStandard,即数据加密标准,是一种使用密钥加密的块算法。DES使用一个56位的密钥以及附加的8位奇偶校验位,产生最大64位的分组大小,这是一个迭代的分组密码,使用称为Feistel的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES使用16个循环,使用异或、置换、代换、移位操作四种基本运算。
本发明克服其技术问题所采用的技术方案是:
一种增强抗攻击能力的密码Mask方法,所述密码Mask包括加密过程和解密过程,加密过程是对明文及其运算中产生的数据进行掩码,解密过程是对密文及其运算中产生的数据进行掩码,所述加密过程包括如下步骤:
(1)引入原始随机数X,对明文M进行异或;
(2)进行IP初始置换,之后分成L和R两部分,并引入中间产生的随机数Xy、Xz;
(3)引入掩码修正过的F函数,所述F函数包括Fy函数和Fz函数,Fy函数和Fz函数交替进行以完成所需的n轮F函数运算,其中,n为密码算法中总的轮运算圈数;每一轮F函数运算中,均由原始密钥经密钥调度形成轮密钥RoundKeyi,其中,i和n均为正整数且1≤i≤n;所述n轮F函数运算中,奇数轮为Fy函数运算,偶数轮为Fz运算;
(4)L和R两部分合并,之后进行FP逆初始置换;
(5)引入原始随机数X,进行异或,得到密文C。
优选的,所述步骤(3)中,F函数运算包括EP扩展置换、与轮密钥RoundKeyi异或、SM-Box代换和P置换函数变换;其中,奇数轮中Fy函数运算包括EP扩展置换、与轮密钥RoundKeyi异或、SM-Box-y代换和P置换函数变换,偶数轮中Fz函数运算包括EP扩展置换、与轮密钥RoundKeyi异或、SM-Box-z代换和P置换函数变换。
优选的,所述相邻轮中所用的随机数不同,循环交替使用随机数Xy和Xz。
优选的,所述n=16,即加密过程中进行16轮F函数运算。
优选的,所述解密过程与加密过程对称;所述加密过程和解密过程中,使用的不同掩码,来自同1个随机源X,各经过不同算法处理。
本发明的有益效果是:
1、本发明在加密和解密过程全程中,只使用掩码修正过的两种F函数,就可以达到相邻轮运算结果中所带掩码不同的效果,由于两种F函数对应两种SM-Box,即本发明只需要实现两种SM-Box,与其它具有抗CPA攻击的方案相比,在大幅度增强抗差分功耗攻击、相关功耗攻击能力的基础上,还能节约大量的硬件资源,降低了成本。
2、本发明加密和解密流程完全相同,与其它具有抗CPA攻击的方案相比,逻辑控制简单。
附图说明
图1为标准Feistel结构图。
图2为本发明的Feistel结构密码Mask方法流程图。
图3为本发明的DES密码Mask方法的加密原理图。
图4为本发明的DES密码Mask方法的数据加密处理流程图。
图中,M、明文,C、密文,1、Fy函数运算,2、Fz函数运算,3、单轮运算结果,4、双轮运算结果,IP、初始置换,FP、逆初始置换,P、置换函数,EP、扩展置换,SM-Box-y和SM-Box-z、修正后的S-Box,X、原始随机数,Xy和Xz、中间产生的随机数,RoundKeyi、原始密钥Key经过密钥调度形成的轮密钥。
具体实施方式
为了便于本领域人员更好的理解本发明,下面结合附图和具体实施例对本发明做进一步详细说明,下述仅是示例性的不限定本发明的保护范围。
下面以Feistel结构的DES加密算法为例,结合附图对本发明作进一步详细说明。
一种增强抗攻击能力的密码Mask方法,所述密码Mask包括加密过程和解密过程,加密过程是对明文及其运算中产生的数据进行掩码,解密过程是对密文及其运算中产生的数据进行掩码。本实施例以DES运算为例,所述加密过程,如图3所示,首先用一个随机数X对明文进行异或,经过带掩码的DES运算,最后在结果输出时再与随机数X异或即得到明文C,具体步骤如下,如图2、4所示,以n=16进行16轮F函数运算为例:
(1)引入原始随机数X,该随机数是由RNG随机数生成模块生成的一个64位随机数,当每次加密开始时,首先把RNG产生的随机数锁存到X中,整个加密过程中保持不变;然后对明文M进行异或。
(2)进行IP初始置换,之后分成L和R两部分,并引入中间产生的随机数Xy、Xz,所述Xy、Xz是随机数X经过IP初始置换产生的。
(3)引入掩码修正过的F函数,所述F函数包括Fy函数和Fz函数,Fy函数和Fz函数交替进行以完成16轮F函数运算,每一轮F函数运算中,均由原始密钥经密钥调度形成轮密钥RoundKeyi,其中,i为正整数且1≤i≤16;F函数运算包括EP扩展置换、与轮密钥RoundKeyi异或、SM-Box代换和P置换函数变换;所述16轮F函数运算中,奇数轮为Fy函数运算,偶数轮为Fz运算。第1轮进行Fy函数运算,其依次包括EP扩展置换、与轮密钥RoundKey1异或、SM-Box-y代换和P置换函数变换;第2轮进行Fz运算,其依次包括EP扩展置换、与轮密钥RoundKey2异或、SM-Box-z代换和P置换函数变换;第3轮进行Fy函数运算,其依次包括EP扩展置换、与轮密钥RoundKey3异或、SM-Box-y代换和P置换函数变换;第4轮进行Fz运算,其依次包括EP扩展置换、与轮密钥RoundKey4异或、SM-Box-z代换和P置换函数变换;以此类推,奇数轮Fy函数运算和偶数轮Fz函数运算交替进行、轮密钥依次使用,直至完成第16轮Fz函数运算;所述相邻轮中所用的随机数不同,循环交替使用随机数Xy和Xz。
(4)Xy和Xz先进行异或,然后L和R两部分左右交换后再合并,之后进行FP逆初始置换。
(5)引入原始随机数X,进行异或,得到密文C。
上述步骤(3)中,SM-Box是修正后的S-Box,因为S-Box是非线性的,为了适应Mask算法需要修正,本实施例中,S-Box修正采用固定查表法,即固化几个不同的SM-Box查找表,根据不同的随机数选择不同的查找表,该方法实现起来简单。
所述解密过程与加密过程对称,解密过程与加密过程的区别在于:1、轮密钥次序相反,即加密时轮密钥依次使用RoundKey1、RoundKey2…RoundKey15、RoundKey16,解密时轮密钥依次使用RoundKey16、RoundKey15…RoundKey2、RoundKey1,这与标准解密方法完全一致;2、F函数交替使用顺序相反,即加密时依次交替使用Fy函数、Fz函数,而解密时依次交替使用Fz函数、Fy函数。所述加密过程和解密过程中,使用的不同掩码,均来自同1个随机源X,各经过不同算法处理。
本发明在加密和解密过程全程中,只使用掩码修正过的两种F函数,就可以达到相邻轮运算结果中所带掩码不同的效果,由于两种F函数对应两种SM-Box,即本发明只需要实现两种SM-Box,与其它具有抗CPA攻击的方案相比,在大幅度增强抗差分功耗攻击、相关功耗攻击能力的基础上,还能节约大量的硬件资源,降低了成本。另外,本发明加密和解密流程完全相同,与其它具有抗CPA攻击的方案相比,逻辑控制简单。
以上仅描述了本发明的基本原理和优选实施方式,本领域人员可以根据上述描述作出许多变化和改进,这些变化和改进应该属于本发明的保护范围。
Claims (3)
1.一种增强抗攻击能力的密码Mask方法,所述密码Mask包括加密过程和解密过程,加密过程是对明文及其运算中产生的数据进行掩码,解密过程是对密文及其运算中产生的数据进行掩码,其特征在于,所述加密过程包括如下步骤:
(1)引入原始随机数X,对明文M进行异或;
(2)进行IP初始置换,之后分成L和R两部分,并引入中间产生的随机数Xy、Xz;
(3)引入掩码修正过的F函数,所述F函数包括Fy函数和Fz函数,Fy函数和Fz函数交替进行以完成所需的n轮F函数运算,其中,n为密码算法中总的轮运算圈数;每一轮F函数运算中,均由原始密钥经密钥调度形成轮密钥RoundKeyi,其中,i和n均为正整数且1≤i≤n;所述n轮F函数运算中,奇数轮为Fy函数运算,偶数轮为Fz运算;
F函数运算包括EP扩展置换、与轮密钥RoundKeyi异或、SM-Box代换和P置换函数变换;其中,奇数轮中Fy函数运算包括EP扩展置换、与轮密钥RoundKeyi异或、SM-Box-y代换和P置换函数变换,偶数轮中Fz函数运算包括EP扩展置换、与轮密钥RoundKeyi异或、SM-Box-z代换和P置换函数变换;
(4)L和R两部分合并,之后进行FP逆初始置换;
(5)引入原始随机数X,进行异或,得到密文C;
所述解密过程与加密过程对称;所述加密过程和解密过程中,使用的不同掩码,来自同1个随机源X,各经过不同算法处理。
2.根据权利要求1所述的增强抗攻击能力的密码Mask方法,其特征在于,所述n轮F函数运算中每前后相邻的两轮中所用的随机数不同,循环交替使用随机数Xy和Xz。
3.根据权利要求1所述的增强抗攻击能力的密码Mask方法,其特征在于,所述n=16。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510042629.7A CN104618094B (zh) | 2015-01-28 | 2015-01-28 | 一种增强抗攻击能力的密码Mask方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510042629.7A CN104618094B (zh) | 2015-01-28 | 2015-01-28 | 一种增强抗攻击能力的密码Mask方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104618094A CN104618094A (zh) | 2015-05-13 |
CN104618094B true CN104618094B (zh) | 2015-12-30 |
Family
ID=53152389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510042629.7A Active CN104618094B (zh) | 2015-01-28 | 2015-01-28 | 一种增强抗攻击能力的密码Mask方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618094B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897398A (zh) * | 2016-06-03 | 2016-08-24 | 深圳视融达科技有限公司 | 一种des加密过程的密钥保护方法及系统 |
CN107547195A (zh) * | 2016-06-28 | 2018-01-05 | 埃沙尔公司 | 免受侧信道分析的保护方法和设备 |
CN106357389A (zh) * | 2016-10-15 | 2017-01-25 | 北海益生源农贸有限责任公司 | 一种des加密算法的实现方法 |
CN107466453B (zh) * | 2017-03-16 | 2020-11-24 | 深圳大趋智能科技有限公司 | Des软件防dpa攻击的方法及装置 |
CN108123791B (zh) * | 2017-12-26 | 2019-03-08 | 衡阳师范学院 | 一种轻量级分组密码scs的实现方法与装置 |
CN111723388A (zh) * | 2020-06-23 | 2020-09-29 | 湖南国科微电子股份有限公司 | 一种密码运算防护方法、装置、设备及介质 |
CN112543094B (zh) * | 2020-12-07 | 2022-09-27 | 山东华翼微电子技术股份有限公司 | 一种基于多随机数的des掩码抗侧信道攻击实现方法 |
CN112883395A (zh) * | 2021-02-25 | 2021-06-01 | 山东华翼微电子技术股份有限公司 | 一种增强抗攻击能力的高性能gfn掩码方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647638A (zh) * | 2013-12-03 | 2014-03-19 | 北京中电华大电子设计有限责任公司 | 一种抵抗侧信道攻击的des掩码方法 |
-
2015
- 2015-01-28 CN CN201510042629.7A patent/CN104618094B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103647638A (zh) * | 2013-12-03 | 2014-03-19 | 北京中电华大电子设计有限责任公司 | 一种抵抗侧信道攻击的des掩码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104618094A (zh) | 2015-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618094B (zh) | 一种增强抗攻击能力的密码Mask方法 | |
Kumar et al. | Development of modified AES algorithm for data security | |
CN104333446B (zh) | 一种新型超轻量级qtl分组密码实现方法 | |
CN105591734A (zh) | 一种基于查表的白盒密码非线性编码保护方法 | |
CN103795527A (zh) | 防止基于功耗分析攻击aes算法的软件掩码防护方案 | |
CN102571331A (zh) | 一种用于防御能量分析攻击的密码算法实现保护方法 | |
CN104301095A (zh) | Des轮运算方法和电路 | |
KR101095386B1 (ko) | 이산화된 카오스 함수를 이용한 암호 시스템 | |
CN103607276A (zh) | 新型基于随机函数的抗已知明文密文对攻击的分组加密方法 | |
CN105656622A (zh) | 一种基于查表和扰动置乱相结合的白盒密码非线性编码保护方法 | |
Jain et al. | Implementation of hybrid cryptography algorithm | |
CN107070633B (zh) | 一种抗高阶功耗分析的aes掩码加密方法 | |
US8958556B2 (en) | Method of secure cryptographic calculation, in particular, against attacks of the DFA and unidirectional type, and corresponding component | |
Gong et al. | The application of data encryption technology in computer network communication security | |
CN106936822B (zh) | 针对sms4抗高阶旁路分析的掩码实现方法及系统 | |
Saha et al. | White-box cryptography based data encryption-decryption scheme for iot environment | |
Patel et al. | Hybrid security algorithms for data transmission using AES-DES | |
Tang et al. | A one-time pad encryption algorithm based on one-way hash and conventional block cipher | |
CN102158338B (zh) | 一种针对Twofish加密芯片的DFA分析方法及系统 | |
Acholli et al. | VLSI implementation of hybrid cryptography algorithm using LFSR key | |
Yoo et al. | A method for secure and efficient block cipher using white-box cryptography | |
KR102327771B1 (ko) | 테이블 기반 구현에서의 차수 2 이상의 dca 공격에 대응하는 방법 | |
Rogaway et al. | The SIV mode of operation for deterministic authenticated-encryption (key wrap) and misuse-resistant nonce-based authenticated-encryption | |
Lin et al. | A new Feistel-type white-box encryption scheme | |
Kerins et al. | A cautionary note on weak implementations of block ciphers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A Password Mask Method to Enhance Anti attack Ability Effective date of registration: 20220928 Granted publication date: 20151230 Pledgee: Qilu Bank Co.,Ltd. Jinan Central Branch Pledgor: SHANDONG HUAYI MICRO-ELECTRONICS Co.,Ltd. Registration number: Y2022980016762 |