基于动态S盒的分组密码算法、装置、系统及存储介质制造方法及图纸

技术编号:36905398 阅读:18 留言:0更新日期:2023-03-18 09:24
本发明专利技术涉及一种基于动态S盒的分组密码算法、装置、系统及存储介质,涉及信息安全技术领域,包括:在通信前,获取密钥,根据密钥得到时空混沌序列;根据时空混沌序列生成子密钥和动态S盒;在通信时,获取明文分组;根据子密钥和动态S盒,对明文分组进行异或加密和动态S盒加密,得到密文分组。本发明专利技术的有益效果:利用动态S盒实现“一次一算法”,在进行通信前生成随机性更高的动态S盒,而后再进行明文分组及加密计算,有效降低分组密码的计算层数,提高分组密码计算的安全性和计算速率。密码计算的安全性和计算速率。密码计算的安全性和计算速率。

【技术实现步骤摘要】
基于动态S盒的分组密码算法、装置、系统及存储介质


[0001]本专利技术涉及信息安全
,具体而言,涉及基于动态S盒的分组密码算法、装置、系统及存储介质。

技术介绍

[0002]为了适应当前信息安全技术多样化、趋异化的应用需求,采用有别于传统密码算法的设计方法已经成为密码学领域一个新的研究方向。分组密码是现代密码学中研究最广泛、分析最成熟、使用最普遍的一种密码体制。
[0003]目前,常采用传统密码体制中的一次一密的算法体制进行分组密码的计算,在计算时需要先获取密钥,对需要加密的明文进行分组,而后根据明文分组生成对应的S盒,在后续的加密、解密过程中调取预先生成的S盒进行计算,进行的加、解密计算层数较多,导致计算复杂度较高,软硬件实现困难,且加、解密速度降低,缺乏实际的应用价值。

技术实现思路

