基于混沌映射的医学图像加密

基于流密码增强逻辑映射的医学图像加密方法与安全分析

1. 引言

起初,医学图像加密技术与密码学理论紧密相关,随后新理论的引入丰富了其自身体系,并相继出现了基于密码学理论和混沌映射的重要加密方法。从实际效果来看,基于混沌映射的图像加密技术具有更高的安全性和抗攻击能力,是当前主流的图像加密方法[1,2]。密码学理论也对图像信息的加密具有良好的对应性。通过加密处理,医学图像信息能够得到更好的保护。

现代密码学的研究可以追溯到20世纪40年代末,其创始人是世界著名科学家香农。香农密码学的基本思想是将原始信息以某种规律转换成明文,从而使明文信息无法表达真实内容完全保留原始信息的含义,以避免攻击。早期的信息加密技术,其思想源于香农理论[3]。

对于图像加密技术,可以从图像中提取像素数据,形成由图像灰度数据组成的原始信息比特流,然后根据香农密码学理论的一般方法对原始信息进行加密。该领域有许多代表性方法,例如DES图像加密技术、AES图像加密技术[4,5]。这些加密方法成功的关键在于,用于加密的密钥不能被攻击者获知,同时接收者能够准确获取该密钥。

在20世纪末,混沌理论开始应用于图像加密技术领域。这一应用源于混沌理论在密码学领域的应用,而密码学本身就是图像加密技术的支撑技术之一,这直接促成了混沌理论在图像加密技术中的实用性。基于混沌的图像加密技术分为两个分支:一是基于流密码的图像加密,二是基于分组密码的图像加密[6,7]。

在基于流密码的图像加密领域,各种混沌映射被广泛用于生成控制加密过程的随机密钥流。该密钥流通过与普通图像像素进行逻辑运算,形式上获得密文的关键因素。在这方面,已应用的混沌映射包括逻辑映射、分段线性映射等。从形式上看,这些映射均为低维混沌映射。普拉文库马尔构建的图像加密系统基于逻辑映射,但其弱点在于抗攻击能力不明显[8]。

在低维混沌加密方法效果不佳的情况下,二维混沌映射被引入到图像加密领域。例如,利用二维混沌映射实现像素矩阵置乱是一种典型的方法。在此基础上,一些学者进一步采用扩散等手段改变原始图像的直方图信息,并进行多次扩散以提高加密图像信息的安全性能[9]。博特林将一维混沌映射与二维混沌映射相结合,通过二维混沌映射实现像素矩阵置乱,通过一维混沌映射设置控制码流,在一定程度上提升了图像加密的效果[10]。

本文以图像加密技术为研究对象,通过混沌理论对现有的图像加密技术进行改进或重新设计,从而从流密码方式构建一种高性能医疗图像加密方法。

2. 流密码加密中的密钥生成

从国内外研究现状的分析可以看出,基于混沌理论的图像加密技术分为两个分支:一种是基于流密码的混沌加密,另一种是基于分组密码的混沌加密。本章主要研究基于流密码的混沌加密技术。

基于流密码实现混沌加密有两种方式:一种是利用混沌理论构建加密过程的流密码,另一种是利用混沌理论构建伪随机数生成器[11]。根据经验,一般的同步系统无法对系统参数的变化做出准确响应,因此难以直接用作密码。混沌理论解决了这一问题。在混沌理论系统下,系统的伪随机性能优异[12]。同时,其轨道特性的多样性以及对初始状态的敏感性特别适用于图像加密技术。从现有结果来看,该流

基于混沌理论的密码加密技术具有较强的抗攻击能力和良好的实时性能。

在基于流密码的混沌加密方法构建中,如何生成密钥是实际加密过程的关键。利用混沌理论获得一组随机数并不困难,但在图像加密中,数值通常为整数,因此通过混沌理论得到的随机数必须进行量化。将非整数量化为整数的方法有很多,我们需要做的是为图像加密选择合适的方法。以下是对几种典型的基于混沌理论获取二进制数的方法的分析。

2.1 基于混沌理论获取二进制数的第一种方法

使用混沌映射可使加密结果更加均匀地置乱。假设一个混沌映射满足以下条件:

$$
w_{n+1} = r(w_n) \tag{1}
$$

其中,$ w_n = r^n(w_0) \in I, n = 0, 1, 2, \cdots $,同时,$ r^n(\cdot): I \rightarrow I $ 表示一个一维混沌映射。

为了获得二进制数,给出一个简单的判别函数,其数学描述如公式(2)所示。

