一种基于超强混沌系统的二进制流数据加密方法与流程

文档序号:32405056发布日期:2022-12-02 20:18阅读:159来源:国知局
一种基于超强混沌系统的二进制流数据加密方法与流程

1.本发明涉及信息安全领域,尤其涉及一种基于超强混沌系统的二进制流数据加密方法。


背景技术:

2.信息技术迅速发展,伴随着多种信息传递方式的出现,由互联网行业带领出现的多种社交媒体极大的增加了需要传输数据的量,在数据传递过程中,需要更加新颖的、效果好的、难于破解的数据加密方法来增加信息的安全性。由于混沌系统的不可预测性,拓扑传递性和初值敏感性,非常适用于信息加密。一些参数和初始值就可以产生大量复杂的非周期的数据。
3.目前文献记载的基于混沌序列的加密方法集中在构造新的混沌系统、与其他方法结合、改进加密方法等几个方面,其中构造混沌系统是一个核心关键技术,只有具备了更多、更好的混沌系统,才可以有效防止信息加密后被破解。公开发表的文章上,混沌系统多是基于logistic系统、lorenz系统、一维三角函数与反三角函数嵌套系统以及这些系统的复合系统,或者是由这些系统构造的高维系统。一个三角函数混沌系统具有较好的混沌特性,不过这并没有得到足够的重视;2014年,于万波等在《物理学报》上发表“基于曲面迭代的混沌吸引子绘制”、“截面的几何形状决定三维函数的混沌特性”等文章,开始了对三角函数混沌特性的研究,并将其用于图像加密;2020年,yu等在modern physics letters b上发表文章analysis ofchaotic characteristics oftrigonometric function system,构造了三维三角函数乘积系统,分析得到其具有很强的混沌特性与超大的密钥空间;2021年,yu和wang等在modern physics letters b上发表文章实现了基于位操作的多幅图像一次性加密,达到了各种数值指标。
4.综上所述,随着传输数据量的增加,传统数据加密效率低下,不能满足实时性需要,因此需要一种简单、高效的数据加密方法,将加密操作快速深入到比特级,提高加密深度、加密效率并增强信息安全性。


技术实现要素:

