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

文档序号:8285003阅读:来源:国知局
于将所述第一密钥的第η个所述第二分组和所述第一密钥的第η个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;第三处理单元203,用于将所述预设非线性变换的结果进行线性变换后的值、所述第一密钥的第I个第二分组和预设值进行异或后的值作为第二密钥的第I个第二分组;第四处理单元204,用于将所述第一密钥的第η个第二分组对应的掩码进行所述线性变化后的值和所述第一密钥的第I个第二分组对应的掩码进行异或后的值作为所述第二密钥的第I个第二分组对应的掩码;第五处理单元205,用于将所述第二密钥的第j个第二分组和所述第一密钥的第j+Ι个第二分组进行异或后的值作为所述第二密钥的第j+Ι个第二分组的值;第六处理单元206,用于将所述第二密钥的第j个第二分组对应的掩码和所述第一密钥的第j+Ι个第二分组对应的掩码进行异或后的值作为所述第二密钥的第j+Ι个第二分组对应的掩码,I < j < η。
[0054]请参考图6,在本发明的实施例中,所述装置200还可以包括:第七处理单元207,用于将所述第二密钥的第η个所述第二分组和所述第二密钥的第η个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;第八处理单元208,用于将所述预设非线性变换的结果进行线性变换后的值、所述第二密钥的第I个第二分组和预设值进行异或后的值作为第三密钥的第I个第二分组;第九处理单元209,用于将所述第二密钥的第η个第二分组对应的掩码进行所述线性变化后的值和所述第二密钥的第I个第二分组对应的掩码进行异或后的值作为所述第三密钥的第I个第二分组对应的掩码;第十处理单元210,用于将所述第三密钥的第j个第二分组和所述第二密钥的第j+Ι个第二分组进行异或后的值作为所述第三密钥的第j+Ι个第二分组的值;第十一处理单元211,用于将所述第三密钥的第j个第二分组对应的掩码和所述第二密钥的第j+Ι个第二分组对应的掩码进行异或后的值作为所述第三密钥的第j+Ι个第二分组对应的掩码,I < j < η。
[0055]在本发明的实施例中,所述预设非线性变换可以为S盒变换。
[0056]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
[0057]虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
【主权项】
1.一种密钥扩展方法,其特征在于,包括: 将初始密钥的η个第一分组分别和η个随机数进行异或,以获得第一密钥的η个第二分组,其中,第k个所述随机数为所述第一密钥的第k个第二分组对应的掩码,l^k^n;将所述第一密钥的第η个所述第二分组和所述第一密钥的第η个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换; 将所述预设非线性变换的结果进行预设线性变换后的值、所述第一密钥的第I个第二分组和预设值进行异或后的值作为第二密钥的第I个第二分组; 将所述第一密钥的第η个第二分组对应的掩码进行所述预设线性变化后的值和所述第一密钥的第I个第二分组对应的掩码进行异或后的值作为所述第二密钥的第I个第二分组对应的掩码; 将所述第二密钥的第j个第二分组和所述第一密钥的第j+Ι个第二分组进行异或后的值作为所述第二密钥的第j+Ι个第二分组的值; 将所述第二密钥的第j个第二分组对应的掩码和所述第一密钥的第j+Ι个第二分组对应的掩码进行异或后的值作为所述第二密钥的第j+Ι个第二分组对应的掩码,I < j < η。
2.如权利要求1所述的方法,其特征在于,还包括: 将所述第二密钥的第η个所述第二分组和所述第二密钥的第η个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换; 将所述预设非线性变换的结果进行预设线性变换后的值、所述第二密钥的第I个第二分组和预设值进行异或后的值作为第三密钥的第I个第二分组; 将所述第二密钥的第η个第二分组对应的掩码进行所述预设线性变化后的值和所述第二密钥的第I个第二分组对应的掩码进行异或后的值作为所述第三密钥的第I个第二分组对应的掩码; 将所述第三密钥的第j个第二分组和所述第二密钥的第j+Ι个第二分组进行异或后的值作为所述第三密钥的第j+Ι个第二分组的值; 将所述第三密钥的第j个第二分组对应的掩码和所述第二密钥的第j+Ι个第二分组对应的掩码进行异或后的值作为所述第三密钥的第j+Ι个第二分组对应的掩码,I < j < η。
3.如权利要求1所述的方法,其特征在于,所述预设值根据密钥扩展轮数和加密解密状态设置。
4.如权利要求1所述的方法,其特征在于,所述预设非线性变换为S盒变换。
5.一种密钥扩展装置,其特征在于,包括: 第一处理单元,用于将初始密钥的η个第一分组分别和η个随机数进行异或,以获得第一密钥的η个第二分组,其中,第k个所述随机数为所述第一密钥的第k个第二分组对应的掩码,I < k < η ; 第二处理单元,用于将所述第一密钥的第η个所述第二分组和所述第一密钥的第η个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换; 第三处理单元,用于将所述预设非线性变换的结果进行预设线性变换后的值、所述第一密钥的第I个第二分组和预设值进行异或后的值作为第二密钥的第I个第二分组;第四处理单元,用于将所述第一密钥的第η个第二分组对应的掩码进行所述预设线性变化后的值和所述第一密钥的第I个第二分组对应的掩码进行异或后的值作为所述第二密钥的第I个第二分组对应的掩码; 第五处理单元,用于将所述第二密钥的第j个第二分组和所述第一密钥的第j+ι个第二分组进行异或后的值作为所述第二密钥的第j+ι个第二分组的值; 第六处理单元,用于将所述第二密钥的第j个第二分组对应的掩码和所述第一密钥的第j+ι个第二分组对应的掩码进行异或后的值作为所述第二密钥的第j+ι个第二分组对应的掩码,I彡j < η。
6.如权利要求5所述的装置,其特征在于,还包括: 第七处理单元,用于将所述第二密钥的第η个所述第二分组和所述第二密钥的第η个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换; 第八处理单元,用于将所述预设非线性变换的结果进行预设线性变换后的值、所述第二密钥的第I个第二分组和预设值进行异或后的值作为第三密钥的第I个第二分组;第九处理单元,用于将所述第二密钥的第η个第二分组对应的掩码进行所述预设线性变化后的值和所述第二密钥的第I个第二分组对应的掩码进行异或后的值作为所述第三密钥的第I个第二分组对应的掩码; 第十处理单元,用于将所述第三密钥的第j个第二分组和所述第二密钥的第j+Ι个第二分组进行异或后的值作为所述第三密钥的第j+Ι个第二分组的值; 第十一处理单元,用于将所述第三密钥的第j个第二分组对应的掩码和所述第二密钥的第j+Ι个第二分组对应的掩码进行异或后的值作为所述第三密钥的第j+Ι个第二分组对应的掩码,I彡j < η。
7.如权利要求5所述的装置,其特征在于,所述预设非线性变换为S盒变换。
【专利摘要】本发明提供了一种密钥扩展方法和装置。其中,所述方法包括:将初始密钥的n个第一分组分别和n个随机数进行异或,以获得第一密钥的n个第二分组,其中,第k个所述随机数为所述第一密钥的第k个第二分组对应的掩码,1≤k≤n;将所述第一密钥的第n个所述第二分组和所述第一密钥的第n个第二分组对应的掩码作为预设非线性变换的输入值进行所述预设非线性变换;将所述预设非线性变换的结果进行预设线性变换后的值、所述第一密钥的第1个第二分组和预设值进行异或后的值作为第二密钥的第1个第二分组。所述方法和装置能够提高密钥的安全性。
【IPC分类】H04L9-06
【公开号】CN104601321
【申请号】CN201310534641
【发明人】刘珊珊, 郑业扬, 魏长征, 张志敏, 王立辉, 李清, 张纲
【申请人】上海复旦微电子集团股份有限公司
【公开日】2015年5月6日
【申请日】2013年10月31日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1