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

Feistel结构图像加密算法

更新时间:2022-10-28 15:46:26


本文简介:为了更好地将传统的Feistel加密结构应用在图像加密中,将加密与混沌系统结合起来,在混沌图像加密的基础上,提出了一种基于超混沌序列和Feistel结构的图像加密算法。一、加密算法原理1、超混沌系统超混沌系统一般具有两个或以上正的Lyapunov指数,由于其具有比普通混沌系统更大的可用密钥空间,可以提高系统的抗破译能力。也有资料给出的图像加密算法用到了Kawakami和Hyperhenon映射两个

Feistel结构图像加密算法

为了更好地将传统的Feistel加密结构应用在图像加密中,将加密与混沌系统结合起来,在混沌图像加密的基础上,提出了一种基于超混沌序列和Feistel结构的图像加密算法。

一、加密算法原理

1、超混沌系统

超混沌系统一般具有两个或以上正的Lyapunov指数,由于其具有比普通混沌系统更大的可用密钥空间,可以提高系统的抗破译能力。也有资料给出的图像加密算法用到了Kawakami和Hyperhenon映射两个超混沌系统。

Kawakami混沌映射的定义如下:

Feistel结构图像加密算法

其中,a=0.1,b=1.60时,系统处于超混沌状态,Kawakami混沌映射本身是一种超混沌序列。此处取X0∈(O,l)。

Hyperhenon混沌映射的定义如下:

Feistel结构图像加密算法

其中,c=1.76,d=0.1时,系统处于超混沌状态,Hyperhenon映射本身就是一种超混沌序列。此处取X0∈(O,l)。

本文设计的图像加密算法还将用到Logistic混沌映射,其定义如下:

Feistel结构图像加密算法

其中当3.5699456--≤μ≤4,(O<xn<1)时,系统进入稳定的混沌状态。

2、图像预处理算法

为了增强加密算法的安全性,首先对待加密的图像进行预处理。本文以Kawakami超混沌映射为例,首先介绍预处理过程。设原始图像形的大小为MxN,相应的预处理算法描述如下:

a)给定Kawakami映射的初始值xo、Yo,利用式(1)通过迭代计算产生两个混沌值xl和Y1,将第x1放人数组a,Y1放人数组b,将x1、Yi再代人式(1)迭代产生X2和Yz,X2放人数组a,y2放人数组b。以此类推,直到不满足<MxN则停止。

b)分别对数组口和6中每个混沌值进行变换,取每个混沌值小数点后的第3—5位组成一个新的三位整数L,然后L对256做取模运算,将数组口中每个新得到的整数依次放人大小为MxN的矩阵A,同样将数组b中新得到的整数放人大小为MxN的矩阵B。

c)将两个矩阵A与B其中的每个值转换为二进制序列,并放回A和B矩阵。

d)将原始图像W的像素值转换为二进制序列,与步骤c)所得到的序列矩阵A与B做异或运算。

e)将异或后的结果转换为十进制放入图像矩阵W中,完成图像的预处理,得到预处理加密图像w1。

图像的预处理算法虽然只是对原始图像做简单的异或运算,但由于是基于超混沌序列的,为整个算法的安全性提供了一定的安全保证。图l给出了预处理的基本流程。

Feistel结构图像加密算法

3、图像加密算法

在预处理的基础上,利用Logi8tic混沌序列生成Hyperhenon超混沌的初始值,再由Hyperhenon超混沌序列产生S盒,使用Feistel结构对图像进行加密。具体的加密过程如下:

a)将经过预处理后的图像矩阵W的每一行分为左右两部分,分别记为Li0和Ri0。

b)给定一个初始值zo,利用Logistic映射,即式(2)迭代生成48个序列值,以第j,j+16,j+32个序列值作为第j轮的子密钥,记为Kj。代入Hyperhenon混沌映射,通过迭代计算每轮生成三个混沌序列值x、y、z,通过16轮迭代计算,生成的混沌序列分别组成X、y、Z三个16×(N/2)的矩阵。

c)利用X、y、Z构造S盒,对X、y、Z每个矩阵中的每一行作升序排列,得到矩阵XL、K、zl,然后将X、y、Z在Xl、yI、Zl中的位置作为置换矩阵p、q、r。此时p、q、r矩阵的每一行就是Feistel结构中第i轮的S盒,每一轮共有三个。

d)取预处理图像的第一行Lio和Rio,将Rio经过三个S盒的置换,然后与Lio进行异或,得到的结果作为下一轮循环的Ru,而下一轮循环的Lii则等于Rio。

e)利用p、q、r三个S盒中的2—l6行重复d)。

f)合并得到的结果Ll16和Rl16放入图像矩阵中。

g)对预处理图像的每一行重复d)e),最终得到的图像就是加密后的图像W2。

加密算法的基本流程如图2所示。

Feistel结构图像加密算法

本文中的加密算法是基于超混沌序列的Feistel结构加密,使得系统可以较好地抵御差分攻击。

解密过程与加密过程基本一致,只需要将子密钥逆序输入即可解密图像。

小知识之Feistel 结构

在密码学研究中,Feistel 密码结构是用于分组密码中的一种对称结构。以它的发明者 Horst Feistel 为名,而Horst Feistel 本人是一位物理学家兼密码学家,在他为 IBM 工作的时候,为Feistel 密码结构的研究奠定了基础。很多密码标准都采用了Feistel 结构,其中包括DES。Feistel 的优点在于:由于它是对称的密码结构,所以对信息的加密和解密的过程就极为相似,甚至完全一样。这就使得在实施的过程中,对编码量和线路传输的要求就减少了几乎一半。

立即下载试用

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

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

对于任何一个图像加密系统,不管形如何复杂,是基于什么加密的原理,实现的加密算法如何不同,其基本组成部分是相同的,主要包括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/16476.html