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

基于Logistic映射与排序变换的图像加密算法

更新时间:2022-10-28 15:44:06


本文简介:基于Logistic映射与排序变换的图像加密算法是利用混沌映射对初值的敏感性和伪随机性,通过对生成的混沌序列排序来得到图像置乱的地址变换码,由于排序的不规则性,因此新的混沌图像置乱算法具有较强的保密性能。通过对该算法的置乱性能分析并进行仿真实验,结果表明,新算法具有良好的图像文件加密性能。一、基于混沌映射与排序变换的图像置乱算法设计1、混沌系统加密算法设计Logistic映射是一个非常简单,却又具

基于Logistic映射与排序变换的图像加密算法

基于Logistic映射与排序变换的图像加密算法是利用混沌映射对初值的敏感性和伪随机性,通过对生成的混沌序列排序来得到图像置乱的地址变换码,由于排序的不规则性,因此新的混沌图像置乱算法具有较强的保密性能。通过对该算法的置乱性能分析并进行仿真实验,结果表明,新算法具有良好的图像文件加密性能。

一、基于混沌映射与排序变换的图像置乱算法设计

1、混沌系统加密算法设计

Logistic映射是一个非常简单,却又具有重要意义的非线性迭代方程,它具有确定的形式。并且系统不包含任何随机因素,但系统却能产生看似完全随机的,对参量的动态变化耜初值极为敏感的混沌现象,所以文中选用Logistic映射迭代来产生混沌序列。

我们以256×256的图像1为例。

第一步:选取下列迭代方程:

基于Logistic映射与排序变换的图像加密算法

其中而为映射变量,它的取值范围为:
-1<xn<1

第二步:给定初值x1。由(1)式迭代N-1次得到(x1,x2,…,xn)序列,并对它们排升(或降)序得新的序列:(x'1,x'2,…,x'n)。

第三步:定位xi在x'i中的位置序数,得到序数序列记为:r(t,:)=(r1,r2,…,rn)(其中t=1,2,…,256)。

第四步:以r为图像I的像素矩阵A的第一(或N)行的地址置换码,对矩阵A进行行地址变换。

第五步:以r为图像I的像素矩阵A的第一(或N)列的地址置换码,对矩阵A进行列地址变换。

第六步:循环一到五步,直到矩阵I全部行、列变换完为止,即图像加密完成。为达到更好的效果,也可以再重复一个循环,一般一个循环周期完成就可以了。

MATLAB例程如下:

基于Logistic映射与排序变换的图像加密算法

2、解密算法设计

当用户输入正确的密钥后,将加密算法逆向运算,即前三步循环N次,得到r(N×N)和s(N×N)的矩阵,第四、五步交换,并把“第一(或N)行/列”改为“第N(或一)行/列”,再循环N次就得到解密图像了。

MATLAB例程如下:

基于Logistic映射与排序变换的图像加密算法

二、基于排序变换的混沌图像置乱性能分析

由迭代方程式(1)来产生混沌实值序列,并进行置乱算法统计分析。用于图像置乱的灰度图像I大小取为256×256pixels。基于排序变换的混沌图像置乱性能分析如下。

1、时间复杂度分析

如采用量化方法,同样采用行置换,则首先必须将混沌映射区间[-1,1]划分为256个连续子区间,为取得最佳量化速度,则要使点xn落入各个子区间的概率相等。由Logistic轨道分布的概率密度函数:

基于Logistic映射与排序变换的图像加密算法
易知,各划分点为:

基于Logistic映射与排序变换的图像加密算法

若随机选取1000个初值,并通过对迭代产生的混沌序列进行量化来产生置换地址码,则遍历256个地址码的时间特性如表1所示。

基于Logistic映射与排序变换的图像加密算法

由表1可以看出,用量化方案来产生置换地址码不仅所需迭代次数非常多,而且同初值的关系也较大。

另外,通过实验也发现,由于随着地址码的增加,遍历全部地址码所需迭代次数增加迅速,因此使得采用量化方案的置换对较大的图像不得不采用局部置乱或分块置乱技术,这样从整体上说,就降低了置乱的效果。

由于多值量化也需大量的比较运算,所以基于排序变换的混沌置换地址码生成方案较量化方案在时间复杂度上相对较低。由于新算法所用混沌映射迭代次数大大减少,且与初值无关,从而使得加密解密的速度有很大提高。

2、不动点分析

如果原图像像索点经过置乱变换后,像素点的地址没有发生变化,则称此像素点为该最乱变换的不动点。不动点的数目越少,置乱的效果就越好,保密性也就越高。

基于Logistic映射与排序变换的图像加密算法表2是对256×256pixels大小的灰度图像,采用随机选取的10000个初值,通过基于排序变换的混沌图像行置乱算法构造的置乱变换的不动点统计分析的结果。

由表2可以看出,由于基于排序变换的混沌图像行置乱算法的不动点的个数只占整幅图像所有像素点的0.3896 ~0,45%。因此取得了很好的置乱效果。

3、像素点自然序分析

如果原图像中相邻的像素点,置乱后它们的地址虽然都发生变化,但仍然相邻,则称之为自然序。若置乱后图像的自然序越少,刚置乱的效果越好,保密性也就越高。表3是对256×256pxels大小的灰度图像,采用随机选取的10000个初值,通过基于排序变换的图像混沌行置乱算法置乱后,图像每个4×4方阵内自然序点出现比例的统计分析结果。

基于Logistic映射与排序变换的图像加密算法
从表3可以看出,经基于排序变换的混沌置乱算法置乱后,加密图像中每个4×4方阵内出现的自然序个数比例在796以下,由于相邻的像素点基本都被拆散,从而取得了很好的置乱效果。

三、基于Logistic映射与排序变换的图像加密算法的仿真结果

使用MATLAB 6.5进行仿真实验如图1所示。

基于Logistic映射与排序变换的图像加密算法
图(d)是当key=0.400 001时利用该方法来对256×256大小的lena灰度图像进行置乱后的图像,(b)、(c)是只对lena分别进行行和列置乱所得的图像,图(e)是密钥正确时所得的解密图像。(f)是key墨0.400 002时所得的懈密图像a由实验结果可见:使用该算法对图像进行加密,加密后的图像已不能番出原图像的任何轮廓,当key略有差异时,就根本不能正确解密图像,密钥为(-1,1)之间的任何实数,密钥空间也足够大,由此可见该算法具有较高的安全性。

四、抗攻击实验

1、剪切和篡改攻击

图1(g)和(i)是对已加密图像进行剪切或篡改,解密后得到的图像(h)、(j)仍然可辨清轮廓,由于该算法对图像各点置乱较均匀,无论剪切任何部位的一定面积图像,解密后的图缘都可基本辨清其轮廓。

2、噪声污染

图1(k)中加入Speckle噪声。(m)加入Gaussian噪声,(l)和(n)是它们的解密图像,由图可以看出:该算法有较好的抗噪声性能。

本文提出一种基于混沌映射与排序变换的图像置乱算法,该算法克服了普通混沌图像置乱算法在混沌序列整数化时对混沌序列随机性造成破坏的缺陷,由于排序变换的强不规则性,增加了算法对混沌映射初始值的敏感度与置乱的复杂度,从而使得新的混沌图像置乱算法具有较高的安全保密性能。

小知识之置乱

所谓“置乱”,就是将图像的信息次序打乱,将a像素移动到b像素的位置上,b像素移动到c像素的位置上……使其变换成杂乱无章难以辨认的图像。

立即下载试用

基于3DES加密算法的研究

关于加密方法,我们之前有介绍过很多,最近大出风头的秀尔算法和DES、MD5等等一直占据鳌头,今天我们来介绍一个小众的加密算法——就是3DES。

加密算法主要通过软件和硬件两种方式来实现,软件的实现方式具有灵活方便的优点,同时也具有加密速度受限制的缺点。采用硬件实现加密算法是实际应用中必须要考虑到的问题。目前经常采用硬件FPGA等来实现,该种实验方式具有处理速度快的特点,但是对系统的复杂度要求较高。

嵌入式微处理器具有实现简单,系统集成度高,体积小,易于移植等众多优点,因此有必要研发基于嵌入式微处理器的加密算法硬件设备,在此提出一种基于ARM处理器的3DES的硬件实现方法。

3DES算法原理

DES是美国国家标准局颁布的数据加密算法,作为世界范围内的公开加密标准已经使用了20多年。随着计算机处理速度的提高,DES算法面临着一些安全威胁,DES采用56位密钥,曾经有人用穷举搜索法对DES进行过密钥搜索攻击。

近年来也有人提出了差分和线性攻击方案,该方案的实施必须有超高速计算机的支持。为了增强DES算法应对差分或线性攻击的可能性,人们提出了一系列改进方案,采用增加密钥长度是一种可行的途径。

为了增加密钥的长度,可将分组密码进行级联,在不同的密钥作用下,连续多次对一组明文进行加密。其中,最有效的方法是使用三重DES加密,它可使加密密钥长度扩展到128位,在提高加密强度的同时,足以应付目前的各种攻击。

DES是一个分组加密算法,它以64位为分组对数据加密。64位的分组明文序列作为加密算法的输入,经过16轮加密得到64位的密文序列。加密的密钥为64位,实际长度为56位,DES算法的保密性取决于密钥。DES对64位的明文分组进行操作。

首先通过一个初始置换IP,将64位的明文分成各32位长的左半部分和右半部分,该初始置换只在16轮加密过程进行之前进行一次。在经过初始置换操作后,对得到的64位序列进行16轮加密运算,这些运算被称为函数f,在运算过程中,输入数据与密钥结合。经过16轮运算后,左、右两部分合在一起得到一个64位的输出序列,该序列再经过一个末尾置换IP-1,获得最终的加密结果。过程如图1所示。

在每一轮加密过程中,函数厂的运算包括以下四个部分:

首先进行密钥序列移位,从移位后的56位密钥序列中选出48位;

然后通过一个扩展置换将输入序列32位的右半部分扩展成48位,再与48位的轮密钥进行异或运算;

再者通过8个s盒将异或运算后获得的48位序列替代成一个32位序列;

最后对32位序列应用置换P进行置换变换,得到-厂的32位输出序列。将函数厂的输出与输入序列的左半部分进行异或运算后的结果作为新一轮加密过程输入序列的右半部分,当前输入序列的右半部分作为新一轮加密过程输入序列的左半部分。

上述过程重复操作16次,便实现了DES的16轮加密运算。

假设Bi是第i轮计算的结果,则Bi为一个64位的序列,Li和Ri分别是Bi的左半部分和右半部分,Ki是第i轮的48位密钥,且f是实现代换、置换及密钥异或等运算的函数,那么每一轮加密的具体过程为:

以上操作的详细过程如图2所示。

在3DES加密算法中,加密过程用两个不同的密钥K1和K2对一个分组消息进行三次DES加密。首先使用第一个密钥进行DES加密,然后使用第二个密钥对第一次的结果进行DES解密,最后使用第一个密钥对第二次的结果进行DES加密。

解密过程首先使用第一个密钥进行DES解密,然后使用第二个密钥对第一次的结果进行DES加密,最后再使用第一个密钥对第二次的结果进行DES解密。

DES算法的密钥长度是56位,三重DES算法的密钥长度是112位,加密强度显著增强,可以很好地应付各种攻击,目前尚没有可行的攻击方法,应用3DES的加密系统具有很大的实用价值。

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