基于交流统计特征改变的JPEG图像比特流加密方法技术

技术编号:21370262 阅读:27 留言:0更新日期:2019-06-15 11:20
一种基于交流统计特征改变的JPEG图像比特流加密方法,用户在JPEG比特流中由用户密钥选择部分图像块中最后一个非零交流系数熵编码进行加密,并作为秘密信息通过直方图平移方法隐藏到部分图像块熵编码中,由用户密钥和交流系数得到统计特性,自适应生成直流系数加密密钥和交流系数的加密密钥,分别对直流系数进行组间置乱和差分编码迭代置乱,对交流系数进行块内和块间置乱;接收者在加密比特流中提取秘密信息并进行解密,由用户密钥和加密比特流中交流系数统计特性恢复直流系数和交流系数加密密钥,并对交流系数和直流系数进行解密,恢复每个图像块熵编码中的交流系数熵编码,得到原始比特流。该方法安全性高,且加密文件扩展小。

JPEG Image Bit Stream Encryption Method Based on AC Statistical Characteristic Change

A method of JPEG image bit stream encryption based on the change of AC statistical characteristics is proposed. Users encrypt the last non-zero AC coefficient entropy coding in the JPEG bit stream by user key selection. As secret information, it is hidden in the partial image block entropy coding by histogram translation method. Statistical characteristics are obtained by user key and AC coefficient, and the direct is generated adaptively. The stream coefficient encryption key and the encryption key of AC coefficient are scrambled by group scrambling and differential encoding iteration respectively, and the AC coefficient is scrambled within and between blocks. The receiver extracts secret information from the encrypted bit stream and decrypts it. The DC coefficient and the AC coefficient encryption key are restored by the statistical characteristics of the user key and the AC coefficient in the encrypted bit stream. The AC and DC coefficients are decrypted to recover the AC coefficient entropy coding in each image block entropy coding, and the original bit stream is obtained. This method has high security and small expansion of encrypted files.

