基于三维分段Sine 映射的彩色图像加密

2022-04-24 03:00王永龚建王明月
北京理工大学学报 2022年4期
关键词:密文加密算法矩阵

王永,龚建,王明月

(1. 重庆邮电大学 计算机科学与技术学院,重庆 400065;2. 桂林电子科技大学 广西密码学与信息安全重点实验室,广西,桂林 541004)

随着互联网和通信技术的飞速发展,多媒体逐步形成了一种进行信息交流的关键方式[1]. 数字图像作为多媒体的一种形式,普遍应用在军事、医疗、商业等各领域. 数字图像信息由于冗余度高、关联性强,传统的文本加密方法并不适合用于数字图像,因此寻求新的技术加密图像一直是研究的热点. 混沌与密码学之间存在着普遍的相似性,它具有初始条件敏感性、非线性和伪随机性等特点,这些特性不仅应用于流密码[2-3]、S 盒[4]、Hash 函数[5]中,而且在图像加密中也展现出良好的应用前景[6-16]. 基于混沌的图像加密方案逐渐受到研究者们的青睐.

用于加密的混沌系统大致可以分为一维混沌和高维混沌两大类. 一维混沌如Logistic 映射,Sine 映射结构简单,易于实现. PAK 等[7]利用Sine-Sine 系统构造的混沌序列对像素进行置换和扩散, 虽然性能好,但是算法中存在一个代数上的弱点,WANG 等[8]提出了一个等价的加密方案,通过将原置换矩阵和扩散矩阵分别旋转得到新的矩阵,证明了原方案得线性变换可以转化为相应的置换,从而使置换和扩散操作分离,通过选择明文攻击破译了原机制. 高维或复杂的混沌系统能够保证所产生序列的复杂性,有效防止攻击者对序列的预测与重构. KANG 等[9]提出了一种基于DNA 编码和时空混沌系统的彩色图像加密方案,首先根据DNA 随机编码规则,将图像转化为DNA 矩阵,然后利用混合线性-非线性耦合映像格子模型生成的矩阵对DNA 矩阵进行置换,最后根据DNA 随机解码规则对置换后的矩阵进行解码,得到加密后的图像. LI 等[10]基于DNA 运算和超混沌Lorenz 系统提出了彩色图像加密方案,利用Lorenz 系统和DNA 编码对像素的位置和值进行置乱和扩散,使用了汉明距离和一次一密的方案提高了抗差分能力. WEN 等[11]利用了状态值在相空间分布不均匀的特点,对一种基于DNA 编码和时空混沌的图像加密算法[12]成功实施了选择明文攻击和选择密文攻击. 总结的已有的研究,不难发现,一维混沌虽然结构简单速度快,但其相空间结构过于简单存在被重构的安全隐患. 高维混沌虽有复杂的内部结构,但其状态值在相空间的分布往往是不均匀的,为存在被统计攻击的隐患.

本文以图像加密中常用的Sine 映射为研究对象.为解决其相空间结构简单带来的安全性问题,将Sine 映射进行分段处理,并将它扩展至三维,保证了混沌系统的复杂性. 针对扩展至三维后,混沌系统状态值概率密度分布不均匀的问题,利用参数耦合和乘大整数取模变换,最终设计了三维参数耦合分段Sine 映射 (3DPCPSM). 该模型增强了混沌系统的复杂性并实现了状态值的均匀分布,保证了其所产生的混沌序列的安全性. 以3DPCPSM 模型为基础,提出了一种彩色图像加密算法. 该算法依据矩阵变换简化了图像的置乱操作,无需如传统的混沌置乱方法对矩形图像预处理,增强了算法的适用性.

1 混沌模型

1.1 三维参数耦合分段Sine 模型

Sine 映射是根据正弦三角函数变形得到,因其结构简单、实现容易,被广泛应用到混沌图像加密中. 其数学表达式为