[0004]本专利技术解决的问题是如何提高分组密码计算的计算速率。
[0005]为解决上述问题,本专利技术提供基于动态S盒的分组密码算法、装置、系统及存储介质。
[0006]第一方面,本专利技术提供的一种基于动态S盒的分组密码算法,包括:
[0007]在通信前,获取密钥,根据所述密钥得到时空混沌序列;
[0008]根据所述时空混沌序列生成子密钥和动态S盒;
[0009]在通信时,获取明文分组;
[0010]根据所述子密钥和所述动态S盒,对所述明文分组进行异或加密和动态S盒加密,得到密文分组。
[0011]可选地,所述根据所述时空混沌序列生成子密钥包括:
[0012]将所述时空混沌序列转化为预处理时空混沌序列;
[0013]获取所述预处理时空混沌序列中前预设数量的元素作为所述子密钥。
[0014]可选地,所述动态S盒包括大小相同的S1盒和S2盒,所述根据所述时空混沌序列生成动态S盒包括:
[0015]根据所述预处理时空混沌序列得到密钥流;
[0016]对所述S1盒和所述S2盒进行初始化;
[0017]根据所述密钥流和所述S1盒得到第一随机矩阵,根据所述密钥流和所述S2盒得到第二随机矩阵;
[0018]利用所述第一随机矩阵的值,对所述S1盒的值进行交换处理,得到随机S1盒,利用所述第二随机矩阵的值,对所述S2盒的值进行交换处理,得到随机S2盒。
[0019]可选地,所述根据所述子密钥和所述动态S盒,对所述明文分组进行异或加密和动态S盒加密,得到密文分组包括:
[0020]对所述子密钥进行分割,得到第一子密钥和第二子密钥;
[0021]利用所述第一子密钥对所述明文分组进行逐位加密,得到初始密文分组;
[0022]对所述随机S1盒和所述随机S2盒的值进行交换处理,得到分组S盒,并利用所述分组S盒对所述初始密文分组进行加密,得到中间密文分组;
[0023]利用所述第二子密钥对所述中间密文分组进行异或加密,得到所述密文分组。
[0024]可选地,所述获取密钥,根据所述密钥得到时空混沌序列,包括:
[0025]获取时空混沌系统,其中,所述时空混沌系统为单向耦合映像网络;
[0026]获取所述密钥,并将所述密钥转化为混沌初始值;
[0027]利用所述混沌初始值,迭代所述时空混沌系统初始次数,得到初始时空混沌系统,对所述初始时空混沌系统进行多次后续迭代处理,得到每次所述后续迭代处理后的状态值,作为所述时空混沌序列。
[0028]可选地,本专利技术基于动态S盒的分组密码算法还包括:
[0029]根据所述子密钥和所述动态S盒,对所述密文分组进行异或解密和动态S盒解密,得到所述明文分组。
[0030]可选地,所述根据所述子密钥和所述动态S盒,对所述密文分组进行异或解密和动态S盒解密,得到所述明文分组,包括:
[0031]利用所述第二子密钥对所述密文分组进行异或解密,得到所述中间密文分组;
[0032]对所述随机S1盒和所述随机S2盒的值进行交换处理,得到所述分组S盒,并对所述分组S盒进行求逆,利用求逆后的所述分组S盒对所述中间密文分组进行解密,得到所述初始密文分组;
[0033]利用所述第一子密钥对所述初始密文分组进行异或解密,得到所述明文分组。
[0034]第二方面,本专利技术还提供了一种基于动态S盒的分组密码计算装置,包括:
[0035]获取模块,用于获取密钥和明文分组;
[0036]组件生成模块,用于根据所述密钥得到时空混沌序列;
[0037]所述组件生成模块还用于根据所述时空混沌序列生成子密钥和动态S盒;
[0038]操作模块,用于根据所述子密钥和所述动态S盒,对所述明文分组进行异或加密和动态S盒加密,得到密文分组。
[0039]第三方面,本专利技术又提供了一种基于动态S盒的分组密码计算系统,包括处理器和存储器;
[0040]所述存储器,用于存储计算机程序;
[0041]所述处理器,用于当执行所述计算机程序时,实现如上述所述的基于动态S盒的分组密码算法。
[0042]第四方面,本专利技术又提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如上述所述的基于动态S盒的分组密码算法。
[0043]本专利技术的有益效果为:
[0044]通过密钥获取时空混沌序列,再根据时空混沌序列生成子密钥和动态S盒,时空混沌序列具有较高的随机性,可为子密钥和动态S盒提供更便利且复杂的生成基础,生成的子密钥和动态S盒随机性和安全系数更高。根据随机性更强的子密钥和动态S盒,对明文分组
进行异或加密和动态S盒加密,得到密文,使得分组密码算法安全性增加,密文更难破解。本实施例在通信前(例如通信建立链路、协商密钥和身份认证时)生成子密钥和动态S盒,而后在通信时进行明文分组、调用预先生成的子密钥和动态S盒对明文分组进行加密,使得生成组件不占用正常保密通信时间,有效减少计算层数,降低计算复杂度,提高了加密速度、分组密码计算效率,具有灵活性高、扩展性高等特点,增加了分组密码算法的实用性,使其可以广泛应用。
附图说明
[0045]图1为本专利技术实施例的基于动态S盒的分组密码算法的流程示意图;
[0046]图2为本专利技术实施例的加密过程示意图;
[0047]图3为本专利技术实施例的基于动态S盒的分组密码计算装置的结构示意图;
[0048]图4为本专利技术实施例的第一随机矩阵RM1与S1盒的交换处理示意图;
[0049]图5为本专利技术实施例的基于动态S盒的分组密码计算系统的结构示意图;
[0050]图6为本专利技术实施例解密过程中S*求逆示意图。
具体实施方式
[0051]为使本专利技术的上述目的、特征和优点能够更为明显易懂,下面结合附图对本专利技术的具体实施例做详细的说明。
[0052]在本申请实施例的描述中,术语“一些实施例”的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于动态S盒的分组密码算法,其特征在于,包括:在通信前,获取密钥,根据所述密钥得到时空混沌序列;根据所述时空混沌序列生成子密钥和动态S盒;在通信时,获取明文分组;根据所述子密钥和所述动态S盒,对所述明文分组进行异或加密和动态S盒加密,得到密文分组。2.根据权利要求1所述的基于动态S盒的分组密码算法,其特征在于,所述根据所述时空混沌序列生成子密钥包括:将所述时空混沌序列转化为预处理时空混沌序列;获取所述预处理时空混沌序列中前预设数量的元素作为所述子密钥。3.根据权利要求2所述的基于动态S盒的分组密码算法,其特征在于,所述动态S盒包括大小相同的S1盒和S2盒,所述根据所述时空混沌序列生成动态S盒包括:根据所述预处理时空混沌序列得到密钥流;对所述S1盒和所述S2盒进行初始化;根据所述密钥流和所述S1盒得到第一随机矩阵,根据所述密钥流和所述S2盒得到第二随机矩阵;利用所述第一随机矩阵的值,对所述S1盒的值进行交换处理,得到随机S1盒,利用所述第二随机矩阵的值,对所述S2盒的值进行交换处理,得到随机S2盒。4.根据权利要求3所述的基于动态S盒的分组密码算法,其特征在于,所述根据所述子密钥和所述动态S盒,对所述明文分组进行异或加密和动态S盒加密,得到密文分组包括:对所述子密钥进行分割,得到第一子密钥和第二子密钥;利用所述第一子密钥对所述明文分组进行逐位加密,得到初始密文分组;对所述随机S1盒和所述随机S2盒的值进行交换处理,得到分组S盒,并利用所述分组S盒对所述初始密文分组进行加密,得到中间密文分组;利用所述第二子密钥对所述中间密文分组进行异或加密,得到所述密文分组。5.根据权利要求1所述的基于动态S盒的分组密码算法,其特征在于,所述获取密钥,根据所述密钥得到时空混沌序列,包括:获取时空混沌系统,其中,所述时空混沌系统为单向耦合映像网络;...

【专利技术属性】
技术研发人员:赵耿马英杰
申请(专利权)人:北京电子科技学院
类型:发明
国别省市:

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

1