CN104601321A - 密钥扩展方法和装置 - Google Patents

密钥扩展方法和装置 Download PDF

Info

Publication number
CN104601321A
CN104601321A CN201310534641.0A CN201310534641A CN104601321A CN 104601321 A CN104601321 A CN 104601321A CN 201310534641 A CN201310534641 A CN 201310534641A CN 104601321 A CN104601321 A CN 104601321A
Authority
CN
China
Prior art keywords
key
grouping
value
mask
jth
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.)
Granted
Application number
CN201310534641.0A
Other languages
English (en)
Other versions
CN104601321B (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.)
Shanghai Fudan Microelectronics Co Ltd
Shanghai Fudan Microelectronics Group Co Ltd
Original Assignee
Shanghai Fudan Microelectronics Group 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 Shanghai Fudan Microelectronics Group Co Ltd filed Critical Shanghai Fudan Microelectronics Group Co Ltd
Priority to CN201310534641.0A priority Critical patent/CN104601321B/zh
Publication of CN104601321A publication Critical patent/CN104601321A/zh
Application granted granted Critical
Publication of CN104601321B publication Critical patent/CN104601321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种密钥扩展方法和装置。其中,所述方法包括:将初始密钥的n个第一分组分别和n个随机数进行异或,以获得第一密钥的n个第二分组,其中,第k个所述随机数为所述第一密钥的第k个第二分组对应的掩码,1≤k≤n;将所述第一密钥的第n个所述第二分组和所述第一密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;将所述预设非线性变换的结果进行预设线性变换后的值、所述第一密钥的第1个第二分组和预设值进行异或后的值作为第二密钥的第1个第二分组。所述方法和装置能够提高密钥的安全性。

Description

