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

基于Baker映射迭路的图像加密算法

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


本文简介:基于Baker映射迭路的图像加密算法是利用Baker映射迭路所得的有限符号串对图像像素位置编码,从而对数字图像进行置乱,并计算置乱周期和置乱度,在此基础上,利用Logistic映射的混沌性质对置乱图像作了进一步的加密。一、相关知识1、迭路符号动力学指出,如果动力系统的某轨道一定通过一列不同的区间,将每个区间用一个符号对应表示,那么就得到这条轨道的迭路。定义设映射F是从集合X到其自身的函数,Λ为X的

基于Baker映射迭路的图像加密算法

基于Baker映射迭路的图像加密算法是利用Baker映射迭路所得的有限符号串对图像像素位置编码,从而对数字图像进行置乱,并计算置乱周期和置乱度,在此基础上,利用Logistic映射的混沌性质对置乱图像作了进一步的加密。

一、相关知识

1、迭路

符号动力学指出,如果动力系统的某轨道一定通过一列不同的区间,将每个区间用一个符号对应表示,那么就得到这条轨道的迭路。

定义

设映射F是从集合X到其自身的函数,Λ为X的子集,如果:

1)若x∈Λ,则F(x)∈Λ;

2)对于任一点b∈Λ,都存在一点a∈Λ,使得F(a)=b。

则称子集Λ为F的不变集,即F(Λ)=Λ。

设函数F的不变集Λ=H0∪H1∪…∪HN,满足int(Hi)∩int(Hj)=覬,对任意的i≠j成立,其中,i,j=0,1…,N,N∈Z+.由定义,任一点x∈Λ必对所有的j∈Z满足Fj(x)∈Ht,其中t=0,1,…,N.由此可得任一点x∈Λ对应的符号串如下:

基于Baker映射迭路的图像加密算法

即对于所有的j∈Z,Fsj(x)∈Hsj,故x∈F-j(Hsj),且x∈∞j=-∞∩F-j(Hsj).称无限双边符号串s=…s-2s-1·s0s1s2…为点x的迭路。

定义迭标映射h:Λ→Σ为s=h(x)。

2、Baker映射

Baker映射是一个综合压缩、拉伸、翻转和折叠的映射,具有混沌的性质,受到数学家、物理学家和其他从事非线性研究的科研工作者广泛关注。下面构造的两个Bak-er映射将用于产生有限的符号串作为图像空间位置的编码。

(1)二进制Baker映射

首先考虑如式(2)、(3)所示的二进制Baker映射及其逆映射。

基于Baker映射迭路的图像加密算法

显然,区域Λ=[0,1]×[0,1]为式(2)、(3)的不变集.将该区域划分为两个互不相交的区域H0:[0,1]×[0,12)和H1:[0,1]×[12,1],从而得到任一点x∈Λ相应的迭标映射:

基于Baker映射迭路的图像加密算法

其中sj由式(1)决定,j∈Z,式(1)中取N=1.式(2)在y轴上像帐篷映射一样分段扩张,在x轴上压缩;而式(3)刚好相反,在x轴上分段扩张,在y轴上压缩,故与文献[8]中介绍的几何马蹄映射F是相似的,不同之处在于映射F的不变集ΛF是Cantor集,而式(2)、(3)的不变集Λ=[0,1]×[0,1].Robinson[8]指出,迭标映射hF:ΛF→Σ2是一一对应的。

故任一区域,int(Vs-n…s-1·s0…sn-1)=int(∩j=-(n-1)nB-j(Hsj))奂Λ(n∈Z+)都有唯一的有限符号串s-n…s-1·s0…sn-1与之对应,即对应的二进制编码(s0…sn-1,s-n…s-1)唯一,其中,sj=0,1(j=-n,…0,1,…,n-1)。这就保证用此方法对图像像素点编码是一一对应的。

(3)三进制Baker映射

可将二进制Baker映射推广到三进制,甚至是K进制的情况,并利用其迭路产生的有限符号串作为图像像素点的K进制编码.若对区域Λ=[0,1]×[0,1]从上至下划分为3等分,即H0:[0,1]×[0,13),H1:[0,1]×[13,23)和H2:[0,1]×[23,1],仍然将压缩、拉伸、翻转和折叠应用于这3个子区域,则可得到三进制Baker映射式(5)及其逆映射式(6):

基于Baker映射迭路的图像加密算法

不变集仍为区域[0,1]×[0,1],式(1)中取N=2.同样用式(5)、(6)的迭路对图像像素点编码也是一一对应的。Baker映射还可有其他形式,只是式(2)和式(5)的迭路较为复杂,置乱效果较好。

二、编码过程

由于二维数字图像的像素总数总是有限的,取有限符号串即可为各像素位置编码,而编码的长度是由图像的大小所决定的。采用K进制Baker映射的迭路进行编码时,可得到KM×KM个不相交的区域int(Vs-M…s-1·s0…sM-1),其中M∈Z+,sj=0,1,…,K-1。图像大小的选取也应该是KM×KM,以保证编码是一对一的。

下面以2M×2M图像为例(M∈Z+),叙述采用二进制Baker映射的迭路编码的步骤。其中Ht的选取(t=0,1)如前面第1节所述。

步骤1

令迭代次数k=0.对于每一像素位置(i,j),读取行、列数均为n=2M的图像,取相应迭代初始点(x0,y0)=(2i-12n,2j-12n)。若点(x0,y0)∈Ht,令s0=t,其中t=0,1。

步骤2

令k=k+1,将点(xk-1,yk-1)代入式(2)得到点(xk,yk).若点(xk,yk)∈Ht,则令sk=t,其中t=0,1。

步骤3

重复步骤2,直到k=M-1。得到有限符号串s0s1s2…sM-1。令k=0。

步骤4

令k=k+1,将点(x-(k-1),y-(k-1))代入式(3)得到点(x-k,y-k).如果点(x-k,y-k)∈Ht,则令s-k=t,其中t=0,1。

步骤5

重复步骤4,直到k=M。得到有限符号串s-M…s-2s-1。

由上述步骤可得到所有像素位置的二进制编码(s0s1…sM-1,s-M…s-1),将其转换为十进制,即为(i,j)上像素的新位置。因为Vs-M…s-1·s0…sM-1=[i-1n,in]×[j-1n,jn],用于迭代的初始点满足(x0,y0)∈int([i-1n,in]×[j-1n,jn]),其中i,j=1,2,…,n,所以编码是唯一的。这就保证了图像置乱的可逆性。

三进制Baker映射(或K进制Baker映射)进行编码的步骤与上面类似,为保证编码的唯一性,选取的迭代初始点应该在int(Vs-M…s-1·s0…sM-1)中,否则若选在Vs-M…s-1·s0…sM-1边界上可能会出现迭路不唯一的情况。

三、仿真实验

1、二进制编码置乱

选用256×256的灰度LENA图像,见图1(a),作为实验对象,将其像素矩阵记为I(大小为28×28)。记置乱后的图像矩阵为I′.用第2节中编码方法为I中各像素位置(i,j)编码,并将编码转化为十进制数对(Rij,Cij),令I′(Rij,Cij)=I(i,j),即可得到置乱的图像。图1(b)~(d)为所得的置乱结果。

基于Baker映射迭路的图像加密算法

由图1可看出,置乱2次可达到较好的效果。表1为本算法(记为算法1)与二进制Baker映射置乱算法(记为算法2)应用于不同大小图像置乱的周期比较。

基于Baker映射迭路的图像加密算法

由表1可看出,算法1对于2N×2N大小的图像(N=2,3,…,10)置乱周期较算法2好.下面对256×256的LENA灰度图(图1(a))采用置乱度求法进行数值实验,绘制一个周期内两种算法置乱度的变化曲线,如图2所示。

基于Baker映射迭路的图像加密算法

数值结果表明,算法1在一个周期内对图1(a)的置乱度较算法2稳定,迭代较少的次数即可达到较好的置乱效果,置乱周期也较长。

2、三进制编码置乱

如图3(a)选用243×243的灰度LENA图像(即大小为35×35).结合式(5)、(6),以第2节中提出的方法为I中各像素位置(i,j)编码,并将三进制编码转化为十进制数对(Rij,Cij),令I′(Rij,Cij)=I(i,j),即可得到置乱的图像I′.图3(b)~(d)为置乱结果,置乱周期达到2604。

基于Baker映射迭路的图像加密算法

3、灰度值扩散

为了抵抗统计分析等攻击,这里利用Logistic映射式(7)在μ取(3.5699…,4]时产生的数列处于混沌状态的特点,生成一个伪随机矩阵C,用于扩散置乱后图像的灰度值,达到加密的目的.灰度值的扩散采用按位异或,加法和取模的算法。

基于Baker映射迭路的图像加密算法

由式(7)的特点,选择参数μ、初始值x0和加密次数n作为密钥对图像进行加密,图像加密的具体过程如下。

步骤1采用1节提出的二进制编码置乱方法将原图像I置乱一次得到图像I′。

步骤2由式(7),取初始值x0∈(0,1),μ=4,产生一个与原图像等大的随机矩阵C(记其行数为r,列数为c),令C=floor(L·C),其中,L为该图像的灰度级。

步骤3用式(8)、(9)扩散I′的灰度值。

基于Baker映射迭路的图像加密算法

其中2≤i≤r,1≤j≤c,L为图像的灰度级,+表示按位异或运算。重复上述步骤k次可得到加密k次的图像I″。式(8)、(9)的逆变换为:

基于Baker映射迭路的图像加密算法
解密为上述过程的逆过程。图4(b)~(d)为对256×256大小的LENA灰度图加密解密结果,加密次数为3次,密钥x0=0.7123456789012345,错误解密的密钥为x0′=0.7123456789012346,可见10-16的差别就不能正确解密,密钥空间为10-16。图4(e)~(h)为加密前后对应的灰度值直方图。

基于Baker映射迭路的图像加密算法

图4的实验结果显示,图像文件加密后的灰度直方图能够较均匀地分布,正确解密结果与原图信息一致.随机选取图像中1000对相邻的像素,计算原图和密图的相关系数如表2所示。

基于Baker映射迭路的图像加密算法由表2可看出,该算法能够有效地削弱图像相邻点之间的相关性。

最后我们测试了明文一个像素的改变对密文的影响,图5为像素变化率NPCR和归一化平均变化强度UACI随加密次数增加的变化图。总体来看,随着加密次数增加,一个像素的改变对密文图像的影响加大。

基于Baker映射迭路的图像加密算法

小知识之灰度直方图

灰度直方图是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。

立即下载试用

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