基于滑动加密窗口的混沌视频加密方法与流程

文档序号:14749843发布日期:2018-06-22 11:30阅读:185来源:国知局
本发明涉及视频加密
技术领域
,具体涉及一种基于滑动加密窗口的快速混沌视频加密方法。
背景技术
:互联网的迅猛发展和数字多媒体信息的广泛应用推动了传媒产业的快速发展,丰富的多媒体信息被用于政治、经济、军事、教育、医疗和新闻等各行各业。多媒体中的视频信息具有独特的感观特性,是包含内容最为丰富的一种媒体,能提供比文本、声音和图形更为丰富和形象生动的信息。随着数字视频编码技术的成熟,使得以视频编码为基础的视频信息流能够适应多种带宽的应用,逐渐成为人类获取信息的重要手段,满足了人们社会交往、学习、医疗、购物、娱乐的各种需求,给人们的生活和工作带来了深刻变化,但目前对于视频安全的研究还远远不够。由于视频数据具有编码结构特殊、数据量大、实时性要求高等特点,传统的数据加密方法难以直接应用于视频数据,也很难满足其安全性要求。目前,根据加密策略的不同可以将视频加密方法分为完全加密和选择加密两类:完全加密是将视频数据当作位流逐位加密,其优点是安全性较高,可以达到较高的安全级别,但完全加密速度较慢且破坏了视频的编码格式,视频传输实时性差。选择加密是对视频编码过程中关键语法元素进行加密,这类方法不破坏视频的编码格式且加密效率高,已经成为保护视频信息常用的加密方法。常见的视频选择加密的语法元素包括:帧内预测模式、运动矢量、量化系数、拖尾系数和非零系数等。然而,在保证视频加密有效性的同时,尽量减少加密时的计算开销是比较困难的。视频加密的快速性和安全性是彼此相互制约的,往往加密强度高的方法计算复杂度就相对较高。如何克服这对矛盾,设计一种速度快,安全性好的视频加密方法已成为一个巨大的挑战。技术实现要素:本发明为解决现有视频加密方法加密计算开销大,视频加密的快速性与安全性之间的存在矛盾等问题,提供一种基于滑动加密窗口的混沌视频加密方法。基于滑动加密窗口的混沌视频加密方法,该方法由以下步骤实现:步骤一、对视频序列按帧进行分组,获得多组视频;步骤二、将当前组视频的第一帧图像采用混沌系统进行混沌置乱扩散,生成混沌密钥流KeyStream;所述混沌系统的初值与控制参数由用户设定,作为用户密钥;具体过程为:步骤二一、采用复合混沌映射的混沌系统对当前组视频的第一帧图像的红色分量DR,绿色分量DG,蓝色分量DB分别进行混沌置乱,获得置乱后的红色分量矩阵ER,绿色分量矩阵EG,蓝色分量矩阵EB;步骤二二、将步骤二一获得的红色分量矩阵ER,绿色分量矩阵EG,蓝色分量矩阵EB依次进行从上到下,从左到右的矩阵变换,获得重排后的置乱序列S;步骤二三、采用三细胞的量子细胞神经网络超混沌系统对当前组视频的第一帧图像进行扩散,迭代三细胞的量子细胞神经网络超混沌系统,获得迭代后的矩阵,将所述迭代后矩阵进行从上到下从左到右的矩阵变换,生成扩散密钥序列X;步骤二四、将步骤二二获得的置乱序列S和步骤二三获得的扩散密钥序列X采用下式计算,获得扩散序列K;Ki=mod[round({abs(Xi)-floor[abs(Xi)]}×1014+Si-1),M×N]式中,i=1,2,...,M×N,扩散序列K的长度为M×N;步骤二五、将步骤四获得的扩散序列K与步骤二二中的置乱序列S进行计算,获得混沌流C;对所述混沌流C进行二进制变化,获得混沌密钥流KeyStream;步骤三、采用步骤二所述混沌密钥流KeyStream加密当前帧图像编码语法元素中的帧内预测模式;步骤四、根据视频编码的量化参数QP的值确定运动矢量滑动加密窗口的位置与窗口大小;步骤五、采用步骤二所述混沌密钥流KeyStream加密运动矢量滑动加密窗口中的运动矢量符号位MVDs;步骤六、根据视频编码的量化参数QP的值确定非零系数的滑动加密窗口位置及窗口大小;步骤七、采用步骤二所述混沌密钥流KeyStream加密非零系数滑动加密窗口中的量化系数符号位QCs;步骤八、根据视频编码的量化参数QP的值确定拖尾系数滑动加密窗口位置及窗口大小;步骤九、采用步骤二所述混沌密钥流KeyStream对拖尾系数滑动加密窗口中拖尾系数符号位T1s进行加密;步骤十、完成当前帧的视频编码;判断当前帧是否为当前组视频中的最后一帧,如果是,取下一组视频,返回步骤二;如果否,取当前组视频中的下一帧图像,返回步骤三;直至完成多组视频的加密。本发明的有益效果:本发明提出了一种基于滑动加密窗口的视频加密方法,具体为一种基于混沌的H.264视频快速选择加密方法。混沌系统对初值和控制参数极端敏感,具有良好的伪随机性,不可预测性,十分适用于安全加密系统。本发明将混沌系统与视频加密相结合,在提供巨大的密钥空间和极强密钥敏感性的同时,增强了加密方法的抗攻击性能,获得了复杂的非线性动力学特性。本发明所述加密方法在保障安全性的同时,利用滑动加密窗口,选择出最优最有效的加密关键数据,运算速度快,加密效率高,对比不使用滑动加密窗口的选择性视频加密方法,本发明可节约86%以上的计算开销。附图说明图1为本发明所述的基于滑动加密窗口的混沌视频加密方法的加密框图;图2为本发明所述的基于滑动加密窗口的混沌视频加密方法的加密流程图;图3为本发明所述的基于滑动加密窗口的混沌视频加密方法的滑动加密窗口示意图;图4为本发明所述的基于滑动加密窗口的混沌视频加密方法的具体实施方式一中公交车视频数据第20帧原始图像;图5为本发明所述的基于滑动加密窗口的混沌视频加密方法的具体实施方式一中公交车视频数据第20帧密文图像;图6为本发明所述的基于滑动加密窗口的混沌视频加密方法的具体实施方式二中日历的视频数据第90帧原始图像;图7为本发明所述的基于滑动加密窗口的混沌视频加密方法的具体实施方式二中加密的日历视频数据第90帧密文图像。具体实施方式具体实施方式一、结合图1至图7说明本实施方式,基于滑动加密窗口的混沌视频加密方法,根据H.264视频编码标准,本实施方式中加密方法的加密框图如图1所示,加密流程图如图2所示。选取大小为352×288的公交车视频数据,本实施方式运行在H.264的JM8.6基本模式下,视频长度为30帧,熵编码模式为CAVLC,I帧间隔为8,其中提取第20帧原始图像如图4,加密后第20帧密文图像如图5所示。本实施方式中,用户密钥由四部分组成:一、复合混沌映射的控制参数,二、复合混沌映射的初值,三细胞量子细胞神经网络的控制参数,四、三细胞量子细胞神经网络的初值。A1、对选取的“公交车”视频序列按帧进行分组,每20帧为一组,由于本实施方式中的视频序列大小为30帧,故组数为2;B1、将当前组视频的第一帧图像按照红、绿、蓝三个色彩分量分别进行混沌置乱扩散,生成混沌密钥流KeyStream。在本实施方式中,进行图像置乱的混沌系统使用复合混沌映射,混沌方程用等式(1)表示为:等式(1)中的μ为复合混沌映射的控制参数,取值范围为(0.37,2),由用户设定,作为用户密钥的第一部分,本实施方式中μ=1。n为复合混沌映射的迭代次数,n=1,2,3......,352×288。复合混沌系统的初值作为用户密钥的第二部分,本实施方式中取值为0.618。xn为当前第n次的迭代结果,xn+1为xn的下一次的迭代结果。将第一帧图像的红色分量DR,绿色分量DG,蓝色分量DB分别使用等式(1)所示的方法进行置乱操作,得到置乱后的红色分量矩阵ER,绿色分量矩阵EG,蓝色分量矩阵EB。ER、EG、EB分别为352×288的矩阵;将ER,EG,EB依次进行从上到下,从左到右的矩阵变换,重排后组合为一个长度为352×288×3的置乱序列S;在本实施方式中,进行图像扩散的混沌系统使用3细胞的量子细胞神经网络3Cell-QCNN超混沌系统,混沌系统状态方程为等式(2):3Cell-QCNN超混沌系统的初值x1(0),x2(0),x3(0),x4(0),x5(0),x6(0)由用户选定,作为用户密钥的第三部分。x1(0)=0.1902,x2(0)=-186.6,x3(0)=0.123,x4(0)=-147.5,x5(0)=0.125,x6(0)=-198。ω1,ω2,ω3,ω4,ω5,ω6为3Cell-QCNN的控制参数,由用户选定,作为用户密钥的第四部分。在本实施方式中ω1=0.2,ω2=0.5,ω3=0.2,ω4=0.2,ω5=0.2,ω6=0.3。迭代等式(2)352×288×3÷6次,得到一个长度为352×288×3÷6的6维矩阵,将该矩阵进行从上到下从左到右的矩阵变换,生成一个长度为352×288×3的扩散密钥序列X。对置乱序列S和扩散密钥序列X进行等式(3)的计算,得到扩散序列K:Ki=mod[round({abs(Xi)-floor[abs(Xi)]}×1014+Si-1),352×288×3](3)其中,i=1,2,...,352×288×3,置乱序列S的初始值S0=127,扩散序列K的长度为352×288×3。将扩散序列K与置乱序列S带入等式(4),计算得到混沌流C:C=bitxor(S,K)(4)其中,bitxor()表示按位进行的异或操作。C为长度352×288×3取值范围在0~255之间的整数序列,对混沌流C进行二进制变化,转换为长度为352×288×3×8的二进制混沌密钥流KeyStream。C1、使用B1所述混沌密钥流KeyStream加密当前帧视频编码语法元素中的帧内预测模式,方法如等式(5)所示;等式(5)中的IPMs为帧内预测模式符号位,表示异或操作,j表示混沌密钥流的指针,与加密对象的大小相关,在步骤C1中由当前帧的帧内预测模式符号位的个数决定,KeyStreamj表示从混沌密钥流KeyStream中取出的符合当前帧内预测模式符号位加密需求长度的二进制密钥流片段,EnIPMs表示加密后的帧内预测模式符号位。D1、根据视频编码的量化参数QP的值确定运动矢量MVD滑动加密窗口的位置与窗口大小;本实施方式中量化参数QP=30,根据表1的运动矢量滑动加密窗口的确定方法;表1量化参数运动矢量滑动加密窗口位置及大小QP>=28加密运动矢量MVD∈[10,20]QP<28加密运动矢量MVD∈[10,15]选取表1所示运动矢量滑动加密窗口。窗口的左边界为运动矢量MVD=10,大小为10,即运动矢量的滑动加密窗口为MVD∈[10,20]的范围。E1、使用B1所述混沌密钥流KeyStream加密运动矢量滑动加密窗口中的运动矢量符号位MVDs,方法如等式(6)所示:其中,MVDs表示运动矢量符号位,EnWindow(MVDs)表示取值在滑动加密窗口内的运动矢量的符号位。j表示混沌密钥流的指针,与加密对象的大小相关,在步骤E1中由当前帧的滑动加密窗口内的运动矢量符号位的个数决定,KeyStreamj表示从混沌密钥流KeyStream中取出符合当前帧运动矢量符号位加密需求长度的二进制密钥流片段,EnMVDs表示加密后的运动矢量符号位。F1、根据视频编码的量化参数QP的值确定非零系数的滑动加密窗口位置及窗口大小;本实施方式中量化参数QP=30,根据表2的非零系数滑动加密窗口的确定方法,即非零系数的滑动加密窗口为NZ前四位的符号位。表2量化参数非零系数滑动加密窗口位置及大小QP>=28加密非零系数NZ编码的前4位QP<28加密非零系数NZ编码的前3位G2、使用B1所述混沌密钥流KeyStream加密非零系数符号位NZs,方法如等式(7)所示:等式(7)中NZs表示非零系数符号位,EnWindow(NZs)表示取值在滑动加密窗口内的非零系数的符号位。j表示混沌密钥流的指针,与加密对象的大小相关,在步骤G1中由当前帧滑动加密窗口内的非零系数符号位的个数决定,KeyStreamj表示从混沌密钥流KeyStream中取出的符合当前帧非零系数符号位加密需求长度的二进制密钥流片段,EnNZs表示加密后的非零系数符号位。H1、根据视频编码的量化参数QP的值确定拖尾系数加密的滑动加密窗口位置及窗口大小。本实施方式中量化参数QP=30,根据表3的拖尾系数加密窗口的确定方法,即加密全部拖尾系数符号位。表3量化参数拖尾系数滑动加密窗口位置及大小QP>=28加密全部拖尾系数QP<28不对拖尾系数进行加密I1、使用B1所述混沌密钥流KeyStream对拖尾系数符号位T1s进行加密,方法如等式(8)所示:等式(8)中T1s表示拖尾系数符号位,EnWindow(T1s)表示取值在滑动加密窗口内的拖尾系数的符号位。j表示混沌密钥流的指针,与加密对象的大小相关,在步骤I1中由当前帧的加密窗口内的拖尾系数符号位的个数决定,KeyStreamj表示从混沌密钥流KeyStream中取出的符合当前帧拖尾系数符号位加密需求长度的二进制密钥流片段,EnT1s表示加密后的拖尾系数符号位。J1、完成当前帧的视频编码。判断当前帧是否为当前视频分组中的最后一帧。如果是当前组最后一帧,取下一组视频,返回B1;如果不是当前组的最后一帧,取下一帧视频,返回C1。直至完成全部视频序列的加密编码。具体实施方式二、结合图1至图7,基于混沌视频加密方法,根据H.264视频编码标准,本实施方式中加密方法的加密框图如图1所示,加密过程见流程图2。选取大小为176×144的“日历”视频数据,本实施方式运行在H.264的JM8.6基本模式下,视频长度为100帧,熵编码模式为CAVLC,I帧间隔为8,其中提取第90帧原始图像如图6,加密后第90帧密文图像如图7所示。本实施方式中,用户密钥由四部分组成:①复合混沌映射的控制参数,②复合混沌映射的初值,③三细胞量子细胞神经网络的控制参数,④三细胞量子细胞神经网络的初值。A2、对选取的日历视频序列按帧进行分组,每20帧为一组,由于本实施方式中的视频序列大小为100帧,故组数为5;B2、将当前组视频的第一帧图像按照红、绿、蓝三个色彩分量分别进行混沌置乱扩散,生成混沌密钥流KeyStream。在本实施方式中,进行图像置乱的混沌系统使用复合混沌映射,混沌方程用等式(1)表示为:等式(1)中的μ为复合混沌映射的控制参数,取值范围为(0.37,2),由用户设定,作为用户密钥的第一部分,本实施方式中μ=1。n为复合混沌映射的迭代次数,n=1,2,3......,176×144。复合混沌系统的初值作为用户密钥的第二部分,本实施方式中取值为0.618。xn为当前第n次的迭代结果,xn+1为xn的下一次的迭代结果。将第一帧图像的红色分量DR,绿色分量DG,蓝色分量DB分别使用等式(1)所示的方法进行置乱操作,得到置乱后的红色分量ER,绿色分量EG,蓝色分量EB。ER、EG、EB分别为176×144的矩阵;将ER,EG,EB依次进行从上到下,从左到右的矩阵变换,重排后组合为一个长度为176×144×3的置乱序列S;在本实施方式中,进行图像扩散的混沌系统使用3细胞的量子细胞神经网络3Cell-QCNN超混沌系统,混沌系统状态方程为等式(2):3Cell-QCNN超混沌系统的初值x1(0),x2(0),x3(0),x4(0),x5(0),x6(0),由用户选定,作为用户密钥的第三部分。在本实施方式中x1(0)=0.1902,x2(0)=-186.6,x3(0)=0.123,x4(0)=-147.5,x5(0)=0.125,x6(0)=-198ω1,ω2,ω3,ω4,ω5,ω6为3Cell-QCNN的控制参数,由用户选定,作为用户密钥的第四部分。在本实施方式中ω1=0.2,ω2=0.5,ω3=0.2,ω4=0.2,ω5=0.2,ω6=0.3。迭代等式(2)176×144×3÷6次,得到一个长度为176×144×3÷6的6维矩阵,将该矩阵进行从上到下从左到右的矩阵变换,生成一个长度为176×144×3的扩散密钥序列X。对置乱序列S和扩散密钥序列X进行等式(3)的计算,得到扩散序列K:Ki=mod[round({abs(Xi)-floor[abs(Xi)]}×1014+Si-1),176×144×3](3)其中,i=1,2,...,176×144×3,置乱序列S的初始值S0=127,扩散序列K的长度为176×144×3。将扩散序列K与置乱序列S带入等式(4),计算得到混沌流C:C=bitxor(S,K)(4)其中,bitxor()表示按位进行的异或操作。C为长度176×144×3取值范围在0~255之间的整数序列,对C进行二进制变化,转换为长度为176×144×3×8的二进制混沌密钥流KeyStream。C2、使用B2所述混沌密钥流KeyStream加密当前帧视频编码语法元素中的帧内预测模式,方法如等式(5)所示;等式(5)中的IPMs为帧内预测模式符号位,表示异或操作,j表示混沌密钥流的指针,与加密对象的大小相关,在步骤C2中由当前帧的帧内预测模式符号位的个数决定,KeyStreamj表示从混沌密钥流KeyStream中取出的符合当前帧内预测模式符号位加密需求长度的二进制密钥流片段,EnIPMs表示加密后的帧内预测模式符号位。D2、根据视频编码的量化参数QP的值确定运动矢量MVD滑动加密窗口的位置与窗口大小;本实施方式中量化参数QP=22,根据表1的运动矢量滑动加密窗口的确定方法。选取表3所示运动矢量滑动加密窗口。窗口的左边界为运动矢量MVD=10,大小为5,即运动矢量的滑动加密窗口为MVD∈[10,15]的范围。E2、使用B2所述混沌密钥流KeyStream加密运动矢量滑动加密窗口中的运动矢量符号位MVDs,方法如等式(6)所示:等式(6)中MVDs表示运动矢量符号位,EnWindow(MVDs)表示取值在滑动加密窗口内的运动矢量的符号位。在步骤E2中由当前帧的滑动加密窗口内的运动矢量符号位的个数决定,KeyStreamj表示从混沌密钥流KeyStream中取出符合当前帧运动矢量符号位加密需求长度的二进制密钥流片段,EnMVDs表示加密后的运动矢量符号位。F2、根据视频编码的量化参数QP的值确定非零系数的滑动加密窗口位置及窗口大小;本实施方式中量化参数QP=22,根据表2所示的非零系数滑动加密窗口的确定方法,即非零系数的滑动加密窗口为NZ前三位的符号位。G2、使用B2所述混沌密钥流KeyStream加密非零系数符号位NZs,方法如等式(7)所示:等式(7)中NZs表示非零系数符号位,EnWindow(NZs)表示取值在滑动加密窗口内的非零系数的符号位。j表示混沌密钥流的指针,与加密对象的大小相关,在步骤G2中由当前帧滑动加密窗口内的非零系数符号位的个数决定,KeyStreamj表示从混沌密钥流KeyStream中取出的符合当前帧非零系数符号位加密需求长度的二进制密钥流片段,EnNZs表示加密后的非零系数符号位。H2、根据视频编码的量化参数QP的值确定拖尾系数加密的滑动加密窗口位置及窗口大小。本实施方式中量化参数QP=22,根据表3所示的拖尾系数加密窗口的确定方法,即无需加密拖尾系数符号位。I2、完成当前帧的视频编码。判断当前帧是否为当前视频分组中的最后一帧。如果是当前组最后一帧,取下一组视频,返回B2;如果不是当前组的最后一帧,取下一帧视频,返回C2。直至完成全部视频序列的加密编码。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1