基于复合混沌的鲁棒型医学图像加密算法

2021-06-29 06:37高国静吕庆文
计算机与现代化 2021年6期
关键词:鲁棒加密算法密文

高国静,吕庆文

(1.南方医科大学生物医学工程学院,广东 广州 510508; 2.南方医科大学珠江医院信息科,广东 广州 510508)

0 引 言

医学图像是医疗与医学研究工作中的关键参考数据之一,主要对人体或人体中的某一个部位,以非侵入的方式取得内部组织结构图像的基础与处理过程[1]。为了在极端条件下保证医学图像中的有效信息不丢失,鲁棒型医学图像应运而生,这种医学图像能够在系统故障或有意攻击等情况下,最大限度地保留图像中的有效信息,维持图像的相对稳定性[2]。然而鲁棒型医学图像只能在一定程度上保护图像中的信息不受干扰,但当攻击程序较为复杂时,会出现图像被攻击和盗取的情况。

为了防止病人敏感信息的非法泄露,研究者投入了大量的人力、物力和财力用于图像信息的安全问题[3]。现如今取得了一定的研究结果,文献[4]运用Lorenz混沌映射置换像素值产生随机DNA掩码,根据Logistic映射随机得到1种DNA编码,并逐一编码图像,再采用DNA同步运算,随机决定1种DNA运算后解码,即可得到加密图像。文献[5]根据Logistic映射生成控制参数,采用改进Arnold变换,全局置乱后分块置乱原始图像,计算置乱后图像相邻的像素间距,交叉换位后即可获得加密图像。文献[6]设计一种高效的一维复合混沌系统,提出混沌映射方程SPM,通过结合Sine映射和PWLCM映射,扩大了混沌映射的范围,采用SPM映射生成的伪随机序列加密图像,给定密钥生成序列置乱图像再进行扩散像素,重构置乱结果得到加密图像。然而在应用过程中发现传统的加密算法可以实现快速无损加密,但存在一定的安全缺陷,当出现特定盗用和明文攻击时,容易出现图像丢失的现象。

为了解决传统加密算法中存在的问题,本文使用了复合混沌的概念,复合混沌是2个或2个以上的混沌系统进行复合形成的新的混沌系统,混沌现象是发生在确定性系统中的一种不确定行为。利用复合混沌系统可以实现医学图像中稳定状态与不稳定状态之间的转换[7]。复合混沌系统中的轨道发散特性与初值敏感性对应的密码学中的扩散原则,而内随机性则对应着置乱原则,因此复合混沌系统与密码学之间存在着天然的对应关系[8]。鉴于复合混沌系统在普通的数字图像加密算法中具有较高的应用效果,因此本文将该系统应用到医学图像的加密算法中,解决传统加密算法运行过程中存在的问题,从而提升图像加密结果的安全性和加密效率。

1 鲁棒型医学图像加密算法设计

鲁棒型医学图像具有高分辨率、高精度和数据量大的特点,因此在图像的加密过程中要求算法具备较高的运行效率和速度[9-11]。复合混沌系统同时具备了高维混沌系统安全性高和低维系统加密速度快的优点,通过加密序列与鲁棒型图像进行异或操作,实现对图像的加密与解密[12]。一般加密算法的基本过程是对明文的文件或数据按照某种算法进行处理,使其成为不可读的一段代码。假设需要加密的鲁棒型医学图像I的大小为M×N的256级灰度图像,其中M和N分别为图像中水平与竖直方向上的像素数量,则利用复合混沌系统设计的图像加密算法流程如图1所示。

按照图1中的流程,分别利用复合混沌系统中对初值和系数的极端敏感性特点,将初始条件或参数作为密钥,将医学图像中的数据信息作为复合混沌系统的参数或初始值,并设置有限次数的迭代,获取随机序列,实现图像信息的扩散,从而实现对鲁棒性医学图像的加密。

