溷沌映射(序列)matlab算法“小全”:Logistic、Henon、帐篷、kent(含溷沌二值图像生成函数)
混沌与图像合成相结合的实时图像加密算法

混沌与图像合成相结合的实时图像加密算法作者:刘颖刘章来源:《中国新通信》2014年第02期【摘要】本文基于matlab平台利用循环程序从视频中读取各帧图像,将置乱后图像与私钥图像进行合成,应用一维logistic映射产生的混沌置乱序列,对合成图像进行行、列置乱,从而实现实时图像加密。
【关键词】混沌 matlab logistic映射私钥实时图像在信息化时代,保证数字图像的交互安全意义重大。
在此背景之下,图像加密技术发展迅速,混沌加密是当前图像加密技术的主流。
低维混沌系统结构简单、效率较高,抗穷举法攻击较差,算法安全性较低。
为扩大密钥空间和增加混沌序列随机性,人们设计了超混沌系统、级联混沌系统、复合混沌等复杂的系统[1],这些算法虽大大提高了安全性但往往耗时较多,不适用于实时图像的处理。
本文提出一种将混沌与图像合成相结合的新型加密算法,加密算法的程序开发平台为Matlab7.0,涉及计算机模拟环境为 Windows 7/XP/2003/ 2010 。
加密算法所涉及的实时图像取自于avi视频,加密中的混沌序列源于logistic映射。
Logistic方程为xn+1=1-μx,其中μ∈(0,2)、xn∈[-1,1],随着控制参数由小到大逐渐增长就可以演示倍周期分岔走向混沌的过程。
logistic映射在混沌区,具有伪随机性、初值敏感性、遍历性及收敛性[2]。
由此可见,给定初始值xn及μ,由logistic映射生成混沌序列,即可对图像进行初步置乱。
本文在此基础上构造出既满足图像安全性又不给传输和存取带来过大延迟的加密程序。
其基本思想是引入一张图像作为加密、解密者共享的密钥图像,将密钥图像处理后与待加密图像合成进行logistic映射置乱加密,从而得到加密图像。
一张图像所含有的信息量庞大,这就大大增加了密钥空间,并且改变了原图像的像素值,确保了图像加密的安全性。
密钥图像要与待加密图像进行合成,如果密钥图像偏大将耗费不必要的计算量,密钥偏小又起不到隐藏待加密图像的目的。
【国家自然科学基金】_二维混沌映射_基金支持热词逐年推荐_【万方软件创新助手】_20140731

推荐指数 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2010年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
科研热词 阈值选取 混沌粒子群 小波变换 图像加密 图像分割 二维直方图 tent映射 递推算法 混沌系统 混沌伪随机序列 最小类内绝对差 指数熵 初值敏感性 二维logistic混沌映射 二维logistic映射 henon混沌映射 chen系统 chebyshev混沌映射
2012年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
科研热词 混沌映射 图像加密 随机性 防伪 阈值选取 置乱 破译 混沌粒子群优化算法 数字水印 扩散 序列密码 小波变换 密钥 复合混沌动力系统 图像分割 同步 分段线性混沌映射 交叉熵 二维直方图 tent映射 logistic混沌映射 logistic映射 henon映射 arnold变换
推荐指数 7 6 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2009年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
科研热词 混沌 图像加密 非线性映射 非线性方程组 连杆机构 超混沌系统 空间混沌 离散混沌系统 混沌控制 流密码 数字水印 广义猫映射 小波变换 小波函数 吸引子 可逆二维映射 分岔 二维耦合logistic映射 二维离散系统 二维分岔 二维logistic映射 td-ercs henon混沌映射
2008年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
【计算机应用】_logistic映射_期刊发文热词逐年推荐_20140724

