![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
混沌映射
做图像加密的Tara
Keep learning
展开
-
四维超混沌系统matlab
该系统来自论文《A new 4D hyperchaotic system with high complexity》, 作者是:LijuanChena, Song Tangb, Qingdu Lib, Shouming Zhonga。简单复现:x0=0;y0=0.5;z0=0.5;w0=0.5;a=80;b=45;c=22;d=5;e=21;r=100;f=8;K0=[x0 y0 z0 w0];%初值矩阵funn=@(t,X)[a*(X(2)-X(1)-X(4))+b*X(.原创 2021-06-19 22:23:39 · 4443 阅读 · 11 评论 -
Logistic-tent混沌系统matlab
长这样能看出来是个一维的,实现一下:function s=LT(r,x0,n)s=zeros(1,n); for i=1:n+800; if x0<0.5 x1=mod(r*x0*(1-x0)+(4-r)*x0/2,1); else x1=mod(r*x0*(1-x0)+(4-r)*(1-x0)/2,1); end if i>800 s(i-800)=x1; end x0=原创 2021-06-14 21:36:54 · 1939 阅读 · 4 评论 -
高斯映射的李雅普诺夫指数Lyapunov的matlab实现
clc;clear;u=0:0.0001:1.3;x0=0.1;n=3000;t=1000;len=length(u);for i=1:len temp=0; for j=1:n x=exp(-5*x0^2)-u(i); x0=x; if j>t temp=temp+log(abs(-10*x*exp(-5*x^2))); end end LE(i)=tem原创 2021-05-25 21:25:01 · 1033 阅读 · 0 评论 -
Gauss映射混沌分岔图matlab
clc;clear all;close allaxis([0,1,-0.4,1]);x0=0.1;t=800;M=850;r=0:0.002:1;[m,n]=size(r);hold onfor i=1:nx(1)=exp(-5*x0^2)-r(i);for j =2:M x(j)=exp(-5*x(j-1)^2)-r(i);endxn{i}=x(t:M);pause(0.1);plot(r(i),xn{i},'r.','Markersize',2);xlabel('r')原创 2021-05-23 22:11:59 · 865 阅读 · 0 评论 -
分段线性映射PWLCM混沌分岔图matlab
clc;clear all;close allaxis([0.1,0.5,0,1]);x0=0.1;t=800;M=850;r=0.1:0.001:0.49;[m,n]=size(r);hold onfor i=1:n x(1)=pwlcm(r(i),x0);for j =2:M x(j)=pwlcm(r(i),x(j-1));endxn=x(t:M);pause(0.1);plot(r(i),xn,'r.','Markersize',2);xlabel('r');原创 2021-05-22 21:52:48 · 1748 阅读 · 0 评论 -
Chebyshev混沌映射分岔图matlab实现
clc;clear all;close allaxis([0,1,-1,1]);x0=0.1;t=800;M=850;r=0:0.002:1;[m,n]=size(r);tic;hold onfor i=1:nx(1)=cos((r(i)+1)*acos(x0));for j =2:M x(j)=cos((r(i)+1)*acos(x(j-1)));endxn{i}=x(t:M);pause(0.1);plot(r(i),xn{i},'r.','Markersize',2);原创 2021-05-04 22:30:24 · 2681 阅读 · 2 评论 -
图像加密系统性能分析之熵分析matlab实现(信息熵)
信息熵反映图像信息的不确定性,熵越大,不确定性越大,信息量也就越大,从而可视信息就越少。所以,对于图像加密系统,需要分析其密文图像的熵。对于灰度等级为256的图像,信息熵的理论值为8,密文图像的信息熵越接近8,说明它的可视信息就越少,系统的加密性能也就越好。function y=Entropy(P)P=double(P);[M,N]=size(P);P=transpose(P(:));T=zeros(1,256);for i=1:256 T(i)=sum(P==(i-1)); .原创 2021-05-02 22:38:05 · 2836 阅读 · 0 评论 -
Chebyshev映射的李雅普诺夫指数Lyapunov的matlab实现
clc;clear;u=0:0.0001:1;x0=0.1;n=3000;t=1000;len=length(u);for i=1:len temp=0; for j=1:n x=cos((u(i)+1)*acos(x0)); x0=x; if j>t temp=temp+log(abs((u(i)+1)*sin((u(i)+1)*acos(x))/(1-x^2)^0.5));原创 2021-04-29 22:53:30 · 1431 阅读 · 3 评论 -
Henon映射的李雅普诺夫指数Lyapunov的matlab实现
clc;close all;clear all N = 1000; a = (0:0.001:1.4)'; b = 0.3; na = length(a); LE1 = zeros(na,1); LE2 = zeros(na,1); x = 0.2; y = 0.3; for i=1:na LCEvector = zeros(2,1); Q = eye(2); for j=1:N xprev = x; yprev = y;原创 2021-04-28 17:30:57 · 4985 阅读 · 11 评论 -
Tent映射混沌分岔图matlab
clc;clear all;close allaxis([0,1,0,1]);x0=0.1;t=800;M=850;r=0:0.002:1;[m,n]=size(r);hold onfor i=1:n if x0<0.5 x(1)=2*r(i)*x0; end if x0>=0.5 x(1)=2*r(i)*(1-x0); endfor j =2:M if x(j-1)<0.5原创 2021-04-27 21:16:47 · 5303 阅读 · 3 评论 -
Henon映射混沌分岔图matlab
clc;clear all;close allx0=0.1;y0=0.2;b=1;n=850;t=800;hold onfor a = 0:0.002:1x(1)=1+y0-a*x0^2;y(1)=b*x0;for i =2:n x(i)=1+y(i-1)-7/5*a*x(i-1)^2; y(i)=3/10*b*x(i-1);endxn=x(t+1:n);pause(0.1);plot(a,xn,'r.','Markersize',2);xlabel('a');ylabe原创 2021-04-26 22:21:20 · 4966 阅读 · 6 评论 -
Baker映射混沌分岔图matlab
clc;clear all;close allaxis([0,1,0,10]);x0=0.1;y0=0.2;t=800;M=850;r=0.002:0.005:1;[m,n]=size(r);hold onfor i=1:n if x0<=r(i) x(1)=x0/r(i); y(1)=y0*r(i); end if x0>r(i) x(1)=(x0-r(i))*(1-r(i))^(-1);原创 2021-04-25 22:33:54 · 1050 阅读 · 0 评论 -
Sine映射的李雅普诺夫指数Lyapunov的matlab实现
clear all;clc;u=0:0.001:1;p=100;k=length(u);for n=1:k for m=2:p x(1,n)=0.1; x(m,n)=u(n)*sin(pi*x(m-1,n)); endendfor r=1:k for h=2:p A{1,r}=[pi*u(r)*cos(pi*x(1,r))]; A{h,r}=[pi*u(r)*cos(pi*x(h,r))]*A{h-1,r}原创 2021-04-24 22:30:53 · 2165 阅读 · 5 评论 -
Tent映射的李雅普诺夫指数Lyapunov的matlab实现
clc;clear;u=0:0.001:1;n=length(u);for i=1:n y(i)=log(abs(2*u(i)));endfigure;plot(u,y,'r.','markersize',2);hold onx=get(gca,'xlim');y=0;plot(x,[y y],'k');axis([0,1,-5,1]);hold off set(gca,'Xtick',0:0.2:1);set(gca,'Ytick',-5:1:1);xlabel原创 2021-04-23 22:25:05 · 2113 阅读 · 1 评论 -
(混沌系统)二维Logistic ICMIC级联映射的matlab实现(2D-LICM)
定义式实现:x=zeros(1);y=zeros(1);x(1)=0.5;y(1)=0.5;a=0.6;k=0.8;for n=1:40000 x(n+1)=sin(21./a*(y(n)+3)*k*x(n)*(1-k*x(n))); y(n+1)=sin(21./(a*(k*x(n+1)+3)*y(n)*(1-y(n))));endfigure;H=plot(x(1000:end),y(1000:end),'b');%1000set(H,'linestyle','none..原创 2021-04-13 20:41:56 · 4139 阅读 · 3 评论 -
(图像加密)常用图像置乱算法matlab实现(二)
第一种 1、二维图像直接行置乱与列置乱(2)单次不重复置乱前文所述随机置乱方法,有些行列会被多次交换位置,如第一列经过三次列置乱后,仍然处于第一列。所以采用单次不重复置乱方法效果可能会更好一些(其实在视觉上根本看不出来)实现方式很简单: 对于行/列置乱,把由混沌系统产生的随机向量X/Y中重复的随机数只保留一个,然后在末尾按从小到大的顺序补齐没有出现过的元素。实现:这里使用的超混沌Lorenz系统clc,clear;P=imread('lena.bmp');P=rgb2gra..原创 2021-04-01 20:08:52 · 3568 阅读 · 13 评论 -
(混沌序列统计特性)单比特频率测试---matlab
单比特频率测试(The Frequency (Monobit)Test) :计算序列中比特1出现的频率,这个值越接近1/2,则说明序列的随机性越好。实现:clc;clear;h=0.002;t=800;n=1000000;a=10;b=8/3;c=28;r=-1;x0=1.1;y0=2.2;z0=3.3;w0=4.4;s=zeros(1,n);for i=1:n+t K11=a*(y0-x0)+w0;K12=a*(y0-(x0+K11*h/2))+w0; K13=a*(y0.原创 2021-03-29 21:15:24 · 1114 阅读 · 0 评论 -
(混沌序列统计特性)Maurer通用统计测试---matlab
检测序列能否被显著压缩,一个能被显著压缩的序列不是随机序列。clc;clear;h=0.002;t=800;n=1000000;a=10;b=8/3;c=28;r=-1;x0=1.1;y0=2.2;z0=3.3;w0=4.4;s=zeros(1,n);for i=1:n+t K11=a*(y0-x0)+w0;K12=a*(y0-(x0+K11*h/2))+w0; K13=a*(y0-(x0+K12*h/2))+w0;K14=a*(y0-(x0+h*K13))+w0; x1=原创 2021-03-27 20:35:52 · 674 阅读 · 1 评论 -
(混沌序列统计特性)离散傅里叶测试---matlab
目的:检测序列中有无周期现象的存在,如果p_value>=0.01,则可认为序列是随机的,否则认为序列是非随机的。clc;clear;h=0.002;t=800;n=1000000;a=10;b=8/3;c=28;r=-1;x0=1.1;y0=2.2;z0=3.3;w0=4.4;s=zeros(1,n);for i=1:n+t K11=a*(y0-x0)+w0;K12=a*(y0-(x0+K11*h/2))+w0; K13=a*(y0-(x0+K12*h/2))+w0;K原创 2021-03-25 20:45:13 · 445 阅读 · 0 评论 -
(混沌序列统计特性)块内频率测试---matlab
说明:块内频率测试,考察任意序列的任意长子序列中比特1的频率是否接近1/2.clc;clear;h=0.002;t=800;n=1000000;a=10;b=8/3;c=28;r=-1;x0=1.1;y0=2.2;z0=3.3;w0=4.4;s=zeros(1,n);for i=1:n+t K11=a*(y0-x0)+w0;K12=a*(y0-(x0+K11*h/2))+w0; K13=a*(y0-(x0+K12*h/2))+w0;K14=a*(y0-(x0+h*K13))+w0;原创 2021-03-22 22:33:53 · 662 阅读 · 0 评论 -
(混沌系统)分段线性混沌映射PWLCM的matlab实现
定义式:实现:function y=PWLCM(x,p)if x<p y=x/p;elseif x<0.5 y=(x-p)/(0.5-p);else y=PWLCM(1-x,p);endend原创 2021-03-21 09:26:36 · 2333 阅读 · 2 评论 -
(混沌系统)超混沌Lorenz系统---matlab
说明:别光收藏不点赞呀喂~~对于连续混沌系统,常用四阶经典龙格-库塔法进行离散化超混沌Lorenz系统:1、Lorenz_1h=0.002;n=20000;t=800; %h是步长,n是总的状态点数,t是过渡态的点数a=10;b=8/3;c=28;r=-1;x0=1.1;y0=2.2;z0=3.3;w0=4.4;%混沌系统初始值。取值范围分别(-40,40),(-40,40),(1,81),(-250,250)xn=zeros(1,n);yn=zeros(1,n);zn=zeros(1原创 2021-03-19 16:33:18 · 7991 阅读 · 11 评论 -
(混沌系统)一维无限折叠映射ICMIC---Matlab
这个混沌映射来自于一篇很老的论文了,《Chaotic Characteristics of a One-Dimensional Iterative Map with Infinite Collapses》简称ICMIC。偶然看见有人做了二维改进,《Designing a 2D infinite collapse map for image encryption》,想在二维基础上做个三维改进。所以先试一下一维的代码复现。定义式:首先实现一下 Diagram of ICMIC。原图是这样:复现一下:原创 2020-11-24 10:27:15 · 3195 阅读 · 5 评论 -
(混沌系统)图像加密之Logistic混沌映射matlab仿真
简单实现clear;clf;u=2.6:0.001:4.0;x=0.1;for i=1:300x=u.(x-x.^2);endfor j=1:80x=u.(x-x.^2);plot(u,x,‘k.’,‘markersize’,2)hold on;endgrid on原创 2020-10-18 15:57:10 · 6257 阅读 · 11 评论