图1 鲁棒型医学图像加密算法流程图

1.1 设置图像密文反馈机制

为了提高鲁棒性医学图像加密算法的安全性,在加密工作过程中引入密文反馈机制,该机制的具体设置与运行情况如图2所示。

图2 密文反馈加密示意图

定义E(0)为医学图像的明文数据流,而图像的加密序列用E(i)来表示,则在加密工作中密文的正向反馈可以表示为:

(1)

其中,i为任意一个图像数据,且i不为0。公式(1)中D(0)和D(i)分别为第一个图像数据和非首个图像数据对应的正向反馈表达式[13]。为了保证图像中最后一个像素点能够得到反馈作用,反向反馈的表达式为:

(2)

式中,i′为医学图像中的最后一个图像数据。在这种反馈机制的约束下,能够将图像中的微小变化无限扩大并扩散,从而增加图像加密效果和算法的安全性。

1.2 读取鲁棒型医学图像

鲁棒型医学图像的读取方式分为2种,一种是从现有的医院或医疗数据库中直接读取,在读取的过程中需要将三通道的图像转换为单通道图像[14]。而另外一种方式就是通过医疗扫描设备中的DCMTK开源项目读取,初始化医疗扫描仪器以及驱动环境,遍历得到设备列表,根据设备的序号连接对应的扫描设备。当设备读取一组图像数据后,自动跳转到中断回调函数,输出鲁棒型医学图像的读取结果[15-17]。其中使用医疗扫描设备实现图像读取对应的表达式为:

Im=imread(′Medical image data.jpg′)

(3)

公式(3)中imread()表示的是图像读取函数。

1.3 构建复合混沌模型

复合混沌模型的建立应该符合以下条件,其中包括:模型具有良好的迭代性能,混沌模型的结构较为稳定,具有较大的参数集。在此基础上确定复合混沌模型的表达式为:

(4)

其中,x、y和z分别为模型中的三阶无量纲变量,a、b和c为复合混沌模型的控制参数,当3个控制参数同时应用时,能够使图像加密序列的设计更加灵活,假设a、b和c的取值分别为10,3/8和28,那么复合混沌模型有3个平衡点分别为:

(5)

由模型中的平衡点领域内线性运动的特征求得特征值,并确定S0为模型的鞍点,S1和S2分别表示模型的不稳定焦点[18]。除了模型框架之外,还需要选择复合混沌模型中的映射,Logistics映射对应的方程为:

xn+1=μxn(1-xn)

(6)

式中,xn为复合混沌模型中的混沌变量,μ为控制混沌模型形态的参数,其取值范围为[0,4]。在Logistics混沌映射作用下,生成的复合混沌序列具有非周期的、不收敛的特点。

1.4 生成复合混沌序列

图3 复合混沌序列生成示意图

为了避免复合混沌序列在生成过程中出现的同一个混沌模型生成过程的序列,降低整体混沌序列复杂度的情况,需要限制复合混沌模型产生序列生成的长度[19]。充分考虑复合混沌模型生成的初始序列对应的混沌特性不强,因此在生成序列的过程中需要进行多次迭代,具体的序列生成过程如图3所示。

1.4.1 图像像素位置置乱

输入鲁棒型医学初始图像,假设图像的大小为M×N,并将初始图像用一维序列A表示。经过复合混沌序列的迭代与Logistics映射,在选择的模型中生成混沌序列,记为序列B,该序列的长度为m×n。按照降序顺序排列序列B中的数据,形成序列C[20]。使用reshape函数对序列C进行置换处理,将置换之后的新序列转换成m×n的矩阵形式,由此便完成了对鲁棒型医学初始图像像素值的置乱加密,对应的置乱矩阵为:

(7)

公式(7)中amn为鲁棒型医学图像中的像素,由于在置乱处理前后只改变了图像中各个像素的位置,但像素值未发生改变,因此最终得出的直观矩阵依旧由初始图像像素值组成,但像素值的排列结构发生了改变[21]。

