一种基于生命游戏模型的密钥生成方法、系统、电子设备与流程

文档序号:32105977发布日期:2022-11-09 04:29阅读:123来源:国知局
一种基于生命游戏模型的密钥生成方法、系统、电子设备与流程

1.本发明涉及信息安全技术领域,具体涉及一种基于生命游戏模型的密钥生成方法、系统、电子设备。


背景技术:

2.在某通信过程中,通信双方传输的数据需要进行加密传输,加密的算法通常采用对称加密[1],而分组密码是实现对称加密的主要工具,如图6所示,分组密码的工作原理如下:首先把明文消息序列依次分为长度为l的数据组序列,然后用同一密钥将各组加密为长度同为l的密文组序列,解密时使用相同的密钥对密文进行逆变换[2]。因此,数据加密密钥需要通信双方在通信之前进行协商,实现双方加密/解密数据会话密钥的一致。
[0003]
采用对称加密技术,需要大量的双方约定一致的会话密钥,为满足通信双方对信息进行加密/解密使用的会话密钥一致,在通信开始前,将相同的密钥分别加载至通信主机;在加密过程中,通信双方将按预先设置的规则使用密钥。缺点主要为:加载到各通信主机的密钥数量存在上限,有效时间短,无法长时间地保障协作双方传输数据的加密/解密。


技术实现要素:

[0004]
为了在某通信实际应用场景中,延长初始化后的密钥有效作用时间,本发明提供一种基于生命游戏模型的密钥生成方法、系统、电子设备,各通信主机利用一致的生命游戏模型及初始状态,根据同步时间,即可相互独立地生成一致的会话密钥,通过该技术可有效地解决现有密钥有效时间短的问题。
[0005]
本发明通过下述技术方案实现:
[0006]
一种基于生命游戏模型的密钥生成方法,包括:
[0007]
构建二维动态矩阵:构建一个随时间基于生命游戏模型规则变化的m
×
m的二维动态矩阵, m为一个正整数;
[0008]
脉动激活:每隔一定的迭代次数,对所述二维动态矩阵的指定区域进行脉动激活,使所述二维动态矩阵持续变化;
[0009]
生成码字:对持续变化的所述二维动态矩阵的每一行的数值异或得到m位密钥,并将得到的m位密钥同时赋予各通信主机。
[0010]
作为优化,还包括对构建完成后的二维动态矩阵添加动态部件,具体步骤为:
[0011]
每隔一定的迭代次数,在所述二维动态矩阵中增加滑行结构,所述滑行结构能够在所述二维动态矩阵的迭代过程中,在空间进行平移的同时保持结构不变。
[0012]
作为优化,所述滑行结构为a
×
b的二维矩阵,且a、b均为正整数。
[0013]
作为优化,所述滑行结构在所述二维动态矩阵中的平移方向可以根据自动机的推演得到。
[0014]
作为优化,所述指定区域可以为所述二维动态矩阵的偶数行或者较稀疏位置。
[0015]
作为优化,所述较稀疏位置表示为:所述较稀疏位置表示为:在m x m的所述二维
动态矩阵中,有n个散布的数值为1的方格,有(m x m-n)个数值为0的方格,n不大于(m x m) /2,则数值为1的方格所处的位置为较稀疏的位置。
[0016]
作为优化,对所述指定区域进行脉动激活的具体方法为,将所述指定区域的值赋值为1。
[0017]
本发明还公开了一种基于生命游戏模型的密钥生成系统,包括:
[0018]
二维动态矩阵构建模块:用于构建一个随时间基于生命游戏模型规则变化的m
×
m的二维动态矩阵,m为一个正整数;
[0019]
脉动激活模块:用于每隔一定的迭代次数,对所述二维动态矩阵的指定区域进行脉动激活,使所述二维动态矩阵持续变化;
[0020]
码字生成模块:用于对持续变化的所述二维动态矩阵的每一行的数值异或得到m位密钥,并同时赋予各通信主机。
[0021]
作为优化,还包括对构建完成后的二维动态矩阵进行添加动态部件的动态部件添加模块:用于每隔一定的迭代次数,在所述二维动态矩阵中增加滑行结构,所述滑行结构能够在所述二维动态矩阵的迭代过程中,在空间进行平移的同时保持结构不变。
[0022]
一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的一种基于生命游戏模型的密钥生成方法。
[0023]
本发明与现有技术相比,具有如下的优点和有益效果:
[0024]
本发明使用生命游戏模型构建动态矩阵,作为密钥生成的基础,使用异或、移位等运算基于生命游戏动态矩阵生成密钥,使用滑行等动态结构增加密钥变化的复杂度,使用脉动激活,即周期性矩阵赋值的方法,使生命游戏的动态矩阵持续演化,实现密钥的持久生成,通过本发明提出的密钥生成方法,可应用于通信过程中的会话密钥生成,生成的密钥数量多,同时,大幅延长加密/解密密钥的有效时间。
附图说明
[0025]
为了更清楚地说明本发明示例性实施方式的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。在附图中:
[0026]
图1为实施例1中的生命游戏模型的矩阵中一个点由0演变为1的示意图;
[0027]
图2为实施例1中的生命游戏模型的矩阵中一个点由1演变为0的示意图;
[0028]
图3为实施例2中的滑行结构的示意图;
[0029]
图4为滑行结构在二维动态矩阵中滑行前的二维动态矩阵的示意图;
[0030]
图5为图4中的滑行结构在二维动态矩阵中滑行后的二维动态矩阵的示意图;
[0031]
图6为分组密码模型的结构示意图。
具体实施方式
[0032]
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本
发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
[0033]
首先,各通信主机的初始状态一致,因此,根据同步时间,相互独立地生成一致的会话密钥,可以有效地解决现有密钥有效时间短的问题。
[0034]
实施例1
[0035]
接下来,具体介绍各通信主机如何相互独立地生成一致的会话密钥。
[0036]
一种基于生命游戏模型的密钥生成方法,包括:
[0037]
构建二维动态矩阵:构建一个随时间基于生命游戏模型规则变化的m
×
m的二维动态矩阵, m为一个正整数。
[0038]
首先构建一个随时间按照一定规则动态变化的动态矩阵,后续会根据矩阵的数值产生出密钥。动态变化的规则采用“生命游戏”的模型规则,生命游戏是一种典型的元胞自动机模型[3],它以二维网格为模型演化基础,这个网格中每个方格有0或1两种状态,方格状态取决于相邻8个方格中0和1的数量。本发明使用矩阵构建网格,对于矩阵中的一个点,通常当周围1的数量大于4时,该点演变为0,当周围1的数量小于等于4时,该点演变为1,如图1-2所示。本发明基于生命游戏模型构建的二维动态矩阵,生成某通信所需的会话密钥,生命游戏的生存规则参数可以改动,形成不同的生命游戏模型。
[0039]
随着不断的迭代处理,整个矩阵呈现出丰富的变化,演化出各种序列结构。本实施例中, m取128,即采用128
×
128的二维矩阵构建动态矩阵,通过输入初始值仅包含0和1的 128
×
128的二维初始状态矩阵,得到随迭代次数即时间变化的动态矩阵。
[0040]
脉动激活:每隔一定的迭代次数,对所述二维动态矩阵的指定区域进行脉动激活,使所述二维动态矩阵持续变化。
[0041]
由于动态二维矩阵存在一定的生命周期,根据仿真结果,128
×
128的二维动态矩阵大约在30轮迭代后矩阵不再变化。为了使动态矩阵持续变化,本专利提出了一种脉动激活的处理方法,即每隔一定的迭代次数,将矩阵中的指定区域赋值为1。本实施例中,所述指定区域可以为所述二维动态矩阵的偶数行或者较稀疏位置,具体的,所述较稀疏位置表示为:所述较稀疏位置表示为:在m x m的所述二维动态矩阵中,有n个离散分布的数值为1的方格,有(m x m-n)个数值为0的方格,n不大于(m x m)/2,则数值为1的方格所处的位置为较稀疏的位置。例如,10x10的矩阵,矩阵中90个方格的值都是0,只有10个散布的方格的值为1,则该10x10的矩阵为较稀疏矩阵,该数值为1的方格所处的位置可以认为是较稀疏位置,至于矩阵中有多少个方格的值为0被认定为较稀疏矩阵,则是根据工作人员自己定义。
[0042]
经仿真分析,脉动激活的周期可以为每10次迭代,这样可以使二维动态矩阵的变化持续进行。
[0043]
生成码字:对持续变化的所述二维动态矩阵的每一行的数值异或得到m位密钥,并将得到的m位密钥同时赋予各通信主机。
[0044]
具体的,本实施例中,根据上面构建的128
×
128的二维动态矩阵,取每一行的数值异或得到128位密钥,对二维动态矩阵的每一行的数值进行异或得到的128位密钥的这种方法具有不可逆性,即使在获取当前密钥的情况下,也很难推算出动态矩阵的数值分布以及下一密钥。由于这种密钥具有难以反向解析的特性以及生命游戏变化的复杂性,密钥生成规律的破译难度很大。
[0045]
实施例2
[0046]
为了增加动态矩阵变化的复杂度,本实施例中,还包括对构建完成后的二维动态矩阵添加动态部件,具体步骤为:
[0047]
每隔一定的迭代次数,在所述二维动态矩阵中增加滑行结构,所述滑行结构能够在所述二维动态矩阵的迭代过程中,在空间进行平移的同时保持结构不变。通过定时产生该结构,动态矩阵的变化将更加复杂。
[0048]
本发明的密钥为了增加密钥生成的复杂度,增加了滑行结构,当然,还可以增加其他类似的动态结构增加密钥生成的复杂度。
[0049]
如图3所示,为本实施例增加的滑行结构。该滑行结构为3
×
4的二维矩阵。本实施例中,所述滑行结构在所述二维动态矩阵中的平移方向可以根据自动机的推演得到。如果已知一个滑行结构的二维矩阵,那可以通过自动机进行一次推演,观测下一个滑行结构的二维矩阵往哪个方向平移,多推演几次,即可推演出该滑行结构的平移方向。
[0050]
如图4所示,图中左上角和右上角为不断向中心发射的滑行结构,该滑行结构与二维动态矩阵中的已有的方格的值为1相遇时,会扩散开产生更加复杂的矩阵变化,即滑行结构在移动过程中会遇到原本数值为1的点,在演化规则的驱使下,会在该位置附近产生更多的1,在图4-5上看就是白色的部分(数值为1)在散开。如图5所示,下方的向量即为根据二维动态矩阵生成的密钥。
[0051]
经计算,在不考虑“滑行部件”增加复杂度及密钥生成模型透明已知的情况下,对于使用128
×
128的二维动态矩阵产生的128位密钥,如果想破译动态密钥的生成规律,进而获取下一时刻密钥,则需要先破译连续的两个密钥(2
×2128
种可能),然后破译动态矩阵,共有 2
32512
种可能(对于一个密钥的动态矩阵,每行有2
(128-1)
种可能,128行共有2
((128-1)
×
128)
种可能,然后需要遍历两个动态矩阵的所有可能,找到满足生命游戏模型规则的一组动态矩阵,不考虑有多组混淆的情况下,共有2
((128-1)
×
128)
×2种可能),如果使用美国超级计算机summit 计算,根据其148600tflop/s的算力,遍历所有可能,大约需要0.7356
×232366
天,破译难度极大。因此该密钥生成技术具有较高的战略意义,可大幅提高某通信装备连续工作时间并具有很大的破译难度。
[0052]
实施例3
[0053]
本发明还公开了一种基于生命游戏模型的密钥生成系统,包括:
[0054]
二维动态矩阵构建模块:用于构建一个随时间基于生命游戏模型规则变化的m
×
m的二维动态矩阵,m为一个正整数;
[0055]
脉动激活模块:用于每隔一定的迭代次数,对所述二维动态矩阵的指定区域进行脉动激活,使所述二维动态矩阵持续变化;
[0056]
码字生成模块:用于对持续变化的所述二维动态矩阵的每一行的数值异或得到m位密钥,并同时赋予各通信主机。
[0057]
本实施例中,还包括对构建完成后的二维动态矩阵进行添加动态部件的动态部件添加模块:用于每隔一定的迭代次数,在所述二维动态矩阵中增加滑行结构,所述滑行结构能够在所述二维动态矩阵的迭代过程中,在空间进行平移的同时保持结构不变。
[0058]
一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少
一个处理器执行,以使所述至少一个处理器能够执行如上述的一种基于生命游戏模型的密钥生成方法。
[0059]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或电子设备。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0060]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0061]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0062]
本领域普通技术人员可以理解实现上述事实和方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,涉及的程序或者所述的程序可以存储于一计算机所可读取存储介质中,该程序在执行时,包括如下步骤:此时引出相应的方法步骤,所述的存储介质可以是 rom/ram、磁碟、光盘等等。
[0063]
基于以上考虑,本发明的优选实施例并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化;但凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0064]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
[0065]
参考文献(如专利/论文/标准)
[0066]
[1]姜欢.现代密码学基础[j].中国科技博览,2009(09x):1.
[0067]
[2]wenbomao,mao,王继林,等.现代密码学理论与实践[m].电子工业出版社,2004.
[0068]
[3]郭娟,吴迪,赵宪明.生命游戏复杂性的模拟研究[j].计算机仿真,2007,24(10):5. 。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1