首页 / 专利库 / 电脑图像 / 像素 / 超混沌伪随机序列的图像加密方法

超混沌伪随机序列的图像加密方法

阅读:608发布:2024-01-08

专利汇可以提供超混沌伪随机序列的图像加密方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种超混沌伪随机序列的图像加密方法,首先 选定 四阶超混沌Chen系统,产生超混沌伪随机序列,把超混沌伪随机序列的初值作为密钥;其次对图像进行预处理并定义图像行列变换关系,对图像的行列做进一步的扰乱处理,行列变换关系的参数由超混沌伪随机序列动态确定;再次定义图像 像素 值的变换关系,变换关系的参数由超混沌伪随机序列动态确定;最后对变换后的图像进行加密得到加密图像。本发明可灵活、方便地产生初始敏感性、随机性、平稳性和自相关等特性更好的伪随机序列,从而得到更好的密钥;对图像像素的 位置 及像素值进行动态扰乱进一步降低了图像的相关性,进一步提高了保密效果,可满足用户对图像加密的更高要求,实用性更强。,下面是超混沌伪随机序列的图像加密方法专利的具体信息内容。

1.一种超混沌伪随机序列的图像加密方法,其特征在于:包括如下步骤:
步骤1、采用四阶超混沌Chen系统产生伪随机序列,所述的四阶超混沌Chen系统是一个四阶微分方程
公式(1)中的x′1,x′2,x′3,x′4为状态参量,x1,x2,x3,x4为系统参量,w1、w2、w3、w4、w5均为系统参数;设定四个初值x1_0、x2_0、x3_0、x4_0,并提供初始时间点t_0、结束时间点t_1,以及步长h,对公式(1)用四阶Runge-Kutta进行求解,输出超混沌伪随机序列{x1}、{x2}、{x3}、{x4},初始值作为密钥;
步骤2、对原图像进行预处理,扰乱像素位置:扰乱关系如公式(2)所示;
其中i、j为原始图像的坐标,i′、j′是变换后图像的坐标,图像大小为N×N,N为任意整数,a、b为常系数;
步骤3、用超混沌伪随机序列对像素位置的行列做动态变换;
步骤4、用超混沌伪随机序列对像素值做动态处理得到新的图像Prc;
步骤5、对图像Prc进行加密。
2.根据权利要求1所述的超混沌伪随机序列的图像加密方法其特征在于:所述步骤3用超混沌伪随机序列对像素位置的行列做动态变换,具体为:
令P是m×n的灰度图像,其表示方式如(3)所示:
下标(1×1,1×n,…,m×1,m×n)表示像素的位置序号;
定义行变换参数r
r=mod((abs(x1)-floor(abs(x1)))×1014,m)     (4)
其中mod表示取余运算,abs表示取绝对值运算,floor表示取整运算;x1表示超混沌Chen系统伪随机序列{x1},选取第100至m+99这m个序列值经过公式(3)产生m个r值,表示为r1、r2....rm,即r为一个m维的向量[r1、r2....rm],这个向量中的m个值经过公式(4-3)处理会只取0至(m-1)的整数;把原图像的矩阵的第一行与第r1行互换,然后将新的矩阵的第一行与第r2行互换,以此类推,最后把矩阵的第一行与第rm行互换;图像变换之后可以得到新的r
矩阵P,如(4)所示:
定义列变换参数c:
c=mod((abs(x2)-floor(abs(x2)))×1014,n)        (5)
x2表示超混沌伪随机序列{x2},选取第100至n+99这n个序列值经过公式(5)产生n个c值,表示为c1,c2...cn,即c为一个n维的向量[c1,c2...cn],这个向量中的n个值经过公式(5)处理后,只取0至(n-1)的整数;将公式(4)的矩阵,即行变换后图像的矩阵的第一列与第c1列互换,然后将新的矩阵的第一列与第c2列互换,以此类推,最后是将矩阵的第一列与第cn列互换;将图像再进行列变换之后可以得到新的矩阵Prc,如(6)所示:
3.根据权利要求1所述的超混沌伪随机序列的图像加密方法其特征在于:所述步骤4用超混沌伪随机序列对像素值做动态处理得到新的图像P,所述的动态处理方法是定义:
xi=mod((abs(xi)-floor(abs(xi)))×1014,256)     (7)
xi(i=1,2,3,4)表示四组超混沌伪随机序列{x1}、{x2}、{x3}、{x4}中的第i组,每组序列取m×n个序列值;经过公式(7)处理,可以将序列值只取0到255的整数值;
只能取0到255的整数值,并且在实际处理时 取m×n个序列值。
4.根据权利要求1所述的超混沌伪随机序列的图像加密方法其特征在于:所述步骤5对图像Prc加密,所述的加密方法是对新的图像与 做异或运算,即
rc
矩阵P 含有m×n个像素值,并且每个像素值必定为0到255的整数值;含有m×n个序列
值,并且每个序列值必定为0到255的整数值;采用MATLAB中的bitxor函数进行m×n次异或,每次异或都为一个像素值和一个序列值进行异或;bitxor函数会自动把十进制转变为二进制,因此十进制的像素值和序列值的异或实际上是各自十进制相应的二进制对应位的异或;最终异或的结果保存在矩阵E中;再通过公式(10)将矩阵E中各像素的取值约束为0到
255的整数:
E=mod(E,256)          (10)
这样就完成了图像加密。

