随着计算机、通信技术和区域医疗协同服务的不断发展,信息的安全与保密显得越来越重要。医学图像作为诊断依据的重要部分需要在公网上传播,为了防止病人敏感信息的非法泄漏,研究医学图像加密有着重要的意义。
混沌是指一种由非线性确定系统产生的类随机行为,它具有以下特征:
随机性:混沌系统产生的混沌序列表现出类随机行为,具有长期不可预测性。
确定性:只要初始参数确定,产生的混沌序列即确定。
遍历性:混沌系统将以一种不重复的方式遍历相空间中的所有取值。
利用混沌系统的这些特点可以设计出密钥空间大、加密流随机性高的加密算法,混沌加密近年在计算机领域成为了研究热点,大量混沌图像加密算法被提出来。
图像加密与普通文件加密的不同之处在于,图像相邻像素之间通常存在着比较大的相关性,对图像加密不仅要使图像变得不可识别,还要尽可能地减小相邻像素之间的相关性。目前国内外提出的各种混沌图像加密算法,有的通过Logistic函数生成混沌序列进行加密,有的通过DCT变换、Arnold变换进行加密,但总结起来,主要加密原理有以下两种形式:
1)利用混沌系统产生的伪随机序列与明文进行异或操作,直接改变明文的值,通过这种方式进行加密可使图像明文转变为一系列无规则“噪声”,能有效防止统计攻击;
2)利用伪随机序列对明文进行重新排序,通过这种方式加密能有效地对图像进行置乱,使加密后的密文图像具有一定的鲁棒性,但由于置乱过程没有改变像素本身的值,因此加密后图像的颜色直方图并没有改变。结合医学图像数据量大、同色像素连续性高的特点,采用异或的方式提出一种新的混沌图像加密算法。
图像加密算法创新
医学图像的特点是两高一大(高分辨率、高精度、大数据量),这就要求算法具备较高的运行效率。对于混沌系统,通常高维混沌系统产生的加密序列有较高的安全性,但运行速度较慢。低维混沌系统产生加密序列速度快,却容易受到非线性预测、相重构等方式的攻击。综合考虑算法运行效率与安全性,本文的算法将采用多个一维混沌系统混合的方式产生加密序列,并通过加密序列与图像进行异或操作进行加/解密。
医学图像通常有着大片连续的区域存在颜色相同的像素··点,算法若简单地采用加密序列与明文异或的方式生成密文,密码攻击者容易根据这片连续的区域分析对应密钥序列的情况。所以加密算法应该以某种方式改变这种由于明文而导致密文单一变化的情况,本文算法通过在加密过程中加入双重反馈解决这一问题。
图像加密速度
医学图像成像精度通常较高,所生成的图像大小相对较大,所以算法的加密速度也是一个关键因素。加密时间与图像大小基本成线性关系,对大小为3M的医学图像可在1s内完成加密运算,符合实际应用需求。
图像加密算法安全性分析
混沌系统在理论上是一个无限周期的伪随机数发生器,但在计算机上实现时,由于计算机只能进行有限精度的计算,系统将不可避免地退化为一个周期函数,在加密过程若因周期问题产生了重复的密钥流,将大大降低算法的安全性。在本算法中,密钥流是由多个混沌系统共同产生的,每个混沌系统在加密时都会由一个流长度生成点来决定下一个混沌系统产生的密钥长度。这一个随机生成的加密流长度取值较小,混沌系统间能紧密地相互作用,攻击者难以对其进行单一的分析,而且即使算法中的某一混沌系统在加密过程已经到达周期长度,只要该系统在进行系统切换时的流长度决定点没有停留在之前周期的同一个点,整体的密钥流依然可以看成是非周期的。系统的加密周期由所选的混沌系统共同决定,足以应用于大数据量的医学图像加密中。可见算法有着较高的运行效率,能满足在医学中的应用。