APP下载

基于级联混沌映射与低位嵌入的图像隐写算法

2020-05-11

液晶与显示 2020年4期
关键词:帐篷密钥加密

穆 俊

(滇西科技师范学院 信息工程学院, 云南 临沧 677000)

1 引 言

数字图像在互联网中的传输越来越广泛和频繁,与之伴随而来的是不法分子在不可信信道中对一些具有重要价值图像的窃取和篡改。此类事件的大量发生不仅导致了一系列严重的经济损失,还可能导致国家利益被侵犯[1-2]。针对重要数字图像在不可信信道中的安全传输问题,相关领域的学者们提出了一系列的解决方案,包括图像加密[3-10]、图像隐写[11-13]和图像水印[14-18]。相比于图像水印方案,图像加密方案和图像隐写方案因为将图像中的全部可用信息进行了不可视处理,所以具有更高的安全性。

在图像加密领域,近年来研究者们提出了相当多种类的算法,这些算法使用的加密工具主要包括混沌映射[3-7]、DNA计算[10]、神经网络[8]、波变换[9]。由于混沌映射具有极端初值敏感性,同时其产生的随机数序列具有高度的随机性,与图像加密的安全性不谋而合,因此混沌映射在图像加密领域应用是最为广泛的一种工具。图像加密算法的结构一般为置乱-混淆结构,该结构为Fridrich[3]首次提出,其高度的安全性已在实践中得到了反复验证。其中,置乱指对图像像素位置的规律性改变,混淆指对图像像素值的规律性改变。

部分学者认为图像加密生成的类似马赛克状的图像在信道中传输时,很容易引起窃密者的怀疑,因此提出了通过一些手段将重要图像隐藏到一些无价值图像中,以最大程度降低窃密者的兴趣,这种技术即为图像隐写。

本文提出了一种置乱-混淆-低位替换结构的图像隐写算法。该算法结合了传统置乱-混淆结构的图像加密方式和基于低位替换的图像隐写。通过图像加密和隐写的合并使用,算法的安全性得到了极大提高。在置乱步骤中,首先通过帐篷映射和Logistic映射的级联设计了一种新型的混沌映射并用其产生具有高度随机性的随机数序列,然后随机数序列被用于数字图像的置乱,生成置乱图。在混淆步骤中,加密方随机选择无价值的图像作为伪装图,通过伪装图与置乱图的与或操作实现置乱图中像素值的混淆。最后,在低位替换步骤中,混淆步骤生成的图像按照两个位平面一组的规则被拆分成4份子图像并嵌入到伪装图的最低两位。在分叉图、李亚普诺夫指数(Lyapunov exponent,LE)这两个指标的测试中,本文所提出的级联混沌映射均表现优异。在图像安全性和性能分析实验中,本文所提出的图像隐写算法也表现出高度的安全性和极高的执行效率。

2 级联混沌映射

2.1 级联混沌映射架构

图1展示了一种新型级联混沌映射,称为帐篷-Logistic映射。在该映射中,帐篷映射的输出被作为Logistic映射的输入,Logistic映射的输出再反馈到帐篷映射的输入端。其中帐篷映射和Logistic映射的定义分别如公式(1)、(2)所示。通过图1所示架构生成的帐篷-Logistic映射的数学定义如公式(3)所示。

图1 帐篷-Logistic映射架构Fig.1 Structure of tent-logistic map

(1)

xn+1=rxn(1-xn), 3.566 9

(2)

μ和r分别为帐篷映射和Logistic映射的系统参数。设定初始值x0和系统参数,通过式(1)和(2)的持续迭代,可以生成混沌随机数序列{x0,x1,x2…}。

(3)

对帐篷-Logistic映射而言,由于包含了更多的参数,因此相比于原来的两个混沌映射,其初值敏感性更高,混沌范围更广泛。

2.2 混沌性能测试

将本文所提出的帐篷-Logistic映射与帐篷映射、Logistic映射分别进行了定性比较和定量比较。定性比较通过比较各自分叉图的分叉范围完成。定量比较通过比较李亚普诺夫指数谱完成。

2.2.1 分叉图比较

当系统参数μ的变化范围为[1,2]时,帐篷映射的分叉图如图2(a)所示。固定系统参数r=4,帐篷-Logistic映射的分叉图如图2(b)所示。当系统参数r的变化范围为[1,4]时,Logistic映射的分叉图如图3(a)所示。固定系统参数μ=2,帐篷-Logistic映射的分叉图如图3(b)所示。

(a)帐篷映射的分叉图(a) Bifurcation of tent map