【技术实现步骤摘要】
基于交流统计特征改变的JPEG图像比特流加密方法
本专利技术涉及一种JPEG图像比特流加密方法。
技术介绍
JPEG(JointPhotographicExpertsGroup)是网络空间中存储、传输及应用最常见的图像文件格式。JPEG压缩标准能够在低损的情况下将数字图像存储在很小的空间。随着云计算、云存储的快速发展,云端存储数据的安全性引起研究者的广泛关注。图像加密是保护图像内容隐私安全的有效手段。加密图像的空域数据会导致图像文件体积扩展严重,直接加密JPEG比特流为实现低存储空间下实现隐私保护的图像加密提供了可能的途径。JPEG图像具有特殊的编码方式,生成的加密图像需要与JPEG解码器兼容;因此对JPEG比特流加密是一个具有挑战性的研究课题。近年来,研究者提出了许多JPEG比特流加密方法,在JPEG标准兼容、文件增量、安全性等方面取得了许多研究成果。最近,文献1(Z.Qian,H.Xu,X.LuoandX.Zhang,“NewFrameworkofReversibleDataHidinginEncryptedJPEGBitstreams,”IEEETransactionsonCircuitsandSystemsforVideoTechnology,10.1109/TCSVT.2018.2797897.)提出了一种JPEG比特流加密域可逆数据隐藏方法,该方法根据秘密信息通过对交流系数进行直方图平移实现在加密JPEG比特流中可逆地隐藏数据。该方法通过基于密钥随机选择图像块实现了编码块的伪随机置乱,通过“直流再差分”有效避免了直流系数的越界,使生成的加密JPEG比特流与JPEG标准兼容,且其相应的解码图像类似随机噪声,实现了对图像视觉内容的保护。不过,该算法的直流编码扩展较大,导致加密JPEG图像文件体积增大。同时,当遭受已知明文攻击时,可能导致JPEG密文库中所有文件泄密的安全隐患。2018年,文献2(HeJ,HuangS,TangS,etal.JPEGImageEncryptionwithImprovedFormatCompatibilityandFileSizePreservation[J].IEEETransactionsonMultimedia,2018:1-1.)提出了一种JPEG图像加密方案。一方面,该算法利用加密前后交流系数具有相同分布的特性,自适应生成图像的加密密钥,而不是用相同密钥加密JPEG密文库中所有图像,提高了算法抵抗已知明文攻击的能力。不过,该算法采用的自适应生成密钥的“交流系数统计特征”在JPEG流加密前后完全相同,容易伪造,因此,该算法易受选择明文攻击;同时,该算法还设计一种“同号段内置乱与多次分组迭代置换”的DC差分系数加密方法,实现了DCT系数不越界和对加密JPEG图像视觉内容的保护,还有效降低了直流编码的扩展。不过,该算法的置乱都是在局部进行,缩小了DC加密的密文空间。
技术实现思路
本专利技术的是为了提供一种基于交流统计特征改变改变的JPEG图像比特流加密方法,该方法安全性高,文件扩展低。本专利技术实现其专利技术目的所采用的技术方案是,一种基于交流统计特征改变的JPEG图像比特流加密方法,包括如下步骤:A、JPEG图像比特流加密A1、数据读取用户读取大小为H0×W0的JPEG格式的图像X,获得图像X的原始比特流J,J={SOI,JH,ECS1,ECS2,…,ECSn,…,ECSN,EOI},其中:SOI为图像开始标记符,JH为JPEG头文件,EOI为图像的结束标记符,ECSn为图像X中的第n个图像块熵编码,N为图像块熵编码的个数,N=(H0×W0)/64;H0为图像X的行数、W0为图像X的列数;图像X中的第n个图像块熵编码ECSn由第n个图像块熵编码的直流差分熵编码Cn,第n个图像块的非零交流系数熵编码集An,图像块熵编码结束标记符EOB组成,即ECSn={Cn,An,EOB};其中,是ECSn中第i个非零交流系数熵编码,In为第n个图像块熵编码中非零交流系数熵编码的个数;将第一个至第N个图像块非零交流熵编码集A1,A2,…,An,…,AN,依次拼接组成原始比特流J的非零交流熵编码序列A,即A={A1,A2,…,An,…,AN};A2、基于直方图平移的加密密钥自适应生成A2.1、交流系数熵编码预处理用户根据直方图平移方法,计算原始比特流J的最大隐写容量Cmax,根据用户密钥Key选取隐写容量Ce使得Ce∈(0,Cmax);然后,基于用户密钥Key生成长度为F的伪随机序列Z,Z={z1,z2,…,zf,…,zF},其中zf伪随机序列Z中的第f个伪随机的整数,且zf∈(1,N);找出非零交流熵编码序列A中的第n=zf个非零交流熵编码集并提取出第zf个非零交流熵编码集中的最后一个非零交流系数熵编码Bf,将将所有的非零交流熵编码集中的最后一个非零交流系数熵编码Bf依次拼接,组成长度为Ls的待隐藏比特流B,其中Ls≤Ce;使用用户密钥Key加密待隐藏比特流B,得到的秘密信息S,Ls为秘密信息S的长度;同时,得到预处理交流熵编码序列A2.2、秘密信息隐藏:用户采用直方图平移隐藏方法将长度为Ls的秘密信息S隐藏至预处理交流熵编码序列中,得到待加密交流熵编码序列并将待加密交流熵编码序列中隐藏秘密信息S所需要的交流熵编码集的个数记为Ns;A2.3、交流系数统计特征生成:将第n个待加密交流熵编码集中的非零交流系数熵编码的个数记为并将所有的待加密交流熵编码集的非零交流系数熵编码的个数依次拼接,得到待加密交流系数熵编码个数序列然后,根据下式生成交流系数统计特征T,T={t0,t1,t2,…,tx,…,t63},其中,tx为交流系数熵编码个数的值为x的统计特征值,其中sum(.)为在待加密交流系数熵编码个数序列中,满足条件的交流系数熵编码个数的总数;A2.4、直流系数和交流系数加密密钥生成:将用户密钥Key和交流系数统计特征T,分别作为混沌序列的种子和初值,由混沌序列生成自适应图像内容的直流加密密钥K1和交流加密密钥K2;A3、直流加密用户将所有图像块熵编码ECSn中的直流差分熵编码C1,C2,…,Cn,…,CN组成原始比特流J的直流差分熵编码序列C,即:C={C1,C2,…,Cn,…,CN};A3.1、计算直流系数序列:根据JPEG解码标准,解码每个直流差分熵编码Cn,得到直流差分系数dfn,并将所有的直流差分系数dfn依次拼接,组成直流差分序列DF,即:DF={df1,df2,…,dfn,…,dfN},根据直流差分系数dfn,由下式计算得到直流系数dn,然后将所有的直流系数dn依次拼接得到原始比特流J中的直流系数序列D={d1,d2,…,dN},A3.2、直流系数分组置乱按照从左至右的顺序,将直流系数序列D分成H(H=H0/8)组,得到直流系数分组序列其中,Dh为直流系数分组序列中的第h个直流系数分组,h=1,2,…,H;第h个直流系数分组Dh包含W(W=W0/8)个直流系数,分别为d(h-1)×W+1,d(h-1)×W+2,…,dh×W,即Dh={d(h-1)×W+1,d(h-1)×W+2,…,dh×W};其中w={1,2,3,…,W},h={1,2,3,…,H};采用A2步生成的直流系数本文档来自技高网
...

