基于Logistic-Map混沌序列的数字信息加解密算法matlab仿真,支持对文字,灰度图,彩色图,语音进行加解密

发布于:2024-09-18 ⋅ 阅读:(9) ⋅ 点赞:(0)

目录

1.程序功能描述

2.测试软件版本以及运行结果展示

3.核心程序

4.本算法原理

5.完整程序


1.程序功能描述

       基于Logistic-Map混沌序列的数字信息加解密算法matlab仿真,系统包含GUI操作界面,系统支持对文字,灰度图,彩色图,语音进行加解密。

2.测试软件版本以及运行结果展示

MATLAB2022A版本运行

彩色图像加解密处理

灰度图像加解密处理

语音信号加解密处理

文字信息加解密处理

(完整程序运行后无水印)

3.核心程序

 
if types==1
   [R,C,K] = size(Ijpg);
   if K == 1
      signals = Ijpg; 
   else
      signals = [Ijpg(:,:,1),Ijpg(:,:,2),Ijpg(:,:,3)]; 
   end
end

if types==2
    signals = Iwav;
    vmin     = min(signals);
    signals  = uint8(round(250*(signals-vmin)));% 转换为uint8类型
    RR       = 400;
    Len      = length(signals)-RR*floor(length(signals)/RR);
    signals2 = [signals;zeros(RR-Len,1)];% 补齐信号长度
    Lens     = length(signals2);
    signals3 = reshape(signals2,[RR,floor(length(signals2)/RR)]);
    signals=signals3;
end

if types==3
    signals = Itxt';
    vmin     = min(signals);
    signals  = uint8(round(signals-vmin)); % 转换为uint8类型
    RR       = 400;
    Len      = length(signals)-RR*floor(length(signals)/RR);
    signals2 = [signals;zeros(RR-Len,1)];% 补齐信号长度
    Lens     = length(signals2);
    signals3 = reshape(signals2,[RR,floor(length(signals2)/RR)]);
    signals=signals3;
end



[M,N]=size(signals);


% 设置logistic映射的参数
%logistic u值
r1   = 4;
r2   = 4;
tic;
%多次迭代,每次迭代初始值改变
Iter = str2num(get(handles.edit1, 'string'));% 多次迭代,每次迭代初始值改变
29_004m

4.本算法原理

       基于Logistic Map混沌序列的数字信息加解密算法是一种利用混沌理论中的Logistic Map来生成伪随机密钥序列的方法,进而用于信息加密和解密的技术。混沌系统的不可预测性和对初值及系统参数的敏感依赖性使其成为密码学中非常有用的工具。

       Logistic Map是一个简单的非线性递推公式,形式如下:

其中 xn​ 是第 n 时刻的状态值,r 是控制参数。当 r 在一定范围内时,Logistic Map表现出复杂的混沌动态特性。对于加密算法的应用,通常选择 r 的值使得系统处于混沌状态,即 3.57<r<4。

       加密过程主要包括以下几个步骤:

解密过程实际上是加密过程的逆过程,包括以下几个步骤:

        基于Logistic Map的加密算法的安全性主要取决于密钥序列的随机性和不可预测性。由于Logistic Map的混沌性质,只要初始值x0​ 和控制参数r 被正确选择,产生的密钥序列就具有良好的随机性。此外,该算法的安全性还取决于密钥序列的长度和更新频率。为了提高安全性,可以考虑增加更多的混沌映射或者结合其他混沌系统共同作用,以及定期更新密钥序列。

5.完整程序

VVV


网站公告

今日签到

点亮在社区的每一天
去签到