一种基于混沌加密的视频通信方法及装置转让专利

申请号 : CN201610438498.9

文献号 : CN105871537B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张晓扬陈平禹思敏吕金虎

申请人 : 广东工业大学

摘要 :

本实施例提供的基于混沌加密的视频加密方法,利用各不相同的混沌密码分别对视频信号的运动矢量差值的水平方向分量、垂直方向分量及DCT变换矩阵的直流分量进行选择性混沌加密,提高了攻击的复杂度,同时,也提高了视频信号的安全性。而且,本发明采用了基于非线型标称矩阵的六维离散时间的混沌系统,一个六维混沌系统,共有100多个相互独立的密钥参数,每个密钥都具有雪崩效应,因此,破译各个密钥参数所需的攻击复杂度很高,进一步提高了视频加密的安全性。

权利要求 :

1.一种基于混沌加密的视频加密方法,其特征在于,包括:

对待加密视频流信号进行H.264编码,得到中间变量,所述中间变量包括所述待加密视频流信号的运动矢量差值的水平方向分量、垂直方向分量,以及离散余弦变换DCT变换矩阵的直流分量;

利用基于非线性标称矩阵的六维离散时间的混沌系统构造混沌密码;

对所述运动矢量差值的水平方向分量、垂直方向分量以及DCT变换矩阵的直流分量分别采用各不相同的一个所述混沌密码进行选择性混沌加密,得到加密后的视频数据;

将所述加密后的视频数据发送给接收端;

其中,所述对所述运动矢量差值的水平方向分量、垂直方向分量以及DCT变换矩阵的直流分量分别采用各不相同的一个所述混沌密码进行选择性混沌加密,得到加密后的视频数据,包括:对于一帧所述待加密视频流信号中的每一个宏块所包含的运动矢量差值的水平方向分量、垂直方向分量及DCT变换矩阵的直流分量进行两轮选择性混沌加密过程,其中:第一轮选择性混沌加密过程包括:利用在获得所述运动矢量差值前、所述混沌系统最新产生的第一混沌密码,对所述运动矢量差值的水平方向分量进行选择性混沌加密;利用在获得所述运动矢量差值前、所述混沌系统最新产生的第二混沌密码,对所述运动矢量差值的垂直方向分量进行选择性混沌加密;利用第一填充数据代替所述DCT变换矩阵的直流分量,并利用在获得所述运动矢量差值前、所述混沌系统最新产生的第三混沌密码,对所述第一填充数据进行选择性混沌加密;

第二轮选择性混沌加密过程包括:利用第二填充数据代替所述运动矢量差值的水平方向分量,并利用在获得所述DCT变换矩阵前、所述混沌系统最新产生的第一混沌密码对所述第二填充数据进行选择性混沌加密;利用第三填充数据代替所述运动矢量差值的垂直方向分量,并利用在获得所述DCT变换矩阵前、所述混沌系统最新产生的第二混沌密码对所述第三填充数据进行选择性混沌加密;利用在获得的所述DCT变换矩阵前、所述混沌系统最新产生的第三混沌密码对所述DCT变换矩阵的直流分量进行选择性混沌加密;

其中,加密后的视频数据包括加密后的运动矢量差值的水平方向分量、垂直方向分量,加密后的DCT变换矩阵的直流分量,以及加密后的第一填充数据、第二填充数据和第三填充数据;所述第一填充数据、所述第二填充数据和所述第三填充数据为随机数或固定数。

2.根据权利要求1所述的方法,其特征在于,所述利用基于非线性标称矩阵的六维离散时间的混沌系列构造混沌密码,包括:利用所述混沌系统获得64位的二进制混沌变量;

对所述64位的二进制混沌变量取整,并将取整后的二进制混沌变量的低8位作为所述混沌密码。

3.根据权利要求2所述的方法,其特征在于,所述利用所述混沌系统获取64位的二进制混沌变量,包括:所述混沌系统将上一次对视频信号进行混沌加密得到的加密后的视频数据反馈回所述混沌系统,产生当前次的所述二进制混沌变量。

4.根据权利要求1所述的方法,其特征在于,采用四核四进程模式实现混沌加密过程,其中每个处理器内核绑定一个进程,其中第一进程用于控制视频采集;第二进程、第三进程和第四进程分别用于并行处理三帧视频信息的H.264编码和选择性混沌加密过程。

5.一种基于混沌加密的视频解密方法,其特征在于,包括:

利用基于非线性标称矩阵的六维离散时间的混沌系统构造解密密码;

获取待解密视频数据中的加密后的运动矢量差值的水平方向分量和垂直方向分量,以及加密后的DCT变换矩阵中的直流分量;

对所述加密后的运动矢量差值的水平方向分量和垂直方向分量,以及所述加密后的DCT变换矩阵中的直流分量分别采用各不相同的一个所述解密密码进行选择性混沌解密,得到解密后的视频数据;

使用所述解密后的视频数据进行H.264解码,当解密侧的密钥与加密侧的密钥完全匹配时,解码得到原始视频流信号;

其中,所述对所述加密后的运动矢量差值的水平方向分量和垂直方向分量,以及所述加密后的DCT变换矩阵中的直流分量分别采用各不相同的一个所述解密密码进行选择性混沌解密,得到解密后的解密数据,包括:对于一帧视频中的每一个宏块所包含的加密后的运动矢量的水平方向分量和垂直方向分量,以及加密后的DCT变换矩阵中的直流分量进行两轮选择性混沌解密过程,其中:第一轮选择性混沌解密过程包括:获取加密后的运动矢量差值的水平方向分量和垂直方向分量,以及加密后的第一填充数据,其中,所述第一填充数据用于代替所述DCT变换矩阵中的直流分量;利用在获取加密后的运动矢量差值前、所述混沌系统最新产生的第一解密密码对所述加密后的运动矢量差值的水平方向分量进行选择性混沌解密;利用在获取加密后的运动矢量差值前、所述混沌系统最新产生的第二解密密码对所述加密后的运动矢量差值的垂直方向分量进行选择性混沌解密;利用在获取加密后的运动矢量差值前、所述混沌系统最新产生的第三解密密码对所述加密后的第一填充数据进行解密;

第二轮选择性混沌解密过程包括:获取加密后的第二填充数据和第三填充数据,以及加密后的DCT变换矩阵中的直流分量;利用在获取所述加密后的DCT变换矩阵中的直流分量前、所述混沌系统最后一次产生的第一解密密码对所述加密后的第二填充数据进行解密;

利用获取所述加密后的DCT变换矩阵中的直流分量前由所述混沌系统产生的第二解密密码对所述加密后的第三填充数据进行解密;利用获取所述加密后的DCT变换矩阵中的直流分量前由所述混沌系统产生的第三解密密码对所述加密后的DCT变换矩阵中的直流分量进行解密;

丢弃解密后的第一填充数据、第二填充数据及第三填充数据,将解密后的运动矢量差值的水平方向分量、垂直方向分量,以及解密后的DCT变换矩阵中的直流分量作为解密后的视频数据。

6.根据权利要求5所述的方法,其特征在于,采用三核三进程模式实现混沌解密过程,其中每个处理器内核绑定一个进程,其中三个进程分别用于并行处理三帧视频信息的H.264解码和选择性混沌解密过程。

7.一种基于混沌加密的视频加密装置,其特征在于,包括:

编码模块,用于对待加密视频流信号进行H.264编码,得到中间变量,所述中间变量包括所述待加密视频流信号的运动矢量差值的水平方向分量、垂直方向分量,以及离散余弦变换DCT变换矩阵的直流分量;

密码构造模块,用于利用基于非线性标称矩阵的六维离散时间的混沌系统构造混沌密码;

加密模块,用于对所述运动矢量差值的水平方向分量、垂直方向分量以及DCT变换矩阵的直流分量分别采用各不相同的一个所述混沌密码进行选择性混沌加密,得到加密后的视频数据;

发送模块,用于将所述加密后的视频数据发送给接收端;

其中,所述加密模块包括:第一加密子模块、第二加密子模块;

对于一帧所述待加密视频流信号中的每一个宏块所包含的运动矢量差值的水平方向分量、垂直方向分量及DCT变换矩阵的直流分量分别利用所述第一加密子模块和所述第二加密子模块进行两轮选择性混沌加密过程,其中:第一加密子模块,具体用于利用在获得所述运动矢量差值前、所述混沌系统最新产生的第一混沌密码,对所述运动矢量差值的水平方向分量进行选择性混沌加密;利用在获得所述运动矢量差值前、所述混沌系统最新产生的第二混沌密码,对所述运动矢量差值的垂直方向分量进行选择性混沌加密;利用第一填充数据代替所述DCT变换矩阵的直流分量,并利用在获得所述运动矢量差值前、所述混沌系统最新产生的第三混沌密码,对所述第一填充数据进行选择性混沌加密;

第二加密子模块,具体用于利用第二填充数据代替所述运动矢量差值的水平方向分量,并利用在获得所述DCT变换矩阵前、所述混沌系统最新产生的第一混沌密码,对所述第二填充数据进行选择性混沌加密;利用第三填充数据代替所述运动矢量差值的垂直方向分量,并利用在获得所述DCT变换矩阵前、所述混沌系统最后一些迭代产生的第二混沌密码,对所述第三填充数据进行选择性混沌加密;利用在获得所述DCT变换矩阵前、所述混沌系统最新产生的第三混沌密码,对所述DCT变换矩阵的直流分量进行选择性混沌加密;

其中,加密后的视频数据包括加密后的运动矢量差值的水平方向分量、垂直方向分量,加密后的DCT变换矩阵的直流分量,以及加密后的第一填充数据、第二填充数据和第三填充数据;所述第一填充数据、所述第二填充数据和所述第三填充数据为随机数或固定数。

8.根据权利要求7所述的装置,其特征在于,所述密码构造模块包括:

第一获取子模块,用于利用所述混沌系统获得64位的二进制混沌变量;

第二获取子模块,用于对所述64位的二进制混沌变量取整,并将取整后的二进制混沌变量的低8位作为所述混沌密码。

9.根据权利要求8所述的装置,其特征在于,所述第一获取子模块,具体用于:

将上一次对视频信号进行混沌加密得到的加密后的视频数据反馈回所述混沌系统,产生当前次的64位的二进制混沌变量。

10.根据权利要求8所述的装置,其特征在于,所述装置采用四核四进程模式实现混沌加密过程,其中每个处理器内核绑定一个进程,其中第一进程用于控制视频采集;第二进程、第三进程和第四进程分别用于并行处理三帧视频信息的H.264编码和选择性混沌加密过程。

11.一种基于混沌加密的视频解密装置,其特征在于,包括:

密码构造模块,用于利用基于非线性标称矩阵的六维离散时间的混沌系统构造解密密码;

获取模块,用于获取待解密视频数据中的加密后的运动矢量差值的水平方向分量和垂直方向分量,以及加密后的DCT变换矩阵中的直流分量;

解密模块,用于对所述加密后的运动矢量差值的水平方向分量和垂直方向分量,以及所述加密后的DCT变换矩阵中的直流分量分别利用各不相同的一个所述解密密码进行选择性混沌解密,得到解密后的视频数据;

解码模块,用于使用所述解密后的视频数据进行H.264解码,当解密侧的密钥与加密侧的密钥完全匹配时,解码得到原始视频流信号;

其中,所述解密模块包括:第一解密子模块、第二解密子模块和解密数据获取子模块;

对于一帧视频中的每一个宏块所包含的加密后的运动矢量的水平方向分量和垂直方向分量,以及加密后的DCT变换矩阵中的直流分量利用所述第一解密子模块和所述第二解密子模块进行两轮选择性混沌解密过程,其中:所述第一解密子模块,具体用于获取加密后的运动矢量差值的水平方向分量和垂直方向分量,以及加密后的第一填充数据,其中,所述第一填充数据用于代替所述DCT变换矩阵中的直流分量;利用在获得加密后的运动矢量差值前、所述混沌系统最新产生的第一解密密码,对所述加密后的运动矢量差值的水平方向分量进行选择性混沌解密;利用在获得加密后的运动矢量差值前、所述混沌系统最新产生的第二解密密码,对所述加密后的运动矢量差值的垂直方向分量进行选择性混沌解密;利用在获得加密后的运动矢量差值前、所述混沌系统最新产生的第三解密密码,对所述加密后的第一填充数据进行解密;

所述第二解密子模块,具体用于获取加密后的第二填充数据和第三填充数据,以及加密后的DCT变换矩阵中的直流分量;利用在获得所述加密后的DCT变换矩阵中的直流分量前、所述混沌系统最新产生的第一解密密码对所述加密后的第二填充数据进行解密;利用在获得所述加密后的DCT变换矩阵中的直流分量前、所述混沌系统最新产生的第二解密密码,对所述加密后的第三填充数据进行解密;利用在获得所述加密后的DCT变换矩阵中的直流分量前、所述混沌系统最新产生的第三解密密码,对所述加密后的DCT变换矩阵中的直流分量进行解密;

所述解密数据获取子模块,用于丢弃解密后的第一填充数据、第二填充数据及第三填充数据,将解密后的运动矢量差值的水平方向分量、垂直方向分量,以及解密后的DCT变换矩阵中的直流分量作为解密后的视频数据。

12.根据权利要求11所述的装置,其特征在于,所述装置采用三核三进程模式实现混沌解密过程,其中每个处理器内核绑定一个进程,其中三个进程分别用于并行处理三帧视频信息的H.264解码和选择性混沌解密过程。

说明书 :

一种基于混沌加密的视频通信方法及装置

技术领域

[0001] 本发明属于视频通信领域,尤其涉及一种基于混沌加密的视频通信方法及装置。

背景技术

[0002] 随着信息技术飞速发展,以视频信息为主要来源的多媒体通信越来越受到人们的重视。但是,视频信号经过的信道是不安全信道,视频数据在传输过程中极易受到攻击和窃取。因此,人们对视频数据的安全性产生了迫切需求。
[0003] 混沌加密主要是利用由混沌系统迭代产生的序列作为加密变换的一个因子序列。H.264是一种高度压缩数字视频编码标准。其中,H.264编码过程中的选择性混沌加密是有选择地加密H.264编码过程中的中间变量,包括加密帧间预测的运动矢量差值,帧内预测的预测模式,DCT变换矩阵中的直流分量,DCT变换矩阵中的系数符号及量化参数等。H.264编码过程中的选择性混沌加密的优点是编码器的输出数据仍保持H.264格式,具有加密后格式兼容的特点。
[0004] 现有技术中,基于H.264编码的选择性加密方式,通常在一个低维混沌系统中通过某种方法生成一个混沌序列,利用该混沌序列作为加密变换因子分别对运动矢量差值、DCT变换矩阵中的直流分量、量化参数差值和帧内预测模式进行加密。利用同一个混沌序列对不同的加密部分进行加密,保密性低。而且,此种加密方式只有少数几个独立的有效密钥参数,容易用预测或估计方法破译。

