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

基于高维广义猫映射的图像加密算法

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


本文简介:基于高维广义猫映射的图像加密算法就是将三维广义猫映射扩展至四维广义猫映射,通过将图像的像素坐标和灰度值作为广义猫映射的初始值,映射参数和迭代次数作为密钥实现图像文件加密。与常见的低维混沌猫映射加密算法相比,该加密算法具有更大的密钥空间及更高的加密速度,可作为加密系统的一个子模块用于常规网络或中高速无线传感器网络图像、数据块和视频的加密传榆。一、从二维猫映射比较密码变换与混沌映射的关系猫映射(Cat

基于高维广义猫映射的图像加密算法

基于高维广义猫映射的图像加密算法就是将三维广义猫映射扩展至四维广义猫映射,通过将图像的像素坐标和灰度值作为广义猫映射的初始值,映射参数和迭代次数作为密钥实现图像文件加密。与常见的低维混沌猫映射加密算法相比,该加密算法具有更大的密钥空间及更高的加密速度,可作为加密系统的一个子模块用于常规网络或中高速无线传感器网络图像、数据块和视频的加密传榆。

一、从二维猫映射比较密码变换与混沌映射的关系

猫映射(Cat map)最早是由Arnold引入的,因为经常用一张猫脸的图进行演示而得名,其方程如下:

基于高维广义猫映射的图像加密算法

式中,xn,yn都是实数且满足0<xn,yn<1(n=0,1,2,…)。(xn,yn)的相空间被限制在单位正方形[0,1]×[0,1]内,猫映射在此正方形内不断地进行线性的拉伸(乘以矩阵使xn,yn都变大),然后折叠(通过取模使xn,yn又折回单位正方形内),具有Shannon在其经典论文《保密通信理论》中指出的一个好的混合变换应具有的“在有限区域内进行反复折叠、拉伸变换的特性”。

将原始的猫映射定义(1)式数字化,即xn,yn(n=0,1,2,…)均取正整数而非任意实数,得到如下二维广义猫映射:

基于高维广义猫映射的图像加密算法

式中a,b,N为正整数。可以证明(2)的参数a,b以N为周期,故要求a,b∈N。若初始值x0,yo为正整数,则xn,yn(n =O,1,2,…)也均为正整数,数字化后的猫映射(2)仍然具有猫映射的拉伸和折叠的性质,故可通过将图像的像素坐标及灰度值作为(2)的初始值进行迭代来实现图像的加密。对于图像内原来相邻的两点如(xn,yn)和(xn,yn+1),其像素坐标经广义猫映射迭代几次后不再相邻;具有均匀概率分布的猫映射还可以保证经过一定次数的灰度值迭代后,原加密图的灰度直方图由具有特定的统计规律改变为呈均匀分布,从而达到图像保密的目的。

二、从二维广义猫映射到高维广义猫映射的扩展

本节给出三维广义猫映射的定义并将其扩展至四维广义猫映射。基于三维到四维的扩展模式可以将广义猫映射扩展至更高维如八维,但由于篇幅限制及基于表述简介的原则,下面以四维广义猫映射为例说明如何将低维猫映射扩展至高维广义猫映射。

1、三维广义猫映射

将二维广义猫映射(2)扩展为三维广义猫映射:

基于高维广义猫映射的图像加密算法

 

其中N为正整数,ai,bi(i=x,y,z)∈N且为正整数。

2、四维广义猫映射

通过以下4个映射子变换可以实现从三维广义猫映射(3)到四维广义猫映射的扩展。在(x,y,z)三维空间进行三维广义猫映射,同时令,γn+1=γn由(3)可得:

基于高维广义猫映射的图像加密算法

在(x,y,γ)三维空间进行三维广义猫映射,同时令zn+1=zn,由(3)可得:

基于高维广义猫映射的图像加密算法

在(x,z,γ)三维空间进行三维广义猫映射,同时令yn+1=yn由(3)可得:

基于高维广义猫映射的图像加密算法

在(y,z,γ)三维空间进行三维广义猫映射,同时令xn+1=xn由(3)可得:

基于高维广义猫映射的图像加密算法

联合(4)~(7)可得四维广义猫映射为:

基于高维广义猫映射的图像加密算法

为计算及表述简洁起见,可令各基本参数ax=ay=az=aγ=bx=by=bz=bγ=1,有:

基于高维广义猫映射的图像加密算法

上述各维广义猫映射均为保面积的,即满足:

基于高维广义猫映射的图像加密算法

3、三类广义猫映射的基本动力学特征

选择一个合适的基本混沌映射系统,可以减少加密复杂度及提高加密速度且不失去良好的安全加密性能。

根据混沌动力学理论,从刻画动力系统对初始条件敏感性强弱程度的Lyapunov指数和混沌映射分布的均匀性两个方面出发,指出一个合适的混沌映射系统应该具有以下特征:

(1)大的Lyapunov指数

具有较大Lyapunov指数的混沌映射对初始值更敏感,也就越适合用于加密系统。

(2)均匀的概率分布

由于混沌映射的拓扑传递性,一个离散混沌映射的迭代轨迹会落在相空间的每一点的小邻域,但其分布并非一定均匀。具有均匀概率分布的混沌映射可以保证明文经过一定次数的迭代后获得均匀分布的密文,具有较强的抗统计攻击性能。

例如针对Logistic映射的分布在区域(0,1)两端呈现奇异性,基于概率原理的变换方法,实现把Logistic映射产生的非均匀分布随机变量转化为均匀分布的随机变量,进而满足图像置乱需要。与Logistic映射相比,即使是二维猫映射也能保证明文只通过一轮的扩散变换就可获得较均匀分布的密文,这是由混沌系统自身的特性所决定。

由三类广义猫映射的定义式(2)、(3)及(8)可以计算出当各基本参数均取1时,各类猫映射的特征值及最大Lyapunov指数,如表1所示。由表1可以得到,四维广义猫映射的最大Lyapunov指数远大于二维或三维猫映射的最大Lyapunov指数,因此从动态系统对初始条件敏感性强弱程度而言,四维广义猫映射较低维的猫映射更适合加密系统。

基于高维广义猫映射的图像加密算法

三、基于四维广义猫映射的图像加密算法

置换和替代是加密技术的两个基本构造模块。由于对图像像素坐标进行的像素置乱不会改变图像的统计直方图,为了避免统计攻击,通常图像加密算法会引人图像像素值的扩散变换使密文的直方图变得比较均匀,并通过置乱变换与扩散变换的组合进行多轮的变换,以获得更好的图像文件加密效果。

1、图像扩散

欲将四维猫映射应用于图像扩散,可将原始图像分解成2x2的小方块,对每个方块中的四个像素值f(i,j),f(i+1,j),f(i+1,1)及f(i+1,j+1)运用如下变换:

基于高维广义猫映射的图像加密算法

式中X=[f(i,j)f(i,j+1)f(i+1,j)f(i +1,j+1)]T为小方块中四个像素值组成的向量,X'=[f’(i,j) f'(i,j+1) f'(i+,j) f’(i+1,j+1)]T为经扩散变换后的像素值向量。

2、加密算法

1)设置加密密钥:加密轮数五,猫映射的参数ai,bi(i=x,y,z,γ)∈N;

2)利用二维猫映射式(2)对图像像素的位置进行置乱变换;

3)在每一次的置乱变换后根据式(10)进行基于四维猫映射的像素值扩散变换;

4)转到步骤2),将加密算法中的2)、3)步循环做k轮。

3、解密算法

解密算法是加密算法的逆过程,具体过程如下:

1)设置解密密钥:即解密轮数为忌,猫映射的参数ai,bi(i=x,y,z,γ)∈N与加密时完全相同;

2)进行一次像素值反扩散变换,即运用反扩散的公式:

基于高维广义猫映射的图像加密算法

3)在一次反扩散变换后进行像素位置反置乱变换,即运用反置乱变换公式:

基于高维广义猫映射的图像加密算法

4)转到步骤2),将解密算法中的2)、3)步循环做K轮。

图1给出了对一幅256×256像素经典Lena图像的基于上述加解密算法的加密、解密仿真计算结果(k=3)。

基于高维广义猫映射的图像加密算法

图2给出了原始图像及加密后图像的灰度直方图。

基于高维广义猫映射的图像加密算法

由图2可知,经三轮加密后的直方图(b)呈均匀分布,它掩盖了原始图像灰度直方图(a)的分布规律,用此方法加密后的密文对密钥的贡献很小。

4、加密算法速度与安全性分析

仅考虑单轮计算量时,基于低维和高维的广义猫映射图像加密算法速度无实质区别,两者所需计算时间均取决于原始图像像素的大小,但高维广义猫映射具有更大的Lyapunov指数,这使得基于高维广义猫映射的图像加密算法只需较少的加密轮数即可获得均匀分布的密文,进而可获得更高的加密速度。图3给出了原始图像经过一轮由(2)式描述的二维广义猫映射(a,b均取1)及一轮由(9)式描述的四维猫映射扩散变换后获得的图像灰度直方图。

从图3可以看到,在相同加密轮数时四维猫映射加密算法较二维猫映射加密算法获得了更为均匀分布的密文,表明基于高维广义猫映射的图像加密算法只需较少的加密轮数即可获得均匀分布的密文。

基于高维广义猫映射的图像加密算法

Shannon曾指出理论上不可破译的密码系统是“一次一密钥”系统,主要阐述了在加密过程中每一个密钥仅使用一次的设想。尽管这种“一次一密钥”系统只是一种理想的极限情况,在实际应用中很难实现,但在密码学领域依然是密码算法设计者应遵从的一个指导思想。常见的基于单参数的混沌信号加密,其参数一般固定不变,不符合Shannon提出“一次一密钥”加密系统的设计理念,也是安全性能得不到保证的原因之一。通过分析该图像加密算法的有效密钥量达不到预期的目标,在已知图像攻击下是不安全的。

如果将混沌系统中的某一组便于调节的参数视为密钥,每加密一次就改变这组参数一次,则符合“一次一密钥”的设计思想。本文提出的高维广义猫映射图像加密算法在单独应用时虽然较低维猫映射具有更大的密钥空间,其安全性能并无实质性改善,但可以作为加密系统的一个子模块用于对多帧图像分时并随机地共用某一组切换参数来实现图像或视频的加密。虽然由于不受限的图像帧数将远大于有限的可选切换参数的数量而不能真正实现对每一帧图像的“一次一密钥”加密,但与固定参数的混沌视频图像文件加密相比,其安全性能将得到很大的提高。

小知识之Lyapunov指数

Lyapunov指数是衡量系统动力学特性的一个重要定量指标,它表征了系统在相空间中相邻轨道间收敛或发散的平均指数率。对于系统是否存在动力学混沌,可以从最大Lyapunov指数是否大于零非常直观的判断出来: 一个正的Lyapunov指数,意味着在系统相空间中,无论初始两条轨线的间距多么小,其差别都会随着时间的演化而成指数率的增加以致达到无法预测,这就是混沌现象。

立即下载试用

基于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/16374.html