说明书全文

超混沌伪随机序列的图像加密方法

技术领域

[0001] 本发明属于混沌伪随机序列产生和图像加密技术领域,具体涉及超混沌伪随机序列的产生即密钥的生成及图像变换方法。本发明的序列产生及图像变换方法尤其适用于图像加密领域。

背景技术

[0002] 图像加密包含两个过程,一是选择密钥即密钥的生成,二是像素位置和像素值的变换即密钥的使用。当前,非线性学科中经常被探讨的方向之一就是混沌系统,混沌系统的随机性、平稳性、初始敏感性等特点,在加密措施中得到广泛应用。但是,由于混沌序列的周期性退化,尤其是低维混沌映射的混沌序列其周期退化更为明显,所以基于低维混沌系统的伪随机序列用于图像加密是不安全的。为了提高加密的安全性,常采用不同的方法来提高混沌伪随机序列生成方法的安全性。这些方法可分为两类:一类是利用高维混沌映射或多重混沌映射相结合来提高算法的安全性;另一类是将混沌映射与其它技术相结合来提高算法的安全性。这两类都存在共性问题,即混沌系统迭代方程时计算量大,导致加密算法效率不高,实用性不强。

发明内容

[0003] 1、本发明的目的
[0004] 本发明要解决的技术问题是提供一种有效的图像加密方法,以满足用户对图像加密的更高要求。为解决上述技术问题,本发明提供了一种超混沌伪随机序列的加密方法。
[0005] 2、本发明所采用的技术方案
[0006] 本发明公开了一种超混沌伪随机序列的图像加密方法,包括如下步骤:
[0007] 步骤1、采用四阶超混沌Chen系统产生伪随机序列,所述的四阶超混沌Chen系统是一个四阶微分方程
[0008]
[0009] 公式(1)中的x′1,x′2,x′3,x′4为状态参量,x1,x2,x3,x4为系统参量,w1、w2、w3、w4、w5均为系统参数;设定四个初值x1_0、x2_0、x3_0、x4_0,并提供初始时间点t_0、结束时间点t_1,以及步长h,对公式(1)用四阶Runge-Kutta进行求解,输出超混沌伪随机序列{x1}、{x2}、{x3}、{x4},初始值作为密钥;
[0010] 步骤2、对原图像进行预处理,扰乱像素位置:扰乱关系如公式(2)所示;
[0011]
[0012] 其中i、j为原始图像的坐标,i′、j′是变换后图像的坐标,图像大小为N×N,N为任意整数,a、b为常系数;
[0013] 步骤3、用超混沌伪随机序列对像素位置的行列做动态变换;
[0014] 步骤4、用超混沌伪随机序列对像素值做动态处理得到新的图像Prc;
[0015] 步骤5、对图像Prc进行加密。
[0016] 更进一步,所述步骤3用超混沌伪随机序列对像素位置的行列做动态变换,具体为:
[0017] 令P是m×n的灰度图像,其表示方式如(3)所示:
[0018]
[0019] 下标(1×1,1×n,…,m×1,m×n)表示像素的位置序号;
[0020] 定义行变换参数r
[0021] r=mod((abs(x1)-floor(abs(x1)))×1014,m)   (4)
[0022] 其中mod表示取余运算,abs表示取绝对值运算,floor表示取整运算。x1表示超混沌Chen系统伪随机序列{x1},选取第100至m+99这m个序列值经过公式(3)产生m个r值,表示为r1、r2....rm,即r为一个m维的向量[r1、r2....rm],这个向量中的m个值经过公式(4-3)处理会只取0至(m-1)的整数;把原图像的矩阵的第一行与第r1行互换,然后将新的矩阵的第一行与第r2行互换,以此类推,最后把矩阵的第一行与第rm行互换;图像变换之后可以得到新的矩阵Pr,如(4)所示:
[0023]
[0024] 定义列变换参数c:
[0025] c=mod((abs(x2)-floor(abs(x2)))×1014,n)   (5)
[0026] x2表示超混沌伪随机序列{x2},选取第100至n+99这n个序列值经过公式(5)产生n个c值,表示为c1,c2...cn,即c为一个n维的向量[c1,c2...cn],这个向量中的n个值经过公式(5)处理后,只取0至(n-1)的整数;将公式(4)的矩阵,即行变换后图像的矩阵的第一列与第c1列互换,然后将新的矩阵的第一列与第c2列互换,以此类推,最后是将矩阵的第一列与第cn列互换;将图像再进行列变换之后可以得到新的矩阵Prc,如(6)所示:
[0027]
[0028] 更进一步,所述步骤4用超混沌伪随机序列对像素值做动态处理得到新的图像P,所述的动态处理方法是定义:
[0029] xi=mod((abs(xi)-floor(abs(xi)))×1014,256)   (7)
[0030] xi(i=1,2,3,4)表示四组超混沌伪随机序列{x1}、{x2}、{x3}、{x4}中的第i组,每组序列取m×n个序列值;经过公式(7)处理,可以将序列值只取0到255的整数值;
[0031]
[0032] 只能取0到255的整数值,并且在实际处理时 取m×n个序列值。
[0033] 更进一步,所述步骤5对图像Prc加密,所述的加密方法是对新的图像与 做异或运算。即
[0034]
[0035] 矩阵Prc含有m×n个像素值,并且每个像素值必定为0到255的整数值;含有m×n个序列值,并且每个序列值必定为0到255的整数值;采用MATLAB中的bitxor函数进行m×n次异或,每次异或都为一个像素值和一个序列值进行异或;bitxor函数会自动把十进制转变为二进制,因此十进制的像素值和序列值的异或实际上是各自十进制相应的二进制对应位的异或;最终异或的结果保存在矩阵E中;再通过公式(10)将矩阵E中各像素的取值约束为0到255的整数:
[0036] E=mod(E,256)   (10)
[0037] 这样就完成了图像加密。
[0038] 3、本发明所采用的有益效果
[0039] (1)本发明采用四阶超混沌系统产生超混沌伪随机序列,序列的产生方法简单灵活,用于图像加密密钥空间更大,安全性高,代价小,容易实现。
[0040] (2)本发明对图像位置和像素进行动态变换,加密效果更好,攻击性更强。附图说明
[0041] 图1随机性对比图,(a)三维Chen系统的混沌吸引子,(b)超混沌Chen系统的混沌吸引子。
[0042] 图2平稳性对比图,(a)三维Chen系统混沌伪随机序列的平稳性图,(b)超混沌Chen系统伪随机序列的平稳性图。
[0043] 图3自相关性对比图,(a)三维Chen序列的自相关特性,(b)超混沌Chen序列的自相关特性。
[0044] 图4加密解密图,图(a)原图像,图(b)加密图像,图(c)正确密钥解密图像,图(d)错误解密图像。
[0045] 图5图像像素相关性对比图,图(a)原图像的像素相关性图(b)本发明密文图像的像素相关性。