密钥扩展方法和装置
技术领域
本发明涉及数据加密的技术领域,特别涉及一种密钥扩展方法和装置。
背景技术
在现有技术中,模板攻击根据泄漏信息的数据相关性和操作相关性进行攻击,首先为每一个可能的密钥构建一个对应的泄漏信息特征的模板,之后根据获取的一份或多份泄漏的信息寻找最匹配的模板,进而推断最可能的密钥。例如,在密钥扩展过程中,在当获知电路设计的情况下,先获得不同密钥的理论功耗曲线作为模板,然后采集实际芯片的功耗曲线,将其与所述理论功耗曲线作比较,找出相关性最高的模板,所述相关性最高的模板所对应的密钥即为破解结果。
因此,需要提出一种新的密钥扩展方法和装置,以提高密钥的安全性。
发明内容
本发明解决的问题是提出一种新的密钥扩展方法和装置,以提高密钥的安全性。
本发明的实施例提供了一种密钥扩展方法,所述方法包括:将初始密钥的n个第一分组分别和n个随机数进行异或,以获得第一密钥的n个第二分组,其中,第k个所述随机数为所述第一密钥的第k个第二分组对应的掩码,1≤k≤n;将所述第一密钥的第n个所述第二分组和所述第一密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;将所述预设非线性变换的结果进行预设线性变换后的值、所述第一密钥的第1个第二分组和预设值进行异或后的值作为第二密钥的第1个第二分组;将所述第一密钥的第n个第二分组对应的掩码进行所述预设线性变化后的值和所述第一密钥的第1个第二分组对应的掩码进行异或后的值作为所述第二密钥的第1个第二分组对应的掩码;将所述第二密钥的第j个第二分组和所述第一密钥的第j+1个第二分组进行异或后的值作为所述第二密钥的第j+1个第二分组的值;将所述第二密钥的第j个第二分组对应的掩码和所述第一密钥的第j+1个第二分组对应的掩码进行异或后的值作为所述第二密钥的第j+1个第二分组对应的掩码,1≤j<n。
可选地,所述方法还包括:将所述第二密钥的第n个所述第二分组和所述第二密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;将所述预设非线性变换的结果进行预设线性变换后的值、所述第二密钥的第1个第二分组和预设值进行异或后的值作为第三密钥的第1个第二分组;将所述第二密钥的第n个第二分组对应的掩码进行所述预设线性变化后的值和所述第二密钥的第1个第二分组对应的掩码进行异或后的值作为所述第三密钥的第1个第二分组对应的掩码;将所述第三密钥的第j个第二分组和所述第二密钥的第j+1个第二分组进行异或后的值作为所述第三密钥的第j+1个第二分组的值;将所述第三密钥的第j个第二分组对应的掩码和所述第二密钥的第j+1个第二分组对应的掩码进行异或后的值作为所述第三密钥的第j+1个第二分组对应的掩码,1≤j<n。
可选地,所述预设值根据密钥扩展轮数和加密解密状态设置。
可选地,所述预设非线性变换为S盒变换。
本发明的实施例还提供了一种密钥扩展装置,所述装置包括:第一处理单元,用于将初始密钥的n个第一分组分别和n个随机数进行异或,以获得第一密钥的n个第二分组,其中,第k个所述随机数为所述第一密钥的第k个第二分组对应的掩码,1≤k≤n;第二处理单元,用于将所述第一密钥的第n个所述第二分组和所述第一密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;第三处理单元,用于将所述预设非线性变换的结果进行预设线性变换后的值、所述第一密钥的第1个第二分组和预设值进行异或后的值作为第二密钥的第1个第二分组;第四处理单元,用于将所述第一密钥的第n个第二分组对应的掩码进行所述预设线性变化后的值和所述第一密钥的第1个第二分组对应的掩码进行异或后的值作为所述第二密钥的第1个第二分组对应的掩码;第五处理单元,用于将所述第二密钥的第j个第二分组和所述第一密钥的第j+1个第二分组进行异或后的值作为所述第二密钥的第j+1个第二分组的值;第六处理单元,用于将所述第二密钥的第j个第二分组对应的掩码和所述第一密钥的第j+1个第二分组对应的掩码进行异或后的值作为所述第二密钥的第j+1个第二分组对应的掩码,1≤j<n。
可选地,所述装置还包括:第七处理单元,用于将所述第二密钥的第n个所述第二分组和所述第二密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;第八处理单元,用于将所述预设非线性变换的结果进行预设线性变换后的值、所述第二密钥的第1个第二分组和预设值进行异或后的值作为第三密钥的第1个第二分组;第九处理单元,用于将所述第二密钥的第n个第二分组对应的掩码进行所述预设线性变化后的值和所述第二密钥的第1个第二分组对应的掩码进行异或后的值作为所述第三密钥的第1个第二分组对应的掩码;第十处理单元,用于将所述第三密钥的第j个第二分组和所述第二密钥的第j+1个第二分组进行异或后的值作为所述第三密钥的第j+1个第二分组的值;第十一处理单元,用于将所述第三密钥的第j个第二分组对应的掩码和所述第二密钥的第j+1个第二分组对应的掩码进行异或后的值作为所述第三密钥的第j+1个第二分组对应的掩码,1≤j<n。
可选地,所述预设非线性变换为S盒变换
与现有技术相比,本发明的实施例具有以下优点:在上述技术方案中,将初始密钥的n个第一分组分别和n个随机数进行异或,以获得第一密钥的n个第二分组,也就是说,在密钥扩展过程中,所述n个随机数将作为掩码保护所述第一密钥的n个第二分组,从而使得所述初始密钥不暴露在外。另外,在将所述第一密钥的n个第二分组扩展为第二密钥的n个第二分组后,所述第二密钥的n个第二分组可以作为下一轮密钥扩展的基础,并且所述第二密钥的n个第二分组都有对应的掩码保护,也就是说,每一轮密钥扩展的输入值和输出值都是受到掩码保护的。这样使得攻击者即使通过模板攻击破解了所述第二密钥和第一密钥,但在不知道对应掩码的情况下,仍然无法破解所述初始密钥和所述第一密钥对应的原始密钥。
附图说明
图1是本发明一实施例中密钥扩展方法的流程图;
图2是本发明一实施例中密钥扩展方法的示意图;
图3是本发明另一实施例中密钥扩展方法的流程图;
图4是本发明一实施例中密钥扩展方法的示意图;
图5是本发明另一实施例中密钥扩展装置的结构示意图;
图6是本发明另一实施例中密钥扩展装置的结构示意图。
具体实施方式
经研究发明人发现,在现有的密钥扩展过程中,输入密钥和输出密钥都直接暴露在外,没有受到掩码保护,攻击者通过模板攻击就可以直接破解密钥。为了进一步提高密钥的安全性,在本发明的实施例提供了一种新的密钥扩展方法和装置。
为详细说明本发明的技术内容、构造特征、所实现目的及效果,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
图1是本发明一实施例中密钥扩展方法的流程图。如图1所示,所述方法包括步骤S101至S106。
下面将结合图2对所述步骤S101至S106进行说明。
步骤S101,将初始密钥的n个第一分组分别和n个随机数进行异或,以获得第一密钥的n个第二分组,其中,第k个所述随机数为所述第一密钥的第k个第二分组对应的掩码,1≤k≤n。
例如,在图2中,将初始密钥的4个第一分组k0、k1、k2和k3分别和4个随机数m0、m1、m2和m3进行异或,以获得第一密钥的4个第二分组K0′、K1′、K2′和K3′,其中m0为K0′对应的掩码,m1为K1′对应的掩码,m2为K2′对应的掩码,m3为K3′对应的掩码。
步骤S102,将所述第一密钥的第n个所述第二分组和所述第一密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换。
例如,在图2中,将第一密钥的第4个第二分组K3′和所述第二分组K3′对应的掩码m3作为所述预设非线性变换的输入进行所述预设非线性变换。
在本发明的实施例中,所述非线性变换可以为S盒变换,也就是说,将所述第一密钥的第二分组K3′和所述第二分组K3′对应的掩码m3作为S盒的输入进行S盒变换。
步骤S103,将所述预设非线性变换的结果进行线性变换后的值、所述第一密钥的第1个第二分组和预设值进行异或后的值作为第二密钥的第1个第二分组。
例如,在图2中,将第一密钥的第二分组K3′和所述第二分组K3′对应的掩码m3作为所述预设非线性变换的输入进行所述预设非线性变换后的值进行所述预设线性变换。
将第一密钥的第二分组K3′和所述第二分组K3′对应的掩码m3作为所述预设非线性变换的输入,进行所述预设非线性变换,非线性变换后的结果进行所述预设线性变换后的值、第一密钥的第1个第二分组K0′、以及预设值Rcon进行异或运算后的值作为第二密钥的第1个第二分组K4′的值。
在本发明的实施例中,所述预设值Rcon可以是常数值,所述常数值可以根据密钥扩展轮数和加密解密状态等进行设置。
步骤S104,将所述第一密钥的第n个第二分组对应的掩码进行所述预设线性变化后的值和所述第一密钥的第1个第二分组对应的掩码进行异或后的值作为所述第二密钥的第1个第二分组对应的掩码。
例如,在图2中,将第一密钥的第4个第二分组K3′对应的掩码m3进行所述预设线性变换后的值、和所述第一密钥的第1个第二分组对应的掩码m0进行异或后的值作为所述第二密钥的第1个第二分组K4′对应的掩码m4的值。
步骤S105,将所述第二密钥的第j个第二分组和所述第一密钥的第j+1个第二分组进行异或后的值作为所述第二密钥的第j+1个第二分组的值。
例如,将所述第二密钥的第1个第二分组K4′和所述第一密钥的第2个第二分组K1′进行异或后的值作为所述第二密钥的第2个第二分组K5′的值;将所述第二密钥的第2个第二分组K5′和所述第一密钥的第3个第二分组K2′进行异或后的值作为所述第二密钥的第3个第二分组K6′的值;将所述第二密钥的第3个第二分组K6′和所述第一密钥的第4个第二分组K3′进行异或后的值作为所述第二密钥的第4个第二分组K7′的值。
步骤S106,将所述第二密钥的第j个第二分组对应的掩码和所述第一密钥的第j+1个第二分组对应的掩码进行异或后的值作为所述第二密钥的第j+1个第二分组对应的掩码,1≤j<n。
例如,将所述第二密钥的第1个第二分组K4′对应的掩码m4和所述第一密钥的第2个第二分组K1′对应的掩码m1进行异或后的值作为所述第二密钥的第2个第二分组K5′对应的掩码m5;将所述第二密钥的第2个第二分组K5′对应的掩码m5和所述第一密钥的第3个第二分组K2′对应的掩码m2进行异或后的值作为所述第二密钥的第3个第二分组K6′对应的掩码m6;将所述第二密钥的第3个第二分组K6′对应的掩码m6和所述第一密钥的第4个第二分组K3′对应的掩码m3进行异或后的值作为所述第二密钥的第4个第二分组K7′对应的掩码m7。
需要说明的是,通过上述步骤S101至S106将第一密钥扩展为第二密钥,在本发明的实施例中,所述密钥扩展方法还可以包括多轮密钥扩展,每一轮密钥扩展的方法和上述将第一密钥扩展为第二密钥的方法相似,且在相邻两轮密钥扩展之间,上一轮密钥扩展的输出值将作为下一轮密钥扩展的输入值。例如,还可以利用所述密钥扩展方法将所述第二密钥扩展为第三密钥,具体地,请参考图3,所述密钥扩展方法还可以包括步骤S107至S111。
下面将具体结合图4对步骤S107至S111进行详细说明。
步骤S107,将所述第二密钥的第n个所述第二分组和所述第二密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换。
例如,在图4中,将第二密钥的第4个第二分组K7′和所述第二分组K7′对应的掩码m7作为所述预设非线性变换的输入进行所述预设非线性变换。在本发明的实施例中,所述非线性变换可以为S盒变换,也就是说,将所述第二密钥的第二分组K7′和所述第二分组K7′对应的掩码m7作为S盒的输入进行S盒变换。
步骤S108,将所述预设非线性变换的结果进行线性变换后的值、所述第二密钥的第1个第二分组和预设值进行异或后的值作为第三密钥的第1个第二分组。
例如,在图4中,将第二密钥的第二分组K7′和所述第二分组K7′对应的掩码m7作为所述预设非线性变换的输入进行所述预设非线性变换后的值进行所述预设线性变换。
将第一密钥的第二分组K7′和所述第二分组K7′对应的掩码m7作为所述预设非线性变换的输入进行所述预设非线性变换后的结果进行所述预设线性变换后的值、第二密钥的第1个第二分组K4′、以及预设值Rcon进行异或运算后的值作为第三密钥的第1个第二分组K8′的值。
在本发明的实施例中,所述预设值Rcon可以是常数值,所述常数值可以根据密钥扩展轮数和加密解密状态等进行设置。
步骤S109,将所述第二密钥的第n个第二分组对应的掩码进行所述线性变化后的值和所述第二密钥的第1个第二分组对应的掩码进行异或后的值作为所述第三密钥的第1个第二分组对应的掩码。
例如,在图4中,将第二密钥的第4个第二分组K7′对应的掩码m7进行所述预设线性变换后的值、和所述第二密钥的第1个第二分组对应的掩码m4进行异或后的值作为所述第三密钥的第1个第二分组K8′对应的掩码m8的值。
步骤S110,将所述第三密钥的第j个第二分组和所述第二密钥的第j+1个第二分组进行异或后的值作为所述第三密钥的第j+1个第二分组的值。
例如,在图4中,将所述第三密钥的第1个第二分组K8′和所述第二密钥的第2个第二分组K5′进行异或后的值作为所述第三密钥的第2个第二分组K9′的值;将所述第三密钥的第2个第二分组K9′和所述第二密钥的第3个第二分组K6′进行异或后的值作为所述第三密钥的第3个第二分组K10′的值;将所述第三密钥的第3个第二分组K10′和所述第二密钥的第4个第二分组K7′进行异或后的值作为所述第三密钥的第4个第二分组K11′的值。
步骤S111,将所述第三密钥的第j个第二分组对应的掩码和所述第二密钥的第j+1个第二分组对应的掩码进行异或后的值作为所述第三密钥的第j+1个第二分组对应的掩码,1≤j<n。
例如,在图4中,将所述第三密钥的第1个第二分组K8′对应的掩码m8和所述第二密钥的第2个第二分组K5′对应的掩码码进行异或后的值作为所述第三密钥的第2个第二分组K9′的掩码m9;将所述第三密钥的第2个第二分组K9′对应的掩码m9和所述第二密钥的第3个第二分组K6′对应的掩码m6进行异或后的值作为所述第三密钥的第3个第二分组K10′对应的掩码m10;将所述第三密钥的第3个第二分组K10′对应的掩码m10和所述第二密钥的第4个第二分组K7′对应的掩码m7进行异或后的值作为所述第三密钥的第4个第二分组K11′对应的掩码m11。
需要说明的是,在本发明的上述实施例中,仅以第一分组和第二分组都为4个为例进行说明,在本发明的其他实施例中,所述第一分组和第二分组可以为可适用的任意个数。另外,在本发明的上述实施例中,仅以两轮密钥扩展为例进行说明。在本发明的其他实施例中,所述密钥扩展方法可以包括任意可适用轮数的上述密钥扩展运算。
本发明的实施例还提供了一种密钥扩展装置。请参考图5,所述密钥扩展装置200包括:第一处理单元201,用于将初始密钥的n个第一分组分别和n个随机数进行异或,以获得第一密钥的n个第二分组,其中,所述第一密钥的第k个第二分组对应的掩码为第k个所述随机数,1≤k≤n;第二处理单元202,用于将所述第一密钥的第n个所述第二分组和所述第一密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;第三处理单元203,用于将所述预设非线性变换的结果进行线性变换后的值、所述第一密钥的第1个第二分组和预设值进行异或后的值作为第二密钥的第1个第二分组;第四处理单元204,用于将所述第一密钥的第n个第二分组对应的掩码进行所述线性变化后的值和所述第一密钥的第1个第二分组对应的掩码进行异或后的值作为所述第二密钥的第1个第二分组对应的掩码;第五处理单元205,用于将所述第二密钥的第j个第二分组和所述第一密钥的第j+1个第二分组进行异或后的值作为所述第二密钥的第j+1个第二分组的值;第六处理单元206,用于将所述第二密钥的第j个第二分组对应的掩码和所述第一密钥的第j+1个第二分组对应的掩码进行异或后的值作为所述第二密钥的第j+1个第二分组对应的掩码,1≤j<n。
请参考图6,在本发明的实施例中,所述装置200还可以包括:第七处理单元207,用于将所述第二密钥的第n个所述第二分组和所述第二密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;第八处理单元208,用于将所述预设非线性变换的结果进行线性变换后的值、所述第二密钥的第1个第二分组和预设值进行异或后的值作为第三密钥的第1个第二分组;第九处理单元209,用于将所述第二密钥的第n个第二分组对应的掩码进行所述线性变化后的值和所述第二密钥的第1个第二分组对应的掩码进行异或后的值作为所述第三密钥的第1个第二分组对应的掩码;第十处理单元210,用于将所述第三密钥的第j个第二分组和所述第二密钥的第j+1个第二分组进行异或后的值作为所述第三密钥的第j+1个第二分组的值;第十一处理单元211,用于将所述第三密钥的第j个第二分组对应的掩码和所述第二密钥的第j+1个第二分组对应的掩码进行异或后的值作为所述第三密钥的第j+1个第二分组对应的掩码,1≤j<n。
在本发明的实施例中,所述预设非线性变换可以为S盒变换。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (7)