1.4.2 图像像素值替换与扩散

定义鲁棒型医学图像的最终加密密文序列为Ci,中间密文序列为Fi,那么根据公式(8)和公式(9)可以完成对图像像素的替换和扩散。

Ci=Fi+mod((LVzi+Di),256)+Ci-1

(8)

Fi=LVyi+mod((LVxi+Ci),256)+Fi-1

(9)

公式(8)和公式(9)中LVxi、LVyi和LVzi分别为复合混沌得出的3组混沌序列,另外Di为得出的置乱矩阵。当加密图像中的第一个像素时,取i-1的值为0[22]。

1.5 实现鲁棒型医学图像加密

多次重复上述过程,生成对应的密钥,即完成整个鲁棒型医学图像的加密过程。然而除了图像加密之外,还需要实现对医学图像的解密[23]。在本文中鲁棒型医学图像的解密就是加密过程的逆过程,需要将密文图像转换成移位向量,然后利用连续迭代复合混沌模型所产生的值来恢复置乱矩阵,经过多轮迭代便可以得到最终的明文图像,也就实现了图像从密文到明文的转换。

2 实验对比验证与分析

为了验证本文方法的鲁棒型医学图像加密算法是否解决了传统算法中存在的问题,设计加密算法的对比实验,并设置文献[4]方法、文献[5]方法、文献[6]方法作为实验的对比方法。

2.1 实验环境与参数设置

为了方便实验中鲁棒型医学图像数据的读取和采集,选择对比实验的实验环境为某医院的磁共振扫描科室,在该实验环境下测试计算机的系统配置为Windows XP SP3,CPU为 Intel Pentium CPU E7500 2.93 GHz,另外计算机的内存为3.2 GB,以满足图像处理数据量大的问题。在测试计算机中安装Microsoft Visual Studio 2005平台中的VC+ +语言实现鲁棒型医学图像加密算法的开发。另外还需要在测试计算机中安装MATLAB软件,作为加密结果的测试对比平台。

2.2 鲁棒型医学图像数据来源

为了保证实验数据的有效性,需要大量的医学图像数据作为实验的数据支撑,因此除了扫描科室实时采集的患者医学图像之外,还需要调用包括LIDC-IDRI数据库、DDSM MIAS图像数据库以及IBSR网站数据库等数据库中的图像数据进行实验。其中LIDC-IDRI为肺结节医学图像数据库、而DDSM MIAS和IBSR分别对应的是乳腺和脑部医学图像数据库。以一幅1024×1024的24位MRI灰度图像的测试结果进行说明,该鲁棒型医学图像的初始状态如图4所示。

图4 鲁棒型医学初始明文图像

2.3 实验过程

分别将实验中的文献[4]方法、文献[5]方法、文献[6]方法和本文方法导入到实验环境中的测试计算机上,并保证3种方法在运行过程中互不干扰。将实验环境中的扫描设备与需要使用的数据库分别连接到测试计算机中,方便实现鲁棒型医学图像数据的实时调用。为了节省实验的时间成本,分别在不同的数据库中选择200张医学图像作为实验对象,而实时采集的医学图像数量根据医学的实际情况来决定。3种方法在运行过程中设置置乱次数相同,控制实验变量唯一,通过3种方法的运行得出对应的图像加密结果。

2.4 鲁棒型医学图像加密结果安全性验证

以输出的图像结果为基础,分别从明密文序列的相关性、加密结果置乱程度以及加密结果的抗攻击性3个方面,验证4种鲁棒型医学图像加密算法的安全性。

2.4.1 明密文序列相关性测试

明文与密文序列的相关性也就是加密前后鲁棒型医学图像的关联性,相关性越高证明加密前后图像的相似度越高,越容易被破解,即安全性越低。遵循上述测试理论,对实验中截取的前576位明密文二进制序列进行自相关和互相关性实验,结果如图5所示。

