找回密码
 注册
关于网站域名变更的通知
查看: 712|回复: 3
打印 上一主题 下一主题

基于matlab GUI正交拉丁方置乱算法图像加解密

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-6-25 13:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
一、简介4 {. z% m% p% l" J# G8 `* h
- h4 ]# J9 Y6 j( G; t* T) k
5 O3 [) L5 L. f1 w; C5 m1 X, Y
基于matlab GUI界面的图像加解密,依靠于正交拉丁方置乱加密技术。$ u  B+ _: A9 {7 [5 z  z
  [9 w9 j% X6 u& ?; A
置乱加密技术的基本思想可以追溯到大约50BC高卢战争期间,当时古罗马皇帝凯撒设计出的凯撒密码(通过把26个英文字母循环移位将明文转换成密文)。这种字母置换可以看成是一维数据流的值置换,在一定程度上达到了保护信息的目的。之后逐步发展为密本、多表代替及加乱等各种密码体制。
( ^1 I0 N, A! l! p6 T$ u. K1 ]2 U4 c' b% @% y8 q: S7 J" t% N6 |
随着计算机技术的飞速发展,图像置乱加密技术已成为水中图形安全传输和保密存储的主要手段之一。其基本方法是把一幅图经过变换或利用数学上的知识,搅乱像素位置或颜色,将原来有意义的图像信息变化成一副“杂乱无章”的图像,无法辨认出原始图像信息,从而达到在一定能够程度上迷惑第三方的目的。为了确保其机密性,算法中一般引入密钥。图像合法接收方借助密钥,通过相应算法的逆变换可解密出原始图像,这一过程又称去乱。此外,目前给出的置乱加密算法大多数是基于数学变换的,去乱过程有时也可通过置乱加密的周期性获得。& ]# a7 J7 _+ R% |- w) V7 K( |
$ a  c5 p& L' w. \+ P
目前,数字图像置乱加密的方法已有许多种,这些方法在一定的应用范围中各自起到了积极的作用。由于置乱加密不仅用于图像信息的保密,同时也是图像信息隐藏、图像信息保存、数字水印技术等的基础性工作,因此置乱加密算法的优劣也直接影响到其他处理的效果。
- E$ x+ R9 ~, W) ^8 [! p; M1 w& i: t) A. _. Z
1.1 基于正交拉丁方的图像置乱变换& }" |0 L* x$ W) Q9 X

5 I7 e+ F2 X$ ]$ r 9 t$ R, r8 I: O* _+ g
- {1 Q5 e/ S0 l: E
由于正交拉丁方中含有n-1互相正交的拉丁方,故这种图像置乱方法有n(n-1)种,而对于三维图像来说则有n(n-1)(n-2)种。从实验结果来看,其用图像的预处理或者后处理是非常有效的。
% |0 a) T0 Z4 O2 O& z, f( A: }
- R9 k, j2 {: c算法的周期性:$ x- J& P5 P/ q/ W, F( O$ W
+ T! M- f4 c& o2 `3 A" O% @

% S, r; S7 R+ y5 {8 L+ Z ! X  m  a* U- k# m; c; l- n, e
; D" ^. ^" `3 a# m
8 m( \& ^& C, n. X0 {8 t
1 Z, O& u1 u; T8 `8 @( ~
和许多置乱算法一样,基于正交拉丁方的加密算法的周期性仍有待进一步研究。
; |- p; V+ ?' U/ `5 i5 _2 ~- P
/ Q/ Q# g2 Q' V8 K
3 |2 o2 e1 W6 Z# F& N* J" W1 U1.2 基于幻方的图像置乱变换+ c0 N1 X2 K$ p/ a# x3 N9 C
幻方是古老的数学问题,在中国古代的“河图洛书”中已有记载。它有美妙的特性和奇异的结构,因而得到古今中外学者的关注和潜心钻研。2 a# {  H( o5 |( h$ e6 j- A% W9 L

$ j' L: S4 _- j3 S8 j* @1 ~
) k6 m! c! X7 H) a9 m- i$ S" k5 ]% {5 p6 j% C1 p+ {" R% C
幻方变幻同样具有周期性,其变换周期就是n2。利用幻方进行置乱变换最大的困难就是寻找和图像大小匹配的幻方,而且当n比较大时,图像恢复时所要进行的变换步骤大大增加,但是变换的周期有确定规律。经过这种对图像像素的变换,打乱了像素在图像中的排列位置,从而达到加密的目的。这种变换实质是矩阵的初等变换,并且由于幻方矩阵是一有限维矩阵,经过n2次置换,又会回到原来的位置。" F$ ^6 `3 [6 `2 |, K" s

9 C4 B9 p( B  `! ~9 s$ c+ v3 K% [& I9 L' U
二、源代码
; c7 ^! H. S, U: U/ l$ \0 [% S6 u$ }: h# T0 o5 D
  • 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
    ! E( v! V1 t$ s# c0 X$ \3 {
6 I2 @6 ?8 |' v' f' H1 o

: m# w0 }0 W4 `. j+ U9 K7 w三、运行结果
% I$ I$ |3 I) }9 `+ l* X/ i8 Z/ C# V% [& f$ ?1 ~% m

7 U% f& W$ J* v$ r

该用户从未签到

2#
发表于 2021-6-25 14:59 | 只看该作者
基于matlab GUI正交拉丁方置乱算法图像加解密

该用户从未签到

3#
发表于 2021-6-25 14:59 | 只看该作者
基于matlab GUI正交拉丁方置乱算法图像加解密

该用户从未签到

4#
发表于 2021-6-25 15:00 | 只看该作者
基于matlab GUI正交拉丁方置乱算法图像加解密
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-19 05:19 , Processed in 0.109375 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表