基于二次密钥加密的快速图像加密算法

  • 格式:docx
  • 大小:41.75 KB
  • 文档页数:8

基于二次密钥加密的快速图像加密算法

雷烈;韦鹏程;李莉;尹胜

【摘 要】为了确保图像信息能够在网络上安全传输,针对传统混沌加密算法安全性不高、计算复杂度太大、密钥随机性不高等缺陷,提出了一种基于二次密钥加密快速的图像加密算法。该算法结合耦合映像格子-S盒( CML-SBox )和对称矩阵变换( SMT)生成密钥流,通过SMT生成的初始密钥流组成两个一维数组对原图像像素进行置乱,然后用SBOX生成最终密钥流与分块后的图像像素进行异或,最后将后一块的密文与前一块的密文进行异或,从而达到扩散的目的。由于置乱和扩散分别用到的是初始密钥流和最终密钥流,而初始密钥流的计算复杂度明显比最终密钥流小,因此大大降低了算法的整体的计算复杂度。%In order to

ensure that the image information can safely transfer on the network , a

fast image encryp-tion algorithm was proposed based on a second secret

key , which is proposed on the condition that the traditional chaotic

encryption algorithm ’ s security is not high enough , the computational

complexity of it is too large , and the randomness of the key is not high

enough .The CML-SBOX and SMT was comsined to generate the key

stream , then, the initial key stream was generated by SMT consist of two

one-dimensional arrays , which are used to scram-ble the pixel of the

original image , and then, the final key stream generated by SBOX are used

to XOR with the pixel of the sub-block image, finally, the present

ciphertext with the previous ciphertext was XOR to achieve the purpose of

diffusion .Since scrambling and diffusion were separately used the initial

key stream and the final key stream, and the computational complexity of the initial key stream is significantly smaller than that of the final key

stream,thus the computational complexity can be greatly reduced .

【期刊名称】《科学技术与工程》

【年(卷),期】2016(016)028

【总页数】5页(P259-263)

【关键词】耦合映像格子-S盒;对称矩阵变换;二次密钥

【作 者】雷烈;韦鹏程;李莉;尹胜

【作者单位】重庆邮电大学自动化学院;重庆邮电大学自动化学院; 重庆第二师范学院数学与信息工程系;重庆第二师范学院数学与信息工程系;重庆邮电大学先进制造工程学院,重庆400065

【正文语种】中 文

【中图分类】TP309.7

随着信息技术和互联网的不断发展,信息安全成了信息传输过程中应该考虑的首要问题,而图像作为信息传输的主要载体,因此,图像加密技术受到了人们越来越多的关注。

近年来,图像加密技术成了信息安全领域研究的热点之一,人们也相继提出了许多图像加密的方法[1—8]。文献[1]提出了一种基于像素扰乱的图像加密方法,即对图像的行和列进行置乱,这也是目前用的最广泛的一种图像加密方法;文献[2]利用斜帐篷映射对初值的敏感及其随机性的特点提出了一种高效的图像加密算法,由于其逆变换简单,故易于解码;文献[3]结合数字改良逻辑映射和线性反馈移位寄存器,提出了一种随机性较高安全二进制算术编码,该算法保证了很好的计算开销;文献[4,5]提出了一种新的基于扩散策略的像素间置换的快速图像加密算法,证明了两个像素异或之后,其分布更均匀,从而保证了加密过程的高随机性;文献[6]利用耦合映像格子产生的密钥生成两个简单的扩散序列,设计了一种时间复杂度较低图像加密算法,通过该算法生成的密钥流,其密钥空间大且随机性很高。综上文献所述,图像加密过程中一般会考虑两点:①计算开销是否在可接受的范围之内;②随机性是否满足要求。本文提出了一种新的密钥流的生成方法,结合耦合映像格子和SBox,通过一个对称矩阵变换(SMT)生成SBox系数,然后与初始密钥异或,循环迭代N次,得到一串密钥流,再通过该密钥流分别对原始图像的行、列进行置乱,最后对扰乱后的像素进行列处理,即每一列与等长度的密钥流进行异或,同时为了保证随机性,从第二列开始每一列密文都与前一列的密文异或。

基于耦合映像格子(CML)提出了一种新的密钥流生成方法,框图如图1所示。CML采用二维动态映射[6]:

f2(x)=ax(1-x);a∈(0,4]

生成密钥流的具体流程如下:

(1)给定一组初始值(x0,y0),x0,y0∈(0,1], CML输出(x,y);

(2)用SMT变换将(x,y)的初始区间(0,1)变换到指定的区间,即SMT的输出x′,y′∈(0,15],具体变换如下:

①令对称矩阵,且;

②取x′,y′的下限作为SMT的输出,即floor(x′),floor(y′),将其作为初始密钥流。

(3)分别提取x0,y0的前8位,记为x1_b,y1_b, 令c1=floor(x′),d1=floor(y′),则φ(1)=SBox(c1,d1)⊕x1_b⊕y1_b。

其中,SBox是一个16×16的二维表,对应有16×16个(0,255)的十进制数,通过下标c1,d1可以找到SBox中对应的数,将其作为SBox的输出;

(4)从第二列开始,xi_b,y1_b,i=2,3,…,n分别是前一个密钥的输出左移3bit、右移3bit得到,则最终密钥流φ(i)=SBox(ci,di)⊕xi_b⊕yi_b。

传统的图像加密方案有两种[7—15]:①结合置乱和扩散操作,置乱即对图像的像素进行扰乱处理,扩散是对图像像素值进行改变;②先对图像进行分块,然后对每一块进行编码。本文结合这两种加密方案对图像进行加密,整体加密流程图如图2所示:

2.1 置乱

假设输入为一个大小为M×N的灰度图像,用CML产生的一组密钥流,即,作为循环移位的密钥。对于xi,取i=M,x1,x2,…,xM组成一个一维数组(x1,x2,…,xM),然后对这个一维数组的数值进行E-R处理,即扩值取整,记为Rshift=floor[N(x1,x2,…,,xM)],用Rshitf对该灰度图像的行进行移位,即数组第一个参数控制图像第一行右移的位数,第二个参数控制图像第二行右移的位数,依次类推;同理,对于yi,取i=N,y1,y2,…,yN组成一个一维数组(y1,y2,…,yN),对其数值进行E-R处理,记为Cshift=floor[M(y1,y2,…,yN)],用Cshif对灰度图像的每一列进行下移位。

2.2 扩散和分块编码

经过置乱后的图像还是大小为M×N的图像,对置乱后的图像进行分块处理,即对图像像素进行列处理,如图3所示。令置乱后第i(i=1,2,…,N)列的像素值为Pi(j)(j=1,2,…,M),扩散后的像素值为Ci(j),前一个扩散的像素值为Ci(j-1)。编码过程如下:

Step1:第1列的像素值与密钥流异或,记为C1(j)=φ(i)⊕P1(j)。

Step2:第2列采用同样的方法编码,即φ(i)⊕P2(j),然后用第1列的密文与第2列进行异或,即⊕C1(j)。

Step3:同理,每一列像素值与密钥流进行异或后再与前一列密文进行异或⊕Ci-1(j);i=2,3,…,n。 2.3 解密过程

是加密过程的逆过程,即先提取密文序列,对每一块密文序列进行编号,从第N列开始每一列与前一列异或;然后恢复加密过程中使用的密钥流,分别与(1)中的每一列异或,异或的结果组成一个M×N的矩阵;最后利用2.1节中的两个一维数组,即Rshift、Cshif,分别对矩阵的列、行进行移位,移位后的结果即为原始图像。

为了分析该算法的可行性,做了以下实验。输入图像为256×256的Lena灰度图像,密钥系统的初始值选取x0=0.27,y0=0.837 0,p=0.7,a=3.999 73。

3.1 密钥空间分析

一种加密算法密钥空间的大小代表该算法可用于加密的不同密钥的总个数。本文算法密钥系统有四个初始值,x0,y0,p∈(0,1),a∈(3.57,4)。根据IEEE 754标准,64位双精度数的精确度为10-15,则该算法的密钥空间可以大至2197。因此,该密钥空间可以很好地抵抗暴力攻击。

3.2 信源熵

信源熵是用来描述信源符号随机出现程度的指标。信源熵可定义为

3.3 直方图分析

直方图是反映一幅图像在同一灰度级的像素的分布情况。一个好的加密系统,其加密图的直方图应该呈统一分布,以抵抗外界的数学统计攻击。本文的原图和加密图的直方图如图4所示。直方图显示,加密前的图像的直方图呈不规则变化,而加密后的图像的直方图基本呈统一分布,这说明密文不能为非法用户提供有效信息,从而可以有效地抵抗外界的统计攻击。

3.4 像素相关性分析

对于一幅普通的图像来说,其相邻像素,包括水平、垂直、对角线方向,理论上是高度相关的。加密图像相邻像素的相关性是衡量一个加密系统的一个重要指标,相邻像素相关性越低,其加密效果更好。本文选取了5 000对相邻像素点测试其相邻像素的相关性,原图像和加密图像的相关性如图5所示。像素相关性rxy的计算公式如下:

cov(x,y)=E{[(x-E(x)][y-E(y)]}

3.5 差分攻击分析

差分攻击是一种选择明文类攻击,为了抵抗这类攻击,则要求输入图像中少数像素点变化会导致密文大量像素的改变。像素个数改变率(NPCR)和统一平均变化强度(UACI)经常用来作为该类特性的分析指标,NPCR值越接近100,UACI值越接近34,其加密效果越好。NPCR和UACI的定义如下:

UACI=

本文基于传统加密算法的安全性及复杂度的问题,设计了一种新的基于二次密钥加密的快速图像加密算法。算法两次用到密钥流,像素置乱过程取初始密钥流,像素扩散过程取最终密钥流,在提高了算法安全性的同时很好地降低了算法的计算复杂度。仿真结果表明,该算法还拥有很大的密钥空间,具备较好的抵抗穷举攻击的能力;加密后图像的信源熵接近理想值,说明加密图像的灰度分布比较均匀;加密直方图基本呈统一分布,相邻像素相关性可以达到预期的要求,可以有效地抵抗统计攻击;NPCR值和UACI值接近理想值,可以很好的抵抗差分攻击。为了增强算法的抗攻击能力,还可以对算法进行多次迭代,以保证算法的安全性。

12 Chong F, JunJie C, Hao Z, et al. A chaos-based digital image encryption