推荐指数 4 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2010年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
推荐指数 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2013年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
2011年 科研热词 logistic映射 混沌 鲁棒性 随机性测试 随机性 遗传算法 适应度方差 超混沌hénon映射 组搜索优化 纹理分析 粒子群算法 混沌组搜索优化 混沌系统 混沌序列 混沌密钥 混沌优化 汉明重量 模糊c-均值 标准汉明距离 有限精度效应 收敛比率 并行性 均匀性 图像置乱 图像处理 图像分存 图像hash 可变参数 分段线性映射 像素扩散 信息隐藏 不变分布 vea加密 logistic置乱 logistic混沌系统方程 logistics映射 hash函数 arnold变换 推荐指数 4 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2008年 序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
科研热词 推荐指数 鲁棒性 1 随机序列 1 空间域 1 混沌系统 1 混沌映射 1 混沌扩频通信 1 混沌 1 数据字典 1 扩频序列 1 平衡性 1 图像加密 1 分组密码 1 分形压缩 1 信息隐藏 1 s-p网络 1 logistic映射 1 carotid-kundalini函数 1
介绍MATLAB一种算法实现方式

介绍MATLAB一种算法实现方式本篇文章要分享的是基于MATLAB的腐蚀膨胀算法实现,腐蚀膨胀是形态学图像处理的基础,腐蚀在二值图像的基础上做“收缩”或“细化”操作,膨胀在二值图像的基础上做“加长”或“变粗”的操作。
什么是二值图像呢?把一幅图片看做成一个二维的数组,那么二值图像是一个只有0和1的逻辑数组,我们前面Sobel边缘检测后的图像输出边缘效果,设置个阈值,大于阈值输出为1,小于阈值输出为0,最后输出就是一幅二值图像了。
腐蚀腐蚀是一种消除边界点,使边界向内部收缩的过程。
可以用来消除小且无意义的物体。
用3X3的结构元素,扫描图像的每一个像素,用结构元素与其覆盖的二值图像做“与”操作,如果都为1,结果图像的该像素为1。
否则为0。
结果会使二值图像小一圈。
有一个形象的比喻来可以说明该运算,用0表示蛀虫,1表示大米。
蛀虫腐蚀大米的过程便是腐蚀运算,腐蚀如图所示,对于一个像素矩阵而言,只要有蛀虫(0)的存在,大米(1)就会被腐蚀掉了,即使只存在一个蛀虫(0),但是还是会被蛀虫腐蚀完毕,最后一幅图上面由于没有蛀虫(0)所以大米完好无损。
关于算法的实现,可以用下式子来表示,即3x3像素的运算:P = P11 3 clear all; 4 close all; 5 6 RGB_data = imread(lena.jpg); 7 8 R_data = RGB_data(:,:,1); 9 G_data = RGB_data(:,:,2); 10 B_data = RGB_data(:,:,3); 11 12 %imshow(RGB_data); 13 14 [ROW,COL, DIM] = size(RGB_data); 15 16 Y_data = zeros(ROW,COL); 17 Cb_data = zeros(ROW,COL);18 Cr_data = zeros(ROW,COL); 19 Gray_data = RGB_data; 20 21 for r = 1:ROW 22 for c = 1:COL 23 Y_data(r, c) = 0.299*R_data(r, c) + 0.587*G_data(r, c) + 0.114*B_data(r, c); 24 Cb_data(r, c) = -0.172*R_data(r, c) - 0.339*G_data(r, c) + 0.511*B_data(r, c) + 128; 25 Cr_data(r, c) = 0.511*R_data(r, c) - 0.428*G_data(r, c) - 0.083*B_data(r, c) + 128; 26 end 27 end 28 29 Gray_data(:,:,1)=Y_data; 30。
tent映射matlab程序