发明内容

[0005] 有鉴于此,本发明的目的在于提供一种基于混沌加密的视频通信方法及装置,以解决现有技术中的视频加密通信方法保密性低容易被破译的问题。
[0006] 第一方面,本发明实施例提供一种基于混沌加密的视频加密方法,包括:
[0007] 对待加密视频流信号进行H.264编码,得到中间变量,所述中间变量包括所述待加密视频流信号的运动矢量差值的水平方向分量、垂直方向分量,以及离散余弦变换DCT变换矩阵的直流分量;
[0008] 利用基于非线性标称矩阵的六维离散时间的混沌系统构造混沌密码;
[0009] 对所述运动矢量差值的水平方向分量、垂直方向分量以及DCT变换矩阵的直流分量分别采用各不相同的一个所述混沌密码进行选择性混沌加密,得到加密后的视频数据;
[0010] 将所述加密后的视频数据发送给接收端。
[0011] 可选地,所述对所述运动矢量差值的水平方向分量、垂直方向分量以及DCT变换矩阵的直流分量分别采用各不相同的一个所述混沌密码进行选择性混沌加密,得到加密后的视频数据,包括:
[0012] 对于一帧所述待加密视频流信号中的每一个宏块所包含的运动矢量差值的水平方向分量、垂直方向分量及DCT变换矩阵的直流分量进行两轮选择性混沌加密过程,其中:
[0013] 第一轮选择性混沌加密过程包括:利用在获得所述运动矢量差值前、所述混沌系统最新产生的第一混沌密码,对所述运动矢量差值的水平方向分量进行选择性混沌加密;利用在获得所述运动矢量差值前、所述混沌系统最新产生的第二混沌密码,对所述运动矢量差值的垂直方向分量进行选择性混沌加密;利用第一填充数据代替所述DCT变换矩阵的直流分量,并利用在获得所述运动矢量差值前、所述混沌系统最新产生的第三混沌密码,对所述第一填充数据进行选择性混沌加密;
[0014] 第二轮选择性混沌加密过程包括:利用第二填充数据代替所述运动矢量差值的水平方向分量,并利用在获得所述DCT变换矩阵前、所述混沌系统最新产生的第一混沌密码对所述第二填充数据进行选择性混沌加密;利用第三填充数据代替所述运动矢量差值的垂直方向分量,并利用在获得所述DCT变换矩阵前、所述混沌系统最新产生的第二混沌密码对所述第三填充数据进行选择性混沌加密;利用在获得的所述DCT变换矩阵前、所述混沌系统最新产生的第三混沌密码对所述DCT变换矩阵的直流分量进行选择性混沌加密;
[0015] 其中,加密后的视频数据包括加密后的运动矢量差值的水平方向分量、垂直方向分量,加密后的DCT变换矩阵的直流分量,以及加密后的第一填充数据、第二填充数据和第三填充数据;所述第一填充数据、所述第二填充数据和所述第三填充数据为随机数或固定数。
[0016] 可选地,所述利用基于非线性标称矩阵的六维离散时间的混沌系列构造混沌密码,包括:
[0017] 利用所述混沌系统获得64位的二进制混沌变量;
[0018] 对所述64位的二进制混沌变量取整,并将取整后的二进制混沌变量的低8位作为所述混沌密码。
[0019] 可选地,所述利用所述混沌系统获取64位的二进制混沌变量,包括:
[0020] 所述混沌系统将上一次对视频信号进行混沌加密得到的加密后的视频数据反馈回所述混沌系统,产生当前次的所述二进制混沌变量。
[0021] 可选地,采用四核四进程模式实现混沌加密过程,其中每个处理器内核绑定一个进程,其中第一进程用于控制视频采集;第二进程、第三进程和第四进程分别用于并行处理三帧视频信息的H.264编码和选择性混沌加密过程。
[0022] 第二方面,本发明实施例提供一种基于混沌加密的视频解密方法,包括:
[0023] 利用基于非线性标称矩阵的六维离散时间的混沌系统构造解密密码;
[0024] 获取待解密视频数据中的加密后的运动矢量差值的水平方向分量和垂直方向分量,以及,加密后的DCT变换矩阵中的直流分量;
[0025] 对所述加密后的运动矢量差值的水平方向分量和垂直方向分量,以及,所述加密后的DCT变换矩阵中的直流分量分别采用各不相同的一个所述解密密码进行选择性混沌解密,得到解密后的视频数据;
[0026] 使用所述解密后的视频数据进行H.264解码,当解密侧的密钥与加密侧的密钥完全匹配时,解码得到原始视频流信号。
[0027] 可选地,所述对所述加密后的运动矢量差值的水平方向分量和垂直方向分量,以及,所述加密后的DCT变换矩阵中的直流分量分别采用各不相同的一个所述解密密码进行选择性混沌解密,得到解密后的解密数据,包括:
[0028] 对于一帧视频中的每一个宏块所包含的加密后的运动矢量的水平方向分量和垂直方向分量,及加密后的DCT变换矩阵中的直流分量进行两轮选择性混沌解密过程,其中:
[0029] 第一轮选择性混沌解密过程包括:获取加密后的运动矢量差值的水平方向分量和垂直方向分量,以及加密后的第一填充数据,其中,所述第一填充数据用于代替所述DCT变换矩阵中的直流分量;利用在获取加密后的运动矢量差值前、所述混沌系统最新产生的第一解密密码对所述加密后的运动矢量差值的水平方向分量进行选择性混沌解密;利用在获取加密后的运动矢量差值前、所述混沌系统最新产生的第二解密密码对所述加密后的运动矢量差值的垂直方向分量进行选择性混沌解密;利用在获取加密后的运动矢量差值前、所述混沌系统最新产生的第三解密密码对所述加密后的第一填充数据进行解密;
[0030] 第二轮选择性混沌解密过程包括:获取加密后的第二填充数据和第三填充数据,以及加密后的DCT变换矩阵中的直流分量;利用在获取所述加密后的DCT变换矩阵中的直流分量前、所述混沌系统最后一次产生的第一解密密码对所述加密后的第二填充数据进行解密;利用获取所述加密后的DCT变换矩阵中的直流分量时由所述混沌系统产生的第二解密密码对所述加密后的第三填充数据进行解密;利用获取所述加密后的DCT变换矩阵中的直流分量时由所述混沌系统产生的第三解密密码对所述加密后的DCT变换矩阵中的直流分量进行解密;
[0031] 丢弃解密后的第一填充数据、第二填充数据及第三填充数据,将解密后的运动矢量差值的水平方向分量、垂直方向分量,以及,解密后的DCT变换矩阵中的直流分量作为解密后的视频数据。
[0032] 可选地,采用三核三进程模式实现混沌解密过程,其中每个处理器内核绑定一个进程,其中三个进程分别用于并行处理三帧视频信息的H.264解码和选择性混沌解密过程。
[0033] 第三方面,本发明实施例提供一种基于混沌加密的视频加密装置,包括:
[0034] 编码模块,用于对所述待加密视频流信号进行H.264编码,得到中间变量,所述中间变量包括所述待加密视频流信号的运动矢量差值的水平方向分量、垂直方向分量,以及离散余弦变换DCT变换矩阵的直流分量;
[0035] 密码构造模块,用于利用基于非线性标称矩阵的六维离散时间的混沌系统构造混沌密码;
[0036] 加密模块,用于对所述运动矢量差值的水平方向分量、垂直方向分量以及DCT变换矩阵的直流分量分别采用各不相同的一个所述混沌密码进行选择性混沌加密,得到加密后的视频数据;
[0037] 发送模块,用于将所述加密后的视频数据发送给接收端。
[0038] 可选地,所述加密模块包括:第一加密子模块、第二加密子模块;
[0039] 对于一帧所述待加密视频流信号中的每一个宏块所包含的运动矢量差值的水平方向分量、垂直方向分量及DCT变换矩阵的直流分量分别利用所述第一加密子模块和所述第二加密子模块进行两轮选择性混沌加密过程,其中:
[0040] 第一加密子模块,具体用于利用在获得所述运动矢量差值前、所述混沌系统最新产生的第一混沌密码,对所述运动矢量差值的水平方向分量进行选择性混沌加密;利用在获得所述运动矢量差值前、所述混沌系统最新产生的第二混沌密码,对所述运动矢量差值的垂直方向分量进行选择性混沌加密;利用第一填充数据代替所述DCT变换矩阵的直流分量,并利用在获得所述运动矢量差值前、所述混沌系统最新产生的第三混沌密码,对所述第一填充数据进行选择性混沌加密;
[0041] 第二加密子模块,具体用于利用第二填充数据代替所述运动矢量差值的水平方向分量,并利用在获得所述DCT变换矩阵前、所述混沌系统最新产生的第一混沌密码,对所述第二填充数据进行选择性混沌加密;利用第三填充数据代替所述运动矢量差值的垂直方向分量,并利用在获得所述DCT变换矩阵前、所述混沌系统最后一些迭代产生的第二混沌密码,对所述第三填充数据进行选择性混沌加密;利用在获得所述DCT变换矩阵前、所述混沌系统最新产生的第三混沌密码,对所述DCT变换矩阵的直流分量进行选择性混沌加密;
[0042] 其中,加密后的视频数据包括加密后的运动矢量差值的水平方向分量、垂直方向分量,加密后的DCT变换矩阵的直流分量,以及加密后的第一填充数据、第二填充数据和第三填充数据;所述第一填充数据、所述第二填充数据和所述第三填充数据为随机数或固定数。
[0043] 可选地,所述密码构造模块包括:
[0044] 第一获取子模块,用于利用所述混沌系统获得64位的二进制混沌变量;
[0045] 第二获取子模块,用于对所述64位的二进制混沌变量取整,并将取整后的二进制混沌变量的低8位作为所述混沌密码。
[0046] 可选地,所述第一获取子模块,具体用于:
[0047] 将上一次对视频信号进行混沌加密得到的加密后的视频数据反馈回所述混沌系统,产生当前次的64位的二进制混沌变量。
[0048] 可选地,所述装置采用四核四进程模式实现混沌加密过程,其中每个处理器内核绑定一个进程,其中第一进程用于控制视频采集;第二进程、第三进程和第四进程分别用于并行处理三帧视频信息的H.264编码和选择性混沌加密过程。
[0049] 第四方面,本发明实施例提供一种基于混沌加密的视频解密装置,包括:
[0050] 密码构造模块,用于利用基于非线性标称矩阵的六维离散时间的混沌系统构造解密密码;
[0051] 获取模块,用于获取待解密视频数据中的加密后的运动矢量差值的水平方向分量和垂直方向分量,以及,加密后的DCT变换矩阵中的直流分量;
[0052] 解密模块,用于对所述加密后的运动矢量差值的水平方向分量和垂直方向分量,以及,所述加密后的DCT变换矩阵中的直流分量分别利用各不相同的一个所述解密密码进行选择性混沌解密,得到解密后的视频数据;
[0053] 解码模块,用于使用所述解密后的视频数据进行H.264解码,当解密侧的密钥与加密侧的密钥完全匹配时,解码得到原始视频流信号。
[0054] 可选地,所述解密模块包括:第一解密子模块、第二解密子模块和解密数据获取子模块;
[0055] 对于一帧视频中的每一个宏块所包含的加密后的运动矢量的水平方向分量和垂直方向分量,及加密后的DCT变换矩阵中的直流分量利用所述第一解密子模块和所述第二解密子模块进行两轮选择性混沌解密过程,其中:
[0056] 所述第一解密子模块,具体用于获取加密后的运动矢量差值的水平方向分量和垂直方向分量,以及加密后的第一填充数据,其中,所述第一填充数据用于代替所述DCT变换矩阵中的直流分量;利用在获得加密后的运动矢量差值前、所述混沌系统最新产生的第一解密密码,对所述加密后的运动矢量差值的水平方向分量进行选择性混沌解密;利用在获得加密后的运动矢量差值前、所述混沌系统最新产生的第二解密密码,对所述加密后的运动矢量差值的垂直方向分量进行选择性混沌解密;利用在获得加密后的运动矢量差值前、所述混沌系统最新产生的第三解密密码,对所述加密后的第一填充数据进行解密;
[0057] 所述第二解密子模块,具体用于获取加密后的第二填充数据和第三填充数据,以及加密后的DCT变换矩阵中的直流分量;利用在获得所述加密后的DCT变换矩阵中的直流分量前、所述混沌系统最新产生的第一解密密码对所述加密后的第二填充数据进行解密;利用在获得所述加密后的DCT变换矩阵中的直流分量前、所述混沌系统最新产生的第二解密密码,对所述加密后的第三填充数据进行解密;利用在获得所述加密后的DCT变换矩阵中的直流分量前、所述混沌系统最新产生的第三解密密码,对所述加密后的DCT变换矩阵中的直流分量进行解密;
[0058] 所述解密数据获取子模块,用于丢弃解密后的第一填充数据、第二填充数据及第三填充数据,将解密后的运动矢量差值的水平方向分量、垂直方向分量,以及,解密后的DCT变换矩阵中的直流分量作为解密后的视频数据。
[0059] 可选地,所述装置采用三核三进程模式实现混沌解密过程,其中每个处理器内核绑定一个进程,其中三个进程分别用于并行处理三帧视频信息的H.264解码和选择性混沌解密过程。
[0060] 由以上技术方案可知,本实施例提供的基于混沌加密的视频加密方法,利用各不相同的混沌密码分别对视频信号的运动矢量差值的水平方向分量、垂直方向分量及DCT变换矩阵的直流分量进行选择性混沌加密,提高了攻击的复杂度,同时,也提高了视频信号的安全性。而且,本发明采用了基于非线型标称矩阵的六维离散时间的混沌系统,一个六维混沌系统,共有100多个相互独立的密钥参数,每个密钥都具有雪崩效应,因此,破译各个密钥参数所需的攻击复杂度很高,进一步提高了视频加密的安全性。

