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

基于有限状态斜帐篷映射的图像加密算法

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


本文简介:针对图像加密算法中迭代性高、低维离散混沌加密密钥空间小、保密性低等特点,我们提出了一种基于有限状态斜帐篷映射的混沌加密方法。该方法采用一种有限状态skew tent映射来产生伪随机整数序列,然后依据该混沌序列控制图像像素的置换和灰度值的修改,攻击者在不知道密钥的情况下,加密图像不能被正确重建。一、有限状态斜帐篷混沌映射考虑如下一维离散时间非线性动力学系统Xk+1=τ(xk),其中Xk∈P,k=0,

基于有限状态斜帐篷映射的图像加密算法

针对图像加密算法中迭代性高、低维离散混沌加密密钥空间小、保密性低等特点,我们提出了一种基于有限状态斜帐篷映射的混沌加密方法。该方法采用一种有限状态skew tent映射来产生伪随机整数序列,然后依据该混沌序列控制图像像素的置换和灰度值的修改,攻击者在不知道密钥的情况下,加密图像不能被正确重建。

一、有限状态斜帐篷混沌映射

考虑如下一维离散时间非线性动力学系统Xk+1=τ(xk),其中Xk∈P,k=0,1,2,…,称之为状态;而τ:P→P是一个映射,将当前状态Xk映射到下一个状态Xk+1,如果由初始值x0反复应用τ,就得到一个序列{Xk}k=o,1,2,…,这一序列称为该离散时间动力系统的一条轨迹。

定义有限状态斜帐篷映射fa(x):{1,2,…,M}→{1,2,…,M}为:

基于有限状态斜帐篷映射的图像加密算法

fa(x)是一维正合的,因而也是混合和遍历的,其中控制参数a=0.5时,(1)式即为Tent映射,f的Lyapunov指数定义为:

基于有限状态斜帐篷映射的图像加密算法

有限状态帐篷映射fa(x){1,2,…,M}→{1,2,…,M}是一个双射,在有限精度数字计算机中迭代时,由于截断误差,x将很快落人一个循环。将区间[o,1]分成M等分,将外部密钥P和密文C表示为所有的等分点构成一个状态集合:

基于有限状态斜帐篷映射的图像加密算法

同时将外部密钥空间K定义为:

基于有限状态斜帐篷映射的图像加密算法

基于fa,可以构造一个在P上的有限状态映射fa。

基于有限状态斜帐篷映射的图像加密算法

其中a∈K,[z]表示小于z且与z最接近的古的倍数。

为了使混沌映射在整数集上运算,在(2)式的基础上,重新定义明文空间、密文空间、密钥空间和混沌映射FA如下:

基于有限状态斜帐篷映射的图像加密算法

其中P’为明文空间,C’为密文空间,K’为密钥空间。

二、图像加密算法

图像加密算法过程如下:

Step1:设待加密图像Ie={o≤fk(i,j)≤255),若图像为彩色图像,k=1,2,3分别对应三个彩色分量R、G、B;若图像为灰度图像,k=1,i=0,1,2,…,M-1,j=0,1,2,…,N-1,图像分辨率为MxN。不失一般性,假设明文图像大小为t= 256×256,对于比之大或比之小的图像,可以分别采取分割为256×256的块组或填充至256×256的办法。

Step2:利用有限状态斜帐篷映射产生伪随机整数序列Sk∞=0,Sk∈(1,M)),该序列对初始值十分敏感,不同的初始值将产生完全不同的随机参数序列,从而达到像素置乱之目的。

Step3:二值序列,可以通过定义一个阈值函数Ⅱ,由上述的伪随机整数序列得到2H值混沌序列,阈值函数Ⅱ定义为:

基于有限状态斜帐篷映射的图像加密算法

Step4:在对MxN的图像进行位置置换时,一般做法是建立一个等大的输出空间,将此空间中的每个像素坐标(i,j)作为初始值代人混沌映射序列T1 (x)=Cn-1Cn-2…C1C0中,对于某一个像素点(i,j)的灰度值I(i,j),0≤/(i,j)≤255,将它表示为二进制形式I7I6…I1I0。利用2H值混沌序列T(x)=Cn-1Cn-2…C1C0来修改I7I6…I1I0。

Step5:执行混沌置乱算法,混沌置乱采用的是使用较多的猫映射,也叫Amold映射,其定义为:

基于有限状态斜帐篷映射的图像加密算法

从式(3)不难看出,Arnold映射过程是把原图像位置(x,y)上的像素映射到(x’,y')位置上,那么其逆映射即为把(x’,y')的像素映射到(x’,y')位置上.因此,可以用原来式(3)的映射过程,通过(x,y)求得(x’,y')后,把位置(x’,y')上的像素移动到(x,y)上便实现逆映射过程,该逆映射方法简单,不需要进行判断。

Step6:图像加密过程结束。

本文设计的加密算法是对称的,也就是图像文件加密和解密都使用同一个密钥,因此解密算法是上述加密算法的逆过程。

三、加密算法安全性分析

1、密文统计特性与密文相关性

明文图像一般具有某种统计特征,经过图像文件加密处理后,这种统计特性应该消失,即密文图像的灰度分布应该是均匀的,从图1可以发现,加密算法在消除明文图像的统计特性方面是有效的。

基于有限状态斜帐篷映射的图像加密算法

分别测试密文图像中垂直方向、水平方向和对角线方向相邻像素之间的相关性。首先,从密文图像中随机选择1000对相邻像素点;然后,通过下式计算每对相邻像素点之间的相关系数:

基于有限状态斜帐篷映射的图像加密算法

其中x和y是相邻两个像素点的灰度值。在数值计算中,使用如下离散公式计算:

基于有限状态斜帐篷映射的图像加密算法

2、密文图像受损攻击

数字图像在传输过程中,难免经过必要的数据处理或遭受人为攻击,如压缩、滤波、噪声污染、破损和几何失真等,算法应该具有抵抗这种攻击和干扰的能力,在密文图像受到破损攻击后,经解密算法,破损部分应该没有扩散,其余部分应能正确还原,图2所示为密文图像破损攻击,设定密文图像的左上方有一块15 ×10大小的图像像素丢失,设丢失部分的图像像素灰度值为0,图2(d)所示为解密结果,可以发现解密图像与明文图像相似程度很高。

基于有限状态斜帐篷映射的图像加密算法

小知识之阈值函数:

阈值函数定义为:Y=X-T,X≥TX+T,X≤-T0,|X|小波变换的系数,T是预先选定的阈值。而阈值的量化采用固定阈值法,其定义为:T=σ2log(N),这里N为信号采样的数目,σ为噪声的标准偏差。

立即下载试用

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