一种基于Kent映射和广义Gray码的图像加密方法与流程

文档序号:12126060阅读:1915来源:国知局
一种基于Kent映射和广义Gray码的图像加密方法与流程

本发明涉及信息安全领域,尤其涉及一种基于Kent映射和广义Gray码的图像加密方法。



背景技术:

加密通常指的是发送方运用特定的加密函数和加密密钥,将明文信息进行转换,而转换后的信息是不具备直接可读意义的,这种转换后的信息被称为密文信息。而接收方再利用指定的解密密钥和解密函数对不含有直接本意的密文信息进行解密,还原成明文信息,从而完成解密过程。由以上可知,要完成一个加密解密的过程,其必须包含明文空间、加密函数、密钥空间、密文空间、解密函数等五个部分。

明文空间:所有需要被采取加密手段的信息的集合,其种类并不单一,包括视频信息、文本信息、图像信息、音频信息等。

加密函数:将明文转化成密文的特定的算法(数学公式等)。

密钥空间:包含全部的密钥。密钥子所以能够发挥作用在于发送方和接收方之间的先期约定,比如密钥的生成,密钥的使用,密钥的管理分配等等。传统的有加密密钥和解密密钥相同的DES算法,以及后来的加密密钥可以公开而解密密钥需要保密的RSA算法。

密文空间:明文信息完成加密操作后所产生的内容

解密函数:与加密函数相反,用来将密文转换成明文。

但是由于图像信息具有数据之间相关性高、数据冗余度强,数据量大等特点,使用传统的针对文本信息密码学算法比如:非对称加密算法RSA、数据加密标准(DES)、国际数据加密算法等,并不完全适合图像加密。

混沌因其初值敏感性、无周期性、伪随机性、混沌序列的遍历性等密码学特性,使其大量被应用于图像加密中来保证信息的安全传播。因此各种基于混沌系统或者与之相结合的图像加密算法被大量的提出。

陈光荣等提出的一种典型的置乱和替代结构的混沌加密算法一度成为学者们竞相争抢的研究热点。该算法首先利用三维的Arnold变换来对完成图像的位置置乱,接下来再通过Logistic混沌系统产生的中间密钥对像素的灰度值进行替换。虽然这种算法时间代价小,复杂度低,但是其无法抵抗明文攻击。



技术实现要素:

为克服现有技术的不足,本发明提出一种基于Kent映射和广义Gray码的图像加密方法。

本发明的技术方案是这样实现的,一种基于Kent映射和广义Gray码的图像加密方法,包括步骤

S1:对待加密的图像明文按照行优先的顺序扫描,转化成为长度为a×b的一维序列I={i1,i2,i3…ia×b};

S2:求出混沌系统的混沌参数S和混沌系统的迭代次数c;

S3:将将参数S和初始值x1代入到Kent映射中,然后Kent映射迭代c次以消弱暂态效应的不良影响,接下来再迭代a×b次产生一个长度为a×b的混沌序列L={l1,l2,l3...la×b},并运用堆排序算法对混沌序列进行从小到大的排列,从而再次生成一个记录顺序序列中的各元素在原序列L中新的位置的序列w={w1,w2,w3....wa×b};

S4:利用序列w来置乱明文图像I;

S5:用二进制的广义Gray码对位置置乱后的图像进行像素值的替换。

进一步地,步骤S2中中混沌参数S的计算公式为混沌系统的迭代次数c的计算公式为c=mod(a*a+b*b,a+b)+2a+b。

进一步地,步骤S5包括步骤

S51:将明文位置置乱后的图像的像素点进行异或操作;

S52:将异或后所得的像素点的像素值按照广义格雷码的替换规则进行替换。

本发明的有益效果在于,与现有技术相比,本发明的密钥敏感性更强,在极其微小变化的情况下,都会导致图像发生明显变化;加密完成后的图像完美地隐藏了明文信息;加密后的图像的相关性更差,分布更加均匀。

附图说明

图1是本发明基于Kent映射和广义Gray码的图像加密方法流程图。

图2是明文图像。

图3是图2加密完成后的密文图像。

图4是图2的图像直方图。

图5是图3的图像直方图。

图6是图2相邻像素点的相关性。

图7是图3相邻像素点的相关性。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Kent映射是一个性能优良的混沌系统,映射关系为:

其中的S为混沌系统的控制参数,当x∈(0,1),S∈(0,1)时,式(1)具有一个正的Lyapunov指数,Kent映射将处于混沌状态,因此由初始条件x0在Kent映射中产生的序列具有很好的自相关性,互相关性和平衡性等伪随机性能。

同时,Kent映射具有强初始条件敏感性,即使当初始条件发生微小变化,所产生的随机序列也将会完全的不同,根据这一特性,Kent映射能被良好的运用在混沌图像加密中。

广义Gray码变换

对于非负整数u,其q进制码记为u=(upup-1...u0)q,定义如下变换:

其中,q≥2为正整数,aij为整数,i,j=0,1,…..,p。当且系数矩阵的行列式|aij|与q互为素数时候,则将该变换符合u的广义Gray变换,g(u)=(gpgp-1...g0)q称为广义Gray码。

请参见图1,本发明包括步骤

S1:对待加密的图像明文按照行优先的顺序扫描,转化成为长度为a×b的一维序列I={i1,i2,i3…ia×b};

S2:求出混沌系统的混沌参数S和混沌系统的迭代次数c.

首先对明文图像的像素值sum进行求和运算。

接下来分别运用公式2求出混沌系统的混沌参数S,公式3求出混沌系统的迭代次数c。

c=mod(a*a+b*b,a+b)+2a+b (3)

S3:产生新的位置序列利用下标进行位置置乱。

结合S2得出的混沌参数S,对混沌系统设置一个初始值x1,将参数S和初始值x1代入到公式(1)中。

Kent映射迭代c次以消弱暂态效应的不良影响。

接下来再迭代a×b次产生一个长度为a×b的混沌序列L={l1,l2,l3...la×b}。

运用堆排序算法对混沌序列进行从小到大的排列,从而再次生成一个记录顺序序列中的各元素在原序列L中新的位置的序列w={w1,w2,w3....wa×b}。

S4:利用序列w来置乱明文图像I,置乱的依存规则为置乱后的序列记录为:

L′={l′i,l′i,l′i...l′a×b}

S5:图像的像素值替换。

此阶段使用二进制的广义Gray码对位置置乱后的图像I′进行像素值得替换。

对于任意的非负整数u对照的二进制码为u=(un-1un-2...u0)2

通过变换产生一个新的二进制码g=(gn-1gn-2…g0)2

S51:将明文位置置乱后的图像I′的像素点进行异或操作。其异或的规则如下为

S52:将步骤一异或后所得的像素点的像素值按照广义格雷码的替换规则进行替换。

加密完成后所得到的即为密文图像。

实验分析

实验环境

本实验采用的测试平台为:

Intel(R)Core(TM)i5CPU主频2.67GHz,内存为4.0GB。

Win10操作系统。

图片采用256×256的灰度Lena图仿真软件MATLAB 2015a。

实验内容

算法统计特性分析

首先对加密前后的灰度直方图进行观察,对图2的明文直方图和图3密文直方图对比发现,原始图像在未经任何加密处理的情况下它所展现出的像素分布是不均匀分布的,而加密处理后得到密文图像的灰度直方分布是均匀的,极好的隐藏了图像信息。

接着对对明文图像加密前后的像素的水平、垂直、对角三个方向的相关性进行比较分析,计算所采用的数学公式如下:

其中x和y分别表示图像中两个相邻像素点的灰度值,rx,y为两个相邻像素的相关系数。

密钥敏感性分析

密钥的敏感性必须具备的特性是在极其微小变化的情况下,都会导致图像发生明显变化。在对密文图像进行明文解密操作时,如果其中一个密钥发生微小变化,最终得到的解密图像也将与明文完全不同。

对比图2明文图像和图3加密完成后的密文图像可以发现,加密完成后的完美的隐藏了明文信息。

微小改变混沌系统的初始值,所得到的解密图像与明文图像完全不同,进一步验证了算法对密钥的敏感性。

对比图4明文图像和图5密文图像的直方图发现,加密完成后的密文图像像素值的分布更加均匀,从而极好的掩盖了图像信息。

对比图6明文图像和图7密文图像的相邻位置的像素点在二维坐标系的位置发现加密后的图像的相关性更差,分布更加均匀。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

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