一种轮密钥的生成方法技术

技术编号:39594556 阅读:6 留言:0更新日期:2023-12-03 19:49
本申请提供了一种轮密钥的生成方法

【技术实现步骤摘要】
一种轮密钥的生成方法、装置、电子设备及存储介质


[0001]本专利技术涉及信息安全
,具体而言,涉及一种轮密钥的生成方法

装置

电子设备及存储介质


技术介绍

[0002]AES(Advanced Encryption Standard
,高级加密标准
)
作为目前安全性最高标准,已在信息安全领域得到广泛的应用


AES
加密算法中,子密钥被扩展为多个轮密钥,这些轮密钥用于加密和解密数据

由于轮密钥是根据子密钥生成的,因此攻击者破解
AES
的关键是通过获取到的除子密钥以外的所有轮密钥反向推算得到子密钥

[0003]但是,传统的
AES
加密算法中的密钥扩展部分设计简单,轮密钥间的关联性很强,如果攻击者获取某一轮的轮密钥,就可以根据密钥扩展算法来反向推出每一轮的轮密钥,因此,采用传统的
AES
加密算法的加密数据的安全性较低


技术实现思路

[0004]有鉴于此,本申请的目的在于提供一种轮密钥的生成方法

装置

电子设备及存储介质,能够生成初始密钥的轮密钥,降低了轮密钥之间的关联性,提高了加密数据的安全性

[0005]第一方面,本申请实施例提供了一种轮密钥的生成方法,该轮密钥的生成方法包括:
[0006]获取初始密钥,以及初始密钥的预设扩展轮数;
[0007]根据初始密钥,生成第一轮的轮密钥;
[0008]根据第一轮的轮密钥,生成第二轮的轮密钥;
[0009]判断轮密钥的当前数量是否小于预设扩展轮数;
[0010]若轮密钥的当前数量小于预设扩展轮数,则根据最新确定的两轮的轮密钥,生成下一轮的轮密钥

[0011]在一种可能的实施方式中,初始密钥包括四个子密钥;根据初始密钥,生成第一轮的轮密钥,包括:
[0012]根据初始密钥中的四个子密钥,生成第一轮的轮密钥中的第一个子密钥和第二个子密钥;
[0013]根据第一轮的轮密钥中的第一个子密钥和第二个子密钥,生成第一轮的轮密钥中的第三个子密钥;
[0014]根据第一轮的轮密钥中的第三个子密钥,生成第一轮的轮密钥中的第四个子密钥;
[0015]将第一轮的轮密钥中的第一个子密钥

第二个子密钥

第三个子密钥和第四个子密钥,组成第一轮的轮密钥

[0016]在一种可能的实施方式中,根据初始密钥中的四个子密钥,生成第一轮的轮密钥
中的第一个子密钥和第二个子密钥,包括:
[0017]将初始密钥中的第一个子密钥和第四个子密钥进行异或运算,得到第一轮的轮密钥中的第一个子密钥;
[0018]将初始密钥中的第二个子密钥和第三个子密钥进行异或运算后的值,与第一轮对应的轮常数进行异或运算,得到第一轮的轮密钥中的第二个子密钥

[0019]在一种可能的实施方式中,根据第一轮的轮密钥中的第一个子密钥和第二个子密钥,生成第一轮的轮密钥中的第三个子密钥,包括:
[0020]通过下述公式生成第一轮的轮密钥中的第三个子密钥;
[0021][0022]其中,为第一轮的轮密钥中的第三个子密钥,为第一轮的轮密钥中的第一个子密钥,为第一轮的轮密钥中的第二个子密钥,
Rotword
是指字循环运算

[0023]在一种可能的实施方式中,根据第一轮的轮密钥中的第三个子密钥,生成第一轮的轮密钥中的第四个子密钥,包括:
[0024]对第一轮的轮密钥中的第三个子密钥进行字节代替变换,得到第一轮的轮密钥中的第四个子密钥

[0025]在一种可能的实施方式中,根据第一轮的轮密钥,生成第二轮的轮密钥,包括:
[0026]根据第一轮的轮密钥中的四个子密钥,生成第二轮的轮密钥中的第一个子密钥和第二个子密钥;
[0027]根据第二轮的轮密钥中的第一个子密钥和第二个子密钥,生成第二轮的轮密钥中的第三个子密钥;
[0028]根据第二轮的轮密钥中的第三个子密钥,生成第二轮的轮密钥中的第四个子密钥;
[0029]将第二轮的轮密钥中的第一个子密钥

第二个子密钥

第三个子密钥和第四个子密钥,组成第二轮的轮密钥