附图说明

[0061] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0062] 图1是本发明实施例一种基于混沌加密的视频加密方法的流程图;
[0063] 图2是本发明实施例一种基于混沌加密的视频加密方法的原理示意图;
[0064] 图3是本发明实施例一种基于混沌加密的视频解密方法流程图;
[0065] 图4是本发明实施例一种基于混沌加密的视频解密方法的原理示意图;
[0066] 图5是本发明实施例一种基于混沌加密的视频通信方法的原理示意图;
[0067] 图6是本发明实施例一种进程共享内存的具体实现方案示意图;
[0068] 图7是本发明实施例一种基于混沌加密的视频加密装置的框图;
[0069] 图8是本发明实施例一种密码构造模块的框图;
[0070] 图9是本发明实施例一种加密模块的框图;
[0071] 图10是本发明实施例一种基于混沌加密的视频解密装置框图;
[0072] 图11是本发明实施例一种解密模块的框图。

具体实施方式

[0073] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0074] 请参见图1,示出了本发明实施例一种基于混沌加密的视频加密方法的流程图,该方法应用于视频的发送端,如图1所示该方法可以包括以下步骤:
[0075] S110,对所述待加密视频流信号进行H.264编码,得到中间变量。
[0076] 所述中间变量包括所述待加密视频流信号的运动矢量差值的水平方向分量、垂直方向分量,以及DCT(Discrete Cosine Transform,离散余弦变换)变换矩阵的直流分量。
[0077] 发送端可以是具有ARM核并支持H.264编解码的开发板。发送端和接收端通过VGA(Video Graphics Array,视频图像阵列)接口连接到LCD(Liquid Crystal Display,液晶显示器)显示器上。发送端、接收端和PC(Personal Computer,个人计算机)机通过以太网相互连接,采用TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议)协议实现广域网的远程通信。
[0078] 发送端接收摄像头等视频采集设备所采集的视频流信号,视频流信号经过JPEG解压、LCD显示、RGB格式到YUV420格式的转换、H.264编码过程中的选择性混沌加密。其中,JPEG解压、LCD显示、RGB格式到YUV420格式的转换分别采用对应的现有技术完成,此处不再赘述。
[0079] 对视频信号进行H.264编码过程得到并进行混沌加密的中间变量包括:运动矢量差值的水平方向分量、垂直方向分量,及DCT变换矩阵的直流分量。
[0080] S120,利用基于非线性标称矩阵的六维离散时间的混沌系统构造混沌密码。
[0081] 本发明实施例中,采用基于非线性标称矩阵的六维离散时间的混沌系统构造混沌密码算法,由混沌密码算法迭代产生混沌序列。
[0082] 在本发明的一些实施例中,可以直接将混沌系统产生的混沌序列作为混沌密码对视频信号进行选择性混沌加密。
[0083] 在本发明的其他实施例中,对混沌序列进行运算后得到混沌密码,例如,混沌系统获得的64位的二进制混沌变量取整后的低8位作为所述混沌密码。混沌系统中各个混沌变量之间通常具有较大的相关性,若将某个或某些混沌变量的全部信息通过信道传输到接收端来实现混沌自同步,将增大自同步混沌密码的信息泄漏。因此,对混沌变量进行预设运算后得到的混沌密码能够大大减小混沌信息的泄漏,通过信道传送的多个加密信号之间的互相关性很小,从而提高混沌加密抵御分割攻击的性能。
[0084] S130,对所述运动矢量差值的水平方向分量、垂直方向分量以及DCT变换矩阵的直流分量分别采用各不相同的一个混沌密码进行选择性混沌加密,得到加密后的视频数据。
[0085] 每个中间变量采用一个混沌密码进行选择性混沌加密,而且,三个中间变量的选择性混沌加密所采用的混沌密码各不相同,这样提高了攻击的复杂度,同时也提高了视频信号的安全性。
[0086] S140,将所述加密后的视频数据发送给接收端。
[0087] 加密后的视频数据通过通信通道发送给接收端,接收端利用相同的方法进行解密。
[0088] 本实施例提供的基于混沌加密的视频加密方法,对视频信号的运动矢量差值的水平方向分量、垂直方向分量及DCT变换矩阵的直流分量分别采用各不相同的一个混沌密码进行选择性混沌加密,提高了攻击的复杂度,同时,也提高了视频信号的安全性。而且,本发明采用了基于非线型标称矩阵的六维离散时间的混沌系统,一个六维混沌系统,共有100多个相互独立的密钥参数,每个密钥都具有雪崩效应,因此,破译各个密钥参数所需的攻击复杂度很高,进一步提高了视频加密的安全性。
[0089] 请参见图2,图2示出了本发明实施例一种基于混沌加密的视频加密方法的原理示意图。
[0090] 基于非线性标称矩阵的六维离散时间混沌系统的混沌加密算法如下:
[0091]
[0092] 公式1中的 是当前次迭代得到的6个混沌序列; 是上一次迭代得到的6个混沌序列; 是发送端的密钥;
[0093] 如果上一次是对运动矢量差值的选择性混沌加密,则px(k)是上一次加密后的运动矢量差值的水平方向分量;py(k)是上一次加密后的运动矢量差值的垂直方向分量;pd(k)是上一次加密后的第一填充数据,该第一填充数据用于代替DCT变换矩阵的直流分量(后文会详细介绍,此处不再详述)。
[0094] 如果上一次是对DCT变换矩阵的直流分量的选择性混沌加密,则px(k)是上一次加密后的第二填充数据,该第二填充数据用于代替运动矢量差值的水平方向分量;py(k)是上一次加密后的第三填充数据,该第三填充数据用于代替运动矢量差值的垂直方向分量;pd(k)是上一次加密后的DCT变换矩阵的直流分量。其中,第二填充数据和第三填充数据后文会详细介绍,此处不再详述。
[0095] 公式1中 的数学表达式如下:
[0096]
[0097] 公式2中1≤i≤6,1≤j≤6; 的数学表达式如下:
[0098]
[0099] 公式3中1≤i≤6,1≤j≤6;p(d)(k)的数学表达式如下:
[0100]
[0101] 公式4中,ξx是运动矢量差值的水平方向分量,ξy是垂直方向分量,ξd是DCT变换矩阵中的直流分量。
[0102] 在公式1~公式4中, β(d)、 为发送端的密钥,每个密钥都具有雪崩效应。其中密钥 的标称值如下:
[0103]
[0104] 密钥 的标称值如下:
[0105]
[0106] 密钥 的标称值如下:
[0107]
[0108] 密钥β(d),εi(d),σi(d)的标称值如下:
[0109]
[0110] 根据公式5~公式8可知,发送端密钥共有115个。
[0111] 在发送端,采用一个基于非线性标称矩阵的六维离散时间的混沌系统构造混沌密码算法,实现对视频信号的选择性混沌加密。针对运动矢量差值和DCT变换矩阵中的直流分量不便于同时编码的问题,对于原始视频中的每一个宏块,用2轮加密方法分别完成H.264编码过程中对运动矢量差值的水平方向分量ξx、垂直方向分量ξy、DCT变换矩阵中的直流分量ξd的选择性混沌加密;第1轮用 和 完成对运动矢量差值的水平方向分量ξx和垂直方向分量ξy的选择性混沌加密,第2轮用 完成对DCT变换矩阵中的直流分量ξd的选择性混沌加密。
[0112] 结合公式1~公式8,以及图2所示的原理图,发送端的视频选择性混沌加密过程具体如下:
[0113] 步骤1:对于一帧视频中的第一个宏块进行第1轮选择性混沌加密;首先,输入视频信号的运动矢量差值的水平方向分量 和垂直方向分量 并输入第一填充数据代替DCT变换矩阵的直流分量 将开关K1和K2置1,用混沌系统最新产生的对它们按照公式9进行选择性混沌加密:
[0114]
[0115] 公式9中, 为根据公式1~公式8得到的三个混沌密码;px(k)和py(k)为选择性混沌加密后得到的数据;pd(k)为对第一填充数据进行选择性混沌加密后得到的数据。
[0116] 步骤2:将有效数据px(k)和py(k)进行熵编码之后写入到H.264码流对应的缓存H.264缓存中,并将加密后的第一填充数据pd(k)写入到缓存数据缓存中。
[0117] 该步骤中,有效数据px(k)和py(k)分别是加密后的运动矢量差值的水平方向分量和垂直方向分量。利用第一填充数据代替了DCT变换矩阵的直流分量,因此,pd(k)是加密后的第一填充数据。
[0118] 步骤3:进行第1个宏块的第2轮加密;首先,输入第二填充数据和第三填充数据分别代替运动矢量差值的水平方向分量 和垂直方向分量 输入DCT变换矩阵中的直流分量 然后,将开关K1和K2置2,分别用混沌系统最新产生的对它们进行加密,得
[0119]
[0120] 公式10中, 为混沌密码,px(k)、py(k)和pd(k)为加密后的数据。
[0121] 该步骤中的有效数据pd(k)是加密后的DCT变换矩阵的直流分量,px(k)、py(k)分别是加密后的第二填充数据和加密后的第三填充数据。
[0122] 需要说明的是,公式9的 和公式10中的不是同一次迭代得到的混沌密码。
[0123] 步骤4:将加密后的第二、第三填充数据px(k)和py(k)写入到缓存数据缓存中,将有效数据pd(k)进行熵编码之后写入到H.264码流对应的缓存H.264缓存中。
[0124] 步骤5:利用公式9和公式10分别对一帧视频中的其余宏块都进行上述步骤1~5对应的加密操作,最后完成对一帧视频的混沌加密。
[0125] 需要说明的是,第一填充数据、第二填充数据和第三填充数据可以是随机数或固定数。
[0126] 如图2所示,对三个中间变量进行选择性混沌加密之后的数据px(k)、py(k)和pd(k),以反控制形式提供给基于非线性标称矩阵的六维离散时间的混沌系统中的的计算过程中,这样,使得该混沌系统的正李雅谱诺夫指数充分大且无简并,统计特性通过TESTU01测试,抗退化能力强。其中,李雅谱诺夫指数表示相空间相邻轨迹的平均指数发散率的数值特征,用于识别混沌运动若干数值的特征之一。
[0127] 如图2所示,对三个中间变量进行选择性混沌加密之后的数据px(k)、py(k)和pd(k)反馈给混沌系统,具体的,如果本次加密是对运动矢量差值进行加密,则反馈回混沌系统的是加密后的运动矢量差值的水平方向分量、垂直方向分量,及加密后的第一填充数据;如果本次加密是对DCT变换矩阵的直流分量进行加密,则反馈回混沌系统的是加密后的第二、第三填充数据,及加密后的DCT变换矩阵的直流分量。
[0128] 即该混沌系统属于闭环系统。使得视频信息与混沌系统熔为一炉,避免了原始视频信息永远悬浮于混沌序列之上,提高视频加密的安全性。
[0129] 相应于上述发送端的选择性混沌加密过程实施例,还提供了接收端的解密实施例。
[0130] 请参见图3,示出了本发明实施例提供的一种基于混沌加密的视频解密方法流程图,如图3所示,该方法可以包括以下步骤:
[0131] S210,利用基于非线性标称矩阵的六维离散时间的混沌系统构造解密密码。
[0132] 在接收端,采用一个基于非线性标称矩阵的6维离散时间混沌系统构造混沌密码算法,实现对视频信号的选择性混沌解密。
[0133] 基于非线性标称矩阵和6维离散时间混沌系统的混沌密码解密算法为
[0134]
[0135] 公式11中, 是当前次迭代得到的6个混沌序列; 是上一次迭代得到的6个混沌序列; 是接收端的密钥;
[0136] 如果上一次对运动矢量差值进行解密,则px(k)是上一次对运动矢量差值的水平方向分量进行选择性混沌加密后的数据;py(k)是上一次对运动矢量差值的垂直方向分量进行选择性混沌加密后的数据;pd(k)是上一次对第一填充数据进行选择性混沌加密后的数据。
[0137] 如果上一次对DCT变换矩阵的直流分量进行解密,则px(k)是上一次对第二填充数据进行选择性混沌加密后的数据;py(k)是上一次对第三填充数据进行选择性混沌加密后的数据;pd(k)是上一次对DCT变换矩阵的直流分量进行选择性混沌加密后的数据。
[0138] 其中,公式11中 的数学表达式为:
[0139]
[0140] 式中1≤i≤6,1≤j≤6; 的数学表达式为:
[0141]
[0142] 式中1≤i≤6,1≤j≤6;p(r)(k)的数学表达式为:
[0143]
[0144]
[0145] 公式14中,ξx是运动矢量差值的水平方向分量,ξy是运动矢量差值的垂直方向分量,ξd是DCT变换矩阵中的直流分量。
[0146] 在公式11~公式14中, β(r)为接收端的密钥。接收端密钥采用与发送端约定好的密钥;当接收端的密钥与发送端的密钥完全匹配时,即满足(r) (d)
β =β ,才能解密得
到原始的视频信号。
[0147] S220,获取待解密视频数据中加密后的运动矢量差值的水平方向分量和垂直方向分量,以及,加密后的DCT变换矩阵中的直流分量。
[0148] S230,对加密后的运动矢量差值的水平方向分量和垂直方向分量,以及,加密后的DCT变换矩阵中的直流分量分别采用各不相同的一个混沌密码进行选择性混沌解密,得到解密后的视频数据。
[0149] S240,使用解密后的视频数据进行H.264解码,当解密侧的密钥与加密侧的密钥完全匹配时,解码得到原始视频流信号。
[0150] 本实施例提供的基于混沌加密的视频解密方法,利用三个各不相同的解密密码(混沌密码)分别对运动矢量差值的水平方向分量、垂直方向分量及DCT变换矩阵的直流分量进行选择性混沌解密,提高了攻击的复杂度,同时,也提高了视频信号的安全性。而且,本发明采用了基于非线型标称矩阵的六维离散时间的混沌系统,一个六维混沌系统,共有100多个相互独立的密钥参数,每个密钥都具有雪崩效应,因此,破译各个密钥参数所需的攻击复杂度很高,进一步提高了视频加密通信的安全性。
[0151] 针对运动矢量差值和DCT变换矩阵中的直流分量不便于同时解码的问题,对于加密视频中的每一个宏块,用2轮解密方法分别完成H.264解码过程中对加密后的运动矢量差值的水平方向分量px、垂直方向分量py和DCT变换矩阵中的直流分量pd的选择性混沌解密,其中第1轮用 和 完成对加密后的px和py的选择性混沌解密,第2轮用 完成对加密后的pd的选择性混沌解密。
[0152] 请参见图4,示出了本发明实施例一种基于混沌加密的视频解密方法的原理示意图。
[0153] 结合公式11~公式14及图4,接收端的视频选择性混沌解密过程具体如下:
[0154] 步骤1:在接收端,通过网络接收从发送端发送过来的加密后的数据,将H.264码流数据存入缓存H.264缓存中,将加密的填充数据存入缓存数据缓存中。
[0155] 步骤2:对一帧视频中的第1个宏块的第1轮解密;首先,对缓存H.264缓存中的数据进行熵解码,并从熵解码后的数据中读取加密后的运动矢量差值的水平方向分量为px(k)和垂直方向分量py(k),并从缓存数据缓存中读取加密后的第一填充数据pd(k)。然后,将开关 K 1 和 K 2 置 1 , 用 混 沌 系 统 最 新 产 生 的以及公式15对它
们进行解密。
[0156]
[0157] 步骤3:将解密后的 和 送入到H.264解码器之中,并将解密后的第一填充数据 丢弃。
[0158] 步骤4:完成第1个宏块的第2轮解密;从缓存数据缓存中读取加密后的第二填充数据px(k)和第三填充数据py(k),从熵解码后的数据中读取加密后的DCT变换矩阵中的直流分量pd(k)。将开关K1和K2置2,用混沌系统最新产生的 按照公式16对它们进行解密。
[0159]
[0160] 需要说明的是,公式15和公式16中所使用的 是混沌系统不同次的迭代产生的,即这两个公式所采用的 数值不同。
[0161] 步骤5:将解密后的DCT变换矩阵中的直流分量 送入到H.264解码器之中,将解密后的填充数据 和 丢弃。
[0162] 利用公式15和公式16分别对一帧加密视频中的其余宏块都进行上述相同的解密操作,最后完成对一帧加密视频的混沌解密。
[0163] 只有当接收端的115密钥与发送端的115个密钥全部匹配时,接收端才能解密出原视频信号;只要其中有一个密钥不匹配,就不能解密出原始视频信号。
[0164] 此外,混沌系统的反控制方式及反馈参数与图2所示的选择性混沌加密过程相同,此处不再赘述。
[0165] 请参见图5,示出了本发明实施例一种基于混沌加密的视频通信方法的原理示意图。
[0166] 发送端采用四核四进程模式实现混沌加密,每一个ARM核绑定一个进程。通过四个旗标变量flag0、flag1、flag2、flag3来控制开关K0~K9的轮流接通。具体而言,当flag0=1,2,3时,第一进程(进程1)通过flag0控制开关K0的轮流接通,完成以帧为单位的视频信号轮流采集,存放到共享内存中,提供给第二进程(进程2)、第三进程(进程3)、第四进程(进程
4)进行处理;同理,第二、三、四进程通过flag1、flag2、flag3分别控制开关K1~K3、K4~K6、K7~K9的轮流接通来实现,从而使得第二、三、四进程能够并行处理三帧视频的内存读取、JPEG解压、原始视频的LCD显示、RGB格式到YUV420格式的转换、H.264编码过程中的选择混沌加密、网络发送。
[0167] 发送端加密后的视频数据通过以太网传送到接收端,接收端采用三核三进程模式实现混沌解密,每一个ARM核绑定一个进程。通过两个旗标变量flag4、flag5来控制开关K10~K15的轮流接通。具体而言,第一、二、三进程通过flag4、flag5分别控制开关K10~K12、K13~K15的轮流接通来实现,并行处理3帧加密视频的网络接收、H.264解码和选择性混沌解密、解密视频的YUV420格式到RGB格式的转换、解密视频的LCD显示。
[0168] 本实施例提供的基于混沌加密的视频通信方法,发送端采用四核四进程模式,一个ARM核绑定一个进程,一个进程负责视频信号采集,其它三个进程并行处理三个视频信号,大幅度提高了加密视频的速度;同时,接收端采用三核三进程模式,一个ARM核绑定一个进程,每个进程并行处理三个加密后的视频信号,从而大幅度提高了解密视频的速度。
[0169] 请参见图6,示出了本发明实施例一种进程共享内存的具体实现方案示意图。
[0170] 发送端的四个进程中每一个进程有自己独立的进程虚拟地址空间,通过内存管理单元的虚实地址转换,建立虚拟地址空间与物理内存空间之间的映射关系。如图6所示,进程1对应3个共享内存区(内存1、内存2和内存3)和1个旗标变量共享区。进程2、3、4通过Linux操作系统提供的共享内存函数映射到共享内存区域。多个箭头所指的区域表示被多个进程共享,共享区域数据的变化对共享进程来说是可见的。3个共享内存区域分别对应图1中的内存1、内存2、内存3。由进程1写入的数据能够被其他进程共享读取,从而实现了进程
1与进程2、3、4之间的共享内存,目标是完成任务的拆分,实现并行处理。与单进程处理相比,多进程处理的帧率提高到2倍以上。
[0171] 旗标共享区存放若干个旗标变量,被四个进程共享。每一个旗标变量标示出一种操作权限,任何进程要独占操作共享资源之前,必须先判断区域中对应的旗标变量;如果旗标变量标示出进程获得权限,则进程独占资源并操作。释放资源之后修改旗标变量,旗标变量的修改对其他所有进程而言是可见的;如果旗标变量标示出进程尚未获得权限,则进程继续循环判断旗标变量,并且处于等待状态,直到权限的到来为止。
[0172] 对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0173] 相应于上述的基于混沌加密的视频通信方法实施例,本发明还提供了相对应的装置实施例。
[0174] 请参见图7,示出了本发明实施例一种基于混沌加密的视频加密装置的框图,该装置应用于视频信号的发送端。如图7所示,该装置包括:编码模块710、密码构造模块720、加密模块730和发送模块740。
[0175] 编码模块710,用于对所述待加密视频流信号进行H.264编码,得到中间变量。
[0176] 发送端接收摄像头等视频采集设备所采集的视频流信号,视频流信号经过JPEG解压、LCD显示、RGB格式到YUV420格式的转换、H.264编码过程中的选择混沌加密。
[0177] 对视频信号进行H.264编码过程中的中间变量包括:待加密视频流信号的运动矢量差值的水平方向分量、垂直方向分量,以及离散余弦变换DCT变换矩阵的直流分量。
[0178] 密码构造模块720,用于利用基于非线性标称矩阵的六维离散时间的混沌系统构造混沌密码。
[0179] 在本发明的一些实施例中,对混沌序列进行运算后得到混沌密码。
[0180] 请参见图8,示出了本发明实施例一种密码构造模块的框图,所述密码构造模块720包括:第一获取子模块721和第二获取子模块722。
[0181] 第一获取子模块721,用于利用所述混沌系统获得64位的二进制混沌变量。
[0182] 第二获取子模块722,用于对所述64位的二进制混沌变量取整,并将取整后的二进制混沌变量的低8位作为所述混沌密码。
[0183] 加密模块730,用于对所述运动矢量差值的水平方向分量、垂直方向分量以及DCT变换矩阵的直流分量分别采用各不相同的一个混沌密码进行选择性混沌加密,得到加密后的视频数据。
[0184] 三个中间变量的选择性混沌加密所采用的混沌密码各不相同,这样提高了攻击的复杂度,同时也提高了视频信号的安全性。
[0185] 请参见图9,示出了本发明实施例一种加密模块的框图,如图9所示,该加密模块730包括第一加密子模块731和第二加密子模块732。
[0186] 针对运动矢量差值和DCT变换矩阵中的直流分量不便于同时编码的问题。对于一帧所述待加密视频流信号中的每一个宏块分别利用所述第一加密子模块和所述第二加密子模块进行两轮选择性混沌加密过程,其中:
[0187] 第一加密子模块731,具体用于利用在获得所述运动矢量差值前、所述混沌系统最新产生的第一混沌密码,对所述运动矢量差值的水平方向分量进行选择性混沌加密;利用在获得所述运动矢量差值前、所述混沌系统最新产生的第二混沌密码,对所述运动矢量差值的垂直方向分量进行选择性混沌加密;利用第一填充数据代替所述DCT变换矩阵的直流分量,并利用在获得所述运动矢量差值前、所述混沌系统最新产生的第三混沌密码,对所述第一填充数据进行选择性混沌加密。
[0188] 第二加密子模块732,具体用于利用第二填充数据代替所述运动矢量差值的水平方向分量,并利用在获得所述DCT变换矩阵前、所述混沌系统最新产生的第一混沌密码,对所述第二填充数据进行选择性混沌加密;利用第三填充数据代替所述运动矢量差值的垂直方向分量,并利用在获得所述DCT变换矩阵前、所述混沌系统最新产生的第二混沌密码,对所述第三填充数据进行选择性混沌加密;利用在获得的所述DCT变换矩阵前、所述混沌系统最新产生的第三混沌密码,对所述DCT变换矩阵的直流分量进行选择性混沌加密。
[0189] 需要说明的是,得到有效的加密后的运动矢量差值的水平方向分量、垂直方向分量及DCT变换矩阵的直流分量后,还需要对这些数据进行熵编码得到H.264码流数据;不需要对加密后的填充数据进行熵编码。熵编码过程是H.264编码过程的一部分,即选择性混沌加密嵌入到H.264编码的熵编码过程之前。
[0190] 其中,所述第一填充数据、第二填充数据和所述第三填充数据为随机数或固定数。
[0191] 发送模块740,用于将所述加密后的视频数据发送给接收端。
[0192] 加密后的视频数据通过通信通道发送给接收端,接收端利用相同的方法进行解密。
[0193] 本实施例提供的基于混沌加密的视频加密装置,利用各不相同的混沌密码分别对视频信号的运动矢量差值的水平方向分量、垂直方向分量及DCT变换矩阵的直流分量进行选择性混沌加密,提高了攻击的复杂度,同时,也提高了视频信号的安全性。而且,本发明采用了基于非线型标称矩阵的六维离散时间的混沌系统,一个六维混沌系统,共有100多个相互独立的密钥参数,每个密钥都具有雪崩效应,因此,破译各个密钥参数所需的攻击复杂度很高,进一步提高了视频加密的安全性。
[0194] 此外,图7所示的装置实施例中,所述装置采用四核四进程模式实现混沌加密过程,其中每个处理器内核绑定一个进程,其中第一进程用于控制视频采集;第二进程、第三进程和第四进程分别用于并行处理三帧视频信息的H.264编码和选择性混沌加密过程。与单进程处理相比,多进程处理的帧率提高到2倍以上。
[0195] 相应于上述的基于混沌加密的视频加密装置实施例,本发明还提供了相应的解密装置实施例。
[0196] 请参见图10,示出了本发明实施例一种基于混沌加密的视频解密装置框图,该装置应用于视频的接收端。如图10所示,该装置包括密码构造模块1010、获取模块1020、解密模块1030和解码模块1040。
[0197] 密码构造模块1010,用于利用基于非线性标称矩阵的六维离散时间的混沌系统构造解密密码。
[0198] 获取模块1020,用于获取待解密视频数据中的加密后的运动矢量差值的水平方向分量和垂直方向分量,以及,加密后的DCT变换矩阵中的直流分量;
[0199] 解密模块1030,用于对所述加密后的运动矢量差值的水平方向分量和垂直方向分量,以及,所述加密后的DCT变换矩阵中的直流分量分别采用各不相同的一个解密密码进行选择性混沌解密,得到解密后的视频数据。
[0200] 请参见图11,示出了本发明实施例一种解密模块的框图,如图11所示,所述解密模块1030包括:第一解密子模块1031、第二解密子模块1032和解密数据获取子模块1033;
[0201] 针对运动矢量差值和DCT变换矩阵中的直流分量不便于同时解码的问题,对于一帧视频中的每一个宏块利用所述第一解密子模块1031和所述第二解密子模块1032进行两轮选择性混沌解密过程,其中:
[0202] 所述第一解密子模块1031,具体用于获取加密后的运动矢量差值的水平方向分量和垂直方向分量,以及加密后的第一填充数据,其中,所述第一填充数据用于代替所述DCT变换矩阵中的直流分量;利用在获得加密后的运动矢量差值前、所述混沌系统最新产生的第一解密密码,对所述加密后的运动矢量差值的水平方向分量进行选择性混沌解密;利用在获得加密后的运动矢量差值前、所述混沌系统最新产生的第二解密密码,对所述加密后的运动矢量差值的垂直方向分量进行选择性混沌解密;利用在获得加密后的运动矢量差值前、所述混沌系统最新产生的第三解密密码,对所述加密后的第一填充数据进行解密。
[0203] 所述第二解密子模块1032,具体用于获取加密后的第二填充数据和第三填充数据,以及加密后的DCT变换矩阵中的直流分量;利用在获得所述加密后的DCT变换矩阵中的直流分量前、所述混沌系统最新产生的第一解密密码,对所述加密后的第二填充数据进行解密;利用在获得所述加密后的DCT变换矩阵中的直流分量前、所述混沌系统最新产生的第二解密密码,对所述加密后的第三填充数据进行解密;利用在获得所述加密后的DCT变换矩阵中的直流分量前、所述混沌系统最新产生的第三解密密码,对所述加密后的DCT变换矩阵中的直流分量进行解密。
[0204] 所述解密数据获取子模块1033,用于丢弃解密后的第一填充数据、第二填充数据及第三填充数据,将解密后的运动矢量差值的水平方向分量、垂直方向分量,以及,解密后的DCT变换矩阵中的直流分量作为解密后的视频数据。
[0205] 解码模块1040,用于使用所述解密后的视频数据进行H.264解码,当解密侧的密钥与加密侧的密钥完全匹配时,解码得到原始视频流信号。
[0206] 需要说明的是,在对运动矢量差值的水平方向分量、垂直方向分量,及加密后的DCT变换矩阵的直流分量进行选择性混沌加密后,对有效的加密后的数据进行了熵编码得到H.264码流数据;因此,对应的解密时,获得H.264码流数据后需要进行熵解码,得到加密后的运动矢量差值的水平方向分量、垂直方向分量,及加密后的DCT变换矩阵的直流分量,才能做后续的解密操作。
[0207] 本实施例提供的基于混沌加密的视频解密装置,利用三个各不相同的解密密码(混沌密码)分别对运动矢量差值的水平方向分量、垂直方向分量及DCT变换矩阵的直流分量进行选择性混沌解密,提高了攻击的复杂度,同时,也提高了视频信号的安全性。而且,本发明采用了基于非线型标称矩阵的六维离散时间的混沌系统,一个六维混沌系统,共有100多个相互独立的密钥参数,每个密钥都具有雪崩效应,因此,破译各个密钥参数所需的攻击复杂度很高,进一步提高了视频加密通信的安全性。
[0208] 此外,图10所示实施例中,解密装置采用三核三进程模式实现混沌解密过程,其中每个处理器内核绑定一个进程,其中三个进程分别用于并行处理三帧视频信息的H.264解码和选择性混沌解密过程。与单进程处理相比,多进程处理的帧率提高到2倍以上。
[0209] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0210] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0211] 对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
[0212] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。