tent映射matlab程序一、IntroductionTent映射是一个多项式映射,常被用于描述混沌系统。
这种映射最初被提出用于模拟一维物理过程中电子的经过。
Tent映射在计算机科学中也有广泛应用,比如重要性采样,随机游走等。
在本文中,我们将介绍如何在MATLAB中实现Tent映射的程序,并且解释如何使用这个程序。
我们将从Tent映射的基本信息开始,接着讨论如何在MATLAB中实现这个程序,并且最后通过一些实例来体验Tent映射的实际应用。
二、Tent映射的基本知识1、Tent映射的定义Tent映射是一个将区间[0,1)映射到区间[0,1)上的映射函数。
它可以表示为以下公式:$$x_{n+1}=\begin{cases} \alpha x_n,& \text{x} \in [0,\frac{1}{2})\\ \alpha (1-x_n),& \text{x} \in [\frac{1}{2},1) \end{cases}$$其中, $\alpha$ 是一个常数, $x_n$ 是第n次迭代之后的输出。
在Tent映射中, $x_n$ 的时间变化与$\alpha$ 有关。
通常情况下,$0\leq \alpha \leq 2$。
2、在执行经典混沌运动时的应用在平常情况下,Tent映射在经典混沌运动中被广泛应用。
通过这个程序模拟混沌过程,可以分析混沌过程的性质,并且预测它们的行为和演化。
3、函数的性质Tent映射中不同的参数会导致不同的输出结果,这使得程序在真实世界的复杂系统中使用需要一定的技巧和代码优化来保持程序的速度和精确度。
其他的一些Tent映射的重要性质包括:1. 展开性质。
Tent映射的$n$次迭代是一个二元函数,与$\alpha$和初始条件$x_0$相关。
2. 混沌性。
当$\alpha$取一些特定的值,Tent映射表现出混沌的状态。
3. Feigenbaum常数对于非定值的$\alpha$,Tent映射的大小规律由Feigenbaum常数给出:每个Feigenbaum常数对应于一个新的周期解。
混沌信号的产生 matlab

混沌信号的产生及其在Matlab中的实现一、混沌信号的概念与特点混沌是一种在确定性系统中表现出的随机、不可预测的行为。
混沌系统具有以下几个显著特征:1. 灵敏依赖于初值:在混沌系统中,微小的初值变化会导致系统行为的巨大变化,这就是所谓的“蝴蝶效应”。
2. 随机性和周期性:混沌系统表现出随机性和周期性的叠加,使得系统的行为呈现出复杂的、看似无序的特征。
3. 分形结构:混沌系统的轨迹具有分形结构,表现出自相似性和自组织性。
二、混沌信号的产生原理混沌信号的产生通常基于非线性动力系统模型,其中最经典的混沌系统包括 Logistic 映射、Henon 映射等。
混沌信号的产生一般遵循以下步骤:1. 选择合适的混沌系统模型,比如 Logistic 映射:$x_{n+1} =rx_n(1-x_n)$。
2. 选择初值和模型参数,并设定迭代次数。
3. 进行迭代计算,得到混沌信号的时域序列。
三、Matlab 中的混沌信号生成Matlab 是一种强大的科学计算软件,提供了丰富的工具箱和函数,使得混沌信号的产生和分析变得非常简单。
在Matlab 中,可以通过以下几种方法产生混沌信号:1. 直接求解微分方程:利用ode45函数求解混沌系统的微分方程,得到混沌时域序列。
2. 迭代计算:利用for循环结构进行模型的迭代计算,得到混沌信号的时域序列。
3. 利用现成的工具箱:Matlab 提供了一些专门用于产生混沌信号的工具箱,比如 ChaosBox。
四、示例代码以下是一个利用 Logistic 映射产生混沌信号的示例代码:```matlabLogistic 映射参数r = 3.9;时域序列长度N = 1000;初值x0 = 0.1;初始化时域序列x = zeros(1, N);x(1) = x0;迭代计算for i = 1:N-1x(i+1) = r * x(i) * (1 - x(i));end绘制混沌信号时域图plot(x);xlabel('时域');ylabel('信号幅值');title('Logistic 映射产生的混沌信号');```五、混沌信号的应用混沌信号作为一种具有随机性和周期性的信号,具有广泛的应用价值,包括但不限于:1. 加密通信:混沌信号可用于加密通信系统中的信息传输,利用混沌的随机特性可以提高数据的安全性。
基于Logistic系统的图像加密(MATLAB版)
基于Logistic系统的图像加密(MATLAB版)加密解密算法描述设N M A *表示大小为MxN 的图像,A(x,y)(x ∈[0,M-1],y ∈[0,N-1])表示图像A 在点(x ,y)处的灰度值,A’(x,y)(x ∈[0,M-1],y ∈[0,N-1])表示为(x ,y)经过加密后所对应的灰度值。
基于图像像素值替代的加密算法设计如下:(l)给定两个Logistic 系统的参数1U 和2U ,并给定两个系统初值'10x 和'20x 。
(2)取原始图像A 的所有像素的值之和,该和对256取余运算,得到一个[0,255]范围的整数,然后以该整数除以256,得到的结果作为辅助密钥k ,k ∈(O ,l)。
(3)用辅助密钥k 修改混沌系统初始值:'10x =('10x +k)/2,'20x =('20x +k)/2。
以修正后的10x 和20x 。
作为logistic 混沌系统的初始值,由式(4.1)构造2个长度为M*N 的实数混沌序列。
(4)将由步骤(3)得到的2个实数混沌序列按式(4.7)进行转换,得到2个改进的混沌序列:{y1(i)},{y2(i)},i=1,2,3,…,MxN 。
(5)顺序取图像中的一点(设该点的序号为n),若该点的序号属于奇数,则由实数混沌序列的y1(n)构造加密密钥:256),15) 10*yl(n)mod(floor(=k(n)若该点的序号属于偶数,则由实数混沌序列的y2(n)构造加密密钥:15),256) 10*y2(n)mod(floor(=k(n)。
(6)用原始图像A 中的第n 个像素点灰度值A(x,y)与步骤(5)产生的logistic 密钥值进行按二进制位异或操作,得到加密后的像素值A’(x,y)。
(7)重复(5)—(6)步,直到将将所有像素点加密完毕,即得到加密图像A’。
解密过程是上述加密过程的逆过程,算法类似。
动力系统中的混沌图像生成算法
动力系统中的混沌图像生成算法混沌图像生成算法在动力系统中的应用混沌现象是指在确定性系统中存在高度复杂、不可预测的行为。
混沌图像生成算法是一种通过使用混沌系统产生随机数序列,并将其转化为图像的方法。
这种算法能够生成复杂而独特的图像,被广泛应用于计算机图形学、密码学等领域。
本文将介绍动力系统中的混沌图像生成算法,探讨其原理和应用。
一、动力系统中的混沌动力系统是研究物体运动规律的数学模型,通常由一组微分方程描述。
某些动力系统在规定的初值条件下可以产生混沌行为,即微小的初值扰动可以导致系统行为的巨大变化。
混沌现象在动力系统中普遍存在,例如洛伦兹吸引子、和周期倍增的分岔图。
这些混沌系统的特点是非线性、敏感依赖于初值,以及复杂的轨迹结构。
二、混沌图像生成算法原理混沌图像生成算法利用了混沌系统的特性,将其产生的随机数序列转化为图像。
常用的混沌系统包括Logistic映射、Henon映射等。
具体的算法步骤如下:1. 初始化参数:选择一个合适的混沌系统并设置其参数,例如Logistic映射的参数r、初值x0等。
2. 生成随机数序列:根据选定的混沌系统,通过迭代计算得到一系列混沌数值,可以通过以下公式计算:xn+1 = f(xn)3. 归一化处理:将得到的混沌数值映射到指定的范围,常用的归一化方法是线性变换。
4. 图像生成:将归一化后的数值序列转化为像素值,可以使用灰度或彩色来表示。
生成的图像可以通过使用不同的色彩、像素分辨率等参数进行调整。
5. 后处理:对生成的图像进行后处理,例如增加滤镜、调整对比度等,以获得更好的视觉效果。
三、混沌图像生成算法应用混沌图像生成算法在计算机图形学、密码学、艺术设计等领域有着广泛的应用。
1. 计算机图形学:混沌图像生成算法可以用于生成艺术图像、纹理合成等。
通过调整混沌系统的参数和图像后处理的参数,可以获得不同风格和效果的图像。
2. 密码学:混沌图像生成算法可以用于生成密钥序列。
由于混沌系统的随机性和不可预测性,生成的密钥序列可以在密码算法中作为加密和解密的基础。
混沌序列 混淆算法 -回复
混沌序列混淆算法-回复什么是混沌序列混淆算法?混沌序列混淆算法是一种基于混沌理论的加密算法,利用混沌序列的不可预测性和随机性对数据进行混淆和保护。
混沌序列是一种非线性、不可预测且具有自相似性的数列,可以生成伪随机序列,用于加密和安全通信。
混沌序列混淆算法的原理是通过混沌映射或混沌振荡电路产生混沌序列,将明文数据与混沌序列进行异或运算,从而实现数据的混淆。
由于混沌序列的特性,即使是微小的明文改变也会导致密文的巨大变化,从而增加了破解的难度。
在混沌序列混淆算法中,关键的步骤包括混沌映射或混沌振荡电路的选择和参数设置、混沌序列的生成、明文数据与混沌序列的异或运算、密文的生成等。
首先,选择合适的混沌映射或混沌振荡电路是算法设计的重要一步。
常用的混沌映射包括Logistic映射、Henon映射、Tent映射等,而混沌振荡电路包括Van der Pol振荡器、Chua电路等。
这些映射和振荡电路的非线性特性和混沌行为是混沌序列混淆算法的基础。
其次,需要对混沌映射或混沌振荡电路的参数进行设置。
不同的参数设置会导致不同的混沌序列生成,进而影响密文的质量和安全性。
参数设置需要满足一定的条件,使得混沌序列具有良好的随机性和不可预测性。
接下来,通过混沌映射或混沌振荡电路生成混沌序列。
这一步骤需要利用初始条件和映射函数或振荡电路的演化规律来迭代产生混沌序列。
由于混沌序列具有自相似性和随机性,生成的序列可以被用作加密算法的密钥或初始向量。
然后,将明文数据与混沌序列进行异或运算。
明文数据可以是任意形式的二进制数据,包括文本、图像、声音等。
异或运算是一种简单有效的运算方式,通过将明文数据与混沌序列的对应元素进行异或运算,可以实现数据的混淆和保护。
最后,根据混沌序列和异或运算的结果生成密文。
密文可以是经过进一步处理的二进制数据,包括加密后的文本、图像、声音等。
生成密文后,可以通过密文传输或存储,从而实现数据的保密性和安全性。
总体而言,混沌序列混淆算法利用混沌序列的不可预测性和随机性对数据进行混淆和保护。
基于Logistic映射与排序变换的图像加密算法
基于Logistic映射与排序变换的图像加密算法基于Logistic映射与排序变换的图像加密算法是利用混沌映射对初值的敏感性和伪随机性,通过对生成的混沌序列排序来得到图像置乱的地址变换码,由于排序的不规则性,因此新的混沌图像置乱算法具有较强的保密性能。
通过对该算法的置乱性能分析并进行仿真实验,结果表明,新算法具有良好的图像文件加密性能。
一、基于混沌映射与排序变换的图像置乱算法设计1、混沌系统加密算法设计Logistic映射是一个非常简单,却又具有重要意义的非线性迭代方程,它具有确定的形式。
并且系统不包含任何随机因素,但系统却能产生看似完全随机的,对参量的动态变化耜初值极为敏感的混沌现象,所以文中选用Logistic映射迭代来产生混沌序列。
我们以256×256的图像1为例。
第一步:选取下列迭代方程:其中而为映射变量,它的取值范围为:-1<xn<1第二步:给定初值x1。
由(1)式迭代N-1次得到(x1,x2,…,xn)序列,并对它们排升(或降)序得新的序列:(x’1,x’2,…,x’n)。
第三步:定位xi在x’i中的位置序数,得到序数序列记为:r(t,:)=(r1,r2,…,rn)(其中t=1,2,…,256)。
第四步:以r为图像I的像素矩阵A的第一(或N)行的地址置换码,对矩阵A进行行地址变换。
第五步:以r为图像I的像素矩阵A的第一(或N)列的地址置换码,对矩阵A进行列地址变换。
第六步:循环一到五步,直到矩阵I全部行、列变换完为止,即图像加密完成。
为达到更好的效果,也可以再重复一个循环,一般一个循环周期完成就可以了。
MATLAB例程如下:2、解密算法设计当用户输入正确的密钥后,将加密算法逆向运算,即前三步循环N次,得到r(N×N)和s(N×N)的矩阵,第四、五步交换,并把“第一(或N)行/列”改为“第N(或一)行/列”,再循环N次就得到解密图像了。
MATLAB例程如下:二、基于排序变换的混沌图像置乱性能分析由迭代方程式(1)来产生混沌实值序列,并进行置乱算法统计分析。