一种规避社交网络平台图像增强滤波的JPEG图像加密方法与流程

文档序号:14043585阅读:469来源:国知局

本发明涉及一种图像加密方法,具体是一种规避社交网络平台图像增强滤波的jpeg图像加密方法。

技术背景

随着互联网的发展,越来越多的图像被上传至社交网络上,如twitter、facebook、qq空间等,极大地方便了图像的存储和传输。但同时大量含有个人信息的图像曝光在社交网络中,从而导致隐私泄露问题,不法分子可利用这些隐私对用户造成财产或精神上的损失。该问题的一种可行解决方案是将图像加密后再上传。图像加密技术将原始图像内容处理为视觉上不可认知的形式,从而保护图像原始内容的安全。然而社交网络平台会对加密图像进行一些处理,如:重压缩、尺寸缩放、增强滤波等,改变了加密图像数据,这给加密图像的无失真存储和传输带来了不便。

目前已经有facebook平台下的jpeg图像加密技术,通过为每一个ac系数分配等长的密钥流实现图像的加密和解密,文献为:

sunw,zhouj,zhus,etal.processing-awareprivacy-preservingphotosharingoveronlinesocialnetworks[c]//acmonmultimediaconference.acm,2016:581-585.

上述论文方法虽然能在facebook平台下对加密图像近似解密,但不能解决增强滤波造成的图像失真问题。同时不同社交网络平台对图像增强滤波的处理方式不一样,换一种平台图像失真就可能加剧,导致无法有效恢复原始图像。



技术实现要素:

针对现有技术存在的缺陷,本发明的目的是提供一种规避社交网络平台图像增强滤波的jpeg图像加密方法。根据社交网络平台对高波动图像不作滤波处理的特点,基于图像起伏程度设计规避社交网络增强滤波的图像加密方法,由于jpeg图像在生活中广泛应用,本发明主要针对jpeg图像设计加解密算法。

为达到上述目的,本发明采用如下技术方案:

一种规避社交网络平台图像增强滤波的jpeg图像加密方法,具体步骤如下:

(1)、置乱dc(directcurrent)系数:原始jpeg图像i,以8×8块为单位,对所有块量化后的dct(discretecosinetransform)系数,取出dc系数组成dc矩阵,记矩阵的长宽分别为m和n。使用logistic函数迭代生成混沌序列并映射为包含m×n个二维坐标的序列c。按照光栅扫描,即从左到右、从上到下扫描的顺序,将原始dc矩阵中的第一个值搬移到序列c中第一个随机坐标对应位置,依次类推形成新的dc矩阵,得到置乱后的dc系数;

(2)、置乱非零ac(alternatingcurrent)系数:以8×8块为单位,对每一块量化后的dct系数,使用logistic混沌序列置乱块内非零ac系数,以增加图像的内容起伏程度;

(3)、异或加密ac系数:使用密钥k生成随机密钥流,为每个ac系数分配11比特的密钥流,将非零ac系数用vli(variablelengthinteger)编码表示。假设对应的vli编码有l位,那么非零ac系数的vli码与分配到的11比特的密钥流的后l位进行异或加密得到新的vli码,再转换为十进制,即为加密的ac系数,最终得到加密图i′;

(4)、上传社交网络,下载并解密:将得到的加密图i′上传至社交网络后下载。解密方法与加密方法一一对应,依次使用流密码异或解密ac系数、以8×8块为单位恢复每块块内非零ac系数的顺序和恢复所有块的dc系数的顺序。最后,对比解密图像相对原始图像获得的失真,由信噪比进行度量。

与现有技术相比,本发明具有如下的优点:

本发明方法增强了密文图像的起伏程度,规避了社交网络平台的增强滤波,能够在社交网络中以密文的形式无失真存储以及传输图像。

附图说明

图1为本发明方法的流程图。

图2为本发明方法实施例中选用的原始图像。

图3为本发明方法实施例的ac系数vli编码表。

图4为本发明方法实施例的密文图像。

图5为本发明方法实施例的上传社交网络后下载的图像。

图6为本发明方法实施例的解密图像。

具体实施方式

本发明的具体实施例详述如下:

参见图1,本发明的一种规避社交网络平台图像增强滤波的jpeg图像加密方法,使用图2中所示的原始图像来说明本发明如何工作。原始图像为来自1.01bossbass图像库的灰度图像,大小为512×512,质量因子为85。具体步骤如下:

(1)、置乱dc系数:原始jpeg图像i,按8×8分块取出量化dct系数中的dc系数组成dc矩阵,矩阵的长m=64,宽n=64。使用logistic函数迭代生成混沌序列并映射为包含m×n个二维坐标的序列c。原始dc矩阵中的值按照光栅扫描顺序搬移到序列c对应的随机坐标,构成新的dc矩阵,得到置乱后的dc系数。其具体步骤如下:

(1-1)、按8×8分块提取出所有块左上角的dc系数组成dc矩阵。

(1-2)、根据logistic函数迭代方程:

a(i+1)=μ*a(i)*[1-a(i)],(i=0,1,2,…)

不断迭代生成混沌序列元素a(i),其中初始参数a(0)∈(0,1),3.5699456<μ≤4。这里a(0)取0.1,μ取4。a(i)的值落在(0,1)区间。

(1-3)、将上一步得到的每一个混沌序列元素a(i)乘以参数m×n得到新的混沌序列元素b(i)。基于表达式:

将混沌序列元素b(i)映射为二维坐标(xi,yi)组成坐标序列c,其中表示向上取整。

对于新生成的二维坐标(xi,yi),如果坐标序列c中已存在该坐标,则继续执行(1-2)中的迭代过程并映射为二维坐标,直至坐标序列c中包含m×n个不重复的坐标点。

(1-4)、按照光栅扫描的顺序,将原始dc矩阵中的第一个值搬移到序列c中第一个随机坐标对应的位置,依次类推形成新的dc矩阵,得到置乱后的dc系数。

(2)、置乱非零ac系数:对8×8为单位块的量化dct系数,使用logistic混沌序列置乱块内非零ac系数,以增加图像的起伏程度。具体步骤如下:

(2-1)、以8×8块为单位获得量化后的dct系数,提取出非零ac系数组成大小为m×n的矩阵:[ac1ac2…acn],此处m=1、n为块内非零ac系数的个数。

(2-2)、使用和步骤(1-2)、(1-3)相同的方法,通过logistic混沌序列生成包含m×n个不重复的坐标点的随机坐标序列,将原始非零ac系数矩阵中的第一个值搬移到随机坐标序列中第一个随机坐标对应的位置,依次类推置乱[ac1ac2…acn]。

(2-3)、将置乱后的非零ac系数依次放回,以此增大图像内容起伏程度。

(3)、异或加密ac系数:使用密钥k生成随机密钥流,为每个ac系数分配11比特的密钥流。由于ac系数用vli编码表示,假设对应的vli编码有l位,那么非零ac系数的vli码与分配到的11比特密钥流的后l位进行异或得到加密的vli码,再转换为十进制,即为加密的ac系数,最终得到加密图i′。其具体步骤如下:

(3-1)、使用密钥k产生二进制随机密钥流,然后依次为每个ac系数分配11比特。

(3-2)、将非零ac系数用vli编码方法表示,vli码长度记为l位,然后将vli码和分配到的密钥流的后l位进行异或加密,得到新的vli码,vli编码表如图3所示。

(3-3)新的vli码解码得到加密后的ac系数,加密完成。通过dct逆变换可得到密文图像,如图4所示。

(4)、上传社交网络,下载并解密:将得到的加密图i′上传至社交网络后下载。密文图像的解密与加密方法一一对应,依次使用异或方法解密ac系数、以8×8块为单位恢复块内非零ac系数的顺序和恢复所有块的dc系数的顺序,通过信噪比度量解密图像相对原始图像的失真程度。

(4-1)、将密文图像i′上传至社交网络,调至大图模式然后下载得到图像is,如图5所示。

(4-2)、使用和加密过程相同的密钥k生成二进制随机密钥流,使用同样的顺序依次为每个ac系数分配11比特密钥流。非零ac系数的vli码和密钥流异或解密,得到解密后的ac系数。

(4-3)、以8×8块为单位提取出非零ac系数组成的大小为m×n的矩阵,此处m=1、n为块内非零ac系数的个数。使用和加密过程相同的初始参数,通过logistic混沌序列生成包含m×n(m=1)个不重复的坐标点的随机坐标序列,按照该坐标序列的位置顺序将非零ac系数依次放回。

(4-4)、按8×8分块提取出所有块左上角的dc系数组成dc矩阵,矩阵的长m=64,宽n=64。使用和加密过程相同的初始参数,通过logistic混沌序列生成包含m×n个不重复的坐标点的随机坐标序列。将随机坐标对应位置的dc系数提取出来并按照光栅扫描顺序放回新的dc系数矩阵,依此类推,恢复dc系数的正确顺序。得到解密图像,如图6所示。

为了验证本发明的效果,原始图像(图2)经过加密后得到的密文图像(图4)已经看不出原始图像的内容,也无法获得对应的数值信息。经过上传社交网络然后下载的操作,解密后的图像(图6)相对原始图像的信噪比为无穷大,图像无失真恢复。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1