一种基于混沌伪随机DNA增强的图像加密方法与流程

文档序号:16633530发布日期:2019-01-16 06:48阅读:303来源:国知局
一种基于混沌伪随机DNA增强的图像加密方法与流程

本发明属于图像加密技术领域,具体涉及一种基于混沌伪随机dna增强的图像加密方法。



背景技术:

随着计算机技术和网络技术的飞速发展,人们迫切需要研究和开发出更多安全、高效、可靠的方法来保护数据的安全。混沌系统具有许多良好的性质,如对初始条件和控制参数的敏感性、周期点集的稠密性和拓扑传递性。这些性质和密码学中的混淆与扩散特性有着密切的关系。从上世纪80年代以来,混沌密码学的研究日益受到关注,提出了大量基于混沌的加密算法,取得了不少充满希望的进展。然而,近期的研究表明,之前被认为是实用性强和安全性高的混沌密码方案已证实为效率低、不安全和不可用。如何通过深入的分析研究,设计出实用性强和安全性高的混沌密码方案同渐成为急待解决的突出问题。



技术实现要素:

针对现有技术中的上述不足,本发明提供的一种混沌与dna编码结合、效率高、安全性高以及实用性强的基于混沌伪随机dna增强的图像加密方法,提高了加密效果,解决了现有技术中存在的效率低、不安全和不可用的问题。

为了达到上述发明目的,本发明采用的技术方案为:

一种基于混沌伪随机dna增强的图像加密方法,包括以下步骤:

s1:采集普通图像和置换子,并且得到普通图像的维度;

s2:根据普通图像的维度,使用置换子和随机置换函数获得随机置换顺序;

s3:根据随机置换顺序对图像中的像素进行随机置换,得到随机的置换图像矩阵;

s4:根据随机的置换图像矩阵,使用哈希函数生成混沌图像初始状况值以及控制变量,并使用伪随机增强的逻辑映射生成关键矩阵;

s5:根据混沌图像初始状况值和控制变量,使用直接逻辑映射得到新的混沌图像状况值;

s6:根据当前混沌图像状况值向下取整得到一个常数值;

s7:选择对应于当前常数值的dna编码规则,并对图像的所有行上的所有像素进行编码;

s8:得到置换图像矩阵的dna序列;

s9:根据关键矩阵,重复步骤s5到s7,得到关键矩阵的dna序列;

s10:重复步骤s5到s6,选择对应于当前常数值的dna线性操作;

s11:根据置换图像矩阵的dna序列和关键矩阵的dna序列,使用dna线性操作得到密码图像的dna序列;

s12:重复步骤s5到s6,选择对应与当前常数值的dna加密规则;

s13:根据dna加密规则对密码图像的dna序列的每一行进行加密,得到密码图像,实现图像加密。

进一步地,步骤s2中,随机置换顺序的公式为:

o=randperm(m×n)

式中,o为随机置换顺序;randperm(·)为随机置换顺序函数;m,n为普通图像的维度。

进一步地,步骤s3中,置换图像矩阵的公式为:

i'=reshape(i(o),m,n)

式中,i'为置换图像矩阵;i为输入的普通图像;reshape(·)为置换图像矩阵函数;o为随机置换顺序;m,n为普通图像的维度。

进一步地,步骤s4中,生成关键矩阵的方法,包括如下步骤:

s4-1:在置换图像矩阵上执行哈希函数sha-256得到一个64位的16进制的数据串;

s4-2:将16进制的数据串转换为256位的数据流;

s4-3:将数据流分别放入4个64位的不同块中,并对每一块进行处理,得到处理后的块值,公式为:

式中,ψ1、ψ2、ψ3、ψ4为处理后的块值;bi为对应的数据流;j为指示量,j∈{1,2,..,256};

s4-4:根据处理后的块值,得到混沌图像的初始状况值和控制变量;

混沌图像的初始状况值的计算公式为:

xo=(ψ1+ψ2)mod1

