基于DWT离散小波的图像视觉伪装加密的Matlab实现

代码仓库

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的原理是将初始图像分割成一块块的小图像(向量),从被称作码书的码字集合中,找出对于每一块小图像所对应的失真最小的码字,用它在码书上的索引号替换小块图像。

进一步完善

在流程的初始部分加入普通的加密,进一步的完善视觉伪装加密功能的安全性防止被破解。

解密过程

为加密的逆过程,分为离散小波变换( DWT )、解密和解压三个部分
5-4-5 解密整体流程图
1 )离散小波变换( DWT
将加密图片经过 DWT 分解,重新分解成 HH HL LH LL 四个部分的频率,取
出藏在高频的 CD CV ,重新还原成预加密图像。 P 为预加密图像。
P 和分解前预加密图像是一样的,还原没有损失任何的数据。

 

2 ) 解密
与加密一样,使用加密时候所用的密码表,让预加密图像再次与它进行异或运算,
便可成功解密获得到压缩图像。 C 为压缩图像, F 为异或运算, P 为预加密图像, K
加密时所用密码表。

3 )解压
最后进行解压,根据压缩图像上的索引号,在码本上寻找索引号对应的码字集进行
替换。即可获得最终略微失真的原图像。
整个解密部分就此完成。

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值