【B14】基于Matlab实现数字图像加密解密系统(GUI界面)

2022-06-16 21:07:46      索炜达电子      453     

文件编号:B14

文件大小:10M

开发环境:Matlab2018

猿创承诺:该项目亲测正常运行,提供部署视频,需远程调试部署需另外收费,确保正常使用,不能正常使用全额退款。

简要概述:本项目是基于MATLAB实现的数字图像加密解密系统,加密算法由笔者自主设计。此加密系统可以百分百无损恢复到原图,支持对单通道、三通道数字图像图像的加密及解密,支持对jpg、jpeg、png、tif、tiff、bmp等众多主流图像格式加密及解密。此外,用户可以自己选择加密次数,加密次数越多,像素越混乱,安全系数越高。但对于接收方而言,无需知道加密次数,一键解密图像,方便又快捷。

【B14】基于Matlab实现数字图像加密解密系统(GUI界面)

图像加密算法(附源码)

笔者认为,所谓加密,就是“有规律的破坏”。即要在能保证复原的前提下尽可能地去“破坏”。这个“破坏”的程度越大,与原信息相关性越低,被攻破的难度就越大,加密效果就越好。

因此,为了尽可能的“破坏”原图像,在此加密系统中,加密算法先后进行了像素数值加密和像素分布加密两部分,从两方面先后“破坏”原图,加密效果更好。

像素值加密

像素值加密分为两步。

第一步,由于RBG三通道图像以及单通道灰度图的像素取值范围是[0,255],所以可以先用255减去各个像素值做第一次像素值变换。

测试图像如下所示:

【B14】基于Matlab实现数字图像加密解密系统(GUI界面)

经过像素值第一步变换,结果如下:

【B14】基于Matlab实现数字图像加密解密系统(GUI界面)

第二步,打乱RGB三通道顺序,将RGB变换为BRG。这一步只针对RGB三通道图像,如果传入图像是灰度图就只完成第一步。

在MATLAB中,传入的三通道彩色图像存储格式是无符号整形8位(uint8)的三维矩阵。R(Red)通道的值存放在(*,*,1),G(Green)通道的值存放在(*,*,2),B(Blue)通道的值存放在(*,*,3)。经过变换,将R(Red)通道的值存放在(*,*,2),G(Green)通道的值存放在(*,*,3),B(Blue)通道的值存放在(*,*,1)。下图是在第一步输出图像的基础上进行第二步变换后的图像,也是测试图像完成像素值加密后的结果:

【B14】基于Matlab实现数字图像加密解密系统(GUI界面)

至此,像素值加密已经完成。

按需写作:

【B14】基于Matlab实现数字图像加密解密系统(GUI界面)

演示视频:

【B14】基于Matlab实现数字图像加密解密系统(GUI界面)

点击查看:系统演示视频

运行效果:

【B14】基于Matlab实现数字图像加密解密系统(GUI界面)

【B14】基于Matlab实现数字图像加密解密系统(GUI界面)

【B14】基于Matlab实现数字图像加密解密系统(GUI界面)

远程协助:

温馨提示:索炜达.猿创官方提供收费远程协助,确保您项目运行成功。

点击查看:远程协助相关事项

我们提供完整项目文件清单如下:

文件目录

 ├ 1.项目源码

 ├ 2.运行截图

 └ 3.演示视频

TAG加密解密
  • 6 次
  • 1200 分