$$
\theta_t(w) =
\begin{cases}
0 & w < t \
1 & w > t
\end{cases} \tag{2}
$$

这里,$ w $ 是一个变量,而 $ t $ 是一个阈值。

公式(2)中给出的函数的补码状态描述如下:

$$
\bar{\theta}_t(w) = 1 - \theta_t(w) \tag{3}
$$

根据上述步骤,我们最终可以得到二进制随机数集合 ${\theta_t(r^n(w))}_{n=0}^{\infty}$。

2.2. 基于混沌理论获取二进制数的第二种方法

该方法的思想是首先将混沌处理值进行二进制化,如公式(4)所示。

$$
|w| = 0, A_1(w), A_2(w), \cdots A_i(w) \in {0, 1} \tag{4}
$$

其中 $ A_i(w) $ 表示二进制数中的一个比特位。其数学描述如下:

$$
A_i(w) = \sum_{r=1}^{2^{t}-1} (-1)^{r-1} \left{ \theta_{\frac{r}{2^t}}(w) + \bar{\theta}_{-\frac{r}{2^t}}(w) \right} \tag{5}
$$

经过公式(4)和(5)处理后,可得到一组二进制随机数 ${A_i(w)}_{n=0}^{\infty}$。其中,$\theta_t(w)$ 表示一个以 $ w $ 为计算种子的布尔函数。这样,公式(5)可进一步改写为:

$$
A_i(w) = \oplus_{r=1}^{2^l} \left{ \theta_{\frac{r}{2^t}}(w) \oplus \theta_{-\frac{r}{2^t}}(w) \right} \tag{6}
$$

2.3. 基于混沌理论获取二进制数的第三种方法

这是一种基于一维切比雪夫映射的伪随机数生成方法。切比雪夫映射的数学描述如公式(7)所示。

$$
x(n+1) = \cos{w \cdot \arccos[x(n)]} \tag{7}
$$

在生成二进制数集的过程中,该映射所使用的判别公式如下:

$$
\theta_{0.5}(x(n)) =
\begin{cases}
0 & x(n) < 0.5 \
1 & x(n) > 0.5
\end{cases} \tag{8}
$$

一些学者指出,混沌映射生成的伪随机数集存在一些问题,因为数字信息(包括数字图像)的处理设备(如计算机)由于自身周期性规律,会对混沌映射的相关计算带来周期性影响,从而破坏其随机特性。此外,在生成随机数序列时,很难识别其随机特性。

因此,学者们从科学角度构建了相应的方法来解释一组随机数的随机特性。该理论体系为这组随机数设计了频率检验、序列检验、游程检验和相关性检验。

以游程检验为例,如果按照预设长度对随机数集进行分组,则可以检验随机数集中每组的频率,从而获得随机特性的检验结果。如果长度的设定值为0,游程检验变为频率检验;如果长度的设定值为1,游程检验变为序列检验。

3. 医疗图像加密方法的设计

3.1. 逻辑映射

逻辑映射是描述混沌的一种典型映射模型。由于其分岔图类似于虫洞,因此也称为虫洞模型。逻辑映射的基本数学描述模型如公式(9)所示。

$$
x_{n+1} = \mu x_n (1 - x_n) \quad \mu \in [0, 4] \tag{9}
$$

$$
x_n \in (0, 1), \quad n = 0, 1, 2, \cdots
$$

描述混沌映射的另一个重要方法是分岔图,如图1所示。从图1可以看出,在逻辑映射的 $ \mu = 3.569945 $ 处,系统开始从稳定状态进入混沌状态。3.569945 可被视为逻辑映射的混沌临界点。

示意图0

3.2. 密钥生成

本文根据流密码混沌加密的基本思想,利用逻辑映射构建了一种图像加密方法。首先介绍了该加密方法的密钥生成方式,该方式基于切比雪夫映射,并构造了两种不同形式的密钥。

第一个密钥按照十六进制进行分组,分为20组。每组信息的长度为4位,即 $ K = k_1 k_2 \cdots k_{20} $,$ k_i $ 表示一个十六进制数。

第二个秘密是根据ASCII码进行分组处理,将其分为10

3.3. 生成初始值

如前所述,由于混沌理论对初始状态和计算设备的处理精度非常敏感,因此以二进制数形式给出输入值的优势远大于以浮点数形式给出。在该方法的初始值设置中,分为以下步骤:

第一步 是选择密钥 $ K_4K_5K_6 $ 在ASCII码下用于初始值 $ X_{01} $ 生成,如公式(12)所示。

