基于混沌与超混沌的两层次视频流媒体加密方法。本发明提供的设计方法包括:提出了基于混沌与超混沌的两层次视频流媒体加密算法。该方法与网络传输下的视频压缩标准H.263相结合,其第一层次是:基于Logistic混沌映射,在视频压缩过程中用基于离散余弦变换(DCT)的选择性加密算法对视频流数据加密;在视频压缩后,进行第二层次的加密,它包括两部分:基于离散Baker映射进行视频流数据置乱和基于超混沌映射对置乱后的数据进行数据混淆;由于采用了多层次的加密,并且超混沌系统加密性能强,因此采用该方法的视频流加密系统能有效地抵抗恶意攻击和专业解密,该加密方法在网络流媒体传输信息安全领域中具有重要应用价值。
1.一种基于混沌与超混沌的两层次视频流媒体加密方法,其特征在于该方法包括:
第1、基于混沌与超混沌的两层次视频流数据加密方案的结构
提出基于混沌与超混沌的两层次的视频流数据加密方案的结构,该加密系统的设计与网络传输下的视频压缩标准H.263相结合,采用逐字节处理模式处理编码后的H.263流,第一层次是在视频压缩过程中对视频流数据进行基于混沌映射的选择性流加密;视频压缩后,对压缩后的视频流数据进行第二层次加密,即对视频流数据进行块置乱和数据混淆,其中块置乱采用二维离散Baker映射,然后对置乱后的数据采用超混沌系统进行数据混淆;
第2、基于混沌映射的第一层次的视频流数据加密方案
第一层次的加密方案是:在视频压缩过程中,基于混沌映射对视频流数据进行选择性的流加密,即基于混沌映射对视频数据的一部分进行流加密,在基于混沌映射的选择性加密算法中,所有的帧内块的离散余弦变换DCT的系数均被流加密;
流加密:流加密也叫序列加密,流密码的加密和解密思想是先将视频流数据作为一个由基本编码单元0和1构成的明文流m,然后利用一个密钥流k与该明文流m逐位地加密,得到一个密文流c,解密时以同步产生的同样的密钥流k与这个密文流c逐位地解密来恢复明文流m;这个密钥流k是采用混沌系统生成的序列,混沌系统采用的是离散的一维Logist混沌映射;
第3、基于离散Baker映射和超混沌映射的第二层次的视频流数据加密方案
对完成第一层次加密编码后的H.263视频流数据,进行第二层次的加密,第二层次的加密方案由两部分组成,即首先采用二维离散Baker映射进行数据置乱,然后基于超混沌映射对置乱后的数据进行数据混淆;
第3.1、数据置乱
利用二维离散Baker映射实现编码后H.263视频流数据的数据置乱;在对应的密码系统结构中,第一层次加密编码后的H.263视频流数据被用作明文流,下面将给出数据置乱的具体步骤:
第一步:从第一层次加密编码后的H.263视频流数据中取出N×N个字节数据用于二维离散Baker映射置乱迭代,置乱密钥kB由l,n1,n2,…,nk构成,l代表数据置乱的迭代次数,ni,i=1,2,…,k为密钥的分量值,N,l,ni取为大于0的整数,N和l的选取原则为在安全性和处理速度之间取得更好的平衡,N和l越大,安全性越强,处理速度就越慢,n1,n2,L,nk要满足ni|N,i=1,L,k,且n1+L+nk=N;
第二步:将迭代选定的数据b1,b2,L L,bN×N置乱操作l次,得到置乱后的数据bp1,bp2,L L,bpNN;
第三步:将置乱后的数据bp1,bp2,L L,bpNN存储到视频流数据的原来位置;
第3.2、数据混淆
选用超混沌方程生成的序列实现数据的混淆,超混沌方程生成的状态序列x1,x2,L L,xNN将被离散化得到比特序列c1,c2,L L,cNN与置乱后的H.263视频流数据序列bp1,bp2,L L,bpNN进行混淆操作,混淆操作采用异或操作实现;混淆后的H.263视频流数据与未改变的H.263视频流数据一起用做视频网络传输的输入数据。
【技术领域】:
[0001]本发明属于信息安全技术和网络通信技术领域,涉及对网络中实时传输的视频流媒体进行加密的算法,为网络视频信息安全保密传输和相关知识产权保护提供安全有效的加密解决方案。
【背景技术】:
[0002]当今社会是高度信息化的社会,信息安全问题对国民经济、社会发展和人民生活显得愈发重要。在信息安全问题中,网络多媒体的保密技术占有非常重要的地位。随着计算机技术、网络技术和多媒体技术的快速发展和广泛应用,为人们获取和交流信息提供了极大的方便,同时也蕴涵着巨大的商业利益。如何保护多媒体信息的安全成为国际研究热点。
[0003]随着计算机网络技术及硬件设备的飞速发展,网络视频流媒体也日渐流行,如我们常见的在线视频服务网站、保密视频会议、付费电视、网上电影以及专门的商业或军事视频传输系统等。计算机技术,网络通信技术以及多媒体技术的相互渗透,相互促进,已使得网络流媒体技术的发展,达到了从量变到质变的关键时刻。网络传递的信息科技越来越高,从简单的文字信息发展到目前的文字,图像,声音,视频,动画等几乎所有种类的信息。网络带宽的不断提升,数据传输编码技术和用于发布媒体的服务器技术的不断发展,都在用以满足网络流媒体数据的传输技术要求。但由于互联网的开放性,共享性,动态性等特点使得网络信息的安全受到了严重的威胁和干扰,存在着非法攻击、篡改、下载和盗版等安全问题。因此,网络信息安全尤其是多媒体数据的保密性问题成为关系到经济发展和社会安全的重大问题,引起人们的高度重视。由于视频数据的复杂特点,视频文件的实时性要求高,加上视频的数据量极为庞大,传统的基于代数密码理论体系设计的针对文本文件的加密算法已不适用于视频加密。因此需要采用新的理论和工具去设计可应用于流媒体的信息加密系统。
[0004]“混沌”被公认为是上世纪最重要的科学发现之一。作为一门具有广阔应用前景的前沿交叉学科,已经在工程技术和电子商务的许多实际领域中被成功应用,并在生物与医学工程、力学工程、电子工程、化学工程、信息工程、计算机工程、激光技术、应用物理等许多领域有着巨大的应用潜力。目前混沌理论最活跃的应用领域是通信领域,涉及数据的保密通信与同步,图像加密、数字水印隐藏、流媒体加密等多个方面。由于混沌系统的一些固有特征,如混沌序列的复杂随机性、难以分析和预测性、对初值的极度敏感性,因此非常适用于信息的加密。但是目前存在的混沌加密算法和系统主要存在以下问题:
[0005](1)已有的多数混沌加密算法是针对图像、水印等静态对象设计的,不适用于对流媒体信息的在线加密。
[0006](2)已有的混沌视频加密算法多采用选择性加密算法,其核心思想就是只加密部分数据信息。将视频流信息处理后,选取一些重要部分信息进行加密,虽然保障了实时性,但是此类选择性加密算法从安全性角度上有很多缺陷,易于被攻击和破译。
[0007](3)混沌加密算法的设计多是基于简单的混沌系统,而简单的混沌系统较易于被成熟的非线性数据处理技术破译。
[0008]针对以上问题,需要基于混沌理论,提出针对多媒体视频流数据加密的、新的加密算法,基于新算法建立的视频加密系统应用于媒体视频传输,不仅要具有很好的传输性能,如实时性、压缩比和图像传输质量,而且要具有很高的安全性。通常的选择性加密算法只加密部分信息,防御措施较为薄弱,不足以抵挡住恶意攻击者的攻击,因此需要建立多个层次的加密措施。混沌加密算法只采用简单的混沌,于是需要更为复杂的混沌系统-超混沌。超混沌系统产生的复杂时间序列极大地提高了加密质量,非常难以破译。因此将超混沌理论应用于信息加密具有重要的应用前景。
【发明内容】:
[0009]本发明目的是克服现有技术存在的上述问题,提供具有创新性的基于混沌与超混沌的两层次视频流媒体加密方法,为实现视频流媒体的安全性传输加密系统提供可行的解决方案。
[0010]本发明提供的基于混沌与超混沌的两层次视频流媒体加密方法,其主要内容包括:
[0011]第1、基于混沌与超混沌的两层次视频流数据加密方案的结构
[0012]提出基于混沌与超混沌的两层次的视频流数据加密方案的结构,该加密系统的设计与网络传输下的视频压缩标准H.263相结合,采用逐字节处理模式处理编码后的H.263流,第一层次是在视频压缩过程中对视频流数据进行基于混沌映射的选择性流加密;视频压缩后,对压缩后的视频流数据进行第二层次加密,即对视频流数据进行块置乱和数据混淆,其中块置乱采用二维离散Baker映射,然后对置乱后的数据采用超混沌系统进行数据混淆;
[0013]第2、基于混沌映射的第一层次的视频流数据加密方案
[0014]第一层次的加密方案是:在视频压缩过程中,基于混沌映射对视频流数据进行选择性的流加密,即基于混沌映射对视频数据的一部分进行流加密,在基于混沌映射的选择性加密算法中,所有的帧内块的离散余弦变换DCT的系数均被流加密;
[0015]流加密:流加密也叫序列加密,流密码的加密和解密思想是先将视频流数据作为一个由基本编码单元0和1构成的明文流m,然后利用一个密钥流k与该明文流m逐位地加密,得到一个密文流c,解密时以同步产生的同样的密钥流k与这个密文流c逐位地解密来恢复明文流m;这个密钥流k是采用混沌系统生成的序列,混沌系统采用的是离散的一维Logist混沌映射;
[0016]流加密的加密强度完全依赖于密钥流的随机性和不可预测性,而混沌系统具有伪随机性和不可预测性,又由于其在产生密钥流时的易实现性,所以由混沌系统生成的序列可被用作密钥流,在流加密中本发明采用离散的一维Logistic混沌映射;
[0017]基于混沌的选择性加密算法:核心思想就是只加密部分数据,即基于混沌映射对视频数据的一部分进行流加密;
[0018]离散余弦变换(DCT)系数:DCT是一种数据处理方法,其实质是将一空间域函数转换成频率域函数,根据DCT变换得到的8*8频率系统矩阵,称为DCT系数,进一步突出对视觉影响大的图像主体信息成分(直流和低频分量),而削弱或略去对视觉影响小的次要细节(高频分量);
[0019]被压缩的图像的能量主要集中在64个DCT系数的低频部分和直流部分,因此为了获得足够的安全性以抗击可能出现的攻击,我们的基于混沌的选择性加密算法中,所有的帧内块的DCT系数(1个DC和63个AC)均被流加密;
[0020]第3、基于离散Baker映射和超混沌映射的第二层次的视频流数据加密方案
[0021]对完成第一层次加密编码后的H.263视频流数据,进行第二层次的加密,第二层次的加密方案由两部分组成,即首先采用二维离散Baker映射进行数据置乱,然后基于超混沌映射对置乱后的数据进行数据混淆;
[0022]第3.1、数据置乱
[0023]利用二维离散Baker映射实现编码后H.263视频流数据的数据置乱;在对应的密码系统结构中,第一层次加密编码后的H.263视频流数据被用作明文流,下面将给出数据置乱的具体步骤:
[0024]第一步:从第一层次加密编码后的H.263视频流数据中取出N×N个字节数据用于二维离散Baker映射置乱迭代,置乱密钥kB由l,n1,n2,…,nk构成,l代表数据置乱的迭代次数,(ni,i=1,2,…,k)为密钥的分量值,N,l,ni取为大于0的整数,N和l的选取原则为在安全性和处理速度之间取得更好的平衡,N和l越大,安全性越强,处理速度就越慢,(n1,n2,L nk)要满足ni|N,i=1,L,k,且n1+L+nk=N;
[0025]第二步:将迭代选定的数据(b1,b2,L L bN×N)置乱操作l次,得到置乱后的数据(bp1,bp2,L L bpNN);
[0026]第三步:将置乱后的数据(bp1,bp2,L L bpNN)存储到视频流数据的原来位置;
[0027]第3.2、数据混淆
[0028]选用超混沌方程生成的序列实现数据的混淆,超混沌方程生成的状态序列(x1,x2,L L xNN)将被离散化得到比特序列(c1,c2,L L cNN)与置乱后的H.263视频流数据序列(bp1,bp2,L L bpNN)进行混淆操作,混淆操作采用异或操作实现;混淆后的H.263视频流数据与未改变的H.263视频流数据一起用做视频网络传输的输入数据。
[0029]本发明的优点和积极效果
[0030]本发明提出了基于混沌与超混沌的两层次视频流媒体加密方法,实现了对视频流媒体信息安全性传输的目的。
[0031]本发明为视频流媒体加密系统的设计与分析提供了先进有效的方法,极大地提高了视频数据信息传输的安全程度,为网络化社会的信息安全提供了创新型技术,在文化传播产业、商业金融、军事等领域中具有良好的经济效益和社会效益,同时能促进混沌密码学理论的丰富与发展,因此该成果具有重要的理论价值和应用前景。
[0032]本发明具有以下优点:
[0033](1)提出了两层次的混沌视频加密系统的设计思想,而且与网络传输下的视频压缩标准H-263相结合,在视频压缩过程中进行基于离散余弦变换(DC)的视频流混沌加密,视频压缩后,对视频流进行块置乱和数据混淆,该加密方案完全适合于再网络视频流媒体传输中应用,具有很好的可行性、通用性和安全性。
[0034](2)第一层次的加密方案是在视频压缩过程中,基于Logistic混沌映射对视频流数据进行选择性的流加密,即基于混沌映射对视频流数据的一部分进行流加密,该层次作为增强整个加密系统安全性的一个辅助性的加密环节,在基于混沌映射的选择性加密算法中,所有的帧内块的离散余弦变换DCT的系数均被流加密,因此可以获得足够的安全性以抗击可能出现的攻击。在视频压缩后,采用二维离散Baker映射进行视频流数据置乱并基于超混沌映射对置乱后的数据进行数据混淆;是多种不同属性的数据加密措施的有机融合,使得加密系统具有更高的安全性。
[0035](3)现存的基于混沌的加密方案利用置乱方法来实现数字图像或视频的密钥置乱。而我们这里的密码系统利用二维离散Baker映射实现编码后H.263视频流的数据置乱。
[0036](3)在该加密算法中不仅使用了简单的混沌系统,而且还使用了超混沌系统。简单的混沌系统只含有一个正李雅普诺夫指数,具有一维复杂动态扩张,存在着易于被成熟的非线性数据处理技术破译的可能性。超混沌是高维区域复杂动态扩张的混沌系统,它是具有两个以上正李雅普诺夫指数的混沌系统。超混沌系统产生的复杂时间序列具有更大的随机性和不可预测性,采用这种信号加密,极大地提高了加密质量,非常难以破译。
[0037](4)基于这种加密算法实现的两层次超混沌视频加密系统,经在网络环境下测试统计分析,其安全性及各项性能指标如处理速度,压缩比,重建后图像质量均达到理想性能指标要求,显示了该方法的很好的实用性。
【附图说明】:
[0038]图1是混沌视频加密网络通信系统。
[0039]图2是UDP协议的套接字(socket)调用时序图。
[0040]图3是基于混沌的视频加密系统模型结构图。
[0041]图4是基于混沌与超混沌的两层次视频流媒体加密算法框图。
[0042]图5是Logistic混沌序列轨迹图。
[0043]图6是第一层次加密与解密系统工作流程图。
[0044]图7是第二层加密系统工作流程图。
[0045]图8是二维连续Baker映射图。
[0046]图9是二维离散Baker映射图。
[0047]图10是超混沌序列轨迹图。
[0048]图11是基于混沌与超混沌的两层次视频流数据加密实例效果,(a)为原始图像,(b)为经过第一层加密后的编码图像,(c)为经过第二层加密后的编码图像,(d)为解密后的图像。
【具体实施方式】:
[0049]视频流媒体加密系统主要由以下几部分组成:相关硬件设备、视频流媒体加密软件、视频流媒体解密软件,其中加密软件安置在流媒体发布端,解密软件安置在流媒体接收终端,加密软件和解密软件的核心部分是加密与解密算法,本发明主要描述的是基于混沌与超混沌的视频流加密算法方案的设计步骤和技术原理,在具体实施方式中首先对混沌视频流媒体加密系统的网络连接原理及系统功能设计方面给予介绍,后面主要部分结合视频序列实例描述发明中的加密方法的具体实施步骤。
[0050]1.基于混沌的视频加密系统的网络连接原理和系统功能设计
[0051]1.1 视频网络连接原理
[0052]对于需要加密的网上流媒体发布、视频会议、数字电视等,均需要把加密后的视频数据通过网络传输到客户端中,因此便产生了相关的网络传输控制问题,我们这里仅给出与本发明中的混沌视频加密系统密切相关的网络传输协议等概念,混沌视频加密网络通信系统如图1所示:
[0053]网络环境下,不同计算机之间的通信是分布进程通信,其采用客户机/服务器(Client/Server)模式,客户机与服务器都是进行通信的应用程序,在此模式下客户机向服务器请求服务,而服务器响应并向客户机提供服务。TCP/IP协议即传输控制协议/网际协议是实现网络互联的基础,由底层的IP协议和TCP协议组成;其中IP协议即网际协议,所有通信双方需要在Internet上进行通信,则所有连接到Internet的计算机都必须遵守IP协议。为了完成不同计算机的应用进程之间的通信,TCP/IP协议在全网络范围内唯一的标识一个进程,这时需要使用网络层的IP地址和传输层的端口号,它们合起来就称为套接字(Socket)地址。网络环境中的分布式进程通信需要采用Socket编程方式。网络环境中的每一台计算机都有自己的操作系统,操作系统应该提供给网络应用程序的接口,即网络应用编程接口(Application Program Interface,API)。Socket屏蔽了底层通信软件和具体操作系统的差异,使得任意两台安装TCP协议软件和实现套接字规范的计算机之间通信成为可能。
[0054]视频实时系统对数据传输速率要求较高,在TCP/IP协议中,用户数据包协议UDP协议主要用于对传输效率要求较高的应用层协议。在UDP客户机服务器模式中,客户机服务器表示互相通信的两个应用程序的进程。UDP服务器通过熟知的端口号向客户机提供服务。UDP客户机是指通过临时申请的端口号向服务器请求服务来使用某种网络的应用程序。UDP服务器和UDP客户机都会建立一个输出队列和一个输入队列,他们分别用于发送和接收UDP数据包。UDP服务器采用重复服务器的方式处理并发服务。重复服务器采用一个请求队列来存储到达的服务请求,并根据先到先服务的原则顺序处理服务器请求。重复服务器处理客户机请求的数量受到请求队列长度的限制,但是它可以有效地控制对服务器请求的处理时间。UDP协议的Socket调用时序图如图2所示。实际运行也验证,传输层采用UDP协议可以足够保证混沌视频加密系统中视频数据的实时传输。
[0055]1.2 系统功能设计
[0056]混沌视频加密系统建立在TCP/IP网络协议中,两个进程间的相互作用的模式是客户机/服务器模式(C/S模式),即网络视频实时采集传输加密系统服务器端等待客户提出请求并予以响应,而网络视频实时采集传输解密系统客户端在需要时向服务器提出申请,服务器端作为守护进程始终进行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该用户。软件功能实现主要由四部分构成:视频实时采集及播放、压缩编码与解码;视频网络传输、视频加密与解密。对每个视频输入包,为了实现在局域网中的端对端通信,必须事先知道服务器端的IP和端口号,并进行网络连接对话和数据传输。这里要着重强调一点,本发明实现的密码系统未采用传输控制协议RTP来保证视频数据传输的QoS(Quality of Service),这在以后的实际应用中可以进一步改进以增强在广域网下的适用性。
[0057]1.3 视频实时采集与播放功能实现
[0058]在混沌视频加密系统中需要实时采集与播放视频信息,因此有必要选取易于实现且很成熟的视频采集软件和硬件。在视频的软件中应用了视频捕获技术。可采用一个专门用于视频捕获的数字视频软件包VFW(Video for Windows)SDK。VFW SDK为在Windows系统中实现视频捕获提供了标准的接口,从而大大降低了程序的开发难度。VFW能使应用程序通过数字化设备从传统的模拟视频源得到数字化的视频剪辑。VFW的一个关键思想是播放时不需要专用硬件,它引进了一种叫AVI的文件标准,该标准规定视频和音频该如何存储在硬盘上,以及在AVI文件中交替存储视频帧和与之相匹配的音频数据。VFW使程序员能通过发送消息或设置属性来捕获、播放和编辑视频剪辑。AVICap支持实时的视频流捕捉和视频单帧捕捉。
[0059]AVICap窗口类提供了以下功能:
[0060]◆单独控制音频、视频的采集;
[0061]◆采用overlay(实时叠加)或preview(预览)方式显示视频图像;
[0062]◆与ICM和ACM同时工作,将音频和视频数据直接压缩到应用程序中;
[0063]◆将音频、视频流直接压缩入AVI文件而不需要开发人员详细了解AVI文件格式的细节;
[0064]◆动态了解视频和音频的输入设备;
[0065]◆创建、保存和载入调色板;
[0066]◆将图像调色板拷贝到剪切板上;
[0067]◆控制MCI设备;
[0068]◆捕捉单帧图像并以DIB格式保存。
[0069]1.4压缩编码功能实现
[0070]我们采用H.263标准实现压缩编码和解码功能。H.263标准是一种低数据传输速率的视频压缩编码标准,其采用运动补偿,帧间预测等去除图像在时间域的冗余度,然后用离散余弦变换(DCT)去除图像信息空间的冗余度,最后用变字长的统计编码去除量化后DCT系数中所含的统计冗余度,达到数据压缩的目的。
[0071]2.基于混沌的视频加密系统的模型表述
[0072]基于混沌的视频加密系统属于数字加密系统,即求解混沌方程产生的混沌序列被设计成有限精度下的密钥与视频序列加密。它也属于对称密钥系统。视频帧被称作明文,对应地加密后的视频帧被称为密文。这里我们给出基于混沌的视频加密系统的模型表述,包括基本概念和结构描述,模型结构如图3所示:
[0073]基于混沌的视频加密系统由五部分构成,其符号表述为P,C,K,{Ek,k∈K},{Dk,k∈K},数学表达意义如下所示:
[0074]1)P代表原始的视频帧的有限集合。
[0075]2)C代表加密后的视频帧的有限集合。
[0076]3)K代表密钥,其由一个或多个混沌或超混沌系统产生的密钥集合。
[0077]4)对每一个k∈K,存在加密方程Ek∈ε及对应的解密方程Dk∈D,这里对每一个Ek:P→C和Dk:C→P有方程(1)如下:
[0078]Dk(Ek(x))=x (1)
[0079]对每一个视频帧均成立。其中ε和D是所有的加密和解密方程的集合。
[0080]后面第3.2节的基于混沌的第一层次的流加密方案和第3.3.2节的基于超混沌方程的置乱后H.263视频数据混淆加密方案均是在上述的架构下设计的,只不过最大的不同就在于密钥K以及加密方程Ek:P→C及解密方程Dk:C→P的不同,这便是密码设计者所做工作的重点所在。
[0081]3.基于混沌与超混沌的两层次视频流媒体加密方案实施步骤及实例
[0082]3.1 基于混沌与超混沌的两层次视频流媒体加密方案的结构
[0083]图4给出了所提出的加密方案的结构图。从图4中可以看出,两层次的多混沌视频加密系统也属于对称加密系统,通信双方的客户端和服务器端拥有同样的密钥kA,kB,kC来加密明文和解密密文。在软件实现中,一系列的视频帧被捕捉,压缩并通过IP网络传输,在这个处理过程中,加密算法被应用来抵抗安全威胁,为了满足视频实时传输的要求,该加密系统采用了H.263编解码器,适用于满足H.263标准的各种视频流数据加密。
[0084]在本实例中,使用的视频流数据参数如下:采用的视频帧视频格式为Qcif格式,视频信号亮度分辨率为176x144像素,视频信号色度分辨率为88x72像素,传输比特率为黑白视频6.1Mbit/s、彩色视频9.1Mbit/s,每帧最大允许比特位为64,此外视频帧采用帧内编码的模式,即所有的视频桢被看作I帧。因为我们设计的加密系统属于对称加密系统,解密过程是加密过程的逆过程,因此将只结合实例给出加密算法及加密过程。
[0085]3.2 基于混沌的第一层次的流加密方案
[0086]3.2.1 第一层次混沌加密系统结构
[0087]第一层次的加密方案是基于Logistic混沌映射对视频数据进行选择性的流加密,即加密所有DCT系数,算法的具体设计如下。
[0088]该加密系统参照图3来设计密码系统的结构,它的五个结构元素如下所示:
[0089]1)密钥k由μ和x0组成;P={ai}={DC,AC1,L L AC63}由DCT过程及量化后的所有64个DCT系数组成;
[0090]2)C由所有流加密后的DCT系数集合{bi}组成;
[0091]3)Ek可以被描述成Xor(异或)操作,即由下式(2)所得:
[0092] bi=ai⊕dxn+1---(2)
[0093]4)Dk可以被描述成异或(Xor)操作,即由下式(3)所得:
[0094] ci=bi⊕dxn+1=(ai⊕dxn+1)⊕dxn+1=ai---(3)
[0095]3.2.2 基于混沌的视频流加密系统的过程
[0096]该加密系统的加密过程由下面六个步骤组成:
[0097]1)密钥流的产生。根据给定的初始密钥,即混沌系统的初始状态x0和控制参数μ,迭代计算Logistic混沌系统N次得到混沌状态xn,然后离散该混沌状态xn便得到xn的16位的离散化表示。一维离散时间Logistic混沌系统用(4)式表示:
[0098]xk+1=μxk(1-xk) (4)
[0099]式中,xk∈X,k=0,1,2,3L为离散时间序列,该系统将序列的当前的状态xk映射到下一个状态xk+1。如从初始状态x0开始,反复迭代,则得到序列{xk∈X,k=0,1,2,3L}。这一序列称为该离散混沌系统的一条轨迹。 其中0<μ≤4称为分支参数,xk+1∈(0,1)。当取3.5699456≤μ≤4时,计算该混沌系统得到的序列即为混沌序列。在本实例中,取μ=3.5699614 x0=0.45678912345;图5为计算出来的Logistic混沌序列。
[0100]2)从视频序列中取出一帧,再经过视频处理后得到RGB格式的视频数据;
[0101]3)进行DCT过程及量化过程以得到所有的帧内宏块;
[0102]4)对帧内所有的块的所有DCT系数进行流加密操作,具体的方程为上一节介绍的Ek(异或操作);
[0103]5)对加密后的视频流进行可变长编码(VLC);
[0104]如果处理的帧是视频序列中的最后一帧,则退出整个加密处理过程,否则转到步骤2继续进行。
[0105]由于该加密系统是对称加密系统,因此解密过程与其相对应,具体的结构图见图6。
[0106]3.3基于Bakaer映射和超混沌的第二层次的视频加密方案
[0107]第二层的加密方案有两个独立的部分组成,即基于2-D Baker映射进行数据置乱和用超混沌系统对置乱后的数据进行数据混淆,在对应的密码系统结构中,编码后的H.263视频流被用作明文。第二层次的加密方案的设计模块见图7。
[0108]3.3.1 基于2-D Baker影射的H.263视频数据置乱
[0109]我们这里的密码系统利用2维离散Baker映射(2-D Baker映射)实现编码后H.263视频流的数据置乱。2-D Baker映射的计算方法如下:
[0110]二维Baker映射是一个混沌映射,可以在单位正方形中定义一个二维Baker映射。如图8所示,在水平方向将单位正方形分成k个矩形块[Fi-1,Fi)×[0,1),i=1,L,k,Fi=p1+Λ+pi,F0=0,其中pi为矩形的宽度,且有p1+L pk=1。对于第i个矩形块[Fi-1,Fi)×[0,1),Baker映射实际上是在宽度方向上拉伸了1/pi,而在长度方向上压缩了pi,最终将一个水平方向排列的矩形块列变成一个垂直方向上相互层叠的矩形块列。上述过程用数学式表达为:
[0111] B(x,y)=(1pi(x-Fi),piy+Fi),(x,y)∈[Fi,Fi+pi)×0,1)---(5)
[0112]在计算机上实现时,需要将连续Baker映射离散化,即建立2-D Baker映射。具体的2-DBaker映射可按下述步骤进行:
[0113]1)将N×N正方形在水平方向上分为k个矩形块,每个矩形块有N×ni个像素,其中ni能整除N;
[0114]2)每个矩形块再分成ni个子块(如图9所示),因为每个大矩形块有N×ni个像素,所以在分成ni个子块后,每个子块正好有N个像素;
[0115]3)在每个矩形块内,按从下到上,从左到右的顺序重新将像素排列成一行。设正方形为N×N,用代表离散化的一般Baker映射,
[0116]Ni=n1+Λ+ni,ni|N,i=1,A,k,且n1+Λ+nk=N (6)
[0117]对于象素(r,s),
[0118] B(n1,Λ,nk)(r,s)=(Nni(r-Ni)+smodNni,niN(s-smodNni)+Ni)---(7)
[0119]其中Ni≤r<Ni+ni,0≤s<N。
[0120]在迭代一定的次数后,2-D Baker映射便呈现出了混沌的特性。
[0121]从编码后的H.263视频流数据中取出N×N个字节数据用于二维离散Baker映射置乱迭代,置乱密钥kB由l,n1,n2,…,nk构成,l代表数据置乱的迭代次数,(ni,i=1,2,…,k)为密钥的分量值,N,l,ni取为大于0的整数,N和l越大,加密安全性越强,但是运算量也越大,处理速度就越慢,因此N和l的选取原则为在安全性和处理速度之间取得更好的平衡,(n1,n2,L nk)还要满足ni|N,i=1,L,k,且n1+L+nk=N;在本实例中,取N=32,l=9,k=4,{n1,n2,n3,n4}={4,8,16,4}。
[0122]下面将给出数据置乱的具体步骤:
[0123]1)从编码后的H.263视频流中取出N×N字节数据(在本实例中取N=32)。H.263视频流的前8个字节未改变,主要是因为密码分析者很容易猜出编码后视频流的头结构。
[0124]2)迭代选定的数据(b1,b2,L L bN×N)置乱操作l次。
[0125]3)将数据置乱后的数据(bp1,bp2,L L bpNN)存储到视频流的原来位置。
[0126]3.3.2 基于超混沌方程的置乱后H.263视频数据的混淆
[0127]数据混淆是改变基于2-D Baker映射的置乱操作的H.263视频数据的字符值,该环节采用基于超混沌的加密系统,在本实例中,超混沌系统序列的计算取如下模型:
[0128]超混沌系统由方程组(8)表示:
[0129]
[0130]对该超混沌方程,只要给出初始状态X0=(x0,y0,z0,w0)可以采用数值计算的方法计算其时间序列{Xj=(xj,yj,zj,wj),j=1,…,NN},常采用经典的龙格库塔(Runge-Kutta)四阶算法进行计算。
[0131]在本实例中,取模型参数a=35,b=3,c=12,d=7和e=0.58,密钥kc由方程(8)的初值状态X0=(x0,y0,z0,w0)构成,取为X0=(1.12345678912345,2.12345678912345,3.12345678912345,4.12345678912345)。此时系统运动轨道在两个以上的方向出现指数型扩散的混沌轨迹。从安全的角度看,因为超混沌系统比低维混沌系统具有更复杂的相空间,用它设计加密算法不易被破译。在上面的参数和密钥下,该系统生成的序列轨迹如图10所示。
[0132]得到{Xj,j=1,…,NN}后,可以取其中的某个分量,例如第一个分量构成的超混沌状态序列{xj,j=1,…,NN}用于加密。超混沌状态(x1,x2,L L XNN)将被离散化得到比特序列(c1,c1,L L cNN)以实验混淆操作,混淆操作(异或操作)具体方程(10)如下:
[0133] bmi=bpi⊕ci,i=1,L L N×N---(10)
[0134]混淆后的H.263视频流与未改变其它H.263视频数据一起用做视频网络传输的输入数据。
[0135]上述步骤就是基于混沌与超混沌的两层次视频加密方法的完整过程。
[0136]3.4 两层次视频加密方法效果
[0137]图11中给出了视频数据海象视频的最后一帧的加密后和解密后的图像效果图,图11.(a)为原始图像,图11.(b)为经过第一层加密后的编码图像,图11.(c)为经过第二层加密后的编码图像,图11.(d)为解密后的图像。从图11.(c)可以看出,两层次视频加密算法具有很好的加密效果,因为从人眼的主观感觉来说,几乎没有可视信息出现在图像中。