5.本发明提供一种基于超强混沌系统的二进制流数据加密方法,以克服上述技术问题。
6.一种基于超强混沌系统的二进制流数据加密方法,包括,
7.s1、获取需加密的信息,将信息转换为二进制数据,将二进制数据存储在多维数组中,所述多维数组包括二维数组、三维数组;
8.s2、构建混沌系统,对混沌系统的参数进行限制,随机生成混沌系统参数,设置迭代次数,根据混沌系统和迭代次数迭代生成混沌序列,当多维数组为二维数组时所述混沌序列为二维序列,当多维数据为三维数组时所述混沌序列为三维序列;
9.s3、将二维序列中的数据分别作为二维数组的位置坐标或将三维序列中的数据分
别作为三维数组的位置坐标,根据位置坐标将s1中的多维数组对应的数值进行0-1转换,获取转换后的多维数组,将多维数组转化为一维数组后进行传输。
10.优选地,所述将信息转换为二进制数据包括根据matlab中的dec2bin函数将信息转换为二进制数据,所述信息包括但不限于图片、文本。
11.优选地,所述构建混沌系统包括根据公式(1)构建,
[0012][0013]
其中,(x,y,z)为三维空间节点坐标,a1、a2、a3、b1、b2、b3、c1、c2、c3为混沌参数,r
ij
为混沌系数,1≤i,j≤3,i,j为整数。
[0014]
优选地,所述对混沌系统的参数进行限制包括ai、bi、ci》π,r
ij
》1。
[0015]
优选地,所述根据混沌系统和迭代次数迭代生成混沌序列包括,当多维数组为三维数组时,则执行流程一,当多维数组为二维数组时,则执行流程二,其中流程一包括:
[0016]
s211、给定初始值x0,y0,z0和迭代次数n,创建三维数组p,将x0,y0,z0存储于p0中,设置当前迭代次数为t,t=0;
[0017]
s212、当t=0时,将初始值x0,y0,z0代入混沌系统分别计算f(x0,y0,z0)、g(x0,y0,z0)、h(x0,y0,z0)的值,分别记为x1,y1,z1,将x1,y1,z1存储于三维数组p1中;
[0018]
s213、令t=t+1,将x
t y
t
,z
t
作为自变量再代入混沌系统,得到f(x
t
,y
t
,z
t
)、g(x
t
,y
t
,z
t
)、h(x
t
,y
t
,z
t
)的值,分别记为x
t+1
,y
t+1
,z
t+1
,将x
t+1
,y
t+1
,z
t+1
存储于三维数组p
t+1
中;
[0019]
s214、若t≦t,则返回执行s213,若t》t,则将三维数组作为混沌序列,
[0020]
流程二包括:
[0021]
s221、给定初始值x0,y0和迭代次数n,创建二维数组q,将x0,y0存储于q0中,设置当前迭代次数为t,t=0;
[0022]
s222、当t=0时,将初始值x0,y0,z0=0代入混沌系统分别计算f(x0,y0)、g(x0,y0)、h(x0,y0)的值,分别记为x1,y1,z1,从x1,y1,z1中任选两个值,将x1,y1的值更新为所选择的两个值,将x1,y1存储于二维数组q1中;
[0023]
s223、令t=t+1,将x
t y
t
作为自变量再代入混沌系统,得到f(x
t
,y
t
)、g(x
t
,y
t
)、h(x
t
,y
t
)的值,分别记为x
t+1
,y
t+1
,z
t+1
,从x
t+1
,y
t+1
,z
t+1
中任选两个值,将x
t+1
,y
t+1
的值更新为所选择的两个值,将x
t+1
,y
t+1
存储于二维数组q
t+1
中;
[0024]
s224、若t≦t,则返回执行s223,若t》t,则将二维数组作为混沌序列。
[0025]
优选地,所述根据位置坐标将s1中的多维数组对应的数值进行0-1转换包括根据位置坐标获取s1中多维数组的取值,当值为0时,将其修改为1,当值为1时,将其修改为0。
[0026]
本发明提供一种基于超强混沌系统的二进制流数据加密方法,将加密操作深入到比特级,使得加密方法更加具有深度,新颖的置乱效果增强了信息安全性。
附图说明
[0027]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根
据这些附图获得其他的附图。
[0028]
图1是本发明方法流程图;
[0029]
图2是本发明混沌序列轨迹图;
[0030]
图3是本发明加密前的图像;
[0031]
图4是本发明加密后图像;
[0032]
图5是本发明加密图像的直方图;
[0033]
图6是本发明数据加密分析图。
具体实施方式
[0034]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035]
图1为本发明方法的流程图,如图1所示,本实施例的方法可以包括:
[0036]
s1、获取需加密的信息,将信息转换为二进制数据,所述将信息转换为二进制数据包括根据matlab中的dec2bin函数将信息转换为二进制数据,所述信息包括但不限于图片、文本,转换后的二进制数据还可以加上网上传输所需要的模拟ip数据包头部以及从网络端口获得真实的二进制流数据,鉴于一维二进制数据加密效率低、安全性差等,将二进制数据存储在多维数组中,所述多维数组包括二维数组、三维数组;
[0037]
s2、构建混沌系统,所述构建混沌系统包括根据公式(1)构建,
[0038][0039]
其中,(x,y,z)为三维空间节点坐标,a1、a2、a3、b1、b2、b3、c1、c2、c3为混沌参数,r
ij
为混沌系数,1≤i,j≤3,i,j为整数,
[0040]
式(1)所示系统各个参数的混沌区间大,混沌特性强,具有18个独立的参数,所以该系统密钥空间可以超大,破解的难度超大。
[0041]
对混沌系统的参数进行限制,所述对混沌系统的参数进行限制包括ai、bi、ci》π,r
ij
》1,随机生成混沌系统参数,设置迭代次数,根据混沌系统和迭代次数迭代生成混沌序列,生成的三维混沌序列如图1所示,包括,当多维数组为三维数组时,则执行流程一,当多维数组为二维数组时,则执行流程二,其中流程一包括:
[0042]
s211、给定初始值x0,y0,z0和迭代次数n,创建三维数组p,将x0,y0,z0存储于p0中,设置当前迭代次数为t,t=0;
[0043]
s212、当t=0时,将初始值x0,y0,z0代入混沌系统分别计算f(x0,y0,z0)、g(x0,y0,z0)、h(x0,y0,z0)的值,分别记为x1,y1,z1,将x1,y1,z1存储于三维数组p1中;
[0044]
s213、令t=t+1,将x
t y
t
,z
t
作为自变量再代入混沌系统,得到f(x
t
,y
t
,z
t
)、g(x
t
,y
t
,z
t
)、h(x
t
,y
t
,z
t
)的值,分别记为x
t+1
,y
t+1
,z
t+1
,将x
t+1
,y
t+1
,z
t+1
存储于三维数组p
t+1
中;
[0045]
s214、若t≦t,则返回执行s213,若t》t,则将三维数组作为混沌序列,
[0046]
流程二包括:
[0047]
s221、给定初始值x0,y0和迭代次数n,创建二维数组q,将x0,y0存储于q0中,设置当前迭代次数为t,t=0;
[0048]
s222、当t=0时,将初始值x0,y0,z0=0代入混沌系统分别计算f(x0,y0)、g(x0,y0)、h(x0,y0)的值,分别记为x1,y1,z1,从x1,y1,z1中任选两个值,将x1,y1的值更新为所选择的两个值,将x1,y1存储于二维数组q1中;
[0049]
s223、令t=t+1,将x
t y
t
作为自变量再代入混沌系统,得到f(x
t
,y
t
)、g(x
t
,y
t
)、h(x
t
,y
t
)的值,分别记为x
t+1
,y
t+1
,z
t+1
,从x
t+1
,y
t+1
,z
t+1
中任选两个值,将x
t+1
,y
t+1
的值更新为所选择的两个值,将x
t+1
,y
t+1
存储于二维数组q
t+1
中;
[0050]
s224、若t≦t,则返回执行s223,若t》t,则将二维数组作为混沌序列。
[0051]
s3、将迭代序列中的数据分别作为多维数组的位置坐标,根据位置坐标将s1中的多维数组对应的数值进行0-1转换,所述根据位置坐标将s1中的多维数组对应的数值进行0-1转换包括根据位置坐标获取s1中多维数组的取值,当值为0时,将其修改为1,当值为1时,将其修改为0,获取转换后的多维数组,将多维数组转化为一维数组,加密过程完成,将一维数组从端口输出。对从获取的数据进行解密时只需执行相反的操作。
[0052]
根据本实施例对图像数据进行加密,图3为图像数据集,图4为加密后的图像数据集,图5为加密图像的直方图,通过对加密前后的图像进行分析,可以看出,加密的各种数值指标可以达到或接近理想值,加密后的图像分布更均匀,且直方图统计特性不如原图明显,因此说明图像像素之间的相关性低,也就是图像越混乱,从而达到了良好的加密的效果,分析结果如图6所示。
[0053]
本实施例构造一系列混沌动力系统,迭代产生混沌序列,然后进行信息加密操作。在进行加密操作前,先将需要进行加密的信息明文转换为二进制数据,例如一维、二维或三维二进制数据。
[0054]
混沌动力系统每次迭代都将产生一个或多个数值(其数量由动力系统的维度决定),多次迭代产生序列,将这些数值转换为整数,可以成为一维、二维或三维二进制数据的坐标,使用这些坐标操作该位置的0,1值,以实现加密工作。因为该混沌序列的周期较长,即序列不重复,每次操作的坐标不同,加之其遍历性较好,所以可以实现较好的遍历操作。
[0055]
由于加密操作仅仅是在
‘0’

‘1’
之间的转换,这使得解密过程变得十分简单,仅仅需要按加密的反顺序对加密过后的数据进行一遍

加密操作’,就可以得到解密数据。
[0056]
整体有的有益效果:提出了一种简单、高效、完美的数据加密方法,加密操作深入到比特级,这使得加密方法更加具有深度,新颖的置乱效果增强了信息安全性,数据加密的各种指标都可以达到最优值。该实施例可以用在数据输出端口,以软件或者硬件的形式实现。
[0057]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1