安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

适用于矩形图像的新二维映射图像加密算法

更新时间:2022-10-28 15:43:51


本文简介:随着计算机网络和多媒体技术的迅速发展,数字图像的安全保障问题日益凸显。传统的图像置乱方法如Arnold变换,面包师变换,Standard映射,幻方变换,魔方变换等已不再安全。为此,我们提出了一种图像加密算法,利用新的二维映射进行图像位置置乱,同时采用一个更加安全的基于混沌映射的扩散函数,实现图像灰度置乱。该加密算法不仅适用于加密方形图像而且对矩形图像同样适用。一、新二维映射原理与算法1、 新二维映

适用于矩形图像的新二维映射图像加密算法

随着计算机网络和多媒体技术的迅速发展,数字图像的安全保障问题日益凸显。传统的图像置乱方法如Arnold变换,面包师变换,Standard映射,幻方变换,魔方变换等已不再安全。为此,我们提出了一种图像加密算法,利用新的二维映射进行图像位置置乱,同时采用一个更加安全的基于混沌映射的扩散函数,实现图像灰度置乱。该加密算法不仅适用于加密方形图像而且对矩形图像同样适用。

一、新二维映射原理与算法

1、 新二维映射原理

设图像A的大小为M@N,首先将图像分为左右两个部分,左边的图像块为M行,7N/2_列,右边的图像块则有M行,_N/28列(其中_X8表示不大于X的最大整数,7X_表示不小于X的最小整数)。对于图像块的每相邻两列,可以将一列元素依次插入到另一列的纵向相邻的两像素之间,反复该过程,依次连接各像素点,原始图像块将被拉伸成为一条直线。根据插入的角度不同,共有4种插入方法,如图所示:

适用于矩形图像的新二维映射图像加密算法

举例说明:当图像为3@5时,采用插入方法(a)时,如下图所示,则依次将像素(3,1)插入像素(3,2)之后,像素(2,1)插入像素(2,2)和(3,2)之间,像素(1,1)插入像素(1,2)和(2,2)之间,重复这个过程,即按照下图的方式可将原图像拉伸成为一条直线:(3,1),(3,2),(2,1),(2,2),(1,1),(1,2),(3,3),(3,4),(2,3),,,其它3种插入方法和方法(a)类似。

适用于矩形图像的新二维映射图像加密算法

从第一个图所示的4种插入方法中任选两种分别对原图像的左右两个图像块进行操作,这样原始图像块将被拉伸成为两条直线,依次将它们连接起来得到一条长为M@N直线,然后,再折叠成一个M@N的新图像,实现图像位置的置乱。根据左右两个图像块采用的插入方法的不同可以得到12种不同的组合方式,如图所示:

适用于矩形图像的新二维映射图像加密算法

在实际的图像文件加密中,可以任意抽取其中的若干组合方式用于图像位置置乱。

2、新二维映射计算加密算法

(1)各插入方法的计算加密算法

由于映射是由4个插入方法任意组合形成的,分别给出各插入方法的算法如下:设图像大小为M@N,A(i,j)为图像中的任意一点像素值i=1,2,,M,j=1,2,,N,L(t),t=1,2,,,M@N为将A(i,j)拉伸后的一维向量。

A、方法(a)的算法:

如上图方法a所示,插入方法为(a)算法:

当j是奇数时,若j=N,

L(M@(j-1)+i)=A(i,j),          (1)

若j<N,

L(M@(j-1)+2@(M-i)+1)=A(i,j),       (2)

当j是偶数时,

L(M@(j-2)+2@(M-i+1))=A(i,j)。      (3)

B、方法(b)的算法:

当j是奇数时,若j=N,

L(M@(j-1)+i)=A(i,j),       (4)

若j<N,

L(M@(j-1)+2@i-1)=A(i,j),         (5)

当j是偶数时,

L(M@(j-2)+2@i)=A(i,j)。         (6)

C、 方法(c)的算法

可以通过下列过程得到:将原图A做一次镜像,如式(7)所示,Ac表示镜像后的图像,

Ac(i,j)=A(i,N-j+1),        (7)

其中,i=1,2,,,M;j=1,2,,,N,然后通过算法(a)中式(1)~(3),可得到算法(c)。

D、方法(d)的算法

可以通过下列过程得到:将原图A如式(7)所述做一次镜像得到Ac通过算法(b)中(4)~(6)式,可得到方法(d)的算法。

(2)_新映射的计算算法

A、映射1算法

对B实行算法(a)得到长为M@D的直线L1,然后对C实行算法(c)得到长为M@(N-D)的直线L2。则

L(1B(M@D))=L1,       (8)

L(((M@D)+1)BM@N)=L2,         (9)

得到一条长为M@N的直线L。

B、映射o算法

映射o算法可以通过下列过程得到:

将原图A做一次镜像,如式(7)所示得Ac,然后对Ac施行映射1算法,如此得到映射o的算法。

C、折叠算法

把直线L重新折叠成M@N的图像的算法如式(10)所示:

E(i,j)=L((i-1)@N+j),       (10)

其中,i=1,2,,,M;j=1,2,,,N。

E(i,j)是位置置乱后的图像。

_二、图像加密、解密算法

1、图像加密算法原理

本加密算法采用了位置置乱和灰度置乱相结合的方法,图像的整个加密过程如图所示。

适用于矩形图像的新二维映射图像加密算法(1)密钥设计

如图所示,加密算法采用两个密钥K1和K2,其中K1用于图像位置置乱,K2作为混沌映射的初值,用于灰度置乱,其范围为(0,1)。位置置乱中采用了映射1和映射o,其映射次数可以作为密钥K1。如K1=1234,表示依次用1映射1次,用o映射2次,然后用1映射3次,最后用o映射4次。由于图像是有限像素点的集合,像素的排列组合是有限的。因此在有限次迭代之后,加密图像会恢复到原来的状态,即混沌映射都具有庞加莱回复性。有专家指出,当迭代次数较小(如<15)时,加密算法是安全的。本文将密钥K1的每一位设计为>1015的整数。由于新映射的周期非常大(<1015),这种设计是合理的。

本文采用的扩散函数如式(11)所示。

vck=vk+Y2molL,       (11)

其中,vk是指每一个像素的灰度值,vck为扩散后的像素灰度值,Y为由混沌映射产生的混沌序列,L为像素灰度级。该类扩散函数结构简单、扩散速度快。

(2)混沌序列Y的产生

采用简单的logistic映射,其函数式如下:

Xn+1=f(L,Xn)=LXn(1-Xn)。       (12)

当L=4时,系统处于混沌状态,此时系统产生的序列具有随机性,遍历性,对初值的敏感性,其范围为(0,1)。K2作为混沌序列的初值X(0)。对产生的混沌实值序列,每个实值取其从百分位开始的3个数字组成的十进制数构成序列Y即对于X(i)=0.b1b2b3b4b5,,序列,Y由式(13)得到:

Y(i)=100@b1+10@b2+b3,i=0,1,2,,。      (13)

在扩散函数中引入了伪随机序列,克服了在已知扩散函数时通过简单的逆运算就可得到原图像精确直方图的缺陷,使得该加密方法可以抵御已知明文攻击。

2、图像加密算法步骤

图像加密算法可分为3步进行:

(1)利用密钥K1及映射1或o的算法,将图像A(i,j)拉伸处理为一条直线L(t),其中t=1,2,,,M@N。

(2)利用折叠算法如式(10)所示,将直线折叠处理,得到置乱图像E(i,j)。

(3)利用密钥K2及logistic映射和扩散函数,对置乱图像进行扩散处理得到密图。

解密算法与加密算法密钥相同,过程相反。

小知识之图像加密

图像加密的概念是:利用数字图像的特性设计加密算法,以提高加密的安全性和运算效率的一种技术。

立即下载试用

图像加密技术的基本原理和评价标准

从密码学角度来看,图像数据的加密与文本信息数据加密是相同的,就是把图像数据信息转换为不可以辨识的形式的过程,并通过网络传输到接收方,其目的是使非授权接收方通过非常途径截获加密图像后也不能识别和解密。

对于任何一个图像加密系统,不管形如何复杂,是基于什么加密的原理,实现的加密算法如何不同,其基本组成部分是相同的,主要包括4个部分,1、待加密的数字图像,成为明图M。2、加密后形成的数字图像,成为密C。3、加密M=Ek1(C)、解密算法M =Ek2(C)。4、用于加密解密的钥匙,称为密钥K1,K2。

明图M通过加密算法加密后,得到密图C,然后发送方利用传输通道将密图C传送给授权接收方。图像传输过程中是很容易被截获或窃取,但是由于图像是加过密的,只要非授权用没有密钥,就无法获取图像信息,即使截获也无法解密,整个过程如下图:

评价标准:一个图像加密的性能好坏主要有以下标准

1、密钥的敏感性

密钥的敏感性是指相同的加密算法的密钥微小变化,得到结果与正确加密结果相差很大。具有好的敏感性的密钥,只要密钥有微小差异,就无法得到正确的加密图。

2、密钥的空间大小

密钥空间大小是指全体密钥参数集合的空间大小。密钥空间越大,密码攻击的难度也越大,安全性就越高,尤其是对蛮力攻击,穷举工具具有很强的保护性。

3、直方图

直方图是图像处理中一重要的统计特征,用来描述图像中像素的灰度级分布的图。灰度图的直方图是一个离散的函数,他表示图像中每个灰度级与该灰度级出现次数的对应函数。

4、相邻像素的相关性

相邻像素的相关性反应的是图像相邻像素的相关程度。一副待加密的图像相邻像素间的灰度值具有很强的相关性。相邻像素的相关性主要体现在水平、垂直和对角三个方向上的相邻像素间的相关系数,其计算形式为:

Snapa

Snapb

 

 

5、信息熵

信息熵反映的是一个信息的不确定性,将其应用到图像加密算法中,主要是衡量图像中包含的信息即图像中灰度值的分布情况。

Snap

6、算法的复杂度

算法的复杂度主要是指算法的时间复杂性和空间复杂性,它是衡量一个算法性能优劣的重要指标。加密算法的空间复杂性主要是指算法在加密过程中消耗的空间资源,消耗的空间越少,空间的复杂性越好。一个好的加密算法的时间复杂性和空间复杂性都应该达到最优。

本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16296.html