MATLAB图像置乱混沌加密解密设计

本文介绍了使用MATLAB实现基于混沌理论的图像加密和解密方法。首先阐述了混沌密码学的基本原理,利用混沌序列的随机性、遍历性和对初始条件的敏感性进行加密。接着,详细说明了如何生成混沌序列并将其归一化到与图像灰度值相匹配的范围。然后,通过将混沌序列转换为二维矩阵并与原始图像进行异或操作实现图像加密,生成加密后的图像。文章还提供了相关参考代码和图例供读者参考。
摘要由CSDN通过智能技术生成

MATLAB基于GUI图像置乱+混沌加密解密

 

 一、课题介绍

1 混沌的解释

混沌密码学是一种新的密码加密算法,具有简单、高效、安全等优点。混沌密码学是混沌理论的一个重要的应用领域。混沌用于密码学主要依据混沌的基本特性,即随机性、遍历性、确定性和对初始条件的敏感性,混沌密码体系在结构上与传统密码学理论中的混淆(Confhainn)和扩散(Diffusion)概念联系起来,混沌理论和纯粹密码学之间的必然联系形成了混沌密码学。

2 混沌序列的生成

当迭代n次后,我们就得到了X(1)、X(2)、…,X(n)这么n个值。那么这就是一个混沌序列,是一维的暂且称作序列A,也就是我们想要得到的序列,在MATLAB中,可以看出X(i)(i=1,2,…,n)的取值是在(0,1)之间的——这是一个很好地特性,就像图像灰度值是在(0,255)之间一样。那么我们把这个一维序列归一化到(0,255)之间得到序列B。

3 加密过程

对于一幅MN大小的图像(暂且称为Picture),我们需要产生一个同样大小的矩阵来对其进行加密。如此说来,只需要迭代MN次得到序列A,再转成序列B,此时序列B是一维的,将其转化成MXN的二维矩阵(暂且称为Fuck)。因此,用Fuck与Picutre进行异或,便可得到一幅新的图像,称作Rod,如此便完成了一次图像加密,加密后的图像为Rod。

二、参考代码


% 预加载初始数据

load('mixparam_data.mat')

set(handles.edit1,'string',num2str(u))

% Update handles structure

guidata(hObject, handles);

setappda
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值