式中,xo为混沌图像的初始状况值;ψ1、ψ2为处理后的块值;mod为取模运算;

控制变量的计算公式为:

p=3.999+(((ψ3+ψ4)mod1)×0.001)

式中,p为控制变量;ψ3、ψ4为处理后的块值;mod为取模运算;

s4-5:根据混沌图像初始状况值和控制变量,使用伪随机增强的逻辑映射进行迭代得到混沌序列;

伪随机增强的逻辑映射的计算公式为:

xi+1=((pxi(1-xi))100000)mod1

式中,xi+1为下一代混沌图像状况值;xi为当前混沌图像状况值;p为控制变量;mod为取模运算;i为指示量,i∈{1,2,..,mn};

s4-6:将混沌序列转换成数字序列,并根据该数字序列得到关键矩阵;

式中,ki为数字序列像素,且ki∈k,k为关键矩阵;si为对应的混沌序列;i为指示量,i∈{1,2,..,mn}。

进一步地,步骤s5中,使用直接逻辑映射得到新的混沌图像状况值,计算公式为:

xi+1=pxi(1-xi)

式中,xi+1为下一代混沌图像状况值;xi为当前混沌图像状况值;p为控制变量;i为指示量,i∈{1,2,..,m}。

进一步地,步骤s6中,常数值的计算公式为:

r=floor(xm×8)+1

式中,r为当前常数值;floor(·)为向下取整运算;xm为当前混沌图像状况值。

进一步地,步骤s10中,选择对应于当前常数值的dna线性操作,常数值的计算公式为:

y=floor(xm×3)+1

式中,y为选择dna线性操作对应的当前常数值;floor(·)为向下取整运算;xm为当前混沌图像状况值。

进一步地,步骤s11中,密码图像的dna序列的计算公式为:

式中,qδ为密码图像的dna序列;l'δ为置换图像矩阵的dna序列;kδ为关键矩阵的dna序列;为任意选择的dna线性操作。

本方案的有益效果为:

(1)本方案采用的简单结构,离散性,高输出处理,较少的算术运算和相对容易的低维系统,节约了使用时的计算能力,时间和资源,以及更好的攻击恢复率,提高了实用性;

(2)dna编码和解码规则以及dna代数操作由直接逻辑映射随机选择并在行基础上操作,提高了安全性,从而大大减少了执行时间,提高了加密效率。

附图说明

图1为基于混沌伪随机dna增强的图像加密方法流程图;

图2为使用伪随机增强的逻辑映射生成关键矩阵的方法流程图;

图3为现有加密方法直方图;

图4为本方案加密方法直方图;

图5为加密图像和普通图像像素相关性比较图;

图6为本方案和现有技术的抗噪音程度比较图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

本发明实施例中,一种基于混沌伪随机dna增强的图像加密方法,如图1所示,包括以下步骤:

s1:采集普通图像和置换子,并且得到普通图像的维度;

s2:根据普通图像的维度,使用置换子和随机置换函数获得随机置换顺序,公式为:

o=randperm(m×n)

式中,o为随机置换顺序;randperm(·)为随机置换顺序函数;m,n为普通图像的维度;

s3:根据随机置换顺序对图像中的像素进行随机置换,得到随机的置换图像矩阵,公式为:

i'=reshape(i(o),m,n)

式中,i'为置换图像矩阵;i为输入的普通图像;reshape(·)为置换图像矩阵函数;o为随机置换顺序;m,n为普通图像的维度;

s4:根据随机的置换图像矩阵,使用哈希函数生成混沌图像初始状况值以及控制变量,并使用伪随机增强的逻辑映射生成关键矩阵,如图2所示,包括如下步骤:

s4-1:在置换图像矩阵上执行哈希函数sha-256得到一个64位的16进制的数据串;h=h1,h2,...,h64

s4-2:将16进制的数据串转换为256位的数据流;ψ=b1,b2,...,b256

s4-3:将数据流分别放入4个64位的不同块中,并对每一块进行处理,得到处理后的块值,公式为:

式中,ψ1、ψ2、ψ3、ψ4为处理后的块值;bi为对应的数据流;j为指示量,j∈{1,2,..,256};

s4-4:根据处理后的块值,得到混沌图像的初始状况值和控制变量;

混沌图像的初始状况值的计算公式为:

xo=(ψ1+ψ2)mod1

式中,xo为混沌图像的初始状况值;ψ1、ψ2为处理后的块值;mod为取模运算;

控制变量的计算公式为:

p=3.999+(((ψ3+ψ4)mod1)×0.001)

式中,p为控制变量;ψ3、ψ4为处理后的块值;mod为取模运算;

s4-5:根据混沌图像初始状况值和控制变量,使用伪随机增强的逻辑映射进行迭代得到混沌序列s={s1,s2,...,smn};

伪随机增强的逻辑映射的计算公式为:

xi+1=((pxi(1-xi))100000)mod1

式中,xi+1为下一代混沌图像状况值;xi为当前混沌图像状况值;p为控制变量;mod为取模运算;i为指示量,i∈{1,2,..,mn};

s4-6:将混沌序列转换成数字序列,并根据该数字序列得到关键矩阵;

式中,ki为数字序列像素,且ki∈k,k为关键矩阵;si为对应的混沌序列;

i为指示量,i∈{1,2,..,mn};

s5:根据混沌图像初始状况值和控制变量使用,直接逻辑映射得到新的混沌图像状况值,计算公式为:

xi+1=pxi(1-xi)

式中,xi+1为下一代混沌图像状况值;xi为当前混沌图像状况值;p为控制变量;i为指示量,i∈{1,2,..,m};

s6:根据当前混沌图像状况值向下取整得到一个常数值;

常数值的计算公式为:

r=floor(xm×8)+1

式中,r为当前常数值;floor(·)为向下取整运算;xm为当前混沌图像状况值;

s7:选择对应于当前常数值的dna编码规则,并对图像的所有行上的所有像素进行编码;

s8:得到置换图像矩阵的dna序列;

s9:根据关键矩阵,重复步骤s5到s7,得到关键矩阵的dna序列;

s10:重复步骤s5到s6,选择对应于当前常数值的dna线性操作,常数值的计算公式为:

y=floor(xm×3)+1

式中,y为选择dna线性操作对应的当前常数值;floor(·)为向下取整运算;xm为当前混沌图像状况值;

s11:根据置换图像矩阵的dna序列和关键矩阵的dna序列,使用dna线性操作得到密码图像的dna序列,计算公式为:

式中,qδ为密码图像的dna序列;l'δ为置换图像矩阵的dna序列;kδ为关键矩阵的dna序列;为任意选择的dna线性操作;

s12:重复步骤s5到s6,选择对应与当前常数值的dna加密规则;

s13:根据dna加密规则对密码图像的dna序列的每一行进行加密,得到密码图像,实现图像加密。

实验数据分析:

采用传统加密方法得到的直方图如图3所示,高度反应了各像素点包含的信息大小,采用本方案的加密方法得到的直方图如图4所示,在每个部分的混乱程度(即包含信息的程度)是一样的,使得攻击者更难的在图像中获取信息,即有着强大的抗冲击能力,安全性高。

如图5所示,将本方案的加密图像和普通图像之间的像素相关性进行比较,在加密后的图像中,这种相关性几乎消失了,这说明我们的方案对于数据攻击也是有很好的抵御力的。

如图6所示,在抗噪声方面将本方案和现有技术的抗噪音程度进行比较,可以得到与现有的技术相比,本加密方法不仅仅在加密效果以及稳定程度上有大的提高,在抗噪声干扰上也有较好性能。

本发明提供的一种混沌与dna编码结合、效率高、安全性高以及实用性强的基于混沌伪随机dna增强的图像加密方法,提高了加密效果,解决了现有技术中存在的效率低、不安全和不可用的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1