(b)帐篷-Logistic映射的分叉图(b) Bifurcation of tent-logistic map图2 帐篷映射和帐篷-Logistic映射的分叉图Fig.2 Bifurcation of tent map and tent-logistic map

(a) Logistic映射的分叉图(a) Bifurcation of logistic map

(b)帐篷-Logistic映射的分叉图(b) Bifurcation of tent-logistic map图3 Logistic映射和帐篷-Logistic映射的分叉图Fig.3 Bifurcation of logistic map and tent-logistic map

通过图2和图3可以看出,本文所提出的新型映射的混沌范围要远大于两个原来的子映射的混沌范围。更大的分叉图范围意味着混沌映射生成的随机数序列的随机性更高,这样的混沌映射可以保证加密方案具有更高的安全性。

2.2.2 李亚普诺夫指数谱比较

李亚普诺夫指数谱的横轴为系统参数变化范围,纵轴为李亚普诺夫指数值。大于0的李亚普诺夫指数值表示此系统参数下的混沌映射处于混沌状态,小于0的李亚普诺夫指数值表示此系统参数下的混沌映射处于周期震荡状态[19]。为了定量分析所提出的混沌映射的性能,本文展示了3种映射的李亚普诺夫指数谱,如图4所示。

(a)帐篷-Logistic映射与帐篷映射(a) Tent-logistic map and tent map

(b)帐篷-Logistic映射与Logistic映射(b) Tent-logistic map and logistic map图4 帐篷-Logistic映射与两种原始映射的李亚普诺夫指数谱比较Fig.4 Comparison of tent-logistic map and two original maps in Lyapunov exponent spectra

图5 隐写模块运行流程图Fig.5 Flow chart of steganographic module operation

通过图4可以直观地发现本文所提出的帐篷-Logistic映射相比于参与比较的其他两个映射,其混沌系统参数的设置范围要宽松许多,说明系统更容易进入混沌状态,而这种特性正是图像加密所需的。

3 图像隐写方案设计

3.1 隐写模块方案设计

将待隐藏的原始秘密图像隐藏到伪装图像的过程分为3步:置乱、混淆和低位嵌入。整体流程如图5所示。设原始秘密图像为O,其大小为M×N,图像隐写的详细步骤叙述如下,其中置乱为步骤1~3,混淆为步骤4,低位嵌入为步骤5。

步骤1:设定帐篷-Logistic映射的系统参数μ、r及初始值x0,驱动帐篷-Logistic映射产生混沌随机数序列C={x1,x2,…,xM+N};

步骤2:将C拆分为C1={x1,x2,…,xM},C2={xM+1,xM+2,…,xM+N}。分别将C1和C2按照降序排列,得到C1和C2的排序矢量a={a1,a2,…,aM}和b={b1,b2,…,bN};

步骤3:按照公式(4)对原始秘密图像进行置乱,生成置乱图;

(4)

步骤4:加密方随机选择一幅与置乱图相同大小的无价值图像作为伪装图。将伪装图的前6个位平面与步骤3生成的置乱图的前6个位平面进行与或操作,生成混淆图;

步骤5:将步骤4生成的混淆图按照相邻两个位平面一组的顺序进行拆分,得到4幅子图像。将伪装图复制4份,每份伪装图的最低两个位平面使用一幅子图像进行替换,生成新的伪装图C1,C2,C3,C4。

3.2 秘密图像提取方案设计

从低位被嵌入混淆图的伪装图Ci,i=1,2,3,4中提取出原始秘密图像O的整体流程框图如图6所示。

图6 秘密图像提取模块运行流程图Fig.6 Flow chart of secret image extraction module operation

其详细步骤如下所述:

步骤1:收集所有的Ci,i=1,2,3,4,通过提取最低两个位平面然后重组的方式生成混淆图;

步骤2:通过混淆图与伪装图的与或操作生成置乱图;

步骤3:设定帐篷-Logistic映射的系统参数μ,r及初始值x0,驱动帐篷-Logistic映射产生混沌随机数序列C={x1,x2,…,xM+N};

步骤4:将C拆分为C1={x1,x2,…,xM},C2={xM+1,xM+2,…,xM+N}。然后分别将C1和C2按照降序排列,得到C1和C2的排序矢量a={a1,a2,…,aM}和b={b1,b2,…,bN};

步骤5:按照公式(5)对置乱图进行还原,生成原始秘密图像;

(5)

4 算法安全性和执行效率测试

本文所提出的算法对图7所示的4张灰度图各进行了一轮隐写-提取,生成的4幅类似于马赛克图像的加密图像展示于图8。4次加密所用的伪装图原图和被嵌入了加密图像的伪装图展示于图9。

图7 原始秘密图像Fig.7 Original secret images

图8 通过置乱-混淆环节生成的4幅加密图像Fig.8 Ciphertext images

(a)原始伪装图(a) Original cover image

(b)最低2位嵌入图8(a)的隐写图像(b) Steganographic images of lowest 2 bits embed-ding Fig.8(a)

(c)最低2位嵌入图8(b)的隐写图像(c) Steganographic images of lowest 2 bits embed-ding Fig.8(b)

(d)最低2位嵌入图8(c)的隐写图像(d) Steganographic images of lowest 2 bits embed-ding Fig.8(c)

(e)最低2位嵌入图8(d)的隐写图像(e) Steganographic images of lowest 2 bits embed-ding Fig.8(d)图9 原始伪装图和隐写图像Fig.9 Cover image and steganographic images

为了测试本文所提出算法的高度安全性和执行效率,本文所提出算法进行了3种测试,分别是密钥敏感性测试、抗统计攻击测试和隐写-提取用时测试。

4.1 密钥敏感性分析

本文所提出的算法使用的密钥对k={μ,r,x0}主要用于驱动帐篷-Logistic映射产生随机数序列。一个优良的加密算法对于密钥应该是极端敏感的,这样才能有效对抗密钥穷举攻击。密钥敏感性分析的目的在于衡量密钥的有效性,当密钥发生微小变化时,若加密同一个明文图像所得到的两幅密文图像有显著差异,则该加密方案的密钥敏感性强。

本小节测试中,以Barbara为样例,以得到图8(a)中加密图像的密钥对{k={μ,r,x0}}为初值,以10-4为改变量,任意改变其中一个密钥,得到3个新的密钥对。以3个新密钥对加密Barbara,得到新的3幅加密图示于图10。3幅新的加密图与图8(a)进行同位置像素相减操作,得到的差值图示于图11。

图10 新密钥对得到的加密图Fig.10 Ciphertext images generated from new secret key pairs

图11 新加密图与原加密图之间的差值图Fig.11 Difference images between new ciphertext images and original images

从图11可以看出,3幅差值图均呈现噪声形式,说明密钥值的微小改变造成了密文图像的显著差异性,这一点证实了本文所提出的算法具有高度的密钥敏感性。

4.2 抗统计攻击能力分析

窃密者通过获取大量加密图像便可以通过统计学知识来获取密文图像中包含的原始秘密图像信息,这种攻击方式称为统计攻击。具有强抗统计攻击能力的图像安全算法应当使得通过加密生成的图像类似于均匀分布的噪声。

图12展示了图7中的4幅原始秘密图像和图8中4幅加密图像的直方图。根据图12可以直观看出,明文图像的直方图有很大起伏,而加密图像则很平坦。因此可以认为加密图中像素为服从均匀分布的噪声点,本文所提出算法具有很强的对抗统计攻击的能力。

4.3 算法执行效率分析

为了满足大批量图片的实时性隐写要求,图像隐写算法的隐写-提取时间必须尽可能短。以图7所示的4幅图像作为测试样例,为证实本算法的高执行效率,本算法的100次隐写-提取平均消耗时间与其他两种常用算法[3-4]的执行耗时列于表1。

通过表1可以看出,本文所提出的算法能够满足大批量图片实时隐写的要求。

表1 算法隐写-提取平均耗时Tab.1 Average steganography-extracting time consuming

5 结 论

针对重要数字图像的不可信信道安全传输问题,本文基于帐篷映射和Logistic映射的级联设计了一种帐篷-Logistic映射,在此基础上设计了一种基于帐篷-Logistic映射和伪装图低位嵌入的图像隐写算法。该算法为置乱-混淆-低位嵌入结构,通过结合传统置乱-混淆结构的图像加密方式和基于低位嵌入的图像隐写,极大地提高了算法的安全性。在分叉图和李亚普诺夫指数的测试中,本文所提出的帐篷-Logistic映射均表现优异。在密钥敏感性测试、抗统计攻击测试和隐写-提取用时测试实验中,本文所提出的图像隐写算法也表现出高度的安全性和极高的执行效率。因此,本文所提出算法具有一定实用性。

猜你喜欢

帐篷密钥加密
今晚,我要睡在帐篷里
帐篷里的笑声
一种新型离散忆阻混沌系统及其图像加密应用
幻中邂逅之金色密钥
“帐篷节”开始啦
密码系统中密钥的状态与保护*
一种基于熵的混沌加密小波变换水印算法
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统
搭在水上的帐篷