CN113507546B - 基于dct-64的图像加密方法 - Google Patents
基于dct-64的图像加密方法 Download PDFInfo
- Publication number
- CN113507546B CN113507546B CN202110606848.9A CN202110606848A CN113507546B CN 113507546 B CN113507546 B CN 113507546B CN 202110606848 A CN202110606848 A CN 202110606848A CN 113507546 B CN113507546 B CN 113507546B
- Authority
- CN
- China
- Prior art keywords
- block
- image
- blocks
- max
- coefficient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32267—Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
- H04N1/32272—Encryption or ciphering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于DCT‑64的图像加密方法,过程如下:在DCT变换阶段加密中,将图像自适应分割为64×64、32×32、16×16、8×8等不同大小的像素块后,对每个像素块进行不同大小的DCT变换,之后将像素个数大于64的块中的像素在密钥的作用下按照能量从左上角至右下角递减原则随机分到若干8×8的块中完成该阶段的加密;在图像量化阶段加密中,将所有量化后的8×8的块进行全局打乱;在图像编码阶段加密中,在密钥的控制下将DCT变换阶段的分割信息嵌入至图像的AC系数中,再对所有AC系数进行随机置换。本发明确保了加密图像的安全性,在保证图像信息不泄露的同时压缩性能没有损害很多。
Description
技术领域
本发明涉及图像加密技术领域,具体涉及一种基于DCT-64的图像加密方法。
背景技术
随着互联网的高速发展,基于JPEG的联合图像加密技术正受到越来越多的关注。这种加密技术在保证加密传输速率的同时,也兼顾了多媒体数据的安全性,为人们的隐私提供了一定的保障。但是,现有的基于JPEG的加密技术存在着无法与JPEG标准兼容和加密后图像大小明显增大等问题。无法兼容JPEG标准的加密技术,在使用JPEG解码时,会出现无法成功解码等问题,这增大了秘密信息暴露的可能,在可用性和安全性方面都受到比较大的考验。图像大小明显增大也会给加密信息的安全性带来很大的挑战,同时,过大的图像也不利于图像的传输。
Devaraj Ponnain等人[D.Ponnain,K.Chandranbabu,“Crypt analysis ofanimage encryption algorithm and an enhanced scheme,“Optik-Int.J.LightElectron Opt.127(1)(2016)192–199.]提出的是一种基于混沌系统的排列扩散的加密结构,这种方法能够有效的实现图像加密,但是仍然存在安全性方面的不足。该方案将排列过程和扩散过程分开进行,这样攻击者可以通过向加密算法提供相同值的平面图像简单的将体系结构分为两个不相关的阶段。同时,攻击者还可以计算再扩散阶段使用的密钥流,该密钥流仅取决于初始参数,而与普通图像的信息无关。Li等人[Peiya Li,Kwok-TungLo,“Joint image encryption and compression schemes based on 16×16dct.”Journal of Visual Communication and Image Representation,58:12–24,2019.]采用16×16DCT(Discrete Cosine Transform,离散余弦变换)代替JPEG中的8×8DCT,这种方法提高了压缩效率,同时加入了各种加密技术和随机分配机制,实现了图像加密功能。但是这种方法直接用16×16代替8×8会消除掉一些细节信息,对于细节信息较多的图像,还原效果不太理想。
因此,目前亟待需要找到一种兼容JPEG标准的、加密后图像大小良好、并且图像恢复之后能够较好识别的方法。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于DCT-64的图像加密方法,该方法根据不同图像自身的特性对图像进行分割,分割后将分割信息嵌入AC系数中进行信息隐藏,保证了加密图像的安全性,在保证图像信息不泄露的同时压缩性能没有损害很多。
本发明的目的可以通过采取如下技术方案达到:
一种基于DCT-64的图像加密方法,所述图像加密方法包括以下步骤:
S1、将待加密的图像I分割成64×64、32×32、16×16以及8×8四种不同大小的像素块{b1,b2,b3,……bN},N为分割后不同大小的块的总数,遍历{b1,b2,b3,……bN}中的每个块,对每个大小为(S,S)的块进行大小为S的DCT变换,其中S=8、16、32、64,经DCT变换后的块记为{b1′,b2′,b3′,……bN′};
S2、遍历{b1′,b2′,b3′,……bN′}中的每个块,如果bN′对应的S>8,将bN′中的S*S个系数在密钥的控制下根据能量从左上角至右下角递减的规则随机分配到(S*S)/(8*8)个8×8的块中;
S3、将所有8×8的块进行量化后进行打乱,之后进行“之”字扫描操作;
S4、采用信息隐藏方法将分割信息嵌入到“之”字扫描后的AC系数中并将所有AC系数进行相同游程置换;
S5、对生成的DC系数和AC系数进行哈夫曼编码,完成加密。
进一步地,所述步骤S1中分割过程如下:
S1-1、首先将图像分割为64×64的块k1,k2,k3......km,m为大小为64的块的总数;
S1-2、依次选取k1,k2,k3......km进行以下操作;
S1-3、设VD-s表示每个块大小为S×S的最大像素与最小像素差值,设VT-S为每个块所有像素值的平均值,设δ为一维向量保存图像分割信息,如果VD-S大于VT-S,则分割为四个子块B1、B2、B3、B4,分割信息为“0”,将其保存至δ中,{δ,0};如果VD-S小于VT-S,则当前块不分割,分割信息记为“1”,将其保存至δ中,{δ,1},转至执行步骤S1-5中操作;
S1-4、对于分割后的四个子块B1、B2、B3、B4依次进行判断,如果Br是大于8×8的块,,r=1、2、3、4,则对Br进行步骤S1-3;如果Br是等于8×8的块,则对Br执行步骤S1-5中操作;
S1-5、进行大小为S×S的DCT变换。
进一步地,所述步骤S2中系数分配过程如下:
S2-1、将bN′通过“之”字扫描转换为一维向量,由像素{p1,p2,p3,......pn}组成,n=S*S,当S=64时,n=4096;当S=32时,n=1024;当S=16时,n=256;
S2-2、从Kseg中选取Nl个比特,其中,Kseg为一串由0和1组成的二进制密钥,Nl将根据{b1′,b2′,b3′,......bN′}中bN′对应的S的大小决定,当S=64时,Nl=9;当S=32时,Nl=7;当S=16时,Nl=5;
S2-3、将Nl分割,前三个比特转换为十进制数α,剩余的比特转换为十进制数β;
S2-4、将{p1,p2,p3,......pn}中前α个像素值放入第β个一维向量中,当S取不同值时,β的最大值也不同,βmax=(S*S)/(8*8);当S=64时,βmax为64;当S=32时,βmax为16;当S=16时,βmax为4;
S2-5、将(S*S)/(8*8)个一维向量通过反“之”字扫描转换为8×8的块。
进一步地,为了防止系数溢出问题,所述步骤S3中的量化过程有以下几种特殊情况:
量化公式为
其中Y(k,l)是待处理的图像矩阵,Q(k,l)是量化系数矩阵,简称Q,Yq(k,l)是经量化系数矩阵处理后的图像矩阵;
Q=[16 11 10 16 24 40 51 61;12 12 14 19 26 58 60 55;14 13 16 24 40 5769 56;14 17 22 29 51 87 80 62;18 22 37 56 68 109 103 77;24 35 55 64 81 104113 92;49 64 78 87 103 121 120 101;72 92 95 98 112 100 103 99];
当遇到如下特殊问题时,Q需要进行替换为特殊的量化系数矩阵,特殊情况分为以下几种:
1)当量化因子82≥QF>62,Pmax≥1024时,Q=Q64,其中Pmax为8×8的块中系数最大的像素值;
Q64=[12 8 8 12 18 30 39 46;9 9 11 14 20 44 46 42;11 10 12 18 30 43 5243;11 13 17 22 39 66 61 47;14 17 28 43 52 83 78 59;18 27 42 49 62 79 86 70;389 59 66 78 92 91 77;55 70 72 74 85 76 78 75];
2)当量化因子92≥QF>82,Pmax≥1024时,Q=Q32,其中Pmax为8×8的块中系数最大的像素值;
Q32=[6 4 4 6 9 14 18 22;4 4 5 7 9 21 22 20;5 5 6 9 14 21 25 20;5 6 810 18 31 29 22;6 8 13 20 24 39 37 28;9 13 20 23 29 37 41 33;19 3 28 31 37 4443 36;26 33 34 35 40 36 37 36];
3)当量化因子QF>92,Pmax≥1024时,Q=Q16,其中Pmax为8×8的块中系数最大的像素值;
Q16=[3 2 2 3 4 6 8 10;2 2 2 3 4 9 10 9;2 2 3 4 6 9 11 9;2 3 4 5 8 1413 10;3 4 6 9 11 17 16 12;4 6 9 10 13 17 18 15;8 10 12 14 16 19 19 16;12 1515 16 18 16 16 16]。
本发明相对于现有技术具有如下的优点及效果:
1、本发明采用三重加密对图像信息进行保护,第一重加密根据图像自身特性对图像进行分割,分割后对不同大小的块进行相应大小的DCT变换,使压缩性能大大提高;第二重加密将大于8×8的块中的系数根据本发明提供的系数分配均匀的分布到不同的块中,使分配后的每个8×8的块都遵循能量从左上角至右下角递减的分布规律;第三重加密将分割信息隐藏到AC系数中,使分割信息对信息共享双方以外的任何人均保密;这三重加密确保了加密图像的安全性,在保证图像信息不泄露的同时压缩性能没有损害很多。
2、本发明的所有加密过程是在JPEG压缩的不同阶段实现的,可以同时达到较好的安全性和压缩效率。
3、本发明将DCT变换的大小扩大至64,因此可以大大提高压缩效率。
附图说明
图1是本发明中公开的一种基于DCT-64的图像加密方法的流程图;
图2是本发明中以16×16的块为例时系数分配的示意图;
图3是本发明中分割的流程图;
图4是本发明实施例中不同图像加密方法下像素深度-峰值信噪比曲线对比图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1所示,本实施例公开了一种基于自适应块的图像加密方法,主要包括以下步骤:图像分块与DCT变换、系数分配、量化与打乱、相同游程置换与分割信息嵌入、哈夫曼编码,其主要处理过程都涵盖在图1中所示的主要模块架构中。
下面分别对各步骤进行详细的说明。
T1、图像分块与DCT变换
将待加密的图像I分割成不同大小的像素块,再经过DCT变换记为{b1,b2,b3......bN}。其中,N为分割后不同大小的块的总数,块的大小有64×64、32×32、16×16和8×8四种。图像分块与DCT变换的过程如图2所示,具体如下:
T1-1、将待加密的图像I分割成64×64的块:首先将待加密的图像I分割为64×64的块{k1,k2,k3......km},m为64×64的块的总数。64×64的块大小考虑了分割效率和压缩性能,如果选择的块太小,就会牺牲掉图像间的冗余性,无法在压缩性能上取得很好的结果;如果选择的块太大,会使得分割的次数过多,降低了分割效率。
T1-2、依次选取k1、k2、k3......km,进行以下操作:
T1-3、基于规则进行进一步分割
基于每个块的最大像素和最小像素的差值与所有像素的平均值对块做进一步的分割。其中,使用到的变量说明如下:变量VD-s表示每个大小为S×S的块的最大像素与最小像素的差值,变量VT-s表示每个大小为S×S的块的所有像素的平均值,变量δ表示保存图像分割信息的一维向量。
将差值与平均值比较,即将VD-s与VT-S进行比较。通过块的最大像素与最小像素的差值和平均值的比较,可以较好的描述块的平滑程度。
(1)当差值大于平均值。如果VD-s>VT-s,说明图像的平滑程度比较差,块中蕴含的细节信息比较多,需要进一步分割以保护细节信息。将该块进一步分割为{B1,B2,B3,B4}。用分割信息“0”表示块需要进一步分割,将“0”保存到δ中,{δ,0}。
(2)当差值小于平均值。如果VD-s<VT-s,说明图像的平滑程度比较好,块中蕴含的细节信息比较少,不需要进一步分割块。用分割信息“1”表示块不需要进一步分割,将“1”保存到δ中,{δ,1},并执行步骤T1-5。
T1-4、对分割后的块进行判断
对分割后的四个子块{B1,B2,B3,B4}依次进行判断,如果Br(r=1,2,3,4)是大于8×8的块,则对Br执行步骤T1-3;如果Br是等于8×8的块,则执行步骤T1-5。
T1-5、进行DCT变换
对S×S的块进行大小为S的DCT变换,其中S=8,16,32,64。将变换后的块添加到分割数组中。DCT变换可以将空间域中的数据转换到变换域中,变换域中的每一个系数的改变都会引起空间域中所有像素的改变。
在完成全部块的DCT变换后,得到数组{b1,b2,b3......bN}。
T2、系数分配
遍历{b1,b2,b3......bN}中的每个块,如果块bk的S>8,将bk的S*S个系数在密钥的控制下按照能量从左上角至右下角递减的规则随机分配到(S*S)/(8*8)个8×8的块中。其中,k表示第k个块,S表示第k个块的大小。
T2-1、“之”字扫描
将bk通过“之”字扫描转换为一维向量,表示为{p1,p2,p3......pn},n=S*S。当S=64时,n=4096;当S=32时,n=1024;当S=16时,n=256。通过“之”字扫描,可以将变换域中的低频系数保存在一维数组的头部,低频系数保存了图像的大部分信息,在后续的加密中可以保护有效信息。
T2-2、从密钥中选取比特
使用BLAKE-256生成密钥,从密钥中选取N1个比特。其中,密钥是一串由0、1组成的二进制数据,Nl根据bk的S决定。当S=64时,Nl=9;当S=32时,Nl=7;当S=16时,Nl=5。
T2-3、将选取的比特进行分割并进行数据分配
将选取的比特的前3个比特转换为十进制数α,剩余的比特转换为十进制数β。α表示从{p1,p2,p3......pn}中选取α+1个像素,β表示将选取的α个像素放到第β+1个一维向量中。
α=3的选取考虑了压缩效率和对低频系数的保护。如果α取得太小,就会使得随机分配的次数过多,降低了压缩效率;如果α选取过大,就有可能导致低频系数被分配到向量中靠后的位置,或者当过多的低频系数集中在少数几个8×8块时,剩下的系数在分配到其他8×8块之后,很可能在量化过程中变成0,这就会带来很大的误差,对图片的质量有较大的影响。
当S取不同值时,β的最大值也不同,βmax=(S*S)/(8*8)。当S=64时,βmax=64;当S=32时,βmax=16;当S=16时,βmax=4。
如图3所示,当S=16时,Nl=5,{p1,p2,p3......pn}中的n=256,即一维向量中的系数个数为256。而256/(8*8)=4,即256个系数可以分配到4个长度为64的一维向量组中。
取密钥前三位转为十进制数α,则α+1=5;取密钥后两位转为十进制数β,则β+1=3。表示将{p1,p2,p3......pn}中的5个像素按顺序添加到第3个长度为64的一维数组中。重复这个过程,直到256个系数全部被分配到4个长度为64的一维数组中。
T2-4、反“之”字扫描
将(S*S)/(8*8)个一维向量通过反“之”字扫描转换为8×8的块。经过T2-3的系数分配,这些8×8的块也符合低频系数集中在左上角的特点,在后续量化操作中有利于保护有效信息。
T3、量化与打乱
将所有8×8的块根据情况进行量化,完成量化后进行打乱和“之”字扫描操作。
T3-1、量化操作
一般来说,量化公式为
其中Y(k,l)是待处理的图像矩阵,简称Y;Q(k,l)是量化系数矩阵,简称Q;Yq(k,l)是经量化系数矩阵处理后的图像矩阵,简称Yq。量化矩阵如下所示:
Q=[16 11 10 16 24 40 51 61;12 12 14 19 26 58 60 55;14 13 16 24 40 5769 56;14 17 22 29 51 87 80 62;18 22 37 56 68 109 10377;24 35 55 64 81 104 11392;49 64 78 87 103 121 120 101;72 92 95 98 112 100 103 99];
在实际使用中,会使用量化因子QF来控制压缩图像的质量。QF越大,图像质量越高,相对的图像体积也较大;QF越小,图像质量越低,图像体积也相应的较小。每个QF都对应着一个量化矩阵scaleQT,使用对应的scaleQT完成在不同QF的量化操作。scaleQT的生成公式为
scaleQT=round(QT*scaleQF)
经过T1-5中不同大小的DCT变换之后,块中的系数可能会超过JPEG哈夫曼编码的编码范围,因此需要对块中的系数做输出溢出处理。
JPEG的哈夫曼编码的范围为[-1024,1023]。对于经过DCT-16变化的块,其块内系数范围为[-2048,2047],当量化矩阵中的系数都大于等于2时,经过量化后的系数范围可以控制在[-1024,1023],系数均大于2的量化矩阵对应的最大QF为92。当QF大于92时,使用QF=92时的量化矩阵替代原来的量化矩阵就可以将系数控制在哈夫曼编码的范围内。类似的,对于经过DCT-32变化的块,其系数范围为[-4096,4095],当量化矩阵系数均大于4时,可以实现数据溢出处理,此时对应的QF为82;对于经过DCT-64变化的块,其系数范围为[-8192,8191],当量化矩阵系数均大于8时,可以实现数据溢出处理,此时对应的QF为62。
下边列出特殊情况下对应的量化矩阵。
1)当量化因子82≥QF>62,1024≤Pmax≤8192时,Q=Q64,其中Pmax为8×8的块中系数最大的像素值的绝对值;
Q64=[12 8 8 12 18 30 39 46;9 9 11 14 20 44 46 42;11 10 12 18 30 43 5243;11 13 17 22 39 66 61 47;14 17 28 43 52 83 78 59;18 27 42 49 62 79 86 70;379 59 66 78 92 91 77;55 70 72 74 85 76 78 75];
2)当量化因子92≥QF>82,1024≤Pmax≤4096时,Q=Q32,其中Pmax为8×8的块中系数最大的像素值的绝对值;
Q32=[6 4 4 6 9 14 18 22;4 4 5 7 9 21 22 20;5 5 6 9 14 21 25 20;5 6 810 18 31 29 22;6 8 13 20 24 39 37 28;9 13 20 23 29 37 41 33;18 3 28 31 37 4443 36;26 33 34 35 40 36 37 36];
3)当量化因子QF>92,1024≤Pmax≤2048时,Q=Q16,其中Pmax为8×8的块中系数最大的像素值;
Q16=[3 2 2 3 4 6 8 10;2 2 2 3 4 9 10 9;2 2 3 4 6 9 11 9;2 3 4 5 8 1413 10;3 4 6 9 11 17 16 12;4 6 9 10 13 17 18 15;8 10 12 14 16 19 19 16;12 1515 16 18 16 16 16]。
T3-2、打乱操作
打乱操作包括列打乱和行打乱两个步骤,具体操作如下:
列打乱,从密钥中选取8个长度为4比特的二进制数,一个4比特的二进制数可以表示[0,7]的十进制数。对于每一列,由一个4比特二进制数控制,做向下移位的操作,即可完成列打乱。
行打乱,行打乱与列打乱同理,选取8个4比特的二进制数,向右移位,即可完成打乱。
T3-3、“之”字扫描操作
对所有8×8的块进行“之”字扫描,转换为长度为64的一维向量。
T4、相同游程置换与分割信息嵌入
信息恢复时需要知道图片是如何分割的,所以需要保存分割信息。将所有AC系数进行相同游程置换,并将分割信息嵌入到AC系数中。
T4-1、AC系数进行相同游程置换
JPEG中用游程编码(RLC)对AC系数进行编码,利用该方法可以使用变动长度的码来代替连续重复出现的原始资料,表示为(Run,Value),其中,Run表示两个非零AC系数间连续的0的个数,Value表示第二个非零AC系数的值。AC系数编码完成后记为ACC。
对于一个8×8的块,Run值在[0,62]之间,根据Run值可以将ACC分为63组。对于每一组Run值内的不同Value,使用密钥对其进行随机置乱,可以对图像信息做进一步的保护。
T4-2、分割信息嵌入到AC系数中
将分割信息嵌入到AC系数中,可以在图像解密的时候让解密者了解图像分块的情况。
分割信息隐藏在AC系数之中,隐藏方法的公式如下:
其中ACi表示第i位AC系数,表示修改后的第i位AC系数。
根据上述的公式,当ACi的绝对值大于1的时候,不选择该位作为信息隐藏的位置。并且,如果该位数据是正数,则加1;如果是负数,则减1。当ACi的绝对值等于1的时候,选择该位作为信息隐藏的位置。并且,如果嵌入的信息是1,则嵌入后的绝对值是2;如果嵌入的信息是0,则嵌入后的/>绝对值是1。
这样,在信息提取的时候,如果读取到的大于2,则将/>减1;如果读取到的等于2,则将/>减1,并读出嵌入信息1;如果读取到的/>等于1,则/>保持不变,并读取出嵌入信息0;如果读取到的/>等于0,则/>保持不变;如果读取到的/>等于-1,则保持不变,并读取出嵌入信息0;如果读取到的/>等于-2,则/>加1,并读取出嵌入信息1;如果读取到的/>小于-2,则/>加1。
T5、哈夫曼编码
对DC系数和经过处理的AC系数使用JPEG的哈夫曼编码标准进行编码。
以上实施例中,与JPEG压缩标准进行比较,使用USC-SIPI和UCID图像集作为测试图像,分别测试两种方法的像素深度(BPP)和峰值信噪比(PSNR)。将像素深度作为横坐标,峰值信噪比作为纵坐标,绘制两种方法的像素深度-峰值信噪比曲线,如图4所示。可以看到,在实现图像加密的前提下,本发发明公开的图像加密方法在压缩性能和图像质量上仍然有着很好的表现。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (4)
1.一种基于DCT-64的图像加密方法,其特征在于,所述图像加密方法包括以下步骤:
S1、将待加密的图像I分割成64×64、32×32、16×16以及8×8四种不同大小的像素块{b1,b2,b3,……bN},N为分割后不同大小的块的总数,遍历{b1,b2,b3,……bN}中的每个块,对每个大小为(S,S)的块进行大小为S的DCT变换,其中S=8、16、32、64,经DCT变换后的块记为{b1′,b2′,b3′,……bN′};
S2、遍历{b1′,b2′,b3′,……bN′}中的每个块,如果bN′对应的S>8,将bN′中的S*S个系数在密钥的控制下根据能量从左上角至右下角递减的规则随机分配到(S*S)/(8*8)个8×8的块中;
S3、将所有8×8的块进行量化后进行打乱,之后进行“之”字扫描操作;
S4、采用信息隐藏方法将分割信息嵌入到“之”字扫描后的AC系数中并将所有AC系数进行相同游程置换;其中,相同游程置换的过程如下:
采用游程编码对AC系数进行编码,表示为(Run,Value),其中,Run表示两个非零AC系数间连续的0的个数,Value表示第二个非零AC系数的值,AC系数编码完成后记为ACC;根据Run值将ACC分组;对于每一组Run值内的不同Value,使用密钥对其进行随机置乱;S5、对生成的DC系数和AC系数进行哈夫曼编码,完成加密。
2.根据权利要求1所述的基于DCT-64的图像加密方法,其特征在于,所述步骤S1中分割过程如下:
S1-1、首先将图像分割为64×64的块k1,k2,k3……km,m为大小为64的块的总数;
S1-2、依次选取k1,k2,k3……km进行以下操作;
S1-3、设VD-S表示每个块大小为S×S的最大像素与最小像素差值,设VT-S为每个块所有像素值的平均值,设δ为一维向量保存图像分割信息,如果VD-S大于VT-S,则分割为四个子块B1、B2、B3、B4,分割信息为“0”,将其保存至δ中,{δ,0};如果VD-S小于VT-S,则当前块不分割,分割信息记为“1”,将其保存至δ中,{δ,1},转至执行步骤S1-5中操作;
S1-4、对于分割后的四个子块B1、B2、B3、B4依次进行判断,如果Br是大于8×8的块,,r=1、2、3、4,则对Br进行步骤S1-3;如果Br是等于8×8的块,则对Br执行步骤S1-5中操作;
S1-5、进行大小为S×S的DCT变换。
3.根据权利要求1所述的基于DCT-64的图像加密方法,其特征在于,所述步骤S2中系数分配过程如下:
S2-1、将bN′通过“之”字扫描转换为一维向量,由像素{p1,p2,p3,……pn}组成,n=S*S,当S=64时,n=4096;当S=32时,n=1024;当S=16时,n=256;
S2-2、从Kseg中选取Nl个比特,其中,Kseg为一串由0和1组成的二进制密钥,Nl将根据{b1′,b2′,b3′,……bN′}中bN′对应的S的大小决定,当S=64时,Nl=9;当S=32时,Nl=7;当S=16时,Nl=5;
S2-3、将Nl分割,前三个比特转换为十进制数α,剩余的比特转换为十进制数β;
S2-4、将{p1,p2,p3,……pn}中前α个像素值放入第β个一维向量中,当S取不同值时,β的最大值也不同,βmax=(S*S)/(8*8);当S=64时,βmax为64;当S=32时,βmax为16;当S=16时,βmax为4;
S2-5、将(S*S)/(8*8)个一维向量通过反“之”字扫描转换为8×8的块。
4.根据权利要求1所述的基于DCT-64的图像加密方法,其特征在于,所述步骤S3中的量化过程有以下几种特殊情况:
量化公式为
其中Y(k,l)是待处理的图像矩阵,Q(k,l)是量化系数矩阵,简称Q,Yq(k,l)是经量化系数矩阵处理后的图像矩阵;
Q=[16 11 10 16 24 40 51 61;12 12 14 19 26 58 60 55;14 13 16 24 40 57 6956;14 17 22 29 51 87 80 62;18 22 37 56 68 109 103 77;24 35 55 64 81 104 11392;49 64 78 87 103 121 120 101;72 92 95 98 112 100 103 99];
当遇到如下特殊问题时,Q需要进行替换为特殊的量化系数矩阵,特殊情况分为以下几种:
1)当量化因子82≥QF>62,Pmax≥1024时,Q=Q64,
其中Pmax为8×8的块中系数最大的像素值;
Q64=[12 8 8 12 18 30 39 46;9 9 11 14 20 44 46 42;11 10 12 18 30 43 52 43;11 13 17 22 39 66 61 47;14 17 28 43 52 83 78 59;18 27 42 49 62 79 86 70;37 959 66 78 92 91 77;55 70 72 74 85 76 78 75];
2)当量化因子92≥QF>82,Pmax≥1024时,Q=Q32,
其中Pmax为8×8的块中系数最大的像素值;
Q32=[6 4 4 6 9 14 18 22;4 4 5 7 9 21 22 20;5 5 6 9 14 21 25 20;5 6 8 1018 31 29 22;6 8 13 20 24 39 37 28;9 13 20 23 29 37 41 33;18 3 28 31 37 44 4336;26 33 34 35 40 36 37 36];
3)当量化因子QF>92,Pmax≥1024时,Q=Q16,
其中Pmax为8×8的块中系数最大的像素值;
Q16=[3 2 2 3 4 6 8 10;2 2 2 3 4 9 10 9;2 2 3 4 6 9 11 9;2 3 4 5 8 14 1310;3 4 6 9 11 17 16 12;4 6 9 10 13 17 18 15;8 10 12 14 16 19 19 16;12 15 1516 18 16 16 16]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110606848.9A CN113507546B (zh) | 2021-06-01 | 2021-06-01 | 基于dct-64的图像加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110606848.9A CN113507546B (zh) | 2021-06-01 | 2021-06-01 | 基于dct-64的图像加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113507546A CN113507546A (zh) | 2021-10-15 |
CN113507546B true CN113507546B (zh) | 2023-07-18 |
Family
ID=78009274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110606848.9A Active CN113507546B (zh) | 2021-06-01 | 2021-06-01 | 基于dct-64的图像加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113507546B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865308B (zh) * | 2023-03-03 | 2023-06-16 | 深圳市川世达科技有限公司 | 一种用于半导体设备维修的图像数据处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1860789A (zh) * | 2003-07-28 | 2006-11-08 | 有限会社全球指向系统 | 动画分发系统、动画分割系统、动画分发程序、动画分割程序、存储该动画分发程序及 /或该动画分割程序的记录媒体 |
CN101447080A (zh) * | 2008-11-19 | 2009-06-03 | 西安电子科技大学 | 基于非下采样Contourlet变换的HMT图像分割方法 |
CN106846354A (zh) * | 2017-01-23 | 2017-06-13 | 中国人民解放军海军航空工程学院 | 一种基于图像分割和随机hough变换的架上图书清点方法 |
CN108810555A (zh) * | 2018-06-15 | 2018-11-13 | 南开大学 | 基于图像压缩与弹性分辨率的缩略图图像隐私保护方法 |
CN110827304A (zh) * | 2018-08-10 | 2020-02-21 | 清华大学 | 一种基于深度卷积网络与水平集方法的中医舌像定位方法和系统 |
-
2021
- 2021-06-01 CN CN202110606848.9A patent/CN113507546B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1860789A (zh) * | 2003-07-28 | 2006-11-08 | 有限会社全球指向系统 | 动画分发系统、动画分割系统、动画分发程序、动画分割程序、存储该动画分发程序及 /或该动画分割程序的记录媒体 |
CN101447080A (zh) * | 2008-11-19 | 2009-06-03 | 西安电子科技大学 | 基于非下采样Contourlet变换的HMT图像分割方法 |
CN106846354A (zh) * | 2017-01-23 | 2017-06-13 | 中国人民解放军海军航空工程学院 | 一种基于图像分割和随机hough变换的架上图书清点方法 |
CN108810555A (zh) * | 2018-06-15 | 2018-11-13 | 南开大学 | 基于图像压缩与弹性分辨率的缩略图图像隐私保护方法 |
CN110827304A (zh) * | 2018-08-10 | 2020-02-21 | 清华大学 | 一种基于深度卷积网络与水平集方法的中医舌像定位方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113507546A (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109617682B (zh) | 一种基于直方图左右移位的密文域可逆信息隐藏方法 | |
Chang et al. | Image hiding scheme with modulus function and dynamic programming strategy on partitioned pixels | |
Kumar et al. | Reversible data hiding: A contemporary survey of state-of-the-art, opportunities and challenges | |
CN110445949B (zh) | 基于直方图移位的ambtc域可逆信息隐藏方法 | |
Hanafy et al. | A secure covert communication model based on video steganography | |
Meng et al. | An adaptive reversible watermarking in IWT domain | |
CN113507546B (zh) | 基于dct-64的图像加密方法 | |
CN110677694A (zh) | 一种用于抵抗轮廓攻击的视频加密方法 | |
Mo et al. | Reversible Data Hiding in Encrypted Image Based on Block Classification Permutation. | |
Singh | High PSNR based image steganography | |
Singh et al. | An efficient self-embedding fragile watermarking scheme for image authentication with two chances for recovery capability | |
Wang et al. | [Retracted] High‐Capacity Reversible Data Hiding in Encrypted Images Based on Prediction Error Compression and Block Selection | |
Chang et al. | Secret image hiding and sharing based on the (t, n)-threshold | |
Reddy et al. | Secure steganography using hybrid domain technique | |
Luo et al. | Robust and progressive color image visual secret sharing cooperated with data hiding | |
Alavianmehr et al. | A semi-fragile lossless data hiding scheme based on multi-level histogram shift in image integer wavelet transform domain | |
Chen et al. | High-capacity reversible data hiding in encrypted images based on two-phase histogram shifting | |
CN114727112B (zh) | 基于失真补偿优化的h.265/hevc视频自适应信息隐藏方法 | |
Rajput | An EVCS for Color Images with Real Size Image Recovery and Ideal Contrast Using Bit Plane Encoding | |
Jiang et al. | A self-contained steganography combining LSB substitution with MSB matching | |
Wang et al. | A greedy steganographic SMVQ approach of greedy-USBIRDS using secret bits for image-block repairing based on differences | |
Malakooti et al. | A Lossless Secure data embedding in image using DCT and Randomize key generator | |
Thakur et al. | Survey on Image Data Hiding Based on Block Histogram Shifting Encryption Algorithm | |
Ya et al. | High-Capacity Reversible Data Hiding in Encrypted Image Based on Hierarchical Quad-Tree Coding and Multi-MSB Prediction. Electronics 2021, 10, 664 | |
Chen et al. | Novel Multi-bit and Multi-image Steganography Using Adaptive Embedding Algorithms with Minimum Error |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |