密钥扩展方法和装置的制造方法

文档序号:8285003阅读:352来源:国知局
密钥扩展方法和装置的制造方法
【技术领域】
[0001]本发明涉及数据加密的技术领域,特别涉及一种密钥扩展方法和装置。
【背景技术】
[0002]在现有技术中,模板攻击根据泄漏信息的数据相关性和操作相关性进行攻击,首先为每一个可能的密钥构建一个对应的泄漏信息特征的模板,之后根据获取的一份或多份泄漏的信息寻找最匹配的模板,进而推断最可能的密钥。例如,在密钥扩展过程中,在当获知电路设计的情况下,先获得不同密钥的理论功耗曲线作为模板,然后采集实际芯片的功耗曲线,将其与所述理论功耗曲线作比较,找出相关性最高的模板,所述相关性最高的模板所对应的密钥即为破解结果。
[0003]因此,需要提出一种新的密钥扩展方法和装置,以提高密钥的安全性。

【发明内容】

[0004]本发明解决的问题是提出一种新的密钥扩展方法和装置,以提高密钥的安全性。
[0005]本发明的实施例提供了一种密钥扩展方法,所述方法包括:将初始密钥的η个第一分组分别和η个随机数进行异或,以获得第一密钥的η个第二分组,其中,第k个所述随机数为所述第一密钥的第k个第二分组对应的掩码,l^k^n ;将所述第一密钥的第η个所述第二分组和所述第一密钥的第η个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;将所述预设非线性变换的结果进行预设线性变换后的值、所述第一密钥的第I个第二分组和预设值进行异或后的值作为第二密钥的第I个第二分组;将所述第一密钥的第η个第二分组对应的掩码进行所述预设线性变化后的值和所述第一密钥的第I个第二分组对应的掩码进行异或后的值作为所述第二密钥的第I个第二分组对应的掩码;将所述第二密钥的第j个第二分组和所述第一密钥的第j+Ι个第二分组进行异或后的值作为所述第二密钥的第j+Ι个第二分组的值;将所述第二密钥的第j个第二分组对应的掩码和所述第一密钥的第j+Ι个第二分组对应的掩码进行异或后的值作为所述第二密钥的第j+Ι个第二分组对应的掩码,I < j < η。
[0006]可选地,所述方法还包括:将所述第二密钥的第η个所述第二分组和所述第二密钥的第η个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;将所述预设非线性变换的结果进行预设线性变换后的值、所述第二密钥的第I个第二分组和预设值进行异或后的值作为第三密钥的第I个第二分组;将所述第二密钥的第η个第二分组对应的掩码进行所述预设线性变化后的值和所述第二密钥的第I个第二分组对应的掩码进行异或后的值作为所述第三密钥的第I个第二分组对应的掩码;将所述第三密钥的第j个第二分组和所述第二密钥的第j+Ι个第二分组进行异或后的值作为所述第三密钥的第j+Ι个第二分组的值;将所述第三密钥的第j个第二分组对应的掩码和所述第二密钥的第j+Ι个第二分组对应的掩码进行异或后的值作为所述第三密钥的第j+Ι个第二分组对应的掩码,I彡j < η。
[0007]可选地,所述预设值根据密钥扩展轮数和加密解密状态设置。
[0008]可选地,所述预设非线性变换为S盒变换。
[0009]本发明的实施例还提供了一种密钥扩展装置,所述装置包括:第一处理单元,用于将初始密钥的η个第一分组分别和η个随机数进行异或,以获得第一密钥的η个第二分组,其中,第k个所述随机数为所述第一密钥的第k个第二分组对应的掩码,I彡k彡η ;第二处理单元,用于将所述第一密钥的第η个所述第二分组和所述第一密钥的第η个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;第三处理单元,用于将所述预设非线性变换的结果进行预设线性变换后的值、所述第一密钥的第I个第二分组和预设值进行异或后的值作为第二密钥的第I个第二分组;第四处理单元,用于将所述第一密钥的第η个第二分组对应的掩码进行所述预设线性变化后的值和所述第一密钥的第I个第二分组对应的掩码进行异或后的值作为所述第二密钥的第I个第二分组对应的掩码;第五处理单元,用于将所述第二密钥的第j个第二分组和所述第一密钥的第j+Ι个第二分组进行异或后的值作为所述第二密钥的第j+Ι个第二分组的值;第六处理单元,用于将所述第二密钥的第j个第二分组对应的掩码和所述第一密钥的第j+Ι个第二分组对应的掩码进行异或后的值作为所述第二密钥的第j+Ι个第二分组对应的掩码,I < j < η。
[0010]可选地,所述装置还包括:第七处理单元,用于将所述第二密钥的第η个所述第二分组和所述第二密钥的第η个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;第八处理单元,用于将所述预设非线性变换的结果进行预设线性变换后的值、所述第二密钥的第I个第二分组和预设值进行异或后的值作为第三密钥的第I个第二分组;第九处理单元,用于将所述第二密钥的第η个第二分组对应的掩码进行所述预设线性变化后的值和所述第二密钥的第I个第二分组对应的掩码进行异或后的值作为所述第三密钥的第I个第二分组对应的掩码;第十处理单元,用于将所述第三密钥的第j个第二分组和所述第二密钥的第j+Ι个第二分组进行异或后的值作为所述第三密钥的第j+Ι个第二分组的值;第十一处理单元,用于将所述第三密钥的第j个第二分组对应的掩码和所述第二密钥的第j+Ι个第二分组对应的掩码进行异或后的值作为所述第三密钥的第j+Ι个第二分组对应的掩码,I < j < η。
[0011]可选地,所述预设非线性变换为S盒变换
[0012]与现有技术相比,本发明的实施例具有以下优点:在上述技术方案中,将初始密钥的η个第一分组分别和η个随机数进行异或,以获得第一密钥的η个第二分组,也就是说,在密钥扩展过程中,所述η个随机数将作为掩码保护所述第一密钥的η个第二分组,从而使得所述初始密钥不暴露在外。另外,在将所述第一密钥的η个第二分组扩展为第二密钥的η个第二分组后,所述第二密钥的η个第二分组可以作为下一轮密钥扩展的基础,并且所述第二密钥的η个第二分组都有对应的掩码保护,也就是说,每一轮密钥扩展的输入值和输出值都是受到掩码保护的。这样使得攻击者即使通过模板攻击破解了所述第二密钥和第一密钥,但在不知道对应掩码的情况下,仍然无法破解所述初始密钥和所述第一密钥对应的原始密钥。
【附图说明】
[0013]图1是本发明一实施例中密钥扩展方法的流程图;
[0014]图2是本发明一实施例中密钥扩展方法的示意图;
[0015]图3是本发明另一实施例中密钥扩展方法的流程图;
[0016]图4是本发明一实施例中密钥扩展方法的示意图;
[0017]图5是本发明另一实施例中密钥扩展装置的结构示意图;
[0018]图6是本发明另一实施例中密钥扩展装置的结构示意图。
【具体实施方式】
[0019]经研究发明人发现,在现有的密钥扩展过程中,输入密钥和输出密钥都直接暴露在外,没有受到掩码保护,攻击者通过模板攻击就可以直接破解密钥。为了进一步提高密钥的安全性,在本发明的实施例提供了一种新的密钥扩展方法和装置。
[0020]为详细说明本发明的技术内容、构造特征、所实现目的及效果,下面结合附图对本发明的【具体实施方式】做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
[0021]图1是本发明一实施例中密钥扩展方法的流程图。如图1所示,所述方法包括步骤 SlOl 至 S106。
[0022]下面将结合图2对所述步骤SlOl至S106进行说明。
[0023]步骤S101,将初始密钥的n个第一分组分别和η个随机数进行异或,以获得第一密钥的η个第二分组,其中,第k个所述随机数为所述第一密钥的第k个第二分组对应的掩码,I < k < η。
[0024]例如,在图2中,将初始密钥的4个第一分组k0、kl、k2和k3分别和4个随机数m0、ml、m2和m3进行异或,以获得第一密钥的4个第二分组KO'、K1'、Κ2'和Κ3',其中m0为K(V对应的掩码,ml为ΚΓ对应的掩码,m2为C对应的掩码,m3为K3 ^对应的掩码。
[0025]步骤S102,将所述第一密钥的第η个所述第二分组和所述第一密钥的第
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1