JPEG图像加密算法
目前,JPEG图像加密算法可以分成异或加密、置乱加密和置乱与异或组合加密。下面对这三种加密方式进行阐述。
(1) 异或加密
文献[1]提出了一种基于异或加密的JPEG图像的RDH-EI方案。该算法通过对AC系数的ACA和图像的量化表进行流密码异或,以改变图像的DCT系数,达到保护图像内容的目的。然而,这种算法没有改变图像块中非零AC系数前的零游程,ACH在加密前后保持不变,原始图像的轮廓结构可以从加密位流中估计得到。文献[3]通过实验证明了该算法无法抵御轮廓攻击。Chang等人[2]提出在比特流加密之前预留嵌入秘密信息的空间,与文献[1]相比提高了嵌入容量,但预留嵌入秘密信息的空间需要进行额外的计算,算法复杂度较高,且加密算法仍与文献[1]相同,依然存在同样的安全问题。
(2) 置乱加密
He等人[4]提出了一种基于置乱的JPEG图像加密方案。该算法通过图像的系数特征生成自适应加密密钥,从而生成置乱序列,并分别对AC系数和DC系数置乱实现JPEG图像加密,在加密过程中不会产生文件增长。对于DC系数,该算法采用了分类、类间置乱和分组迭代交换,很好解决了置乱导致的文件增长和DC系数超出范围的问题;对于AC系数,该算法采用了分类、类间置乱和全局块置乱,加密AC系数的过程中也不会产生文件增长。下面分别对文献[4]的自适应加密密钥的生成、DC系数和AC系数的加密过程进行描述。
自适应加密密钥生成过程如下:
1) 设置用户初始密钥 。
2) 统计图像的系数特征,表示拥有 i 个非零AC系数的图像块数量。
3) 计算系数特征的哈希码。使用SHA3-512哈希函数生成 hi 的512位哈希码。
4) 哈希码分组拼接。将512位哈希码分为左右两部分,分别对左右部分进行拼接。将256比特左半部分分为 29 组,统计每组‘1’的个数,依次将个数拼接到后,记为。右半部分同理,将个数拼接到后,记为。最终生成的自适应加密密钥为。
DC系数加密过程如下:
1) 分类。获取JPEG比特流中的N个DC系数,按照连续DC系数的正负是否相同对DC系数分类,同类的DC系数具有相同的正负性。
2) 类间置乱。通过加密密钥生成加密序列,对每个DC系数类进行类间置乱。
3) 分组迭代交换。DC系数加密的安全性与迭代的次数相关,迭代次数越多,DC系数加密越安全。迭代第i次时,DC系数被分为了个组,每个组由左、右两部分构成。若二进制密码流指示当前分组可以交换,而且左右两部分交换后不会使DC系数超过规定范围,则将当前组的左右交换,否则就不交换。
AC系数加密过程如下:
1) 分类。获取JPEG比特流中的所有非零AC系数,并根据非零AC系数前的零系数个数分类,同类AC系数前的零系数个数相等。
2) 类间置乱。每个类根据加密密钥生成置乱序列,进行类间置乱。
3) 全局块置乱。根据加密密钥生成块置乱序列,对图像块AC系数进行全局块置乱。
设置迭代次数为15,得到对应的加密图像,如图所示。在加密过程中几乎不产生文件增长,而且使用图像的系数特征以生成自适应加密密钥,每幅图像的DC系数和AC系数置乱序列均不同,很大程度上提高了算法抵抗已知攻击的能力。
(3) 置乱与异或组合加密
研究者在文献[5]中提出了一种基于置乱和异或加密的JPEG图像RDH算法。它使用密钥生成块置乱序列,对图像块进行全局置乱。然后将图像块分为两部分,通过对一部分图像块的AC系数附加位比特进行异或加密形成加密图像,剩余图像块比特流隐藏至JPEG头文件的APPn中。但是全局块置乱可能导致DC系数溢出。
因此Qian [3]等人提出了一种加密JPEG图像RDH算法的新框架。它也使用基于置乱和异或的加密方式,图像块全局置乱后通过DC系数二次差分,在一定程度上解决了DC系数超出范围的问题。在该算法中,一部分图像块用于信息隐藏,剩下的图像块经过异或加密后放入JPEG头文件的APPn中。在APPn中的图像块不可见,保护了用户的图像内容,但这却是以牺牲算法的隐藏容量为代价的。加密效果如下图。
参考文献
1. Qian Z, Zhang X, Wang S. Reversible data hiding in encrypted JPEG bitstream[J]. IEEE Transactions on Multimedia, 2014,16(5):1486-1491.
2. Chang J C, Lu Y Z, Wu H L. A separable reversible data hiding scheme for encrypted JPEG bitstreams[J]. Signal Processing, 2017,133:135-143.
3. Qian Z, Xu H, Luo X, Zhang X. New framework of reversible data hiding in encrypted JPEG bitstreams[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2019, 29(2):351-362.
4. He J, Huang S, Tang S, Huang J. JPEG image encryption with improved format compatibility and file size preservation[J]. IEEE Transactions on Multimedia, 2018, 20(10):2645-2658.