[0030]在一种可能的实施方式中,根据最新确定的两轮的轮密钥,生成下一轮的轮密钥,包括:
[0031]通过下述公式生成下一轮的轮密钥;
[0032][0033][0034][0035][0036]其中,
i
为下一轮的轮数,
W
i1
为第
i
轮的轮密钥中的第一个子密钥,
W
i2
为第
i
轮的轮密钥中的第二个子密钥,
W
i3
为第
i
轮的轮密钥中的第三个子密钥,
W
i4
为第
i
轮的轮密钥中的第四个子密钥,为第
i
‑1轮的轮密钥中的第一个子密钥,为第
i
‑1轮的轮密钥中的第二个子密钥,为第
i
‑1轮的轮密钥中的第三个子密钥,为第
i
‑1轮的轮密钥
中的第四个子密钥,为第
i
‑2轮的轮密钥中的第一个子密钥,为第
i
‑2轮的轮密钥中的第二个子密钥,为第
i
‑2轮的轮密钥中的第三个子密钥,为第
i
‑2轮的轮密钥中的第四个子密钥,
Rcon
i
为第
i
轮对应的轮常数,
SubBytes
为字节代替变换;
Rotword
是指字循环运算;
[0037]将下一轮的轮密钥的第一个子密钥

第二个子密钥

第三个子密钥和第四个子密钥,组成下一轮的轮密钥

[0038]第二方面,本申请实施例还提供了一种轮密钥的生成装置,该轮密钥的生成装置包括:
[0039]获取模块,用于获取初始密钥,以及初始密钥的预设扩展轮数;
[0040]生成模块,还用于根据初始密钥,生成第一轮的轮密钥;
[0041]生成模块,还用于根据第一轮的轮密钥,生成第二轮的轮密钥;
[0042]判断模块,用于判断轮密钥的当前数量是否小于预设扩展轮数;
[0043]生成模块,还用于若轮密钥的当前数量小于预设扩展轮数,则根据最新确定的两轮的轮密钥,生成下一轮的轮密钥

[0044]在一种可能的实施方式中,初始密钥包括四个子密钥;生成模块,具体用于根据初始密钥本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种轮密钥的生成方法,其特征在于,所述轮密钥的生成方法包括:获取初始密钥,以及所述初始密钥的预设扩展轮数;根据所述初始密钥,生成第一轮的轮密钥;根据所述第一轮的轮密钥,生成第二轮的轮密钥;判断所述轮密钥的当前数量是否小于所述预设扩展轮数;若轮密钥的当前数量小于所述预设扩展轮数,则根据最新确定的两轮的轮密钥,生成下一轮的轮密钥
。2.
根据权利要求1所述的轮密钥的生成方法,其特征在于,所述初始密钥包括四个子密钥;所述根据所述初始密钥,生成第一轮的轮密钥,包括:根据所述初始密钥中的四个子密钥,生成第一轮的轮密钥中的第一个子密钥和第二个子密钥;根据所述第一轮的轮密钥中的第一个子密钥和第二个子密钥,生成所述第一轮的轮密钥中的第三个子密钥;根据所述第一轮的轮密钥中的第三个子密钥,生成第一轮的轮密钥中的第四个子密钥;将所述第一轮的轮密钥中的第一个子密钥

第二个子密钥

第三个子密钥和第四个子密钥,组成第一轮的轮密钥
。3.
根据权利要求2所述的轮密钥的生成方法,其特征在于,所述根据所述初始密钥中的四个子密钥,生成第一轮的轮密钥中的第一个子密钥和第二个子密钥,包括:将所述初始密钥中的第一个子密钥和第四个子密钥进行异或运算,得到第一轮的轮密钥中的第一个子密钥;将所述初始密钥中的第二个子密钥和第三个子密钥进行异或运算后的值,与第一轮对应的轮常数进行异或运算,得到第一轮的轮密钥中的第二个子密钥
。4.
根据权利要求2所述的轮密钥的生成方法,其特征在于,所述根据所述第一轮的轮密钥中的第一个子密钥和第二个子密钥,生成所述第一轮的轮密钥中的第三个子密钥,包括:通过下述公式生成第一轮的轮密钥中的第三个子密钥;其中,为第一轮的轮密钥中的第三个子密钥,为第一轮的轮密钥中的第一个子密钥,为第一轮的轮密钥中的第二个子密钥,
Rotword
是指字循环运算
。5.
根据权利要求2所述的轮密钥的生成方法,其特征在于,所述根据所述第一轮的轮密钥中的第三个子密钥,生成第一轮的轮密钥中的第四个子密钥,包括:对第一轮的轮密钥中的第三个子密钥进行字节代替变换,得到第一轮的轮密钥中的第四个子密钥
。6.
根据权利要求2所述的轮密钥的生成方法,其特征在于,所述根据所述第一轮的轮密钥,生成第二轮的轮密钥,包括:根据所述第一轮的轮密钥中的四个子密钥,生成第二轮的轮密钥中的第一个子密钥和第二个子密钥;根据所述第二轮的轮密钥中的第一个子密钥和第二个子密钥,生成所述第二轮的轮密
钥中的第三个子密钥;根据所述第二轮的轮密钥中的第三个子密钥,生成第二轮的轮密钥中的第四个子密钥;将所述第二轮的轮密钥中的第一个子密钥

第二个子密钥

第三个子密钥和第四个子密钥,组成第二轮的轮密钥
。7.
根据权利要求1至6任一项...

【专利技术属性】
技术研发人员:李向荣陈健华宋威杨大伟吴张倩
申请(专利权)人:无锡车联天下信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1