不定长量子密钥的彩色图像三重加密算法

2021-12-14 07:40夏雪飞吕嘉欣吴佳楠
重庆理工大学学报(自然科学) 2021年11期
关键词:分块明文密文

夏雪飞,张 迪,吕嘉欣,吴佳楠

(1.长春大学 量子信息实验室, 长春 130022; 2.吉林交通职业技术学院, 长春 130012)

随着计算机、互联网和多媒体等信息技术的迅猛发展,作为多媒体信息表达的主流方式之一的数字图像信息在人们的日常生活中所占比重越来越大,所承载的敏感信息和潜在的安全隐患也越来越多,有效地保护数字图像,对其进行有效的安全加密已成为信息安全的一个研究热点[1-2]。

数字图像加密方法主要有基于空间域和变换域的加密处理技术。基于空间域的算法操作简单、加密速度快,但抗攻击性较差、安全性较低[2];变换域算法较为复杂,却普遍具有较高的鲁棒性,但在进行变换操作时存在数据缺失,导致解密后的图像与原始图像存在差别[2-3]。一些结合空间域和变换域的数字水印算法使用的水印复杂度低,安全性相对较弱,为了提高保密性和稳健性,通常采用伪随机序列来控制水印的嵌入位置[4-5]。

混沌系统由于兼具良好的随机性、非周期性以及初值敏感性等密码学特征[6]而被用于随机序列的生成[7]。该类方法中关于混沌系统的选择对图像的最终加密效果有着极为重要的影响。多维混沌系统计算难度高,结构简单的一维混沌系统虽然容易实现,但所生成的伪随机序列存在分布不均的问题[7-9]。然而,即便是再理想的算法,所生成的也终归是伪随机序列,所以在理论上仍存在被破译的可能,尤其在量子计算日益发展所带来的威胁下,其安全性正面临着极大的考验[10-11]。

为了在进一步提高算法安全性的同时兼顾加密有效性,本文基于量子密钥序列优越的随机性,提出了一种基于量子密钥的RGB彩色图像的三层加密算法。采用基于量子密钥分发(QKD)技术制备的,在理论上被证明为绝对安全且具有真随机性的量子密钥作为图像加密密钥的数据源,提高加密安全性。在此基础上,算法融合了图像空间域和变换域理念,采用了不确定密钥使用长度的算法特性,对图像进行了三重加密。第一重加密方法是根据量子密钥对明文图像进行2次大小不同的分块处理,首先利用量子密钥对较大分块的明文图像进行旋转,然后根据量子密钥对经过前述操作的图像进行较小分块并进行行列循环加密;第二重加密方法是采用不定长密钥对像素值的位置与颜色通道加密;第三重加密方法是对图像进行一阶二维离散小波变换,然后将得到的低频系数与量子密钥进行异或加密,最后通过逆小波变换得到密文图像。量子密钥的融入和不定长密钥的设计理念使该算法产生的密文图像在像素值层面具有良好的随机性和安全性。

1 基础理论与数据处理

1.1 量子密钥的制备

基于量子力学而衍生的QKD技术主要目标是通过利用物理学定律来实现信息理论上的安全。根据海森堡不确定原理和量子不可复制定理,在理论上实现了通信密钥的绝对安全。本文算法采用量子密钥作为图像加密过程中需要的随机序列。量子密钥的制备主要基于Bennett等[12]提出的BB84协议原理,通过QKD机制生成具有真随机性的量子安全密钥。关键过程如下:

设定发送方为Alice,接收方为Bob。

步骤1Alice在单光子的偏振态上随机编码比特发送给Bob;

步骤2接收方Bob随机选取测量基(+基或×基)使用探测器测量Alice发送过来的光子偏振态;

步骤3双方进行基矢比对,分别保留具有相同测量基的偏振态数据;

步骤4将得到的偏振态数据转换成相应的密钥比特数据;

步骤5Alice和Bob对密钥比特进行后处理操作,最终生成安全密钥;

步骤6将量子密钥转换成本文算法所需的具有真随机性的量子密钥比特流QStream。

1.2 量子密钥组的逻辑结构

将量子密钥流QStream划分为3个量子密钥组:QKey1、QKey2和QKey3。设明文图像I的尺寸为M×N×L。其中M、N代表图像的宽、高,L代表颜色通道数。

1.2.1QKey1的逻辑结构

量子密钥组QKey1用于本文算法的第一重加密,分为QKey1.1、QKey1.2和QKey1.3三个部分。

QKey1.1用于确定QKey1.2和QKey1.3的长度,逻辑结构如图1所示。

图1 QKey1.1的逻辑结构示意图

图1中A=1,2,…,2n1;B=1,2,…,2n1,A和B由n1位二进制序列转换成十进制数并加1得到。其中,

n1=2⎣log2⎣log2min(M,N)」」

(1)

QKey1.2用于第一重加密的第一步加密过程,逻辑结构如图2所示。

图2 QKey1.2的逻辑结构示意图

图2中,Angle(i,j,k)代表图像k通道中第i行第j个分块所对应的Angle值,Angle(i,j,k)=0,1,2,3;i=1,2,…,n2;j=1,2,…,n2;k=1,2,…,L。其中,

(2)

QKey1.3用于第一重加密的第2步过程,逻辑结构如图3所示。Dir1(i,j,k)=0,1;Dir2(i,j,k)=0,1;STEP(i,j,k)=1,2,3,…,n3-1;i=1,2,3,…,n3;j=1,2,3,…,n3;k=1,2,…,L;Dir1(i,j,k),Dir2(i,j,k)和STEP(i,j,k)是指图像k颜色通道中第i行第j个分块所对应的Dir1、Dir2和STEP值。其中:

(3)

(4)

图3 QKey1.3的逻辑结构示意图

1.2.2QKey2的逻辑结构

量子密钥组QKey2用于本文算法的第二重加密,其逻辑结构如图4所示。ban(i,j,k)=0,1,2,3; col(i,j,k)=0,1,2,3,并且col(i,j,k)≠ban(i,j,k);O(i,j,k)=1,2,…,M;P(i,j,k)=1,2,…,N;ban(i,j,k),col(i,j,k),O(i,j,k)和P(i,j,k)是指图像k颜色通道中第i行第j个分块所对应的ban,col,O和P值;i=1,2,…,M;j=1,2,…,N。

图4 QKey2的逻辑结构示意图

1.2.3QKey3的逻辑结构

量子密钥组QKey3用于本文算法的第三重加密,其逻辑结构如图5所示。

图5 QKey3的逻辑结构示意图

图5中n5为明文图像I的位深,n6,n7的取值如式(5)(6)所示。

(5)

(6)

2 图像的三重加密算法

本文算法对尺寸为M×N×L的明文图像I的加密算法结构如图6所示。

图6 加密算法结构框图

2.1 数字图像像素分块加密

为了提高加密效率,采用对明文图像I划分区块分块加密的策略。

步骤1预处理。根据QKey1.1中A值和B值确定Imax块与Imin块的尺寸,其中Imax=max(A,B),Imin=min(A,B);

步骤2Imax块块内加密。把明文图像I按Imax分块后,将每一块都进行如式(7)的转换:

Angle(i,j,k)·90°)

(7)

步骤3Imin块块间加密。把图像I′按Imin分块后,如果Dir1(i,j,k)=0,将I′第i行的每一块都进行如式(8)(9)的转换:

(8)

step=mod(j+(-1)Dir2(i, j,k)×STEP(i,j,k),

Dir2(i,j,k)+(-1)Dir2(i, j,k)×(n3+1))

(9)

如果Dir1(i,j,k)=1,将I′第j列的每一块都进行如式(10)(11)的转换:

(10)

step=mod(i+(-1)Dir2(i, j,k)×STEP(i,j,k),

Dir2(i,j,k)+(-1)Dir2(i, j,k)×(n3+1))

(11)

2.2 图像RGB矩阵加密

Begin

if ban(i,j,k)=0 or

(ban(i,j,k)=1 & col(i,j,k)≠0) or

(ban(i,j,k)=2 & col(i,j,k)=3)

then exchange(I1′(i,j,k),I1′(O(i,j,k),P(i,j,k),col(i,j,k)))

elseif ban(i,j,k)=1& col(i,j,k)=0

then exchange(I1′(i,j,k),I1′(O(i,j,k),P(i,j,k),1))

elseif (ban(i,j,k)=2&col(i,j,k)≠3) or

ban(i,j,k)=3

then exchange(I1′(i,j,k),I1′(O(i,j,k),P(i,j,k),col(i,j,k)+1))

End

其中,exchange( )的作用是交换像素值。

① 读取QKey2中的2 bit确定ban(i,j,k)值;

② 读取QKey2中的2 bit设为col(i,j,k)值;

③ 判断col(i,j,k)与ban(i,j,k):

如果col(i,j,k)= ban(i,j,k),则col(i,j,k)从当前在 QKey2的位置开始,以2 bit为窗口向后滑动1 bit,重复②③直至col(i,j,k)≠ban(i,j,k);

如果col(i,j,k)≠ban(i,j,k),则结束该过程,进行算法中的下一步。

由上述过程可看出,在不知道QKey2具体内容的情况下,无法知道加密图像所需要的总密钥量。因此,本文算法具有不定长量子密钥的特性。

2.3 DWT低频系数加密

对图像进行Haar小波基函数的一级二维离散小波(DWT)变换后可得到图像的4个频带:LH、HL、HH、LL。LH、HL、HH分别含有水平、垂直、对角方向的高频边缘信息,LL则留存了原图像的概貌和空间特性,将低频系数矩阵置乱加密可有效提高安全性[13]。本算法选择对低频分量进行加密处理,具体加密操作如下:

步骤2对低频系数LL做如式(12)的转换:

LL′(i,j,k) = bitxor(EL(i,j,k),fix(LL(i,j,k)))+

LL(i,j,k)-fix(LL(i,j,k))

(12)

式中:bitxor( )作用是进行按位异或;fix( )作用是截取整数;i=1,2,3,…,n6;

步骤3通过逆离散小波变换重构LL′,LH,HL,HH获得密文图像。

2.4 解密过程

解密过程为加密过程的逆操作,方法如下:

步骤1先将变换域低频系数值与QKey3进行异或,恢复变换域低频系数值;

步骤2然后根据QKey2恢复像素点的位置;

步骤3最后对像素块加密进行恢复;

步骤4获得解密图像J,且J=I。

2.5 基于QKD的加解密计算与密文传输机制

如图7所示,QKD系统通过量子信道产生密钥并存入密钥池,通信双方(Alice与Bob)得到相同的安全密钥;经典通信系统从密钥池中读取密钥,发送给加密计算程序制备量子密钥流Qstream。密文图像通过经典信道从加密端传输到解密端,双方因具有相同的量子密钥,基于本文算法能够实现图像的加解密计算。整个过程采用量子密钥分发技术,确保密钥的安全,即使密文被截获,在无法得到密钥的前提下也无法被解密。

图7 基于QKD的加解密过程框图

3 仿真实验

实验在Matlab R2018b的环境下进行,使用的明文图像分别是Lena、Baboon和Pepper,尺寸均为512×512×3,位深为8的RGB彩色图像。结合本文算法使用量子密钥对3幅图像分别进行加密处理,如图8所示。其中(a)(b)(c)为明文图像,(d)(e)(f)为密文图像。

图8 彩色明文图像与密文图像

以Baboon为例,给出了本文算法的加密过程性结果。如图9所示,在每一次加密处理后,RGB的颜色都更加平均,逐级增加了加密深度。

图9 Baboon的加密过程图像

4 性能分析

4.1 直方图分析

直方图能够反映图像像素值的分布情况,理想密文图像的直方图应呈均匀分布。Baboon明文图像和密文图像的直方图如图10所示。

从图10可以看出,Baboon明文图像RGB 3个颜色通道的直方图(a)(b)(c)数据分布不均,有多个明显的波峰和波谷;但密文图像3个颜色通道的直方图(d)(e)(f)分布均衡,没有明显的波动。

图10 Baboon明文图像和密文图像的直方图

4.2 密钥不定长性能测试

用本文算法对Lena图分别进行5次加密,消耗的密钥量分别为192 273 892 bit、19 611 912 bit、28 213 437 bit、19 267 839 bit和21 159 763 bit。其中消耗的密钥量最少差距6 053 bit,最多差距8 945 598 bit。算法使用的密钥量不确定性明显,可有效抵御穷举攻击。

4.3 密文图像的NIST统计测试

为了评判本文算法的加密有效性,将最终的密文图像转换为二进制序列,采用NIST[14](national institute of standards and technology)随机性能检测方法进行评判与分析,同时引入文献[15]作为对比参照,计算结果如表1所示。可以看到,除近似熵、快速小波变换及频率3项中的部分值低于文献[15]外,其他指标均高于文献[15]。可见,量子密钥的融入使该算法产生的密文图像在像素值层面具有良好的随机性,间接提高了算法的安全性。

表1 密文图像的NIST统计计算结果

4.4 抗差分攻击分析

差分攻击即利用所提出的加密算法加密对原始图像作微小改变的新图像,观察对比原密图与新密图之间的差别,从而得出新旧密图之间的关系[16-17]。通常采用归一化像素值平均改变强度UACI(unified average changing intensity)和像素数改变率NPCR(number of pixels change rate) 来衡量加密算法对明文的敏感性,敏感性越高,算法抗差分攻击的能力越强[16]。相关计算式为:

(13)

式中:相同像素点坐标(i,j)的原始密文图像与新密文像素值一致时D(i,j)=0,否则D(i,j)=1。

(14)

实验中,将原图像的一个像素值进行改动后得到新明文图像,分别用本文算法进行加密处理,得到2个密文图像:即原来的密文图像和像素值调整后得到的新图像的密文图像。采用式(13)和(14)计算得出NPCR和UACI值,结合文献[15],得到表2。

表2 NPCR和UCAI值

由表2可以看出,加密后密文图像各RGB通道的NPCR值均在99%以上,UACI值均在33%以上。该结果表明:即使对原始图像进行细微的改动处理,通过本算法进行加密后,得到的密文图像也会有十分明显的差异,从而证明了本文算法对于差分攻击有较强的抗性。

5 结论

提出了一种基于量子密钥的RGB彩色图像的三层加密算法。算法融合了图像空间域和变换域理念,设定了不确定密钥长度的算法特性,使该算法在面临差分攻击时表现出更优秀的抗性;同时,量子密钥的融入使该算法产生的密文图像在像素值层面具有良好的随机性和安全性,通过对加密图像的随机性统计测试,验证了算法的有效性。然而本文算法在多方面表现突出的同时,普适性尚有待提升,这也是后续工作的主要方向。

猜你喜欢
分块明文密文
面向量化分块压缩感知的区域层次化预测编码
钢结构工程分块滑移安装施工方法探讨
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
嵌入式异构物联网密文数据动态捕获方法
一种面向不等尺寸分块海量数据集的并行体绘制算法
一种新的密文策略的属性基加密方案研究
分块矩阵初等变换的妙用
奇怪的处罚