基于正弦反馈Logistic混沌映射的图像加密算法及其FPGA实现

2022-01-04 09:45李春彪赵云楠李雅宁孔思晓
电子与信息学报 2021年12期
关键词:数字图像密文正弦

李春彪 赵云楠 李雅宁 孔思晓

(南京信息工程大学电子与信息工程学院 南京 210044)

1 引言

数字图像的安全传输和隐私保护在网络空间中易受挑战,而传统分组加密算法容易遭受穷举法的攻击。由于图像数据具有特殊格式,图像加密对加密效率有更高的要求。分组加密算法对图像的加密具有一定的局限性,故而常用于文字符号等信息的加密。大量的图像加密方案也将明文图像视为文本数据来处理[1],这使得传统分组加密算法的效率不够高。目前,先进的拍摄设备使数字图像具有大数据量和高冗余的特点,加之数字图像本身的相邻像素相关性高[2],分组加密算法难以削弱相邻像素相关性。

随着混沌理论的发展,人们将混沌理论引入密码学形成新的数字图像加密算法[3]。混沌具有遍历性、随机性和初值敏感性等特点,其混合和随机性类似于密码学的置换和扩散。混沌加密算法使得加密安全性更高、密钥空间更大、密钥敏感性更强,比传统加密方法更有潜力[4]。然而数字图像的混沌加密算法也面临着安全性能方面的挑战。基于混沌系统的伪随机序列发生器存在一定的弱随机性[1]。

典型的Logistic映射的数学表达式简单但动力学特性复杂。文献[5]从离散序列和相对熵的理论中分析了Logistic映射的时间不可逆性、初值敏感性、混沌状态程度等特性,因而可以采用Logistic映射或者改进Logistic映射来加密数字图像。文献[6]采用了典型的Logistic映射进行数字图像加密,该方法能够实现良好的加密效果,但密文图像的灰度直方图不平坦,加密效果欠佳;文献[7]改进Logistic映射并基于初始值与控制参数之间存在的关系对变量域进行分段处理,扩大了混沌域;陶红[8]试着将典型的Logistic映射与其他加密方式相结合来改善加密效果。上述加密方式均基于单一混沌映射进行数字图像加密。

本文在经典Logistic映射中引入正弦反馈,构成新的映射关系,并对生成的伪随机序列进行预处理,增强其伪随机性,削弱伪随机序列发生器的弱随机性造成的弊端。使用NIST随机数测试法测得加密序列的伪随机性较好。FPGA系统稳定性高,可用电路直观表达逻辑,且成本较低[9]。利用FPGA进行加密处理,数据稳定性更强,逻辑更清晰。本文使用FPGA平台,实现本文提出加密方案,加密效果较好。

2 引入正弦反馈的Logistic映射

2.1 映射数学模型

基于Logistic映射[10],引入正弦函数,构建出新的1维混沌映射,其函数如式(1)所示

其中,k为系统数且k ̸=0。

2.2 一次映射不动点稳定性分析

已知新的混沌映射函数式(1),存在不动点xf,xf满足方程

解得

2.3 分岔图与Lyapunov指数分析

在初值为x0=0.1的情况下,计算状态量x(n)的分岔图和Lyapunov指数谱,如图2所示。从图中可以看出引入非线性正弦因子的Logistic混沌系统的混沌区域大,使用该混沌系统能得到更宽的加密区间。Lyapunov指数表征了一个系统的混沌属性[13]。比较分岔图与Lyapunov指数谱,可以看出分岔图在最大Lyapunov指数为零时便会进入新的分岔。可以看出引入正弦因子的Logistic混沌系统的Lyapunov指数大于零的范围很宽,总的密钥空间也较大。当k=3.584时,混沌分岔图开始分岔,从周期1进入周期2;当k=4.428时,从周期2进入周期4,当k=4.627时,从周期4进入周期8,并继而进入混沌态。

图1 蛛网结构图

图2 分岔图和Lyapunov指数谱图

2.4 敏感性分析

密钥敏感性表征了密码系统的安全性能[14]。敏感性高表明了密钥微小的扰动便无法解密密文图像。引入非线性正弦因子的Logistic混沌系统的敏感性如图3所示。根据新混沌系统的系统方程,设初值x0=0.1,系统参数k=4.9,改变初值为0.1+10−4,0.1+10−8,0.1+10−12,迭代计算100次;设初值x0=0.1,系统参数k=4.9,改变系统参数为4.9+10−4,4.9+10−8,4.9+10−12,迭代计算100次。仿真得出的波形如图3所示。从图3中可以看出,密钥一旦发生微小变化,迭代次数n增加后,密钥序列变得完全不同,在图中表现为两条曲线的重合度。可见,密钥敏感级别可达到10−12甚至更高的级别。

图3 敏感性测试

3 加密性能测试

引入非线性正弦因子的Logistic混沌系统产生一个范围在[0,1.6]的加密序列。该序列中可能存在大量相似数据。所以先对该加密序列进行预处理,增强该加密序列的伪随机性,增强过程如式(6)所示。

其中,mod()和 round()分别为取余和取整运算。该运算先将加密序列扩大取整,再取余计算,得到一组在[0,255]内的加密序列[15]。该预处理将加密序列放大取整,避免小数过多影响加密效果,并增强伪随机性。加密/解密流程如图4所示。密文图像呈现噪声样式,无法解读有效信息。解密图像可以恢复明文信息。

图4 引入正弦因子的Logistic加密解密过程

3.1 伪随机性能测试

NIST发布的“随机数和伪随机数发生器统计测试组件”能全面地分析伪随机序列的性能,具有频率测试等15个测试的维度[16],测试样本为二进制。NIST对每个测试项都会生成P_value,当P_value>0.01时,则该测试通过;当P_value≤0.01时,则该测试不通过[17]。本文采用NIST推出的STS 2.1.2 (Statistical Test Suite 2.1.2)版本进行测试。

控制引入非线性正弦因子的Logistic混沌系统生成一组有262144个十进制数的伪随机加密序列,为保证混沌效果,取后131072个数据并转化成二进制文本。在STS界面设置100个大小为10000的数据块,进行标准1-13的测试。再控制该混沌系统生成一组含有37500000个十进制整数的伪随机加密序列,取后18750000个十进制数,二进转化后进行标准14-15的测试。NIST测试结果如表1所示。被测伪随机加密序列通过了15项NIST测试,且通过率均在97%以上,这表明该伪随机加密序列具有较好的伪随机性能。

表1 NIST标准伪随机测试结果

3.2 密钥空间大小

本文所提出的引入非线性正弦因子的Logistic混沌加密系统的密钥为K={x0,k}。在敏感性初值测试中,系统敏感性可达到10−17,密钥的步进大小为10−18,每个密钥由两个参数构成,计算可得该密钥空间大小为1034≈2114。由于2120>2100,可以判断,该密钥空间对穷举法攻击具有足够的防御性[18]。

3.3 信息熵测试

热力学采用熵值来表征物质状态的无序性。类比热力学,信息源信息的不确定度可由信息熵表示。信息源的熵值越大、紊乱程度越高,可接受信息越少。理论上,256灰度级完全随机图像的信息熵H为8。信息熵的计算公式如式(7)所示。式中K表示突出的灰度级个数,f(i)表示灰度i在所有灰度中出现的概率[19]。

本文采用密钥K={0.1,5},以一副256灰度级的Lena图像为例,计算其明文和其密文的信息熵,其计算结果列于表2中。由表2可知,密文图像的信息熵为7.9987。引入正弦因子且对伪随机序列进行预处理之后再加密,密文图像具有较高的信息熵,图像加密性能更加优越。

表2 信息熵实验结果

3.4 密文统计特性测试

选取密钥K={0.1,5},利用引入非线性正弦因子的Logistic混沌加密系统和典型的Logistic混沌加密系统对图像进行加密,绘制出密文图像的灰度直方图,如图5和图6所示。和典型Logistic混沌加密系统相比,引入非线性正弦因子的Logistic混沌加密系统得到的加密图像的直方图更加平滑,加密性能更优越。

图5 新混沌加密系统统计特性

图6 典型Logistic混沌加密系统统计特性

3.5 根据相邻像素相关性分析

图像的相邻两个像素主要分散于水平、垂直和对角线方向。加密后的图像相关性小才能掩盖原信息以防止信息泄露。计算公式如式(8)所示,从图像矩阵中随意抽选N对相邻像素点的像素值,分别记为xi和yi[20]。