式中:初始值x0∈(0,1),控制参数µ∈(0,1]. 然而,Sine映射在设计加密应用时存在一些不足,如Lyapunov 指数太小、遍历性不强和概率密度分布不均匀等.因此,为了进一步提高该混沌映射的性能,本文对Sine 映射进行了分段化处理,设计变参数的分段Sine映射如下:

根据实验分析,当分段数N=64时,模型的混沌性能较好,故推荐设置N为64.

进一步地扩展混沌系统的维度,以变参数的分段Sine 映射为基本单元,构造三维参数耦合分段Sine映射模型(3DPCPSM)如下:

1.2 Lyapunov 指数

Lyapunov 指数不仅可以确定一个动力系统中是否存在混沌行为,而且可以定量地评估系统的扩散性能. 图1(a)展示了当控制参数 µ以步长0.01,从0 增至1 时,Sine 映射的Lyapunov 指数. 从图1 中可以看出,只有当µ>0.86时,该映射进入混沌状态.

图1(b)展示了当控制参数 µ以步长0.025,从0 增值1 时,3DPCPSM 的Lyapunov 指数变化情况. 从图中可以看出,所有的Lyapunov 指数均为正值. 这表明μ在区间(0,1]内,3DPCPSM 始终处于混沌状态. 同时,3DPCPSM 的Lyapunov 指数值明显大于Sine 映射的Lyapunov 指数,表明了3DPCPSM 拥有比Sine映射更好且更稳定的混沌性能.

图1 Lyapunov 指数Fig. 1 Lyapunov exponent

1.3 分岔图

在动力学系统中,分岔图可以清晰地区分系统的混沌区域与非混沌区域,从而确定该动力学系统在何种条件下进入了混沌状态. Sine 映射的分岔图如图2(a)所示,当控制参数µ∈(0.86,1]时,映射进入混沌状态. 当µ=1时,其分岔行为最为复杂,混沌性能最好.

图2 分岔图Fig. 2 Bifurcation diagram

图2(b)展示了3DPCPSM 的分岔图. 无论控制参数 µ取何值,3DPCPSM 的状态值都能遍历整个相空间. 这表明3DPCPSM 拥有比Sine 映射更为复杂的混沌动力学行为. 它能够在加密应用中提供更好的安全保障.

1.4 遍历性

对于混沌映射来说,遍历性是指混沌映射的状态值在自身相空间中的分布情况. 如图3(a)所示,Sine 映射的状态值没有覆盖整个相空间,并且分布不均匀.

图3 状态值分布情况Fig. 3 Distribution of state values

图3(b)展示了3DPCPSM 的状态值分布情况.它在整个(0,1)相空间中分布都是稠密且均匀的,这意味着3DPCPSM 具有很强的遍历性和很高的随机性.

1.5 概率密度分布

概率密度分布反映了状态值的均匀程度. 图4(a)展示了当控制参数µ=0.99时,Sine 映射的概率密度分布. 显然,其概率密度分布是不均匀的.

图4 概率密度分布Fig. 4 Probability density distribution

图4(b)展示了3DPCPSM 的概率密度分布情况.从均匀上看,虽然比Sine 更好,但仍然不均匀. 为解决此问题,对3DPCPSM 的输出进行乘大整数取模变换,如式(5)所示.

图5 变换后的3DPCPSM 概率密度分布, μ=0.99Fig. 5 The probability density distribution of 3DPCPSM after transformation

1.6 统计测试

表1 NIST 800-22 测试结果(带*的测试指标为平均值)Tab. 1 NIST 800-22 test results (the test index with * is the average)

TestU01 作为最严格的随机测试标准之一,其中包含了3 个预定义的二进制序列测试单元,分别为SmallCrush, Crush 和BigCrush. 此处,使用长度为227的二进制序列进行测试,结果如表2 所示. 二进制序列通过了所有的子测试. 综合所有的测试结果可得,3DPCPSM 能产生很高质量的伪随机序列,为图像加密奠定了良好的基础.

