代码仓库
GitHub - 951464382/DWT-: 功能描述:https://blog.csdn.net/qq_41605927/article/details/108330297
实验目的
普通加密处理:
他们加密后生成的图像充满了噪点,在一堆正常的图像中鹤立鸡群,反而更能引起系统攻击者的注意[7],这样的加密仿佛在告诉攻击者——我是很重要的文件!快来破解我!安全性不升反降。所以,如果能够加密图像后将图像伪装成为一张正常的、具有视觉意义的图像,就能极大的提高图像的安全性。别人即使攻入服务器并获得其中保存的图片文件也难以发现隐藏在其中的重要隐私图像。
什么是DWT(离散小波变换)
一个图像的主要信息在低频的位置,高频部分的信息较少,所以只需要将加密图片隐藏在参照图片的高频部分即可,并且对整个图像影响微乎其微。
我不是专业学习图像处理和数学这块的,所以只用通俗的话来说。DWT按照我的理解就是将图片按照频率分为四个部分(L:low,H:high)——HH、HL、LH、LL。提供了可以对高频部分进行操作的途径。想要进行图像的伪装只要将低频部分的图像替换,在进行逆DWT合成为一张完整的图像即可。
但是如果是直接使用dwt进行照片的拼接,实际对参照图像的影响过大。
这就违背了要隐藏图像的目的,反而会显得突兀。
为了减小对参照图像的干扰,要减少预加密图像的数据大小,将预加密图像分为CD、CV两个部分,CD为预加密图像对16位的取整部分,CV为预加密图像对16的取余部分。[ ]为取整符号,mod 为取余符号。这样可以大幅减少替换信息的大小。
压缩图片
VQ(矢量量化)。
VQ具有压缩比例高、失真小的优点,所以在图像、语音、视频的压缩中被广泛使用,VQ的原理是将初始图像分割成一块块的小图像(向量),从被称作码书的码字集合中,找出对于每一块小图像所对应的失真最小的码字,用它在码书上的索引号替换小块图像。
进一步完善
在流程的初始部分加入普通的加密,进一步的完善视觉伪装加密功能的安全性防止被破解。
解密过程
![](https://i-blog.csdnimg.cn/blog_migrate/35b39729604ba2f5f8a2474813811ebd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3c2a805973bad090a03a857d457d819a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ad187c7f90390369be8944a1fec2844a.png)