一、概述
Liu等人[1] 提出一种冗余空间转移(简称:RST)加密算法。RST加密中,用户首先将图像分解为8个位平面,根据位平面置乱秘钥置乱图像的位平面以改变图像的像素值。接着,将位平面置乱图像分块,并以块为单位置乱像素值,为了能兼顾在加密图像中隐藏信息和保证加密图像的安全性,分块大小不能太小也不能太大。最后,对所有图像块内的像素值置乱生成最终的加密图像。RST加密保留了图像块高位平面的冗余,能极大地提高RDH-EI算法的嵌入率。对于一些平滑图像,嵌入率甚至能超过2bpp。此外,RST加密还能抵抗现有针对仅置乱加密的KPA攻击和CPA攻击。然而,RST加密不改变明文图像位平面的比特分布特性,且对于8位灰度图像而言,位平面置乱的密钥空间较小,RST加密已经被我们证明在已知明文攻击下存在安全隐患。
[1] Liu, Zi-Long, Pun, Chi-Man, 2018. Reversible data-hiding in encrypted images by redundant space transfer. Inform. Sci. 433, 188–203.
为提高RST加密算法的安全性,Qin[2] 等人对RST加密算法作出了改进,我们称之为IRST加密算法。首先,为解决RST加密中位平面置乱的密钥空间较小的问题,不同图像块用不同的位平面置乱序列置乱块的位平面,达到了增大图像位平面置乱秘钥空间的目的。IRST加密的位平面置乱秘钥空间得到极大提升。接着,分别对图像块和块内像素进行置乱得到最终的密文图像。
[2] Qin, Chuan, Qian, Xiaokang, Hong, Wien, Zhang, Xinpeng, 2019. An efficient coding scheme for reversible data hiding in encrypted image with redundancy transfer. Inform. Sci. 487, 176–192.
Qin提出的加密方法本质上是比特块置乱,对于4*4分块而言,每个比特块有2^16种可能。恢复比特块置乱顺序仅需已知1对明-密文即可。由于Qin加密算法每个比特块置乱顺序都不相同,因此Qin 加密算法的攻击难点在于如何快速恢复比特块内的置乱顺序。
Qin提出的加密过程:
原始图像的每个像素值分解为8位二进制值,组成MN8大小的二值图像。对二值图像中的比特值置乱,重新合为十进制像素值得到密文。
以一个2×2大小的图像块为例子:
以Lena图像为例生成比特之乱密文图像:
二、实验
破解比特置乱需要的明密文对数为:Log2(MN8)。
对于256*256图像而言,至少需要19对以上明密文。所用明文如下:
分别用19对和25对明密文估计置乱序列解密下面三幅比特之乱后的密文图像:
当攻击者已知19对明-密文时的 攻击结果(正确率10%):
当攻击者已知25对明密文攻击结果(正确率20%):
比特值全局置乱仍然无法抵抗已知明文攻击。
三、 结论
为了提高现有RDH-EI算法的嵌入容量,Liu等人设计了一种冗余空间转移加密方法,将图像的高位平面冗余转移到低位平面以实现对图像内容保护的目的。RST加密先对图像进行位平面值乱以改变原始图像像素的值,接着进行分块置乱以改变像素的位置,生成的加密图像不仅能抵抗现有的COA攻击,还能抵抗现有KPA攻击。针对RST加密中位平面置乱秘钥空间较小的缺点,在不损失嵌入容量的条件下Qin等人提出了改进的IRST加密算法。
实验结果表明RST加密无法抵抗本文提出的KPA攻击。对于IRST加密,当分块大小不小于3×3时,仅利用1对明-密文,块置乱秘钥估计准确率超过50%,位平面置乱秘钥的正确率接近10%,此时已经可以导致密文图像的大部分内容被泄露。即使分块带下小于2×2时,通过利用多对明密文仍可破解密文图像的大部分内容。