【技术保护点】
1.一种基于交流统计特征改变的JPEG图像比特流加密方法,包括如下步骤:A、JPEG图像比特流加密A1、数据读取用户读取大小为H0×W0的JPEG格式的图像X,获得图像X的原始比特流J,J={SOI,JH,ECS1,ECS2,...,ECSn,...,ECSN,EOI},其中:SOI为图像开始标记符,JH为JPEG头文件,EOI为图像的结束标记符,ECSn为图像X中的第n个图像块熵编码,N为图像块熵编码的个数,N=(H0×W0)/64;H0为图像X的行数、W0为图像X的列数;图像X中的第n个图像块熵编码ECSn由第n个图像块熵编码的直流差分熵编码Cn,第n个图像块的非零交流系数熵编码集An,图像块熵编码结束标记符EOB组成,即ECSn={Cn,An,EOB};其中,

【技术特征摘要】
1.一种基于交流统计特征改变的JPEG图像比特流加密方法,包括如下步骤:A、JPEG图像比特流加密A1、数据读取用户读取大小为H0×W0的JPEG格式的图像X,获得图像X的原始比特流J,J={SOI,JH,ECS1,ECS2,...,ECSn,...,ECSN,EOI},其中:SOI为图像开始标记符,JH为JPEG头文件,EOI为图像的结束标记符,ECSn为图像X中的第n个图像块熵编码,N为图像块熵编码的个数,N=(H0×W0)/64;H0为图像X的行数、W0为图像X的列数;图像X中的第n个图像块熵编码ECSn由第n个图像块熵编码的直流差分熵编码Cn,第n个图像块的非零交流系数熵编码集An,图像块熵编码结束标记符EOB组成,即ECSn={Cn,An,EOB};其中,是ECSn中第i个非零交流系数熵编码,In为第n个图像块熵编码中非零交流系数熵编码的个数;将第一个至第N个图像块非零交流熵编码集A1,A2,...,An,...,AN,依次拼接组成原始比特流J的非零交流熵编码序列A,即A={A1,A2,...,An,...,AN};A2、基于直方图平移的加密密钥自适应生成A2.1、交流系数熵编码预处理用户根据直方图平移方法,计算原始比特流J的最大隐写容量Cmax,根据用户密钥Key选取隐写容量Ce使得Ce∈(0,Cmax);然后,基于用户密钥Key生成长度为F的伪随机序列Z,Z={z1,z2,...,zf,...,zF},其中zf伪随机序列Z中的第f个伪随机的整数,且zf∈(1,N);找出非零交流熵编码序列A中的第n=zf个非零交流熵编码集并提取出第zf个非零交流熵编码集中的最后一个非零交流系数熵编码Bf,将将所有的非零交流熵编码集中的最后一个非零交流系数熵编码Bf依次拼接,组成长度为Ls的待隐藏比特流B,其中Ls≤Ce;使用用户密钥Key加密待隐藏比特流B,得到的秘密信息S,Ls为秘密信息S的长度;同时,得到预处理交流熵编码序列A2.2、秘密信息隐藏:用户采用直方图平移隐藏方法将长度为Ls的秘密信息S隐藏至预处理交流熵编码序列中,得到待加密交流熵编码序列并将待加密交流熵编码序列中隐藏秘密信息S所需要的交流熵编码集的个数记为Ns;A2.3、交流系数统计特征生成:将第n个待加密交流熵编码集中的非零交流系数熵编码的个数记为并将所有的待加密交流熵编码集的非零交流系数熵编码的个数依次拼接,得到待加密交流系数熵编码个数序列然后,根据下式生成交流系数统计特征T,T={t0,t1,t2,...,tx,...,t63},其中,tx为交流系数熵编码个数的值为x的统计特征值,其中sum(.)为在待加密交流系数熵编码个数序列中,满足条件的交流系数熵编码个数的总数;A2.4、直流系数和交流系数加密密钥生成:将用户密钥Key和交流系数统计特征T,分别作为混沌序列的种子和初值,由混沌序列生成自适应图像内容的直流加密密钥K1和交流加密密钥K2;A3、直流加密用户将所有图像块熵编码ECSn中的直流差分熵编码C1,C2,...,Cn,...,CN组成原始比特流J的直流差分熵编码序列C,即:C={C1,C2,...,Cn,...,CN};A3.1、计算直流系数序列:根据JPEG解码标准,解码每个直流差分熵编码Cn,得到直流差分系数dfn,并将所有的直流差分系数dfn依次拼接,组成直流差分序列DF,即:DF={df1,df2,...,dfn,...,dfN},根据直流差分系数dfn,由下式计算得到直流系数dn,然后将所有的直流系数dn依次拼接得到原始比特流J中的直流系数序列D={d1,d2,...,dN},A3.2、直流系数分组置乱按照从左至右的顺序,将直流系数序列D分成H(H=H0/8)组,得到直流系数分组序列其中,Dh为直流系数分组序列中的第h个直流系数分组,h=1,2,...,H;第h个直流系数分组Dh包含W(W=W0/8)个直流系数,分别为d(h-1)×W+1,d(h-1)×W+2,...,dh×W,即Dh={d(h-1)×W+1,d(h-1)×W+2,...,dh×W};其中w={1,2,3,...,W},h={1,2,3,...,H};采用A2步生成的直流系数加密密钥K1,对直流系数分组序列进行置乱,得到置乱直流系数分组序列其中,置乱直流系数分组序列中的第h’个置乱直流系数分组;将置乱直流系数分组序列中的所有置乱直流系数分组依次拼接,得到,其中,为置乱直流系数序列中的第n个置乱直流系数;对置乱直流系数分组序列中的第n个置乱直流系数按下式进行计算,得到第n个置乱直流差分系数df′n,将所有的置乱直流差分系数df′n,依次拼接得到分组置乱直流差分系数序列DF’,DF’={df′1,df′2,…,df′n,…,df′N}A3.3、差分编码迭代置乱:根据直流系数加密密钥K1,对分组置乱直流系数差分序列DF’采用差分编码迭代置乱的加密方法进行加密,得到加密直流差分系数序列DF*,其中为加密直流差分系数序列DF*中的第n个加密直流差分系数;A3.4、加密的直流系数加密图像块熵编码序列生成:根据JPEG编码标准对加密的直流差分序列DF*中的第n个加密直流差分系数进行编码,得到第n个图像块熵编码ECSn的直流系数加密熵编码然后,将所有的直流系数加密熵编码依次拼接,得到直流系数加密熵编码序列C*,A4、交流系数加密A4.1、块内置乱:在A2.2步骤中生成的待加密交流熵编码序列的,中,如果采用交流系数加密密钥K2,置乱...

【专利技术属性】
技术研发人员:陈帆和红杰郑梦阳董梦瑶
申请(专利权)人:西南交通大学
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1