【图像处理】基于 GUI界面之图像加解密【Matlab 124期】

一、简介

基于matlab GUI界面的图像加解密,依靠于正交拉丁方置乱加密技术。

置乱加密技术的基本思想可以追溯到大约50BC高卢战争期间,当时古罗马皇帝凯撒设计出的凯撒密码(通过把26个英文字母循环移位将明文转换成密文)。这种字母置换可以看成是一维数据流的值置换,在一定程度上达到了保护信息的目的。之后逐步发展为密本、多表代替及加乱等各种密码体制。

随着计算机技术的飞速发展,图像置乱加密技术已成为水中图形安全传输和保密存储的主要手段之一。其基本方法是把一幅图经过变换或利用数学上的知识,搅乱像素位置或颜色,将原来有意义的图像信息变化成一副“杂乱无章”的图像,无法辨认出原始图像信息,从而达到在一定能够程度上迷惑第三方的目的。为了确保其机密性,算法中一般引入密钥。图像合法接收方借助密钥,通过相应算法的逆变换可解密出原始图像,这一过程又称去乱。此外,目前给出的置乱加密算法大多数是基于数学变换的,去乱过程有时也可通过置乱加密的周期性获得。

目前,数字图像置乱加密的方法已有许多种,这些方法在一定的应用范围中各自起到了积极的作用。由于置乱加密不仅用于图像信息的保密,同时也是图像信息隐藏、图像信息保存、数字水印技术等的基础性工作,因此置乱加密算法的优劣也直接影响到其他处理的效果。
1.1 基于正交拉丁方的图像置乱变换
在这里插入图片描述
由于正交拉丁方中含有n-1互相正交的拉丁方,故这种图像置乱方法有n(n-1)种,而对于三维图像来说则有n(n-1)(n-2)种。从实验结果来看,其用图像的预处理或者后处理是非常有效的。

算法的周期性:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
和许多置乱算法一样,基于正交拉丁方的加密算法的周期性仍有待进一步研究。
1.2 基于幻方的图像置乱变换
幻方是古老的数学问题,在中国古代的“河图洛书”中已有记载。它有美妙的特性和奇异的结构,因而得到古今中外学者的关注和潜心钻研。
在这里插入图片描述
幻方变幻同样具有周期性,其变换周期就是n²。利用幻方进行置乱变换最大的困难就是寻找和图像大小匹配的幻方,而且当n比较大时,图像恢复时所要进行的变换步骤大大增加,但是变换的周期有确定规律。经过这种对图像像素的变换,打乱了像素在图像中的排列位置,从而达到加密的目的。这种变换实质是矩阵的初等变换,并且由于幻方矩阵是一有限维矩阵,经过n²次置换,又会回到原来的位置。

二、源代码

function varargout = ladingfang(varargin)
% LADINGFANG M-file for ladingfang.fig
%      LADINGFANG, by itself, creates a new LADINGFANG or raises the existing
%      singleton*.
%
%      H = LADINGFANG returns the handle to a new LADINGFANG or the handle to
%      the existing singleton*.
%
%      LADINGFANG('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in LADINGFANG.M with the given input arguments.
%
%      LADINGFANG('Property','Value',...) creates a new LADINGFANG or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before ladingfang_OpeningFunction gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to ladingfang_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help ladingfang

% Last Modified by GUIDE v2.5 05-Jan-2005 22:18:40

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @ladingfang_OpeningFcn, ...
                   'gui_OutputFcn',  @ladingfang_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin & isstr(varargin{
     1})
    gui_State.gui_Callback = str2func(varargin{
     1});
end

三、运行结果

在这里插入图片描述

四、备注

完整代码或者代写添加QQ912100926
往期回顾>>>>>>
【图像压缩】图像处理教程系列之图像压缩【Matlab 074期】
【图像分割】图像处理教程系列之图像分割(一)【Matlab 075期】
【图像分割】图像处理教程系列之图像分割(二)【Matlab 076期】
【模式识别】银行卡号之识别【Matlab 077期】
【模式识别】指纹识别【Matlab 078期】
【图像处理】基于GUI界面之DWT+DCT+PBFO改进图像水印隐藏提取【Matlab 079期】
【图像融合】CBF算法之图像融合【Matlab 080期】
【图像去噪】自适应形态学之图像去噪【Matlab 081期】
【图像增强】DEHAZENET和HWD之水下去散射图像增强【Matlab 082期】
【图像增强】PSO寻优ACE之图像增强【Matlab 083期】
【图像重建】ASTRA算法之图像重建【Matlab 084期】
【图像分割】四叉树之图像分割【Matlab 085期】
【图像分割】心脏中心线之提取【Matlab 086期】
【图像识别】SVM植物叶子之疾病检测和分类【Matlab 087期】
【图像识别】基于GUI界面之模板匹配手写数字识别系统【Matlab 088期】
【图像识别】基于GUI界面之不变矩的数字验证码识别【Matlab 089期】
【图像识别】条形码识别系统【Matlab 090期】
【图像识别】基于GUI界面RGB和BP神经网络之人民币识别系统【Matlab 091期】
【图像识别】CNN卷积神经网络之验证码识别【Matlab 092期】
【图像分类】极限学习分类器之对遥感图像分类【Matlab 093期】
【图像变换】DIBR-3D之图像变换【Matalb 094期】
【图像分割】模糊聚类算法之FCM图像分割【Matlab 095期】
【模式识别】银行监控系统之人脸识别【Matlab 096期】
【模式识别】基于GUI界面之疲劳检测系统【Matlab 097期】
【图像识别】国外车牌识别【Matlab 098期】
【图像分割】最大类间方差法(otsu)之图像分割【Matlab 099期】
【图像分割】直觉模糊C均值聚类之图像分割IFCM【Matlab 100期】
【图像分割】基于matlab形态学重建和过滤改进FCM算法(FRFCM)之图像分割【Matlab 101期】
【图像增强】局部对比度增强CLAHE算法之直方图增强【Matlab 102期】
【图像融合】Frequency Partition之图像融合【Matlab 103期】
【图像评价】SVM之图像无参考质量评价【Matlab 104期】
【图像边缘检测】最小二乘法用于椭圆边缘检测【Matlab 105期】
【图像加密】基于GUI界面之混沌系统图像加密解密【Matlab 106期】
【图像配准】SIFT算法之图像配准【Matlab 107期】
【图像分割】随机游走算法用于图像分割【Matlab 108期】
【图像分割】形态学重建和过滤改进FCM算法(FRFCM)用于图像分割【Matlab 109期】
【图像分割】图像分割IFCM之直觉模糊C均值聚类【Matlab 110期】
【图像增强】区域相似变换函数与蜻蜓算法之灰度图像增强【Matlab 111期】
【图像直线拟合】最小二乘法之图像直线拟合【Matlab 112期】
【图像去雾】暗通道之图像去雾【Matlab 113期】
【图像识别】基于matlab GUI界面之路面裂缝识别【Matlab 114期】
【图像识别】身份证号码之识别【Matlab 115期】
【图像聚类】FCM和改进之FCM脑部CT图像聚类【Matlab 116期】
【图像评价】CCF算法之图像质量评价【Matlab 117期】
【图像分割】蚁群优化模糊聚类之图像分割【Matlab 118期】
【模式识别】基于GUI界面之水果检测系统【Matlab 119期】
【模式识别】基于GUI界面之水果分类系统【Matlab 120期】
【模式识别】基于GUI界面之水果分级系统【Matlab 121期】
【模式识别】人脸识别之检测脸、眼、鼻子和嘴【Matlab 122期】

你可能感兴趣的:(matlab,图像处理)