图5 明密文序列相关性对比图

从图5中可以看出,密文的自相关特性明显优于明文,通过量化分析可知密文序列的自相关函数值趋近于0。而在图5(c)中,文献[4]方法对应的明密文互相关函数值趋近于0.4,文献[5]方法对应的明密文互相关函数值趋近于0.9,文献[6]方法对应的明密文互相关函数值趋近于0.2,而本文方法对应的明密文互相关函数值趋近于0,明显低于对比方法。由此说明经过复合混沌模型加密后的明密文互相关性低于其他映射方法,密文在具有良好随机性的同时,保证与明文图像序列不相关,其明密文序列相关性较低,即安全性较高。

2.4.2 图像加密结果置乱程度比较

图像加密结果置乱程度的测试,就是测试在图像密文中置乱移位位数的比较,像素平均移位位数越多,证明密文图像的置乱程度越复杂,即加密算法的安全性更高,得出的测试与对比结果如表1所示。

表1 图像加密序列置乱程度比较

由表1可知,经过数学统计计算发现,采用文献[4]方法密文图像的总置乱移位位数为10206位,采用文献[5]方法密文图像的总置乱移位位数为10186位,采用文献[6]方法密文图像的总置乱移位位数为10998位,而本文方法的总置乱移位位数为11072位,由此可知,与其他映射方法相比,本文方法的总置乱移位位数较多,密文图像的置乱程度更复杂,即加密算法的安全性更高,相比文献[5]方法置乱位数增加了886位,即置乱程度提升了8.7%。

2.4.3 图像加密结果抗差分攻击测试

图像加密结果抗差分攻击测试就是在受到已知明文的攻击的情况下,分析文献[4]方法、文献[5]方法、文献[6]方法和本文方法是否能够顺利实现,其中加密成功与失败界面如图6所示。

(a) 本文方法的加密成功界面

(b) 文献[4]方法的加密失败界面

(c) 文献[5]方法的加密失败界面

(d) 文献[6]方法的加密失败界面

在不同的数据库中,分别统计在受到已知明文攻击的情况下,鲁棒型医学图像加密成功与失败的数量,统计结果如表2所示。

表2 图像加密抗差分攻击能力比较

从表2的数据可以看出,实验中加密的鲁棒性医学数据共1060张,在受到已知明文攻击下,文献[4]方法处理成功的数量为970张,失败90张,成功率为91.5%,文献[5]方法处理成功的数量为980张,失败80张,成功率为92.5%,文献[6]方法处理成功的数量为1030张,失败30张,成功率为97.2%,而本文的基于复合混沌的鲁棒型医学图像加密算法处理成功的数量为1040张,失败20张,成功率为98.1%,由此可知,与其他映射方法相比,本文方法处理成功的加密图像数量较多,成功率更高,相比文献[4]方法,本文方法的抗攻击能力高4.7%。

3 结束语

综上所述,将复合混沌系统应用到鲁棒型医学图像加密工作当中,可以有效地提高图像加密结果的安全性,避免发生图像信息泄露的问题。同理可以将这种加密算法应用到医学视频加密以及其他领域的加密工作当中,保证相关数据的安全性。然而受到时间的限制,在对比实验中处理的图像数量有限,因此得出的实验结果存在一定的片面性,在未来的研究工作中希望能够得出更多的数据来支持设计加密算法的应用。

猜你喜欢
鲁棒加密算法密文
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
基于学习的鲁棒自适应评判控制研究进展
目标鲁棒识别的抗旋转HDO 局部特征描述
一种基于密文分析的密码识别技术*
HES:一种更小公钥的同态加密算法
基于小波变换和混沌映射的图像加密算法
基于Cauchy鲁棒函数的UKF改进算法
目标轨迹更新的点到点鲁棒迭代学习控制
云存储中支持词频和用户喜好的密文模糊检索