因视频流具有数据量大、传输比特率高、实时性强等特点,因此传统的文字加密方法不适合视频流加密。为此,我们根据网络视频流安全传榆的要求和MPEG4视频编码的特点,提出了一种基于Logiscic混沌映射的视频加密算法,在编码过程中利用混沌序列对视频数据在频域进行加密。

一、Logistic混沌映射

混沌来自于非线性动力系统,而动力系统又描述的是任意随时间变化的过程,这个过程是确定性的、类似随机的、非周期的、具有收敛性的、并且对于初值具有敏感性,而这些特性正符合序列密码的要求。 Robert Matthews在Lugistic映射的变形基础上给出了用于加密的伪随机数序列生成函数,其后混沌密码学及混沌密码分析等便相继发展起来。混沌流密码系统的设计主要采用以下几种混沌映射:一维Logistic映射、二维Henon映射、三维Lorenz映射、逐段线性混沌映射、逐段非线性混沌映射等,本文主要讨论一维Logistic映射。

一维LogisLic映射从数学形式上来看是一个非常简单的混沌映射,早在20世纪50年代,有好几位生态学家就利用过这个简单的差分方程,来描述种群的变化。此系统具有极其复杂的动力学行为,在保密通信领域的应用十分广泛。

其中μ∈[0*4]被称为Logistic参数。研究表明,当X∈[0.1]时,Lngistic映射工作处于混沌状态,也就是说,初始条件)xo在Logistic映射作用下产生的序列是非周期的、不收敛的,而在此范围之外,生成的序列必将收敛于某一个特定的值。

从图2可以看出,在μ的圾值比较靠近4时,迭代生成的值是一种伪随机分布的状态,而在其他取值时,在经过一定次数的迭代之后,生成的值将收敛到一个特定的数值,因此我们需要选取的Logistic控制参数应该越接近4越好。

二、视频流加密算法的设计与实现

1、系统框架设计

视顿加密传输系统的方案如图3所示,在PC机上,系统使用XVID编码器和混沌序列对视频文件进行加密编码,然后通过RTP网络传输至另一台PC上进行解密解码显示。

2、加密算法的实现

本文提出的加密算法是在视频图像的变换域中使用混沌序列对数据进行加密,由于低顿变化系数的方块效应,使计算量大大降低,视频图像的变换域由DCT(离散余弦)变换得到。算法具体实现步骤如下:

1)利用公式1生成实数值序列:即{xk,k=0,1,2,3…},舍弃前1000次的迭代,以保证系统进入混沌状态;

2)选取小数点后的3,4,5三位组成二值序列作为混沌加密序列;

3)分别生成用于加密DCT系数以及运动矢量(MV)的加密序列;

4)采集视频数据使用编码器进行DCT变换和运动补偿,得到变换系数和运动矢量,并进行量化;

5)根据相应的加密序列i对宏块的DCT系数进行异或加密,对MV系数通过改变符号进行加密;

6)进行VLC编码;

解密部分的设计和加密部分的设计足相反的,解码器将接收到的加密视频流进行懈压缩,得到加密的DCT和MV系数,根据和在加密端完全相同的混沌序列,按照加密的方法进行逆变换,还原DCT和MV系数,然后重构视频帧,完成僻密解码。

3、视频数据网络传输

TCP协议是面向连接的传输协议,它的重发机制会引入较大的延时,不适合用于实时的视频数据传输,而UDP提供的是非面向 连接的,不可靠的数据流传输,对数据不进行重传和确认,所以在强调实时性的数据传输时,例如音视频数据,应该选用UDP协议。

本文采用基于RTP的JRtplib库将加密视频数据传送至接收端,RTP即实时传输协议,用于Intemet上针对多媒体数据流的传 输。它通常使用UDP协议来传送数据,JRtplib是用C++语言封装好的RTP库。编写应用程序,通过调用JRtpljb静态库就可以实现对编码后的视频数据进行传输。

4、密钥的安全传输

为了能够使客户端正确的解码视频数据,必须首先将加密数据使用的密钥(即生成混沌序列的初始值和参数)发送到客户端,由于密钥 的数据量小,接收方确定,同时具有签名的特性,所以本文采用基于椭踟曲线密码算法(ECC)的非对称密码体制进行密钥传输。ECC的安全性依籁求解椭圆曲线上离散对数问题的困难性,与RSA公钥体制相比,ECC具有更高的单比特安全性。ECC的加密过程如下:

1)用户A选定一条椭圆曲线Fp(a,b),并取椭圆曲线上的一点,作为基点G;

2)用户A选定一个私有密钥k.并生成公开密钥K=kG;

3)用户A将Fp(ab)和点K,G传给用户B;

4)用户B接收到信息后,将待传输的明文编码到Ep(a,b)上一点M,并产生一个随机整数r(r<n,n为基点G的阶);

5)用户B计算点C1=M+rK;Cz=rG,将C1、C2传给用户A;

6)用户A收到信息后,计算c1=kC2,得到M,再对M解码就可以得到明文。

三、系统的安全性分析

混沌系统对于初始值和参数非常敏感,由于混沌的随机特性能够使密钥均匀的分布在密钥空间中,确保了混沌序列中0和1的分布均匀,可以认为是随机序列,采用穷尽式密钥搜索分析进行解密是很困难的。同时在系统中实时的改变混沌序列的参数,增加了解密的困难性。

椭圆曲线离散对数问题的难解性是所有曲线密码方案安全性的基础,它的160位长密钥安全性强度相当于RSA体制中1024位长的安全强度。从下表可以看出,在相同的安全级别上,ECC所需的密钥长度比RSA系统需要的密钥长度更短,一般认为破解时间为MIPS年就代表安全。

系统通过TCP/IP通道经过ECC加密传输密钥,使加密密钥不容易被窃取,增加了系统密钥传输的可靠性和安全性。

四、实验结果分析

本文在PC上将算法应用到XVID编解码器中,并采用标准测试图像序列flower_cif.yuv进行测试,图4是原始图像序列中的一帧,图5是加密后的结果。从图中可以看到,加密后的图像已经不可理解,本文所提出的加密算法具有很好的加密效果。

混沌加密准备时间非常短,同时由于加密数据量比较小,使得加密占用很少的运行时间,具有较快的加密速度,同时能够达到实时视频加密传输的效果。表2是对标准测试序列进行正常编码和加密编码的对比。

小知识之视频流

视频流是指视频数据的传输,例如,它能够被作为一个稳定的和连续的流通过网络处理。因为流动,客户机浏览器或插件能够在整个文件被传输完成前显示多媒体数据。视频流技术基于 2 密钥技术,视频译码技术和可升级的视频分发技术发展。