Des轮运算方法和电路的制作方法

文档序号:7816626阅读:292来源:国知局
Des轮运算方法和电路的制作方法
【专利摘要】本发明涉及一种DES轮运算方法,包括:在DES流程中,对只涉及位置交换或简单布尔运算的线性运算,采用异或操作来进行掩蔽和恢复数据;对非线性运算的S盒,设计出不同电路结构、运算时功耗曲线各不相同的S盒,通过随机选择数据通路上S盒的排列,从而使得DES中S盒运算的功耗随机化。本发明使攻击者在数据通路上无法观测到加解密过程的真实数据,同时由于功耗随机化,统计分析密钥也变得非常困难,能够不改变DES的电路结构、以小的代价提高DES电路抵御功耗分析攻击的能力。
【专利说明】DES轮运算方法和电路

【技术领域】
[0001] 本发明涉及通信领域,尤其涉及一种DES轮运算方法和电路。

【背景技术】
[0002] DES (Data Encryption Standard)是一种对称加密算法,1972年由美国IBM公司 研制。明文按64位进行分组,密钥长64位,密钥事实上是56位参与DES运算,分组后的 明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。它是使用最广泛的 密钥系统,特别是在保护金融数据的安全中。
[0003] DES算法在P0S机、ATM、磁卡及智能卡被广泛应用,以此来实现关键数据的保密。 但在输入信息和密钥进行处理的过程中,设备会产生能量消耗或者电磁辐,这些信息够被 用来分析获取机密信息。这种攻击方法叫做旁路攻击(SideChannel Attack),它是指攻击 者通过测量实际应用的密码系统在运行过程中泄漏的一些旁路信息,如系统的时间、功耗、 电磁辐射等,然后经过相关性分析、统计处理等分析处理,即可成功获取加密密钥等机密信 息。其中最具威胁的攻击方法是功耗分析。常用的功耗分析的方法有简单功耗分析(SPA, Simple Power Analysis)、差分功耗分析(DPA,Differential Power Analysis)、相关功耗 分析(CPA, correlation power analysis) 〇

【权利要求】
1. 一种DES轮运算方法,其特征在于,该方法包括如下步骤: a. 采用随机数X,对任一 32位的半块数据第Ri-Ι回次处理得到的数据进行掩蔽,i为 小于17的自然数; b. 对掩蔽后的数据进行扩展运算E,同时对所述随机数X也进行扩展运算E,得到 E(X); c. 将所述对掩蔽后的数据进行扩展运算E得到的数据、E(X)和轮密钥同时进行异或, 得到进入S盒阵列的值; d. 对所述进入S盒阵列的值,进行S盒运算,所述S盒阵列,由8个分别从N种不同电 路结构的S盒中随机选择的S盒构成,N为不小于3的自然数; e. 将经过所述S盒运算后输出的数据,与所述随机数X进行异或; f. 对所述S盒运算后输出的数据与所述随机数X进行异或后得到的数据,进行置换运 算P,同时对所述随机数X也进行置换运算P,得到P(X); g. 将对所述S盒运算后输出的数据与所述随机数X进行异或后得到的数据进行置换运 算P后获得的数据、P(X)和另一 32位的半块数据第Li-Ι回次处理得到的数据,同时进行 异或,得到进入第Ri回次处理的值。
2. 如权利要求1所述的方法,其特征在于,所述的步骤a包括: al.对任一 32位的半块数据第Ri-Ι回次处理得到的数据,即数据通路上的操作数A, 经过线性运算,得到结果为R,R = 〇P(A),其中0P表示加解密过程的中间操作; a2.采用所述随机数X通过异或来运算,产生新的操作数B,B = A ? X,其中?表示异 或操作; a3.用所述新的操作数B代替A进行加解密运算,得到结果为T,T = 0P⑶= OP(A ? X); a4.所述随机数X进行同样的操作,得到结果为S,S = OP(X)。
3. 如权利要求1或2所述的方法,其特征在于,所述的步骤b包括: bl.通过扩展运算E,将所述掩蔽后的数据由32位扩展为48位,并输出包括8个6位 的块,每块包含4位对应的输入位,以及2个邻接的块中紧邻的位。
4. 如权利要求1或2所述的方法,其特征在于,所述轮密钥为利用密钥调度从主密钥生 成的16个48位的子密钥之一,所述每个子密钥用于1个回次处理。
5. 如权利要求1或2所述的方法所述的方法,其特征在于,所述的不同电路结构的S 盒,包括SOP、PPRM和DSE结构的S盒。
6. 如权利要求5所述的方法,其特征在于,所述所述S盒阵列,由8个分别通过随机选 通器从N种不同电路结构的S盒中随机选择的S盒构成。
7. 如权利要求1或2所述的方法,其特征在于,所述的步骤d包括: dl.所述每一个S盒,使用以查找表方式提供的非线性变换,将所述进入S盒阵列的值 中每个块的6个输入位转换成4个输出位。
8. 如权利要求7所述的方法,其特征在于,所述的步骤d包括: d2.所述每一个S盒,将所述进入S盒阵列的值中每个块的6个输入位转换成4个输出 位后的得到的数据,通过多路选择器输出。
9. 一种DES轮运算电路,其特征在于,该轮运算电路包括掩蔽模块、扩展运算模块、第 一异或运算模块、S盒阵列、第二异或运算模块、置换运算模块、第三异或运算模块,其中: 所述掩蔽模块用于采用随机数X,对任一 32位的半块数据第Ri-Ι回次处理得到的数据 进行掩蔽; 所述扩展运算模块用于对掩蔽后的数据进行扩展运算E,同时对所述随机数X也进行 扩展运算E,得到E(X); 所述第一异或运算模块用于将所述对掩蔽后的数据进行扩展运算E得到的数据、E (X) 和轮密钥同时进行异或,得到进入S盒阵列的值; 所述S盒阵列用于对所述进入S盒阵列的值,进行S盒运算,所述S盒阵列,由8个分 别从N种不同电路结构的S盒中随机选择的S盒构成,N为不小于3的自然数; 所述第二异或运算模块用于将经过所述S盒运算后输出的数据,与所述随机数X进行 异或; 所述置换运算模块用于对所述S盒运算后输出的数据与所述随机数X进行异或后得到 的数据,进行置换运算P,同时对所述随机数X也进行置换运算P,得到P(X); 所述第三异或运算模块用于将对所述S盒运算后输出的数据与所述随机数X进行异或 后得到的数据进行置换运算P后获得的数据、P(X)和另一 32位的半块数据第Li-Ι回次处 理得到的数据,同时进行异或,得到进入第Ri回次处理的值。
10.如权利要求9所述的电路,其特征在于,所述的不同电路结构的S盒,包括SOP、 PPRM和DSE结构的S盒。
【文档编号】H04L9/06GK104301095SQ201410537830
【公开日】2015年1月21日 申请日期:2014年10月13日 优先权日:2014年10月13日
【发明者】陈毅成, 张明宇, 龚明杨 申请人:深圳中科讯联科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1