表2 TestU01 测试结果Tab. 2 Test results of TestU01

2 图像加解密算法

2.1 图像加密算法

采用置乱扩散结构作为图像加密的框架. 在置乱阶段,利用3DPCPSM 产生的3 个伪随机序列分别构造两个初等矩阵,然后对R、G、B 3 个信道的像素点矩阵进行置乱. 在扩散阶段,3 个伪随机序列分别提取整数序列,对置乱后的R、G、B像素点分别进行扩散,最后生成密文图像. 加密算法的具体步骤如下.

1) 假定彩色图像大小H×W×3,将R,G,B 3 个信道转化成3 个像素点矩阵Vi∈NH×W,i=R,G,B.

2) 设3DPCPSM 的3 个初始状态值为x0、y0、z0,对3DPCPSM 迭代1 000 次以消除初值的影响. 然后分别构造初等矩阵Pi和Qi,i= R、G、B.

构造i信道的两个初等矩阵Pi和Qi的步骤.

①迭代3DPCPSM,取出第i维信道的H个浮点数并存储到序列p中,记作p={pn},其中n=1,2,...,H,并按照从大到小的顺序排序,得到有序序列p′.

②按照式(6)、(7)构造大小为H×H的矩阵Pi.

2.2 图像解密算法

解密算法的过程与加密算法相反,此处不再详述. 式(10)对应的逆扩散公式为

3 算法性能分析

3.1 加解密测试

选取大小为512×512×3的标准彩色图像Lena、Pepper 以及全黑(Black)和全白(White)作为明文图像,对本文提出的图像加密算法进行测试,结果如图6 所示. 可以看出,密文图像很好地隐藏了明文图像的有效信息且不可识别,而解密后的图像与原明文图像完全相同,这说明本文算法具有很好的加解密效果,满足通常的图像加解密需求.

图6 明文图像和密文图像Fig. 6 Plaintext images and ciphertext images

3.2 统计分析

从直方图和相关性两个方面测试算法的加密效果. 绘制彩色图像Lena、Pepper、Black 和White 的R信道的直方图如图7 所示. 同时为了便于对比,在图11中还绘制了密文图像3 个信道的直方图. 从图11 中可以看出,加密后的图像很好地隐藏了明文图像中地统计信息,使得算法能够有效地抵御统计攻击.

图7 图像加密前后的直方图Fig. 7 Histogram of image before and after encryption

对于有意义的图像,相邻像素通常在水平、垂直和对角线方向上相关. 一个好的图像加密方案应该能够显著地消除这种相关性. 为了检验原文图像和密文图像中相邻像素之间的相关性,随机从水平方向、垂直方向和对角线方向选取8 000 个像素作为样本,计算相关系数如下.

表3 加密前后相邻像素点之间的相关系数Tab. 3 Correlation coefficient between adjacent pixel points before and after encryption

直方图分析和相关性分析的结果表明本文提出的图像加密算法具有良好的抵抗统计攻击能力.

3.3 信息熵

信息熵表示图像中所包含信息的累积和分散,其计算公式如下.

表4 密文图像的信息熵Tab. 4 Information entropy of ciphertext image

3.4 密钥分析

对于加密算法而言,应该由足够大的密钥空间(>2128)来抵御穷举攻击. 在本文算法中,密钥包括初始状态值x0、y0、z0∈(0,1)、控制参数µ∈(0,1)和扩散常数C0∈[0,255]. 假设计算机中浮点数计算精度为10-14,则算法的密钥空间大小为(1014)3×28远大于2176.根据IEEE 浮点数标准,64 位双精度数的精度大于10-14,所以本文算法能够抵抗暴力攻击的要求.

对于密钥敏感度,进行以下测试.

测试1:将初始状态值x0改变为x0+10-15;