1.一种密钥扩展方法,其特征在于,包括:
将初始密钥的n个第一分组分别和n个随机数进行异或,以获得第一密钥的n个第二分组,其中,第k个所述随机数为所述第一密钥的第k个第二分组对应的掩码,1≤k≤n;
将所述第一密钥的第n个所述第二分组和所述第一密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;
将所述预设非线性变换的结果进行预设线性变换后的值、所述第一密钥的第1个第二分组和预设值进行异或后的值作为第二密钥的第1个第二分组;
将所述第一密钥的第n个第二分组对应的掩码进行所述预设线性变化后的值和所述第一密钥的第1个第二分组对应的掩码进行异或后的值作为所述第二密钥的第1个第二分组对应的掩码;
将所述第二密钥的第j个第二分组和所述第一密钥的第j+1个第二分组进行异或后的值作为所述第二密钥的第j+1个第二分组的值;
将所述第二密钥的第j个第二分组对应的掩码和所述第一密钥的第j+1个第二分组对应的掩码进行异或后的值作为所述第二密钥的第j+1个第二分组对应的掩码,1≤j<n。
2.如权利要求1所述的方法,其特征在于,还包括:
将所述第二密钥的第n个所述第二分组和所述第二密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;
将所述预设非线性变换的结果进行预设线性变换后的值、所述第二密钥的第1个第二分组和预设值进行异或后的值作为第三密钥的第1个第二分组;
将所述第二密钥的第n个第二分组对应的掩码进行所述预设线性变化后的值和所述第二密钥的第1个第二分组对应的掩码进行异或后的值作为所述第三密钥的第1个第二分组对应的掩码;
将所述第三密钥的第j个第二分组和所述第二密钥的第j+1个第二分组进行异或后的值作为所述第三密钥的第j+1个第二分组的值;
将所述第三密钥的第j个第二分组对应的掩码和所述第二密钥的第j+1个第二分组对应的掩码进行异或后的值作为所述第三密钥的第j+1个第二分组对应的掩码,1≤j<n。
3.如权利要求1所述的方法,其特征在于,所述预设值根据密钥扩展轮数和加密解密状态设置。
4.如权利要求1所述的方法,其特征在于,所述预设非线性变换为S盒变换。
5.一种密钥扩展装置,其特征在于,包括:
第一处理单元,用于将初始密钥的n个第一分组分别和n个随机数进行异或,以获得第一密钥的n个第二分组,其中,第k个所述随机数为所述第一密钥的第k个第二分组对应的掩码,1≤k≤n;
第二处理单元,用于将所述第一密钥的第n个所述第二分组和所述第一密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;
第三处理单元,用于将所述预设非线性变换的结果进行预设线性变换后的值、所述第一密钥的第1个第二分组和预设值进行异或后的值作为第二密钥的第1个第二分组;
第四处理单元,用于将所述第一密钥的第n个第二分组对应的掩码进行所述预设线性变化后的值和所述第一密钥的第1个第二分组对应的掩码进行异或后的值作为所述第二密钥的第1个第二分组对应的掩码;
第五处理单元,用于将所述第二密钥的第j个第二分组和所述第一密钥的第j+1个第二分组进行异或后的值作为所述第二密钥的第j+1个第二分组的值;
第六处理单元,用于将所述第二密钥的第j个第二分组对应的掩码和所述第一密钥的第j+1个第二分组对应的掩码进行异或后的值作为所述第二密钥的第j+1个第二分组对应的掩码,1≤j<n。
6.如权利要求5所述的装置,其特征在于,还包括:
第七处理单元,用于将所述第二密钥的第n个所述第二分组和所述第二密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;
第八处理单元,用于将所述预设非线性变换的结果进行预设线性变换后的值、所述第二密钥的第1个第二分组和预设值进行异或后的值作为第三密钥的第1个第二分组;
第九处理单元,用于将所述第二密钥的第n个第二分组对应的掩码进行所述预设线性变化后的值和所述第二密钥的第1个第二分组对应的掩码进行异或后的值作为所述第三密钥的第1个第二分组对应的掩码;
第十处理单元,用于将所述第三密钥的第j个第二分组和所述第二密钥的第j+1个第二分组进行异或后的值作为所述第三密钥的第j+1个第二分组的值;
第十一处理单元,用于将所述第三密钥的第j个第二分组对应的掩码和所述第二密钥的第j+1个第二分组对应的掩码进行异或后的值作为所述第三密钥的第j+1个第二分组对应的掩码,1≤j<n。
7.如权利要求5所述的装置,其特征在于,所述预设非线性变换为S盒变换。
CN201310534641.0A 2013-10-31 2013-10-31 密钥扩展方法和装置 Active CN104601321B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310534641.0A CN104601321B (zh) 2013-10-31 2013-10-31 密钥扩展方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310534641.0A CN104601321B (zh) 2013-10-31 2013-10-31 密钥扩展方法和装置