挑选8000对不同位置的相邻像素点,计算相邻像素相关系数并进行可视化处理。结果如图7、图8和表3所示。明文图像的相邻像素值呈现线性关系,相关性强;密文图像的相邻像素值均匀分布,相关性差。

表3 图像的相邻像素相关性

图7 明文各方向相关系数

图8 密文各方向相关系数

3.6 密钥敏感性测试

上文的敏感性分析已表明引入非线性正弦因子的Logistic混沌加密系统具有密钥敏感性。本节通过改变密钥初值x0来测试密钥敏感性。以密钥K={0.1,0.4}进行加密。则密钥x0=1.0+10−15无法解密,密钥x0=1.0+10−17解密成功。这表明密钥出现微弱扰动便无法解密图像,十分敏感。如图9与图10所示。

图9 密钥为x0 =1.0+10−17时的解密过程

图10 密钥为x0 =1.0+10−15时的解密过程

4 FPGA加密和解密实现

4.1 硬件平台介绍

本文采用的FPGA硬件实现平台为Altera的以Cyclone IV EP4CE15F17C8N为核心的开发平台。其开发环境为Quartus II 13.1。该FPGA配置了EPCS4芯片。其VGA接口驱动采用了专用的ADV7123转换DA芯片。

4.2 加密/解密结构介绍

该加密/解密系统采用FPGA开发板的VGA显示驱动、ROM存储、JTGA下载功能。整个框架包含混沌加密序列发生模块、图像存储控制模块、程序下载模块和VGA显示模块。通过JTGA接口将程序固化进FPGA的Flash。加密时,从ROM中读取图像数据和混沌加密序列,进行异或运算并通过VGA接口,将原图、密文图像和解密图像依次显示在显示屏上。该混沌加密系统的结构框图如图11所示,解密系统结构框图如图12所示。

图11 系统加密结构框图

图12 系统解密结构框图

加密系统的RTL如图13所示。其中clk为50 MB系统时钟;rst_n为复位信号;vga_vs和vga_hs是VGA显示器的行场扫描信号;vga_rgb(lcd_data)为输出的加密图像信号;image_data为原始图像的信号;8位的信号pixel_data经过8到16位VGA信号转换得到16位的vga_rgb信号输出。

图13 加密系统RTL图

解密系统的RTL图与加密系统RTL图类似,如图14所示,在加密系统RTL图中增加一次异或运算得出解密信号。图14中的pixel_data为解密图像信号。

图14 解密系统RTL图

4.3 硬件实现加密时序图分析

Quartus II具有嵌入式逻辑分析仪(signal tap),它能方便地抓取模块中的信号,方便开发者对各个信号的时序进行查看。本加密系统的Signal Tap图由图15所示。图中a信号为原始图像信号,b为密文图像信号,c为解密后图像信号。从图15中可以看出,原始图像信号和解密图像信号完全相同,较好地实现了加密的效果。

图15 Signal Tap时序图

4.4 FPGA加密结果

基于FPGA的混沌加密结果如图16所示。图16所展示的为完整加密过程的FPGA实验结果及VGA显示图。从图中可以看出FPGA硬件实现的图像结果与上文理论仿真一致,从而表明本文所提出的加密方案实际可行。

图16 FPGA实验结果VGA显示图

5 结束语

本文在经典的Logistic映射基础上,引入非线性正弦反馈从而构建得到一种新的混沌系统。基于新的混沌映射,产生混沌加密序列,并对混沌加密序列先进行处理增强其伪随机性,再进行数字图像的加密运算。利用NIST测试组件对混沌加密序列的伪随机性进行测试。数值仿真结果可见,本文所提出的新的数字图像加密算法能够较好地实现数字图像加密,具有密钥空间大、加密安全性高、计算简单等特点。在FPGA中,该加密方法也能得到较好的实现。

猜你喜欢
数字图像密文正弦
正弦、余弦定理的应用
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
ARGUS-100 艺术品鉴证数字图像比对系统
“美”在二倍角正弦公式中的应用
一种基于密文分析的密码识别技术*
正弦、余弦定理在三角形中的应用
基于块效应测度的JPEG数字图像盲取证
数字图像修补技术的研究进展与前景展望
基于VSG的正弦锁定技术研究