$$
B_1 = K_{41}K_{42} \cdots K_{48}K_{51}K_{52} \cdots K_{58}K_{61}K_{62} \cdots K_{68}
$$

$$
X_{01} = (K_{41} \times 2^0 + K_{42} \times 2^1 + \cdots + K_{48} \times 2^7 + K_{51} \times 2^8 + K_{52} \times 2^9 + \cdots + K_{58} \times 2^{15} + K_{61} \times 2^{16} + K_{62} \times 2^{17} + \cdots + K_{68} \times 2^{23}) / 2^{24} \tag{12}
$$

第二步 ,在十六进制码中选择 $ k_7k_8k_9 $ 以生成初始值,如公式(13)所示。

$$
X_{02} = \sum_{i=13}^{18} (k_i)_{10} / 96 \tag{13}
$$

第三步 是将初始值 $ X_{01} $ 和初始值 $ X_{02} $ 结合得到 $ X_0 = (X_{01} + X_{02}) \mod 1 $。

第四步 是从密钥 $ K_1K_2K_3 $ 中按ASCII码选取以生成初始值 $ Y_{01} $,如公式(14)所示。

$$
B_2 = K_{11}K_{12} \cdots K_{18}K_{21}K_{22} \cdots K_{28}K_{31}K_{32} \cdots K_{38}
$$

$$
Y_{01} = (B_2)_{10} / 2^{24} \tag{14}
$$

$$
Y_{02} = \left( \sum_{k=1}^{24} B_2[P_k] \times 2^{k-1} \right) / 2^{24}
$$

其中 $ P_k = \text{int}(23 \times X_{k-1} / 0.8) + 1 $。

第五步 是将式(14)中的初始值与初始值结合,得到 $ Y_0 = (Y_{01} + Y_{02}) \mod 1 $。经过以上五个步骤,混沌系统的初始值成功设置。考虑到解密过程的便利性,该区间跨度需要进一步细分,结果被划分为24个独立子区间,然后计划为八组。

3.4. 加密过程

在通过上一节中的方法获得图像加密密钥后,图像数据的加密过程如下:

首先 ,从图像像素矩阵中获取三个连续字节的图像信息。实际上,这三个字节的图像信息应分别代表一个像素的R、G和B值。

其次 ,第一个像素以值 $ Y_n $ 作为混沌加密迭代处理的入口,加密 $ n = (K_{10})_{10} $ 次,并连续加密16个像素。

第三 ,为了更新当前密钥数据信息,可以使用以下数学处理方法:

$$
(K_i) {10} = ((K_i) {10} + (K_{10})_{10}) \mod 256 \tag{15}
$$

第四 ,根据X和Y维度的逻辑映射,继续处理更新后的密钥数据以获得新的初始加密值,并对最后16个像素执行加密过程。

重复上述操作,直到图像中的所有像素数据都被加密。
组,每组信息长度为8位,即 $ K = K_1K_2 \cdots K_{10} $,$ K_i $ 表示ASCII码。

对于这两种密钥,选择了两个逻辑映射,其数学形式分别为公式(10)和(11)。

$$
X_{n+1} = 3.9999X_n(1 - X_n) \tag{10}
$$

$$
Y_{n+1} = 3.9999Y_n(1 - Y_n) \tag{11}
$$

4. 实验结果与分析

4.1. 医学图像加密视觉效果

为了验证本文构建的基于逻辑映射的图像加密方法的性能,对血细胞进行了加密实验。加密前的图像、加密后的图像以及解密后的图像如图2所示。

示意图1

从图2中的实验结果可以看出,经过逻辑映射加密后图像的置乱效果仍然理想,而解密图像基本恢复了原始图像的真实信息。同时,原始图像的峰值信噪比为29.57,解密图像的峰值信噪比为29.62,充分说明了本文加密和解密方法的有效性。

4.2. 密钥敏感性评估

对于医学图像加密,密钥敏感性是评估加密算法质量的一个非常重要的指标。如果密钥发生轻微变化,就无法正确解密,这表明该加密方法具有较高的加密性能。相反,如果密钥发生较大变化,图像仍能部分解密,则表明该加密方法的加密性能较差。

本文中,分别对1比特密钥和2比特密钥进行修改,解密结果如图3所示。

示意图2

从图3中的结果可以看出,本文方法加密的图像即使解密密钥发生轻微变化也无法正确解密。密钥的微小变化将导致解密结果错误。这也说明该方法的安全性能非常高。

4.3. 明文敏感性评估

