![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图像加密
做图像加密的Tara
Keep learning
展开
-
计算图像哈希值
function h = hash(inp,meth) % HASH - Convert an input variable into a message digest using any of % several common hash algorithms % inp=inp(:); % convert strings and logicals into uint8 format if ischar(inp) || islogical(inp) inp=uint原创 2021-06-24 22:11:24 · 1877 阅读 · 1 评论 -
四维超混沌系统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 · 4466 阅读 · 11 评论 -
图像加密系统性能分析之熵分析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 · 2850 阅读 · 0 评论 -
分段线性映射PWLCM的李雅普诺夫指数Lyapunov的matlab实现
clc;clear;p1=0:0.0001:0.5;p2=0.5:0.0001:1;p=0:0.0001:1;for i=1:length(p1) y1(i)=log(abs(1/p1(i)));endfor i=1:length(p2) y2(i)=log(abs(1/(1-p2(i))));endy=[y1 y2(2:end)];plot(p,y,'r.','markersize',2);xlabel('u');ylabel('Lyapunov Exponent'原创 2021-04-22 22:24:25 · 1024 阅读 · 0 评论 -
彩色图像RGB分量直方图分析matlab
彩色和灰度图像直方图matlab计算图像直方图有自带函数为imhist()1、直接显示图像i的灰度直方图:imhist( i )2、指定灰度级n显示直方图:imhist(i,n)在彩色图像加密算法中,通常在分析直方图时,都是分别做R、G、B通道的直方图。对此有比较简单的做法就是把彩色图像三通道先分开,再分别求直方图。示例:% figure% %subplot(1,3,1),% imhist(uint8(CC(:,:,1)));% set(gca,‘XLim’,[0 250]);% s..原创 2021-04-21 22:16:28 · 4322 阅读 · 2 评论 -
图像相邻像素相关性分析matlab
%图像相邻像素相关性%随机选取图像A中相邻的N个像素点,分别计算在水平,垂直,正对角和反对角方向上的相关系数%注意是算密文图像 R G B分量分开算 function r=ImCoef(A,N)A=double(A);[m,n]=size(A);r=zeros(1,4);x1=mod(floor(rand(1,N)*10^10),m-1)+1;x2=mod(floor(rand(1,N)*10^10),m)+1;x3=mod(floor(rand(1,N)*10^10),m-1)+2;y1=原创 2021-04-19 22:55:41 · 9176 阅读 · 28 评论 -
基于加取模和循环左移运算的扩散算法matlab
基于加取模和循环左移运算的扩散算法实际上是对前面两种扩散算法的显著改良。LSB3表示取数据的最低三位,对于8b的灰度图像,每个像素都是8b的,所以LSB3得到的数据范围始终在0~7,是一个像素点数据循环的有效范围。这里注意,除了循环左移,还可以用循环右移,如果加密时用了循环左移,那么解密时应该循环右移。实现:clc;clear;P=imread('lenna.bmp');P=rgb2gray(P);iptsetpref('imshowborder','tight');figure(1..原创 2021-04-09 16:18:16 · 1183 阅读 · 7 评论 -
(图像加密)基于加取模运算的扩散算法matlab实现
基于加取模运算的扩散算法除了异或运算外,更常用的扩散算法是加取模运算。在加取模运算中,明文图像像素点的信息是隐藏到密文图像像素点中的,所以需要循环两次才能实现任意明文像素点的信息扩散到整个密文图像中。...原创 2021-04-08 17:14:40 · 2776 阅读 · 3 评论 -
(图像加密)基于异或运算的图像扩散算法matlab实现
扩散图像加密中,扩散处理是在不改变像素点位置的条件下,将任一明文像素点的信息隐藏在尽可能多的密文像素点中。以下介绍一些基本的扩散算法 基于异或运算的扩散处理正向(i从1到MN)的算法与其逆算法:逆向(i从MN到1)的算法与其逆算法:C和S是密码向量,P是明文图像。实现:clc;clear;P=imread('lena.bmp');P=rgb2gray(P);iptsetpref('imshowborder','tight');figure(1);subplot(1,3,1)原创 2021-04-05 11:00:42 · 5158 阅读 · 3 评论 -
(图像加密)常用图像置乱算法matlab实现(三)
第二种:将二维图像展开成一维行/列向量,对向量进行位置置乱。将二维图像展开成一维向量后进行置乱,再将置乱后的一维向量还原成二维矩阵。比起整行整列操作,效果更好,但运算量更大。(2)无重复置乱把由混沌系统产生的随机向量中重复的随机数只保留一个,然后在末尾按从小到大的顺序补齐没有出现过的元素。实现:clc,clear;P=imread('lenna.bmp');P=rgb2gray(P);iptsetpref('imshowborder','tight');figure(1);su..原创 2021-04-04 11:40:11 · 8286 阅读 · 12 评论 -
(图像加密)常用图像置乱算法matlab实现(二)
第一种 1、二维图像直接行置乱与列置乱(2)单次不重复置乱前文所述随机置乱方法,有些行列会被多次交换位置,如第一列经过三次列置乱后,仍然处于第一列。所以采用单次不重复置乱方法效果可能会更好一些(其实在视觉上根本看不出来)实现方式很简单: 对于行/列置乱,把由混沌系统产生的随机向量X/Y中重复的随机数只保留一个,然后在末尾按从小到大的顺序补齐没有出现过的元素。实现:这里使用的超混沌Lorenz系统clc,clear;P=imread('lena.bmp');P=rgb2gra..原创 2021-04-01 20:08:52 · 3577 阅读 · 13 评论 -
(图像加密)常用图像置乱算法matlab实现(一)
常用置乱算法分三种:1、对二维图像矩阵进行行置乱和列置乱,或交叉进行行、列置乱。2、将二维图像展开成一维行向量或一维列向量,对该向量进行位置置乱。3、借助2x2置乱矩阵变换二维图像的各个像素点的位置。 第一种1、二维图像直接行置乱与列置乱(1)随机置乱行/列随机:借助于混沌系统产生长度为M/N的随机数向量X/Y,然后将图像矩阵的第i行/第j列与第Xi行/第Yj列互换。实现:这里使用的超混沌Lorenz系统clc,clear;P=imread('lena.jpg');..原创 2021-03-30 21:03:25 · 5523 阅读 · 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 · 8015 阅读 · 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 · 3228 阅读 · 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 · 6264 阅读 · 11 评论