一种des加密过程的密钥保护方法及系统的制作方法

文档序号:10538499阅读:247来源:国知局
一种des加密过程的密钥保护方法及系统的制作方法
【专利摘要】本发明涉及一种DES加密过程的密钥保护方法,包括以下步骤:A、在密钥传递过程中采用随机数对明文密钥进行异或运算缩短在内存中出现的时间;B、利用随机的因素对算法的中间操作进行数据隐藏;C、在对数据进行加密运算时对运算中间结果进行扰乱保存;D、在真实密钥的加密过程中增加多个干扰随机密钥加密过程;E、使用M或者~M运算随机使用0x00或者0xFF和加密密钥以及被加密数据异或完成加密过程。在真实的加密过程中,又对密钥采用随机数来隐藏中间状态,即利用加密过程中线性运算结果的异或可以恢复性,来保证整个加密过程中,不会有密钥的明文和有规律的中间值出现,大大增加了通过分析功耗、峰值的方式来分析出密钥明文的难度。
【专利说明】
一种DES加密过程的密钥保护方法及系统
技术领域
[0001]本发明属于加密技术改进领域,尤其涉及一种DES加密过程的密钥保护方法及系统。
【背景技术】
[0002]对DES加密过程进行DPA(差分功耗分析)攻击是获取加密密钥明文的有效途径。DPA是SCA(旁路攻击)技术的一种,DPA攻击的思想为:以电路的功耗特性为基础,利用功耗与内部密钥的关系,将大量采样到的包含该内部密钥运算的功耗波形数据根据所猜测的密钥进行划分,使得所划分的两部分具有不同的功耗特性。最后,对两部分的功耗数据相减得到功耗差分曲线,如果猜测正确,差分曲线将出现明显的尖锋。
[0003]DPA攻击能够成功的前提是所有功耗波形相对于某一加密运算过程必须精确对齐,如果往功耗波形中加入随机延时,或功耗数据采集时有偏差,由于各条功耗曲线相同操作时间点不对齐,加密处理不同数据(O和I)的功耗差异不能在大量采集样本中得到累积,DPA攻击将会失败。为此,未达到保护用于加密的密钥明文不会泄露,从而进一步加强使用
[0004]DES算法处理数据的安全性。

【发明内容】

[0005]本发明的目的在于提供一种DES加密过程的密钥保护方法及系统,旨在解决上述的技术问题。
[0006]本发明是这样实现的,一种DES加密过程的密钥保护方法,所述密钥保护方法包括以下步骤:
[0007]A、在密钥传递过程中采用随机数对明文密钥进行异或运算缩短在内存中出现的时间;
[0008]B、利用随机的因素对算法的中间操作进行数据隐藏;
[0009]C、在对数据进行加密运算时对运算中间结果进行扰乱保存;
[0010]D、在真实密钥的加密过程中增加多个干扰随机密钥加密过程;
[0011]E、使用M或者?M运算随机使用0x00或者OxFF和加密密钥以及被加密数据异或完成加密过程。
[0012]本发明的进一步技术方案是:所述步骤B中的数据隐藏主要是对DES/3DES计算过程中的明文密钥进行隐藏。
[0013]本发明的进一步技术方案是:在所述步骤B、C中的功耗是随机无规律的。
[0014]本发明的进一步技术方案是:在所述步骤D中增加干扰加密的数量在32-128之间的其中一个为干扰加密次数。
[0015]本发明的进一步技术方案是:所述步骤E中在对密钥的加密数据异或采用隐藏密钥和数据的中间状态来避免明文密钥和数据泄密。
[0016]本发明的另一目的在于提供一种DES加密过程的密钥保护系统,该密钥保护系统包括:
[0017]明文异或运算模块,用于在密钥传递过程中采用随机数对明文密钥进行异或运算缩短在内存中出现的时间;
[0018]数据隐藏模块,用于利用随机的因素对算法的中间操作进行数据隐藏;
[0019]中间结果干扰模块,用于在对数据进行加密运算时对运算中间结果进行扰乱保存;
[0020]随机密钥加密模块,用于在真实密钥的加密过程中增加多个干扰随机密钥加密过程;
[0021]加密结果模块,用于使用M或者?M运算随机使用0x00或者OxFF和加密密钥以及被加密数据异或完成加密过程。
[0022]本发明的进一步技术方案是:所述数据隐藏模块中的数据隐藏主要是对DES/3DES计算过程中的明文密钥进行隐藏。
[0023]本发明的进一步技术方案是:在所述数据隐藏模块、中间结果干扰模块中的功耗是随机无规律的。
[0024]本发明的进一步技术方案是:在所述随机密钥加密模块中增加干扰加密的数量在32-128之间的其中一个为干扰加密次数。
[0025]本发明的进一步技术方案是:所述加密结果模块中在对密钥的加密数据异或采用隐藏密钥和数据的中间状态来避免明文密钥和数据泄密。
[0026]本发明的有益效果是:在真实的加密过程中,又对密钥采用随机数来隐藏中间状态,即利用加密过程中线性运算结果的异或可以恢复性,来保证整个加密过程中,不会有密钥的明文和有规律的中间值出现,大大增加了通过分析功耗、峰值的方式来分析出密钥明文的难度。
【附图说明】
[0027]图1是本发明实施例提供的DES加密过程的密钥保护方法的流程图。
[0028]图2是本发明实施例提供的DES加密过程的密钥保护系统的结构框图。
[0029]图3是本发明实施例提供的DES/3DES算法整体流程图。
【具体实施方式】
[0030]图1、3示出了本发明提供的DES加密过程的密钥保护方法,其详述如下:
[0031]步骤SI,在密钥传递过程中采用随机数对明文密钥进行异或运算缩短在内存中出现的时间;在密钥传递过程中先采用随机数对明文密钥进行异或运算(或其他办法进行扰乱),到要使用时再恢复,缩短密钥明文在内存里出现的时间。
[0032]步骤S2,利用随机的因素对算法的中间操作进行数据隐藏;使用“掩藏算法的中间状态”的方法,利用随机的因素对算法的中间操作步骤进行数据隐藏,主要是对DES/3DES计算过程中明文密钥进行隐藏,保证在计算的各个阶段都不出现密钥明文,进而使得密钥在计算过程中产生的功耗是随机的。
[0033]步骤S3,在对数据进行加密运算时对运算中间结果进行扰乱保存;对数据进行加密运算时,对运算中间结果也进行扰乱保存,避免内存的数据出现规律,有效地使得功耗也是无规律的。
[0034]步骤S4,在真实密钥的加密过程中增加多个干扰随机密钥加密过程;在真实密钥数据的加密过程中增加多个干扰的随机密钥加密过程,且加密顺序也是随机的,即真实的加密位置是随机不固定的,从而使加密过程中产生的功耗分布是没有规律的。另外具体增加干扰加密的数量经实验证明至少要是32,具体可以根据加密速度以及平台内存空间的不同要求,在32?128之间选择一个值作为干扰的加密次数。
[0035]步骤S5,使用M或者?M运算随机使用0x00或者OxFF和加密密钥以及被加密数据异或完成加密过程。使用M或者?M运算,随机使用0x00或者OxFF和加密密钥以及被加密数据异或,来隐藏密钥和数据的中间状态,避免明文密钥和数据泄露,然后再对加密结果使用同样的M或者?M运算异或回来得到原始正确的加密结果。使用的随机数是通过用嵌入式安全芯片自带的真随机数发生器来作为种子,然后采用Marsaglia XORShiftPlus随机数算法,可以快速产生高质量的伪随机数。
[0036]其中:
[0037]Key:原始明文密钥;
[0038]Data:原始被加密数据;
[0039]Rndx:随机数,和密钥长度一样;
[0040]TempKeyx:和随机数异或后的结果,临时密钥;
[0041 ] Coml: 0x00 或者 OxFF;
[0042]MAX:真实加密和干扰加密次数的总和,根据速度要求以及平台空间情况可以选择32?128中的任何一个,值越大,干扰能力越强。
[0043]该方法主要通过增加多次随机伪加密来干扰实际的加密过程,同时真实的加密过程又是随机的,导致无法从整个加密过程的功耗波形上找出规律;另外在真实的加密过程中,又对密钥采用随机数来隐藏中间状态,即利用加密过程中线性运算结果的异或可以恢复性,来保证整个加密过程中,不会有密钥的明文和有规律的中间值出现,大大增加了通过分析功耗、峰值的方式来分析出密钥明文的难度。
[0044]如图2所示,本发明的另一目的在于提供一种DES加密过程的密钥保护系统,该密钥保护系统包括:
[0045]明文异或运算模块,用于在密钥传递过程中采用随机数对明文密钥进行异或运算缩短在内存中出现的时间;
[0046]数据隐藏模块,用于利用随机的因素对算法的中间操作进行数据隐藏;
[0047]中间结果干扰模块,用于在对数据进行加密运算时对运算中间结果进行扰乱保存;
[0048]随机密钥加密模块,用于在真实密钥的加密过程中增加多个干扰随机密钥加密过程;
[0049]加密结果模块,用于使用M或者?M运算随机使用0x00或者OxFF和加密密钥以及被加密数据异或完成加密过程。
[0050]所述数据隐藏模块中的数据隐藏主要是对DES/3DES计算过程中的明文密钥进行隐藏。
[0051 ]在所述数据隐藏模块、中间结果干扰模块中的功耗是随机无规律的。
[0052]在所述随机密钥加密模块中增加干扰加密的数量在32-128之间的其中一个为干扰加密次数。
[0053]所述加密结果模块中在对密钥的加密数据异或采用隐藏密钥和数据的中间状态来避免明文密钥和数据泄密。
[0054]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种DES加密过程的密钥保护方法,其特征在于,所述密钥保护方法包括以下步骤: A、在密钥传递过程中采用随机数对明文密钥进行异或运算缩短在内存中出现的时间; B、利用随机的因素对算法的中间操作进行数据隐藏; C、在对数据进行加密运算时对运算中间结果进行扰乱保存; D、在真实密钥的加密过程中增加多个干扰随机密钥加密过程; E、使用M或者?M运算随机使用OxOO或者OxFF和加密密钥以及被加密数据异或完成加密过程。2.根据权利要求1所述的密钥保护方法,其特征在于,所述步骤B中的数据隐藏主要是对DES/3DES计算过程中的明文密钥进行隐藏。3.根据权利要求2所述的密钥保护方法,其特征在于,在所述步骤B、C中的功耗是随机无规律的。4.根据权利要求3所述的密钥保护方法,其特征在于,在所述步骤D中增加干扰加密的数量在32-128之间的其中一个为干扰加密次数。5.根据权利要求4所述的密钥保护方法,其特征在于,所述步骤E中在对密钥的加密数据异或采用隐藏密钥和数据的中间状态来避免明文密钥和数据泄密。6.一种DES加密过程的密钥保护系统,其特征在于,该密钥保护系统包括: 明文异或运算模块,用于在密钥传递过程中采用随机数对明文密钥进行异或运算缩短在内存中出现的时间; 数据隐藏模块,用于利用随机的因素对算法的中间操作进行数据隐藏; 中间结果干扰模块,用于在对数据进行加密运算时对运算中间结果进行扰乱保存; 随机密钥加密模块,用于在真实密钥的加密过程中增加多个干扰随机密钥加密过程; 加密结果模块,用于使用M或者?M运算随机使用0x00或者OxFF和加密密钥以及被加密数据异或完成加密过程。7.根据权利要求6所述的密钥保护系统,其特征在于,所述数据隐藏模块中的数据隐藏主要是对DES/3DES计算过程中的明文密钥进行隐藏。8.根据权利要求7所述的密钥保护系统,其特征在于,在所述数据隐藏模块、中间结果干扰模块中的功耗是随机无规律的。9.根据权利要求8所述的密钥保护系统,其特征在于,在所述随机密钥加密模块中增加干扰加密的数量在32-128之间的其中一个为干扰加密次数。10.根据权利要求9所述的密钥保护系统,其特征在于,所述加密结果模块中在对密钥的加密数据异或采用隐藏密钥和数据的中间状态来避免明文密钥和数据泄密。
【文档编号】H04L9/08GK105897398SQ201610396578
【公开日】2016年8月24日
【申请日】2016年6月3日
【发明人】张世渡, 苏胡双
【申请人】深圳视融达科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1