测试2:将控制参数 µ改变为µ-10-15;

比较密钥变换前后的密文之间的差异. 结果如表5 所示. 从表中可以看出,密钥的微小变化会使密文产生巨大的变化,并且差异都在99.5%以上,说明本文提出的算法具有良好的密钥敏感性.

表5 密文图像的差异Tab. 5 Ciphertext image difference%

3.5 抗差分攻击

抗差分攻击的能力是评价密码算法的一个重要指标. 攻击者通常对明文进行轻微调整,然后比较调整前后产生的密文之间的差异来进行攻击. 为了检验原文图像中单个像素变化对密文图像的影响,可使用像素变化率(NPCR)和统一平均变化强度(UACI)进行测试,公式如下.

rNPCR和TUACI理想值分别为99.6%和33.3%. 表6展示了本文算法加密后图像的rNPCR和TUACI. 从表6中可以看出,rNPCR和TUACI的计算值非常接近理想值,说明算法具有有效抵御差分攻击的能力.

表6 密文图像的NPCR 和UACITab. 6 Ciphertext images by NPCR and UACI%

3.6 安全性分析

在本文中,3DPCPSM 模型属于高维混沌系统,具有良好的混沌性能和复杂的动力学行为,能够有效防止攻击者通过相空间重构的方式来预测其所产生的混沌序列. 其次,模型利用了参数耦合和乘大整数取模思想,保证了状态值分布的均匀性,提高了其所产生混沌序列的随机性,NIST 和TestU01 测试的结果进一步验证了这一特点,因此可以有效保证置乱阶段所构造的变换矩阵和扩散阶段提取的整数序列的随机性,保证了加密方案的安全. 此外,本文具有足够大的密钥空间来抵御暴力攻击. 实验测试的结果反映出方案的密文图像直方图分布均匀,像素点间相关性弱,信息熵非常接近理想值8,能够有效抵抗统计攻击和信息熵攻击.

3.7 效率分析

在本文算法中,首先需要迭代3DPCPSM 模型并从中抽取出相应的状态值构造变换矩阵,进行置乱操作,然后,再迭代混沌映射产生扩散操作所需要的伪随机序列,所以加密过程与图像像素点规模成简单的正比例关系. 使用Python 语言实现算法,在CPU型号为i7-9700,内存为16 GB 的计算机上测试加解密速度,所得结果如图8 所示. 图中的结果进一步验证了这种正比例关系. 解密算法是加密算法的逆步骤,解密时间与加密时间基本一致. 由于加密和解密时间与图像的尺寸之间是呈线性变化关系,这表明本文算法能够很好适应图像大小的变化,满足在互联网中进行图像加密的效率需求.

图8 加密时间与图像大小的关系Fig. 8 Relation between encryption time and image size

4 结 论

为了提高Sine 映射在加密应用中的性能,结合参数耦合和乘大整数取模变换,构造了一个三维参数耦合的分段Sine 映射模型. 对该模型的性能分析表明,它具有更大的Lyapunov 指数和更均匀的概率密度分布,有效提升了系统的混沌属性,为保证产生具有良好密码学性能的序列提供了重要支撑. 然后基于3DPCPSM 提出了一种彩色图像加密算法,利用矩阵初等变换简化了图像置乱阶段,增加了算法的普适性. 仿真实验及性能分析表明该算法具有良好的安全性,能够有效地满足图像在网络中安全传输的需求.

猜你喜欢
密文加密算法矩阵
一种支持动态更新的可排名密文搜索方案
加密文档排序中保序加密算法的最优化选取
一种新的密文策略的属性基加密方案研究
一种抗攻击的网络加密算法研究
多项式理论在矩阵求逆中的应用
教育云平台的敏感信息保护技术研究
条件型非对称跨加密系统的代理重加密方案
一种改进的加密算法在空调群控系统中的研究与实现
矩阵
矩阵