具体实施方式

[0046] 下面结合本发明实例中的附图,对本发明实例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
[0047] 下面将结合附图对本发明实例作进一步地详细描述。
[0048] 实施例1
[0049] 采用四阶超混沌Chen系统公式(1)作为伪随机序列的产生模型
[0050]
[0051] 公式(1)中的x′1,x′2,x′3,x′4为状态参量,x1,x2,x3,x4为系统参量,设置参数w1=35、w2=3、w3=12、w4=7、w5=0.58。
[0052] 3、设定初值x1_0、x2_0、x3_0、x4_0,并提供初始时间点t_0、结束时间点t_1,以及步长h,对公式(1)求解,输出超混沌伪随机序列{x1}、{x2}、{x3}、{x4},序列的初始值作为密钥。
[0053] (c)对原图像进行预处理,扰乱像素位置:扰乱关系如公式(2)所示。其中i、j为原始图像的坐标,i′、j′是变换后图像的坐标,图像大小为N×N,a、b为常系数,a取3,b取5,N任意整数。
[0054]
[0055] (d)令P是m×n的灰度图像,如(3)所示:
[0056]
[0057] 下标(1×1,1×n,…,m×1,m×n)表示像素的位置序号。
[0058] 定义行变换参数r
[0059] r=mod((abs(x1)-floor(abs(x1)))×1014,m)   (4)
[0060] 其中mod表示取余运算,abs表示取绝对值运算,floor表示取整运算。x1表示超混沌Chen系统伪随机序列{x1},选取第100至m+99这m个序列值经过公式(3)产生m个r值,表示为r1、r2....rm,即r为一个m维的向量[r1、r2....rm],这个向量中的m个值经过公式(4-3)处理会只取0至(m-1)的整数。把原图像的矩阵的第一行与第r1行互换,然后将新的矩阵的第一行与第r2行互换,以此类推,最后把矩阵的第一行与第rm行互换。图像变换之后可以得到新的矩阵Pr,如(5)所示:
[0061]
[0062] 定义列变换参数c:
[0063] c=mod((abs(x2)-floor(abs(x2)))×1014,n)   (6)
[0064] x2表示超混沌伪随机序列{x2},选取第100至n+99这n个序列值经过公式(5)产生n个c值,表示为c1,c2...cn,即c为一个n维的向量[c1,c2...cn],这个向量中的n个值经过公式(6)处理会只取0至(n-1)的整数。将行变换后图像的矩阵的第一列与第c1列互换,然后将新的矩阵的第一列与第c2列互换,以此类推,最后是将矩阵的第一列与第cn列互换。将图像再进行列变换之后可以得到新的矩阵Prc,如(7)所示:
[0065]
[0066] (e)定义
[0067] xi=mod((abs(xi)-floor(abs(xi)))×1014,256)   (8)
[0068] xi(i=1,2,3,4)表示四组超混沌伪随机序列{x1}、{x2}、{x3}、{x4}中的第i组,每组序列取m×n个序列值。经过公式(8)处理,可以将序列值只取0到255的整数值。
[0069] 定义:
[0070] 只能取0到255的整数值,并且在实际处理时 取m×n个序列值。
[0071] 超混沌伪随机序列对像素值(即灰度值)做动态处理得到新的图像Prc
[0072] (f)对图像Prc进行加密,令
[0073] 矩阵Prc含有m×n个像素值,并且每个像素值必定为0到255的整数值;含有m×n个序列值,并且每个序列值必定为0到255的整数值。采用MATLAB中的bitxor函数进行m×n次异或,每次异或都为一个像素值和一个序列值进行异或。bitxor函数会自动把十进制转变为二进制,因此十进制的像素值和序列值的异或实际上是各自十进制相应的二进制对应位(0或1)的异或。最终异或的结果保存在矩阵E中。再通过公式(11)将矩阵E中各像素的取值约束为0到255的整数:
[0074] E=mod(E,256)   (11)
[0075] 实验验证
[0076] 在MATLAB R2016a的实验环境下,在初值[2,4,6,8]、起始时间点0、终止时间点200、步长0.001的条件下,生成四组序列{x1}、{x2}、{x3}。
[0077] 1.分别对三维Chen系统和超混沌Chen系统做随机性分析,得到图所示1。
[0078] 2.对序列{x1}进行二值化处理,大于或等于0记为“1”,小于0记为“0”。分别用50000、100000、150000个序列值进行测试,得到平稳性,结果如图2所示。
[0079] 3.对{x1}做相关性检测,结果如图3所示。
[0080] 4.在MATLAB R2016a的实验环境下,分别读入格式为JPEG大小为256×256的Cameraman标准测试图像,如图5(a)所示。输入密钥为[2468]进行加密(密钥的数值情况很多,可取[-100,100]内的任意实数),得到加密图,如图5(b)所;然后输入密钥[2 4 6 8]进行解密,得到正确的解密图,如图5(c)所示。再输入错误密钥[2.000000000000001 4 6 8],即失败的解密图,如图5(d)所示。
[0081] 5.对原图进行像素相关性分析,得到结果如图6(a)所示。对加密后的图像即密文做相关性分析,得到结果如图6(b)所示。
[0082] 图1为随机性对比图,将本发明采用的混沌系统与三维Chen系统产生序列的随机性对比,说明本发明产生序列的随机性更强。图2平稳性对比图说明超混沌Chen系统伪随机序列的平稳性更好。图3自相关性对比图说明超混沌Chen系统伪随机序列的自相关特性更好。图4加密解密图:密钥正确,解密成功,密钥错误,解密失效。图5图像像素相关性对比图,可见本发明的密文图像像素之间的相关性很低,说明本发明的加密安全性高,攻击性强。
[0083] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