近年来,混沌保密及其应用成为了信息安全领域的一个研究重点,特别是混沌数字图像、语音及视频加密问题引起了研究者的极大关注。但目前对混沌保密的研究主要局限于数字图像和语音的加密,而对于有关视频加密的研究却非常少,传统的加密算法如DES、IDEA、Blowfish、RSA等,理论上可以用于数字视频加密,但上述方法并未考虑到视频文件的自身特点,势必会导致文件的结构被破坏,又因为视频文件的海量特性,上述算法加密的速率无法得到保证。因此研究新的安全性高且加密速度快的视频加密算法是非常必要的[5-13]。

本文提出了用三维Lorenz混沌系统和Matlab仿真工具实现混沌数字视频加密。利用Matlab工具产生AVI视频信号,同时,利用混沌序列对初始条件和系统参数非常敏感的特性,采用驱动响应式同步的加密算法方案,对产生的AVI视频进行加解密,最后通过将混沌序列的初始条件和系统参数进行微弱调整,对仿真结果进行深入分析。

1 AVI视频文件结构特点

音频视频交错格式AVI(Audio Video Interleaved)是将语音和影像同步组合在一起的文件格式。它对视频文件采用了一种有损压缩方式,但压缩比较高,AVI支持256色和RLE压缩,一个AVI文件可以包含多个不同类型的媒体流,它以一系列的位图来存储视频信息,并在文件中加入以数字形式存储的数字化视频信息。

AVI包含三部分:文件头、数据块和索引块。其中文件头包括文件的通用信息,定义数据格式及压缩算法等参数。数据块包含实际数据流,即图像和声音序列数据,是文件的主体,也是决定文件容量的主要部分。视频文件的大小等于该文件的数据率乘以该视频播放的时间长度。索引块包括数据块列表和它们在文件中的位置,以提供文件内数据随机存取能力。

2 Lorenz混沌系统与离散化处理

使用一个Lorenz混沌系统来进行AVI视频文件的加密和解密,Lorenz系统的无量纲状态方程数学表达式为[14]:

根据式(1)和式(2)以及上述参数,可以得到Lorenz混沌系统中吸引子的数值仿真结果,图1所示为x-y方向上的Lorenz混沌系统吸引子相图。

3 基于Lorenz混沌系统的视频加密算法设计

3.1 AVI视频文件的读入

利用随机采样到的一段AVI视频进行混沌加密,由于Matlab中只支持ZJmedia Umcompress RGB24编码方式的AVI视频文件,因此首先有必要把采集到的这段视频文件进行转换处理,使其能够无障碍地载入到Matlab工具中。利用专业的转换软件Winavi进行操作,视频经过相应的处理之后,读入到Matlab工具当中去。

3.2 视频加密方案

根据密码学原理,首先要把视频信息进行置乱处理,然后利用混沌系统来进行扩散加密。

利用式(2)中的混沌系统状态方程,经过离散化之后来实现数字视频混沌加密。在驱动响应式同步的基础上,加入信号后再形成一个闭环和反馈,使驱动系统和响应系统有同步信号,工作原理如图2所示。

通过在Matlab软件上编程之后验证可以得到,Lorenz系统完全能够实现驱动响应式同步,其仿真结果如图3所示,其中横坐标代表发送端信号x(n),而纵坐标则为接收端的信号x′(n),从图中可以看出,二者是严格同步的。

4 Matlab仿真结果及分析

4.1 仿真结果

在Matlab7.1的工作平台下,按照上文提出的加密方案编写相应的程序对视频文件“original.avi”进行加密与解密,Lorenz系统的初始值(x0,y0,z0)取为(0.01,0.02,0.03),图4~图7是加解密的实验结果,其中图4显示的是原始视频中的最后一帧原始图像,图5是最后一帧原始图像经过混沌系统加密后的效果图,图6是在系统参数完全一致以及初始条件(x1,y1,z1)改为(10,20,10)的情况下解密出来的图像效果图,图7则是修改了系统参数b为30.000 01之后的效果图。

4.2 结果分析

在采用上述加密算法之后,用Matlab仿真工具编程对“original.avi”进行仿真实现,由结果可以发现,由于是视频加密,因此只能分析单一的一帧图像,如图5所示,是加密之后最后一帧的图像,加密效果相当不错,完全看不出视频文件的内容。当在Lorenz混沌系统初始条件(x0,y0,z0)不同和而系统参数(a,b,c)完全匹配的情况下,得到解密的最后一帧的图像如图6所示,完全和原始图像一样,解密效果非常明显。然后,调整系统参数b,把b的值重新取为30.000 01时,得到如图7所示的解密效果图,解密出来的图像已经无法看清了,非常模糊,这说明此种加密算法具有很高的安全性,该系统的安全性主要来自于发送端与接收端参数失配的高度敏感性。

根据以上仿真结果和分析,混沌本身具有实现密码的许多优点,其内在的带有确定性的随机性和计算复杂度低的特点具有很大的吸引力。目前,国内外学者将混沌加密理论应用到视频加密的还不多,主要集中在直接加密方面,没有利用视频数据本身的特性和选择性加密的优点,没有很好地结合视频压缩标准方面的研究,因此很难提高其实用性和实时性。将混沌加密与选择性加密相结合,是今后混沌保密算法方面一个重要的发展方向。

混沌序列加密matlab,基于三维Lorenz混沌系统和Matlab仿真工具实现混沌数字视频加密...相关推荐

  1. 基于AR模型的功率谱matlab,基于AR模型法功率谱估计的Matlab实现

    2005iF 12月 笫 21卷第 6期 武警工程学 院学报 jOURNAL OF ENGG COLLEGE OF ARMED POLICE FORCE DeC.2005 Vo1.21 No.6 [计 ...

  2. 人脸识别 pca matlab,基于PCA的人脸识别的Matlab实现代码

    基于PCA的人脸识别算法 --Matlab Face recognition Based on PCA 目录 人脸识别技术是基于人的脸部特征,对输入的人脸图象或者视频流 . 首先判断其是否存在人脸 , ...

  3. 薄板样条函数 matlab,基于薄板样条插值图像配准的Matlab实现

    Date: 2015-06-30 21:53 1. 基本数学描述 薄板样条(Thin Plate Spline)映射根据两幅相关图像中的对应控制点集来决定一个变形函数.它寻找通过所有给定点的饶度最小的 ...

  4. matlab画三维图如何更改颜色,matlab画三维图像的示例代码(附demo)

    当我们学习surface命令时,已经看到了三维作图的一些端倪.在matlab中我么可以调用mesh(x,y,z)函数来产生三维图像. 首先,我们用z=cos(x)sin(y)在-2pi ≤x,y≤ 2 ...

  5. 电压闪变matlab,基于小波变换的电压闪变检测Matlab仿真研究

    得到一个数值稳定的重构算法,要求ψm,n构成一个框架.若ψm,n构成一个框架,可求得由重构f的算法.对于该算法框架界的比很重要.由小波系数所代表的能量满足下式: 其中,Ex是信号f的能量,A,B称为框 ...

  6. 如何用matlab画三维函数相交,如何用matlab绘制三元函数f=x^2 y^3 z^4在

    www.mh456.com防采集. 1234567syms x y z;f = (x-y)^2+(x-z)^2+(y-z)^2-100;z = solve(f,'z');for p = 1:lengt ...

  7. matlab依据三维散点画云图,在matlab中由离散点生成云图

    首先 有离散点的数据如下 x=[376.82 377.56 379.74 421.20 419.41 417.82 418.80 458.86 457.72 ... 459.55 461.64 500 ...

  8. matlab画三维函数参数方程,如何在matlab中绘制含有三个参数方程的三维图形

    [1]ezimplot3 存储该M文件,并将文件路径设置为matlab当前路径 function h = ezimplot3(fun,domain,n,color) % EZIMPLOT3    Ea ...

  9. 随机游走模型 matlab,基于随机游走的图像分割matlab代码

    [实例简介] 利用随机游走模型对图像进行了分割 编程环境是matlab 含有示例图片 可以直接运行 [实例截图] [核心代码] Randomwalksforimagesegmentation_matl ...

最新文章

  1. 2021全国高校计算机能力挑战赛(初赛)Java试题二
  2. OBJC依赖库管理利器cocoapods 安装及使用详细图解
  3. 第三章-分布式文件系统HDFS
  4. SAP转储订单(STO)
  5. how is ui5 resource root calculated
  6. C# 如何判断某个 tcp 端口是否被占用?
  7. 【TypeScript系列教程04】编译参数
  8. 2015年传智播客JavaEE 第168期就业班视频教程day38-SSH综合案例-1
  9. self、 superclass 、 super的区别
  10. luogu P1020 导弹拦截
  11. Visual Studio 2017在编译OpenCV 4.2.0时出现编译器错误C2001:常量中有换行符
  12. [讨论] 全新首发WIN7 3264 WINSXS进一步精简批处理公测
  13. lingo纳什均衡代码_数学建模练习题.
  14. 罗技GHub驱动长时间加载/初始化【完美解决】
  15. 由于找不到 MSVCR120.dll,无法继续执行代码解决方法
  16. 编程经验:关于如何在自己的网站或博客添加CNZZ站长统计功能
  17. css textarea行数_超级简单:在一个TextArea中如何限制行数和字符数
  18. 第一个Springboot程序
  19. android开发之应用Crash自动抓取Log_自动保存崩溃日志到本地
  20. java杂谈(瞎吉尔找的练习)

热门文章

  1. 纯净简洁绿色的解压缩软件
  2. 开启FTP的21端口
  3. Lipschitz 条件或者Lipschitz连续
  4. distribute by sort by
  5. Python轻松实现PDF格式转换(附详细源码)
  6. [原创]软件性能测试培训
  7. 剪了 20% 的刘海、120Hz 刷新率、1TB 存储,最高售价为 12999 元的 iPhone 13 系列来了!
  8. 宏正ATEN发行全新高端式IP-Based Cat 5 KVM多电脑切换器
  9. Wireshark The capture session could not be initiated on interface报错解决
  10. 英语与计算机工作总结,2017年上学期英语教师个人工作总结与2017年上学期计算机教学工作总结合集.doc...