Publications (2)

Publication Number Publication Date
CN104601321A true CN104601321A (zh) 2015-05-06
CN104601321B CN104601321B (zh) 2017-09-29

Family

ID=53126852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310534641.0A Active CN104601321B (zh) 2013-10-31 2013-10-31 密钥扩展方法和装置

Country Status (1)

Country Link
CN (1) CN104601321B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383691A (zh) * 2016-09-18 2017-02-08 北京智芯微电子科技有限公司 一种随机数产生方法及随机数产生器
CN107872317A (zh) * 2016-09-28 2018-04-03 北京同方微电子有限公司 一种用于aes密钥扩展的随机掩码方法及其装置
CN109412791A (zh) * 2018-11-29 2019-03-01 北京三快在线科技有限公司 密钥信息处理方法、装置、电子设备及计算机可读介质
CN112910630A (zh) * 2021-02-02 2021-06-04 浙江大华技术股份有限公司 扩展密钥的置换方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090003598A1 (en) * 2006-11-16 2009-01-01 Fujitsu Limited Encrypting apparatus for common key cipher
CN101938739A (zh) * 2010-09-06 2011-01-05 苏州国芯科技有限公司 一种应用于无线局域网的加密方法
CN102546157A (zh) * 2011-12-14 2012-07-04 北京航空航天大学 一种抵抗能量分析的随机混合加密系统及其实现方法
CN103269480A (zh) * 2010-09-06 2013-08-28 苏州国芯科技有限公司 无线局域网用高速加解密方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090003598A1 (en) * 2006-11-16 2009-01-01 Fujitsu Limited Encrypting apparatus for common key cipher
CN101938739A (zh) * 2010-09-06 2011-01-05 苏州国芯科技有限公司 一种应用于无线局域网的加密方法
CN103269480A (zh) * 2010-09-06 2013-08-28 苏州国芯科技有限公司 无线局域网用高速加解密方法
CN102546157A (zh) * 2011-12-14 2012-07-04 北京航空航天大学 一种抵抗能量分析的随机混合加密系统及其实现方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383691A (zh) * 2016-09-18 2017-02-08 北京智芯微电子科技有限公司 一种随机数产生方法及随机数产生器
CN107872317A (zh) * 2016-09-28 2018-04-03 北京同方微电子有限公司 一种用于aes密钥扩展的随机掩码方法及其装置
CN109412791A (zh) * 2018-11-29 2019-03-01 北京三快在线科技有限公司 密钥信息处理方法、装置、电子设备及计算机可读介质
CN112910630A (zh) * 2021-02-02 2021-06-04 浙江大华技术股份有限公司 扩展密钥的置换方法及装置
CN112910630B (zh) * 2021-02-02 2022-12-06 浙江大华技术股份有限公司 扩展密钥的置换方法及装置

Also Published As

Publication number Publication date
CN104601321B (zh) 2017-09-29

Similar Documents

Publication Publication Date Title
CN1989726B (zh) 用于执行加密计算的方法和装置
CN103716157B (zh) 分组多密钥加密方法及装置
CN104333446B (zh) 一种新型超轻量级qtl分组密码实现方法
CN103051442B (zh) 采用Feistel-PG结构的密码装置及加密方法
CN104333447B (zh) 一种可抵御能量分析攻击的sm4方法
CN102012993A (zh) 一种数据选择加密解密方法及装置
CN103795527A (zh) 防止基于功耗分析攻击aes算法的软件掩码防护方案
CN104601321A (zh) 密钥扩展方法和装置
CN104184579A (zh) 基于双伪随机变换的轻量级分组密码vh算法
ATE472133T1 (de) Entschlüsselungsverfahren
CN101034978A (zh) 用于密码过程的表分裂
CN101951314A (zh) 对称密码加密中s-盒的设计方法
CN104639312A (zh) 一种des算法抗能量攻击的方法及装置
CN101344960A (zh) 混沌数字图像加密方法
CN105049204A (zh) 基于ctr模式和分组密码vh的轻量级流密码技术vhc
CN101902332A (zh) 基于耦合混沌映射系统的带密钥的散列方法
WO2015023368A3 (en) Apparatus and method for key update for use in a block cipher algorithm
CN104618092A (zh) 一种信息加密方法及系统
CN104320420A (zh) 一种基于aes算法的scada文件加密方法
CN106921486A (zh) 数据加密的方法和装置
CN105162580A (zh) 基于ofb模式和分组密码vh的轻量级流密码技术vho
CN104601319A (zh) 一种数据加密方法和装置
CN107835070A (zh) 一种简单的嵌入式加密方法
CN107493164A (zh) 一种基于混沌系统的des加密方法和系统
CN107769911A (zh) 一种基于Sponge结构的轻量级哈希函数构造方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant