基于蔡氏电路和压缩感知的图像压缩加密方法
2021-08-23马啸宇张金生
马啸宇,张金生,李 婷
(火箭军工程大学导弹工程学院,陕西 西安 710025)
0 引 言
近年,随着信息技术的飞速发展以及数据规模的不断扩大,提高信息采集的效率成为了亟待解决的问题。各种新的信号处理方法被逐步提出,其中最具有代表性的就是于2006年所提出的压缩感知理论。在压缩感知理论中,任意一个信号都可以进行压缩观测,从而突破了Nyquist采样定理的限制[1-3]。该理论实质上是将信号采集端的计算压力转移到信号处理端,从而极大提高了信号采集的效率。压缩感知在信号采集端性能受限的领域具有很大的应用前景,如遥感系统、雷达成像、核磁共振成像、森林火灾预警等[4-7]。
压缩感知理论主要可以分为信号稀疏表示、压缩观测和重构算法3个部分[8-10]。信号稀疏表示主要采用离散傅里叶变换、离散余弦变换、离散小波变换等作为稀疏基[11]。重构算法主要分为两类,一是凸优化算法,如内点法、基追踪法等,通过最小化l1范数转化为线性规划问题进行求解,具有很高的重构精度,但计算量很大;二是贪婪算法,主要有匹配追踪、正交匹配追踪、正则化正交匹配追踪等,计算量较小,但需要稀疏度先验信息[12]。如今压缩感知的研究主要集中在观测矩阵的构造方面,观测矩阵主要分为确定性矩阵和随机性矩阵两类,确定性矩阵易于硬件实现,但只针对于特定种类的信号具有较好的重构效果。随机性矩阵具有较高的适应性,但由于难以在硬件上产生质量较高的随机数而应用较少。
为提高随机观测矩阵在硬件上的可行性,不少学者都对将混沌理论应用于压缩感知进行了研究。文献[13]中利用混沌随机序列构造了近似服从高斯分布的观测矩阵,同时通过实验证明了其具有良好的信号重构效果,文献[14]研究了不同于一维Logistic混沌系统以及伯努利分布的观测矩阵构造方法,文献[15]也利用混沌信号生成了观测矩阵,同时验证了其满足约束等距性质(restricted isometry property,RIP)。但上述文献研究内容主要都集中在分析混沌序列构建观测矩阵的性能上,很少对实际硬件实现效果进行研究。因此,本文研究了基于四阶蔡氏电路的混沌观测矩阵构建方法,能够有效提高压缩感知理论的实用性能。
当前除提高信号传输效率以外,安全性也是一个重要的研究问题。本文在对信号进行压缩采样之后,利用事先生成的伪随机序列对信号进行置乱加密和灰度加密,从而形成了有效的信号压缩加密方法。
1 基本原理
1.1 压缩感知理论
对于一个原始信号x(x∈RN),假设其在一组正交基Ψ下的系数向量为z,则该信号可表示为
x=Ψz
(1)
式中:z为信号x在正交基Ψ下的系数向量。若z中只有K个元素非零或其他元素趋近于零,则称该信号在基Ψ下是K稀疏的,Ψ称为稀疏字典,因此z=ΨTx。此时如果使用一个大小为M×N的观测矩阵Φ对原始信号进行观测,则观测得到的信号y可表示为
y=Φx=ΦΨz
(2)
该方程组未知数的个数大于方程个数,一般情况下无法求解,但当M小于K时,可以通过最优化l0范数的方法对该问题进行求解。
min‖ΨTx‖0s.t.y=Φx=ΦΨz
(3)
为解决式(3)中的优化问题,观测矩阵Φ和稀疏基Ψ需要满足一定的条件,因此两个矩阵之间的关联性可以定义为
(4)
1.2 蔡氏电路
20世纪80年代,蔡氏电路由美国贝克莱大学的蔡少棠所发明[16-18],由于蔡氏电路可表现出标准的混沌理论行为以及电路制作容易而得到广泛应用。四阶蔡氏电路是在三阶蔡氏电路基础上建立的,根据基尔霍夫定律,其状态方程为
(5)
式中:f(VC1)为流过分段线性电阻N的电流IN,其伏安关系为
IN=f(VC1)=G1VC1+0.5(G0-G1)·
(|VC1+10E|-|VC1-10E|)
(6)
式(6)为有量纲状态方程,难以进行分析,因此转化为无量纲状态方程。
令t=τ/RC2,x=VC1/E,y=VC2/E,z=RiL/E,w=VC3/E,则式(5)可变为
(7)
式中:
(8)
式中:a、b、γ1、γ2为系统参数。从式(8)中可以看出,方程组中有4个自变量,细微的变化就会对系统产生巨大的影响,下文中将利用此特性产生每幅图像对应的特定密文。
2 基于蔡氏电路的信号压缩加密方法
2.1 混沌观测矩阵构建
为构建符合实验要求的观测矩阵,本文采用上述四阶蔡氏电路作为信号源,将模拟信号化为二进制随机数,从而构成混沌随机矩阵。具体实现过程如图1所示。
图1 混沌观测矩阵压缩感知流程Fig.1 Compressed sensing flowchart of chaotic observation matrix
为产生符合要求的随机序列,利用8位ADC进行蔡氏电路产生的模拟信号采集,具体方法为:首先对混沌信号进行8位模数转换,之后进行移位逻辑运算,最后选择其中的有效位数作为二进制输出信号。该方法的优点在于在固定的采样速率下,每次采样都选取更多的有效随机位数,保证数据随机性的同时提高了随机数的产生速率。
为在使用一个信号源以及节约ADC采集资源的情况下进一步提高随机数的性能,本文同时对采集后的信号进行数字移位差分处理,即将原始8位信号右移4位后与原信号进行异或,获得最终的随机序列。图2为移位差分的具体原理。
图2 数字移位差分示意图Fig.2 Schematic diagram of digital shift difference
2.2 图像加密
文中主要对二维图像的加密进行具体地研究。对于经过混沌观测矩阵降维采样后的图像,结合蔡氏电路生成的伪随机序列,通过图像预处理、灰度加密和置乱扩散后生成最终的加密图像。具体过程如图3所示。
图3 图像加密流程图Fig.3 Flowchart of image encryption
2.2.1 图像预处理
在图像加密前,需要对压缩采样后的图像进行预处理。本文研究的图像大小都为256×256,使用的观测矩阵大小为64×256,即压缩采样后图像大小为64×256。为方便后续处理,将采样图像划分为8×8的图像块即分成256个同样大小的图像块。具体方法如下。
(1)设采样图像为I,将其按照光栅扫描的顺序转化成一维向量T=[t1,t2,…,t64×256]。
(2)设x0,y0,z0,w0为混沌系统初始系统参数,利用SHA-256算法对明文图像生成特定的消息摘要作为扰动因子,对蔡氏电路初始系统参数进行扰动,从而使得混沌系统产生的密钥与明文图像有一定的相关性,以提高算法对于已知明文攻击和选择明文攻击的抵抗能力。由于SHA-256算法生成的是256位2进制密钥G,将其分为32个子密钥,每部分的长度为8位,即G=[g1,g2,…,g32],随后利用式(9)更新混沌系统初始值。
(9)
(3)利用第2.1节的方法构建4个大小为64×256的混沌观测矩阵P1、P2、P3、P4用于后续加密过程。
2.2.2 灰度加密
设Xmn表示大小为m×n的压缩采样图像,Y=(yij)mn,yij∈[0,1]是原始图像按像素值归一化后的图像。灰度加密通过对Y进行下面2个变换变换实现。首先对Y进行点乘方和恒等变换,方法可表示为
M=α1Y∧k+α2P
(10)
式(10)具有唯一的逆变换:
Y=((T-α2P)/α2)∧k
(11)
式中:α1,α2,k为可变参数,此变换的参数空间为Ω=(k,α1,α2,H)。
而后进行灰度处理,即
(12)
2.2.3 置乱加密
本文使用位级同步置乱扩散的方法进行置乱加密[19]。首先,将混沌观测矩阵P1、P2、P3、P4进行分解生成位级密钥流;其次将压缩采样的图像同样按照二进制进行位平面分解;再次对高4位和低4位平面分别进行循环位移以及异或操作;最后利用参数传递的方法进行图像块之间的扩散。具体方法步骤如下。
步骤 3利用密钥P′对二进制图像块Y进行加密,设经过加密后的中间密文图像为Z={z1,z2,…,zi,…,z256},zi表示第i个二进制图像块。对zi的高四位和低四位分别进行循环左移l位。
(13)
步骤 4对第i个二进制图像块进行扩散加密,方法为
i=1,2,…,256
(14)
i=1,2,…,256;j=2,3,…,4×64
(15)
(16)
步骤 5重复进行步骤3~步骤4,所有图像块完成加密后转换为初始十进制m×n大小图像,生成最终加密图像。
2.2.4 图像解密
图像加密的逆过程即为解密过程。
3 实验结果及分析
3.1 随机序列性能分析
本文利用NIST测试结果来验证上述方法生成的随机序列的随机性,测试数据为1 000组长度为1 000 000的0/1随机序列,结果如表1所示。
表1 NIST测试结果Table 1 Test result of NIST
从表1可以看出,通过文中方法生成的随机序列通过了全部的测试指标,其中P为NIST测试输出的评价指标,当其大于0.01代表序列为随机序列,Proportion为1 000组随机数实验样本全部通过测试的成功率,可以看到各项指标成功率都在97%以上,能够满足实际应用的要求。
3.2 混沌观测矩阵性能分析
为了检验文中方法所构建混沌观测矩阵实际性能,与高斯随机矩阵和伯努利随机矩阵进行对比实验,采用峰值信噪比(peak signal-to-noise ratio,PSNR)、平均绝对误差(mean absolute error,MAE)和均方根误差(root mean square error,RMSE)作为评价指标。对其在二维信号重构中的效果进行实验分析。
为检验文中观测矩阵对二维信号的重构效果,采用256×256的Lena图像作为原始图像,离散小波变换作为稀疏矩阵,检验其在不同的采样率下的重构结果。使用25%的采样率,各观测矩阵效果如图4所示。
图4 不同观测矩阵图像重构效果对比Fig.4 Image reconstruction effects comparison of different observation matrixes
从图4中可以看出,文中构建的混沌随机矩阵对于二维信号能够取得与高斯随机矩阵相近的重构效果。同时,本文选择了10幅256×256的图像对观测矩阵性能进行分析,在采样率为25%、12.5%、6.25%下分别实验;为保证实验结果的稳定性,各项指标都重复进行100次计算,最终计算的各指标平均结果如表2~表4所示。从表2~表4可以看出,在各种采样率下,文中生成的混沌随机矩阵3种评价指标的结果均优于高斯随机矩阵,达到了最初实验设计的目标。
表2 25%采样率下各观测矩阵重构图像性能比较Table 2 Comparison of reconstructed images performance of observation matrix under 25% sampling rate
表3 15%采样率下各观测矩阵重构图像性能比较Table 3 Comparison of reconstructed images performance of observation matrix under 15% sampling rate
表4 6.25%采样率下各观测矩阵重构图像性能比较Table 4 Comparison of reconstructed images performance of observation matrix under 6.25% sampling rate
3.3 信号加密性能分析
实验平台为Matlab R2014A,为验证文中方法对图像的加密效果,同样对大小为256×256的灰度图像“Lena”进行压缩加密。其压缩观测以及加密后的图像如图5所示。
图5 Lena图像加密解密结果Fig.5 Encryption and decryption results of Lena image
真实的图像往往相邻像素点之间具有很强的相关性,因此只要削弱相邻像素之间的相关特征,就能够有效提高图像加密的性能,提高破译的难度。为检验文中方法对统计攻击的抵抗能力,与位级加密和像素级加密结合的算法、基于分块的位级加密与像素级加密相结合的加密算法,以及和遗传模拟退火算法和混沌系统的图像加密方法进行对比仿真分析。
对明文/密文图像对分别选取10 000对像素点,分别对其在水平、垂直、对角线方向的相邻像素间的相关性系数进行计算,其对比结果如表5所示。
表5 3个方向上的相邻像素相关性系数对比Table 5 Correlation coefficients comparison of adjacent pixels in three directions
Lena明文图像和加密图像在水平、垂直、对角线方向上的相邻像素相关性分布图如图6所示。从表5可以看出,明文图像的相关性接近于1,所有算法加密图像的像素相关性均远小于明文图像,文中方法加密图像的相关性系数略低于其他算法。从图6可以看出,明文图像在3个方向上的相邻像素大部分都位于一条直线上,具有很强的相关性,而加密后的图像几乎均匀分布在整个像素空间中,可以有效掩盖原图像的统计信息,说明具有较强的抵抗统计攻击能力。
图6 Lena明文图像和加密图像在不同方向的相邻像素分布Fig.6 Distribution of adjacent pixels in difference directions of Lena plaintext images and encrypted images
4 结 论
本文提出了一种基于蔡氏电路的图像压缩加密方法,该方法首先利用蔡氏电路生成的混沌信号经过8位量化采集和数字移位差分生成混沌随机序列,利用该序列同时生成随机观测矩阵以及加密密钥,能够在实现图像压缩观测的同时进行加密。实验结果表明,该方法既能在压缩时保留原图像绝大部分有效信息,又能保证信号传输的安全性,对提高信号的采集传输效率具有一定意义。