明文敏感性是指明文的单像素变化对密文的影响。对于明文敏感性测试,通常选择NPCR测试标准。如果一幅图像的单个像素值发生变化,其对应的加密图像分别表示为 $ C_1 $ 和 $ C_2 $。

定义 $ D(i) $ 用于判断 $ C_1(i) $ 与 $ C_2(i) $ 之间的关系。当 $ C_1(i) $ 与 $ C_2(i) $ 相等时,将 $ D(i) $ 设为1,否则设为0。然后可以定义NPCR的判断标准公式如下。

$$
\text{NPCR} = \frac{\sum_i D(i)}{\text{size}(D)} \times 100\% \tag{16}
$$

将该标准应用于血细胞图像的加密测试,可以看出NPCR值高达0.9874,证明了该方法对明文变化的敏感性。

4.4. 所提出方法在磁共振成像图像上的结果

为了验证该方法的应用范围,将所提出的方法应用于磁共振成像图像加密处理,结果如图4所示。

示意图3

从图4可以看出,对于MRI图像,加密后得到的加密图像仍然均匀地被扰乱。

5. 结论

为了解决医学图像加密的问题,本文提出了一种结合流密码和混沌理论的新加密方法。首先,根据流密码理论,使用切比雪夫映射生成加密密钥。其次,通过一系列编码操作设置图像混沌处理前的初始值。最后,结合逻辑映射,从X和Y维度对原始图像信息进行加密。在实验中,选择了一幅血细胞图像进行加密。结果表明,加密图像中的像素分布均匀。进一步的密钥敏感性评估证明,本文方法对密钥的微小变化非常敏感,加密安全性高。明文敏感性评估结果表明,加密血细胞图像的NPCR值高达0.9874。灰度直方图评估也证明了该加密方法具有较高的安全性。

【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)内容概要:本文围绕非线性三自由度四轴飞行器模拟器的研究展开,重点介绍基于Matlab代码实现的四轴飞行器动力学建模与仿真方法。研究构建了考虑非线性特性的飞行器数学模型,涵盖姿态动力学与运动学方程,实现了三自由度(滚转、俯仰、偏航)的精确模拟。文中详细阐述了系统建模过程、控制算法设计思路及仿真结果分析,帮助读者深入理解四轴飞行器的飞行动力学特性与控制机制;同时,该模拟器可用于算法验证、控制器设计与教学实验。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的高校学生、科研人员及无人机相关领域的工程技术人员,尤其适合从事飞行器建模、控制算法开发的研究生和初级研究人员。; 使用场景及目标:①用于四轴飞行器非线性动力学特性的学习与仿真验证;②作为控制器(如PID、LQR、MPC等)设计与测试的仿真平台;③支持无人机控制系统教学与科研项目开发,提升对姿态控制与系统仿真的理解。; 阅读建议:建议读者结合Matlab代码逐模块分析,重点关注动力学方程的推导与实现方式,动手运行并调试仿真程序,以加深对飞行器姿态控制过程的理解。同时可扩展为六自由度模型或加入外部干扰以增强仿真真实性。
基于分布式模型预测控制DMPC的多智能体点对点过渡轨迹生成研究(Matlab代码实现)内容概要:本文围绕“基于分布式模型预测控制(DMPC)的多智能体点对点过渡轨迹生成研究”展开,重点介绍如何利用DMPC方法实现多智能体系统在复杂环境下的协同轨迹规划与控制。文中结合Matlab代码实现,详细阐述了DMPC的基本原理、数学建模过程以及在多智能体系统中的具体应用,涵盖点对点转移、避障处理、状态约束与通信拓扑等关键技术环节。研究强调算法的分布式特性,提升系统的可扩展性与鲁棒性,适用于多无人机、无人车编队等场景。同时,文档列举了大量相关科研方向与代码资源,展示了DMPC在路径规划、协同控制、电力系统、信号处理等多领域的广泛应用。; 适合人群:具备一定自动化、控制理论或机器人学基础的研究生、科研人员及从事智能系统开发的工程技术人员;熟悉Matlab/Simulink仿真环境,对多智能体协同控制、优化算法有一定兴趣或研究需求的人员。; 使用场景及目标:①用于多智能体系统的轨迹生成与协同控制研究,如无人机集群、无人驾驶车队等;②作为DMPC算法学习与仿真实践的参考资料,帮助理解分布式优化与模型预测控制的结合机制;③支撑科研论文复现、毕业设计或项目开发中的算法验证与性能对比。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注DMPC的优化建模、约束处理与信息交互机制;按文档结构逐步学习,同时参考文中提及的路径规划、协同控制等相关案例,加深对分布式控制系统的整体理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值