一种基于混沌的多用户的视频文件加密系统及方法与流程

文档序号:25992870发布日期:2021-07-23 21:05阅读:179来源:国知局
一种基于混沌的多用户的视频文件加密系统及方法与流程

本发明属于信息技术领域,具体为一种基于混沌的多用户的视频文件加密系统及方法。



背景技术:

随着执法记录仪的产品发展,产生大量视频,此类大部分视频涉密,需要加密,但现有加密手段不是很匹配需求。现有视频文件加密方法主要有三种,一:使用对称加密算法,视频源使用密钥加密,显示端使用密钥解密,使用该方法视频源需要把密钥告知所有显示端,不能锁定特定用户查看,使用该方法不能判断该视频文件来自视频源;二:使用非对加密算法,视频源使用私钥加密,显示端使用公钥解密,使用该方法需要把公钥告知所有显示端,不能锁定特定用户查看,使用该方法可以判断该视频文件来自视频源;三:使用非对加密算法,视频源使用公钥加密,显示端使用私钥解密,可以锁定特定用户查看该视频文件,使用该方法不能判断该视频文件来自视频源。另传统对称加密des、sm4,非对称加密rsa、sm2计算量偏大,并不合适大文件视频文件加密,也不合适的执法记录仪的计算能力偏弱设备,所以需要一种新方法。



技术实现要素:

针对现有方案的不足,本发明公开了一种基于混沌的多用户的视频文件加密系统及方法。

本发明技术方案是:

一种基于混沌的多用户的视频文件加密系统,其包括视频源模块,用于产生视频数据的模块,并把需要视频帧组的数据发送视频帧组校验模块与视频混沌加密模块;

视频帧组校验模块,用于接收视频源模块的视频帧组的数据,计算视频流数据的视频帧组校验码,并把视频帧组校验码发送给视频帧组校验签名模块与混沌算子模块;

视频帧组校验签名模块,用于接收视频帧组校验签名模块的校验码,加密得到视频帧组校验签名数据,把视频帧组校验签名数据发送给视频帧组校验签名加密模块;

混沌算子模块,用于接收视频帧组校验码模块的视频帧组校验码,计算henon算法的x,y初始值,把x,y初始值发送给视频混沌加密模块;

视频混沌加密模块,用于接收视频源模块的视频帧组数据和混沌算子模块的x,y初始值,对视频帧组数据进行加密,并把加密数据发给视频加密文件生成模块;

视频加密文件生成模块,用于生成视频混沌加密文件;

视频帧组校验签名还原模块,用于获取视频混沌加密文件的视频帧组签名加密数据存储对象块并解密比较,得到视频帧组校验签名数据;

视频帧组校验还原模块,用于接收视频帧组校验签名还原模块的视频帧组校验签名数据,得到视频帧组校验码并把视频帧组校验码发送混沌算子还原模块与视频合法性模块;

混沌算子还原模块,用于接收视频帧组校验还原模块的视频帧组校验码,计算henon算法的x,y初始值,把x,y初始值发送给视频混沌解密模块;

视频混沌解密模块,用于接收混沌算子还原模块的henon算法的x,y初始值,对视频混沌加密文件进行解密,把视频帧组的解密数据发送给视频合法性模块与视频显示模块;

视频合法性模块,用于判断视频数据的真实性;

视频显示模块,用于接收视频混沌解密模块的视频帧组的解密数据并进行解码显示;

用户公钥,根据用户私钥生成用户公钥,用于视频签名加密模块加密视频帧组校验签名;

用户私钥,用户私钥为用户持有,用于对视频混沌加密文件进行解密;

视频私钥,视频私钥为视频源持有,发送视频帧组校验签名模块对视频帧组数据的校验码进行加密;

视频公钥,根据视频私钥生成视频公钥,用于解密视频帧组校验码;

视频签名加密模块,用于接收把视频帧组校验签名模块的视频帧组校验签名数据,对视频帧组校验签名数据加密得到视频签名加密数据,把视频签名加密数据发送给视频加密文件生成模块。

优选地,所述的视频加密文件生成模块包含三个存储对象块,为视频帧组索引存储对象块,视频帧组加密数据存储对象块与视频帧组签名加密数据存储对象块,存储对象块由存储块类型,存储块长度,存储块数据组成。

一种基于混沌的多用户的视频文件加密方法,其包括以下步骤:

1)视频源模块把需要生成的视频帧组的数据发送到视频校验模块与视频混沌加密模块;

2)视频帧组校验码模块接收视频源模块的视频帧组的数据,进行国密sm3进行哈希计算得到视频流数据的256位校验码,视频帧组校验码模块把视频帧组校验码发送给视频帧组校验签名模块与混沌算子模块;

3)视频帧组校验签名模块接收视频帧组校验签名模块的256位校验码,使用视频私钥对256位校验码进行sm2加密得到视频帧组校验签名数据,视频帧组校验签名模块把视频帧组校验签名数据发送给视频帧组校验签名加密模块;视频签名加密模块接收把视频帧组校验签名模块的视频帧组校验签名数据,使用用户公钥进行sm2加密得到视频签名加密数据;如果有多用户,则分别使用各自用户公钥对视频帧组校验签名数据与用户公钥进行加密,得到各个用户的数据视频签名加密数据;视频帧组校验签名加密模块把所有数据视频签名加密数据发送给视频加密文件生成模块;

4)混沌算子模块接收视频帧组校验码模块的256位校验码,采用多维henon混沌加密方法,进行按照64位进行分组分成4组,对每组的64位校验码的前32位转为无符合整数,除以2的32次方,转为小于1的浮点数,为henon算法的x初始值,后32位使用相同方法,得到浮点数为henon算法的y初始值,混沌算子模块把计算好4组x,y初始值发送给视频混沌加密模块;

5)视频混沌加密模块加密视频帧组数据:

6)视频加密文件生成模块生成视频混沌加密文件;

7)视频帧组校验签名还原模块根据时间从视频混沌加密文件的视频帧组索引存储对象块的视频帧组签名加密数据存储对象块存储位置,视频帧组校验签名还原模块获取视频加密文件的视频帧组签名加密数据存储对象块,使用用户私钥对视频帧组签名加密数据进行sm2解密得到视频帧组校验签名数据与解密的用户公钥,解密的用户公钥与视频帧组校验签名还原模块保存用户公钥进行比较,如果相同则为,该视频帧组签名加密数据存储对象块为该用户视频帧组签名加密数据,视频帧组校验签名还原模块把视频帧组校验签名数据发送视频帧组校验还原模块;

8)视频帧组校验还原模块接收视频帧组校验签名还原模块的视频帧组校验签名数据,视频帧组校验还原模块使用视频公钥对视频帧组校验签名数据得到视频帧组校验码;视频帧组校验还原模块把视频帧组校验码发送混沌算子还原模块与视频合法性模块;

9)混沌算子还原模块采用多维henon混沌加密方法,混沌算子还原模块接收视频帧组校验还原模块的256位视频帧组校验码,进行按照64位进行分组分成4组,对每组的64位校验码的前32位转为无符合整数,除以2的32次方,转为小于1的浮点数,为henon算法的x初始值,后32位使用相同方法,得到浮点数为henon算法的y初始值,混沌算子还原模块把计算好4组x,y初始值发送给视频混沌解密模块;

10)视频混沌解密模块对视频混沌加密文件进行解密;

11)视频合法性模块接收视频帧组校验还原模块的视频帧组校验码a,视频合法性模块接收视频混沌解密模块的视频帧组的解密数据,进行国密sm3进行哈希计算得到256位校验码b,如果校验码a与校验码b如果相同则该视频帧组的数据没有被篡改;

12)视频显示模块接收视频混沌解密模块的视频帧组的解密数据,进行解码显示。

优选地,所述的视频帧组为一个多个i帧组构成,i帧组为一个i帧与依赖的i帧与依赖的p帧与b帧构成。

优选地,视频混沌加密模块加密视频帧组数据具体包括以下步骤:

5.1)视频混沌加密模块接收视频源模块的视频帧组数据;

5.2)视频混沌加密模块模块接收henon算法的4组x,y初始值,使用henon算法对视频帧组数据进行加密;

5.3)视频混沌加密模块生成第一个256位加密密钥:henon的a取值1.4,b取值0.3,让henon公式混沌状态;

5.4)视频混沌加密模块分别把4组x,y初始值代入计算出4组x1,y1;视频混沌加密模块取得地1组x1的小数部分,乘以2的32次方,得到范围为2的32次方的数,256位加密密钥的前32位的密钥,视频混沌加密模块依次处理其他组x1,最终得到256位加密密钥的128位;

5.5)视频混沌加密模块取得地1组y1的小数部分,乘以2的32次方,得到范围为2的32次方的数,256位加密密钥的128位到159位的密钥,视频混沌加密模块依次处理其他组y1,得到256位加密密钥的后128位的秘钥,最终生成第一个256位加密密钥;

5.6)视频混沌加密模块把第一个256位加密密钥与视频帧组数据的第一个256位视频数据进行异或得到视频帧组数据前面256位的加密数据;

5.7)视频混沌加密模块生成第二个256位加密密钥,视频混沌加密模块分别把4组x1,y1初始值代入计算出4组x2,y2;根据上述使用4组x2,y2计算出第二个256位加密密钥;

5.8)视频混沌加密模块把第二个256位加密密钥与视频帧组数据的第二个256位视频数据进行异或得到视频帧组数据前面256位的加密数据;

5.9)视频混沌加密模块依次生成后续256加密密钥,分别对整个视频帧组数据进行异或,得到整个视频帧组数据的加密数据;

5.10)视频混沌加密模块把生成视频帧组数据的加密数据发给视频加密文件生成模块;

所述的henon公式为:。

优选地,视频加密文件生成模块生成视频混沌加密文件具体包括以下步骤:

6.1)视频加密文件生成模块接收视频混沌加密模块的视频帧组加密数据与时戳;

6.2)视频加密文件生成模块接收视频签名加密模块的视频帧组签名加密数据与时戳;

6.3)视频帧组索引存储对象块按照时戳进行索引,视频帧组索引存储对象块保存所有视频帧组加密存储对象块与视频帧组签名加密数据存储对象块的存储的位置,按照时戳找到对应视频帧组加密数据与视频帧组签名加密数据;

6.4)视频帧组加密数据存储对象块保存视频帧组的加密数据,在该视频帧组时间范围内只存一份数据;

6.5)视频帧组签名加密数据存储对象块保存一个用户的视频帧组签名加密数据,如果有多个用户则使用多个视频帧组签名加密数据存储对象块进行保存;

6.6)视频加密文件生成模块按照视频帧组的分片传输,用户接收一个分片数据进行独立解码显示;

6.7)视频加密文件生成模块进行文件重组生成新文件,通过选择不同时间段的视频帧组加密数据存储对象块与视频帧组签名加密数据存储对象块,生成新时间范围的视频加密文件;

6.8)视频加密文件生成模块输出视频混沌加密文件。

优选地,视频混沌解密模块对视频混沌加密文件进行解密的具体步骤包括:

10.1)视频混沌解密模块接收混沌算子还原模块的henon算法的4组x,y初始值,根据时间获取视频混沌加密文件的视频帧组加密数据存储对象块;

10.2)视频混沌解密模块使用henon算法对视频帧组进行解密;

10.3)视频混沌解密模块生成第一个256位加密密钥:henon的a取值1.4,b取值0.3,视频混沌解密模块分别把4组x,y初始值代入计算出4组x1,y1;视频混沌解密模块取得地1组x1的小数部分,乘以2的32次方,得到范围为2的32次方的数,256位解密密钥的前32位的密钥;

10.4)视频混沌解密模块依次处理其他组x1,最终得到256位解密密钥的128位,视频混沌解密模块取得地1组y1的小数部分,乘以2的32次方,得到范围为2的32次方的数,256位解密密钥的128位到159位的密钥;

10.5)视频混沌解密模块依次处理其他组y1,得到256位解密密钥的后128位的秘钥,生成第一个256位解密密钥;

10.6)视频混沌解密模块把第一个256位解密密钥与视频帧组的第一个256位视频数据进行异或得到视频帧组前面256位的解密数据;

10.7)视频混沌解密模块生成第二个256位解密密钥,视频混沌解密模块分别把4组x1,y1初始值代入计算出4组x2,y2;根据上述使用4组x2,y2计算出第二个256位解密密钥;

10.8)视频混沌解密模块把第二个256位解密密钥与视频帧组的第二个256位视频数据进行异或得到视频帧组前面256位的解密数据;

10.9)视频混沌解密模块依次生成后续256解密密钥,分别对整个视频帧组的视频数据进行异或,得到整个视频帧组的解密数据;

10.10)视频混沌解密模块把视频帧组的解密数据发送给视频合法性模块与视频显示模块。

本发明的有益效果是:

本发明使用混沌算法生成不可预测与视频帧组数据等长的密钥,使用超大密钥空间提升破解难度,同时又使用异或低计算量的算法,在保证安全性同时降低计算量。使用根据视频帧组的校验码进行生成混沌算法的初始参数,使用视频私钥对视频帧组数据的校验码进行加密,从而保证视频混沌加密文件的合法性与防篡改。使用用户公钥视频加密视频帧组校验签名加密,实现特定用户能对视频混沌加密文件进行解密能力。

附图说明

图1为本发明系统框图。

具体实施方式

为进一步了解本发明的内容,结合实施例对本发明作详细描述,以下实施例用于说明本发明,但不用来限制本发明的范围。

实施例1

如图1所示,本实施例涉及一种基于混沌的多用户的视频文件加密系统,其包括视频源模块1,视频帧组校验码模块2,视频帧组校验签名模块3,混沌初始值模块4,视频混沌加密模块5,视频加密文件生成模块6,视频帧组校验签名还原模块7,视频帧组校验还原模块8,混沌初始值还原模块9,视频混沌解密模块10,视频合法性检查模块11,视频显示模块12,用户公钥13,用户私钥14,视频私钥15,用户公钥16,视频校验加密模块17。

视频源模块1:视频源模块1产生视频数据的模块,如执法记录仪。视频源模块1把需要视频帧组的数据发送视频校验模块2与视频混沌加密模块5。视频帧组为一个多个i帧组构成,i帧组为一个i帧与依赖的i帧与依赖的p帧与b帧构成,为最新独立播放数据,视频帧组进行一次加密,但可以根据不同用户要求不同时间生成不同文件。

视频帧组校验码模块2:接收视频源模块1的视频帧组的数据,进行国密sm3进行哈希计算得到视频流数据的256位校验码,视频帧组校验码模块2把视频帧组校验码发送给视频帧组校验签名模块3与混沌算子模块4。

视频帧组校验签名模块3:接收视频帧组校验签名模块3的256位校验码,使用视频私钥15对256位校验码进行sm2加密得到视频帧组校验签名数据,视频帧组校验签名模块3把视频帧组校验签名数据发送给视频帧组校验签名加密模块17。只对256位校验码进行非对称加密,可以有效降低计算量,利于执法记录仪着低计算量设备的处理。

混沌算子模块4:混沌算子模块4采用多维henon混沌加密方法,混沌算子模块4接收视频帧组校验码模块2的256位校验码,进行按照64位进行分组分成4组,对每组的64位校验码的前32位转为无符合整数,除以2的32次方,转为小于1的浮点数,为henon算法的x初始值,后32位使用相同方法,得到浮点数为henon算法的y初始值。混沌算子模块4把计算好4组x,y初始值发送给视频混沌加密模块5。

视频混沌加密模块5:接收视频源模块1的视频帧组数据,视频混沌加密模块5模块接收henon算法的4组x,y初始值,视频混沌加密模块5使用henon算法对视频帧组数据进行加密。视频混沌加密模块5生成第一个256位加密密钥:henon的a取值1.4,b取值0.3,让henon公式混沌状态,视频混沌加密模块5分别把4组x,y初始值代入计算出4组x1,y1;视频混沌加密模块5取得地1组x1的小数部分,乘以2的32次方,得到范围为2的32次方的数,256位加密密钥的前32位的密钥,视频混沌加密模块5依次处理其他组x1,最终得到256位加密密钥的128位,视频混沌加密模块5取得地1组y1的小数部分,乘以2的32次方,得到范围为2的32次方的数,256位加密密钥的128位到159位的密钥,视频混沌加密模块5依次处理其他组y1,得到256位加密密钥的后128位的秘钥,最终生成第一个256位加密密钥。视频混沌加密模块5把第一个256位加密密钥与视频帧组数据的第一个256位视频数据进行异或得到视频帧组数据前面256位的加密数据。视频混沌加密模块5生成第二个256位加密密钥,视频混沌加密模块5分别把4组x1,y1初始值代入计算出4组x2,y2;根据上述使用4组x2,y2计算出第二个256位加密密钥,视频混沌加密模块5把第二个256位加密密钥与视频帧组数据的第二个256位视频数据进行异或得到视频帧组数据前面256位的加密数据。视频混沌加密模块5依次生成后续256加密密钥,分别对整个视频帧组数据进行异或,得到整个视频帧组数据的加密数据。使用混沌算法生成不可预测与视频帧组数据等长的密钥,使用超大密钥空间提升破解难度。视频混沌加密模块5把生成视频帧组数据的加密数据发给视频加密文件生成模块6。

视频加密文件生成模块6:视频加密文件生成模块6接收视频混沌加密模块5的视频帧组加密数据与时戳,视频加密文件生成模块6接收视频签名加密模块17的视频帧组签名加密数据与时戳。视频加密文件生成模块6包含三个存储对象块,视频帧组索引存储对象块,视频帧组加密数据存储对象块与视频帧组签名加密数据存储对象块。存储对象块由存储块类型,存储块长度,存储块数据组成,使用存储对象块可以提取加密视频的任意存储块。视频帧组索引存储对象块使用按照时戳进行索引,视频帧组索引存储对象块保存所有视频帧组加密存储对象块与视频帧组签名加密数据存储对象块的存储的位置,可以按照时戳快速找到对应视频帧组加密数据与视频帧组签名加密数据。视频帧组加密数据存储对象块保存视频帧组的加密数据,在该视频帧组时间范围内只存一份数据。视频帧组签名加密数据存储对象块保存一个用户的视频帧组签名加密数据,如果有多个用户则使用多个视频帧组签名加密数据存储对象块进行保存。这种方式可以保证视频加密文件不需要解密情况进行分片传输与文件重组生成新文件;按照视频帧组的分片传输,用户接收一个分片数据进行独立解码显示,提升及时性;文件重组生成新文件可以通过选择不同时间段的视频帧组加密数据存储对象块与视频帧组签名加密数据存储对象块,生成新时间范围的视频加密文件,文件重组生成新文件也通过去除部分用户的视频帧组签名加密数据存储对象块,达到缩小解密用户范围。视频加密文件生成模块6输出视频混沌加密文件。

视频帧组校验签名还原模块7:视频帧组校验签名还原模块7根据时间从视频混沌加密文件的视频帧组索引存储对象块的视频帧组签名加密数据存储对象块存储位置,视频帧组校验签名还原模块7获取视频加密文件的视频帧组签名加密数据存储对象块,使用用户私钥对视频帧组签名加密数据进行sm2解密得到视频帧组校验签名数据与解密的用户公钥,解密的用户公钥与视频帧组校验签名还原模块7保存用户公钥进行比较,如果相同则为,该视频帧组签名加密数据存储对象块为该用户视频帧组签名加密数据,视频帧组校验签名还原模块7把视频帧组校验签名数据发送视频帧组校验还原模块8。

视频帧组校验还原模块8:视频帧组校验还原模块8接收视频帧组校验签名还原模块7的视频帧组校验签名数据,视频帧组校验还原模块8使用视频公钥16对视频帧组校验签名数据得到视频帧组校验码。视频帧组校验还原模块8把视频帧组校验码发送混沌算子还原模块9与视频合法性模块11。

混沌算子还原模块9:混沌算子还原模块9采用多维henon混沌加密方法,混沌算子还原模块9接收视频帧组校验还原模块8的256位视频帧组校验码,进行按照64位进行分组分成4组,对每组的64位校验码的前32位转为无符合整数,除以2的32次方,转为小于1的浮点数,为henon算法的x初始值,后32位使用相同方法,得到浮点数为henon算法的y初始值。混沌算子还原模块9把计算好4组x,y初始值发送给视频混沌解密模块10。

视频混沌解密模块10:视频混沌解密模块10接收混沌算子还原模块9的henon算法的4组x,y初始值,根据时间获取视频混沌加密文件的视频帧组加密数据存储对象块。视频混沌解密模块10使用henon算法对视频帧组进行解密。视频混沌解密模块10生成第一个256位加密密钥:henon的a取值1.4,b取值0.3,视频混沌解密模块10分别把4组x,y初始值代入计算出4组x1,y1;视频混沌解密模块10取得地1组x1的小数部分,乘以2的32次方,得到范围为2的32次方的数,256位解密密钥的前32位的密钥,视频混沌解密模块10依次处理其他组x1,最终得到256位解密密钥的128位,视频混沌解密模块10取得地1组y1的小数部分,乘以2的32次方,得到范围为2的32次方的数,256位解密密钥的128位到159位的密钥,视频混沌解密模块10依次处理其他组y1,得到256位解密密钥的后128位的秘钥,最终生成第一个256位解密密钥。视频混沌解密模块10把第一个256位解密密钥与视频帧组的第一个256位视频数据进行异或得到视频帧组前面256位的解密数据。视频混沌解密模块10生成第二个256位解密密钥,视频混沌解密模块10分别把4组x1,y1初始值代入计算出4组x2,y2;根据上述使用4组x2,y2计算出第二个256位解密密钥,视频混沌解密模块10把第二个256位解密密钥与视频帧组的第二个256位视频数据进行异或得到视频帧组前面256位的解密数据。视频混沌解密模块10依次生成后续256解密密钥,分别对整个视频帧组的视频数据进行异或,得到整个视频帧组的解密数据。视频混沌解密模块10把视频帧组的解密数据发送给视频合法性模块11与视频显示模块12。

视频合法性模块11:视频合法性模块11接收视频帧组校验还原模块8的视频帧组校验码a。视频合法性模块11接收视频混沌解密模块10的视频帧组的解密数据,进行国密sm3进行哈希计算得到256位校验码b,如果校验码a与校验码b如果相同则该视频帧组的数据没有被篡改,通过这种方法在视频文件后期剪切与重整仍然保证视频数据真实性。

视频显示模块12:视频显示模块12接收视频混沌解密模块10的视频帧组的解密数据,进行解码显示。

用户公钥13:根据用户私钥14生成用户公钥13,用户把用户公钥13发送视频签名加密模块17,用于视频签名加密模块17加密视频帧组校验签名,实现用户能对视频混沌加密文件进行解密能力。

用户私钥14:用户私钥14为用户持有,接收加密视频文件,用户把用户私钥14发视频帧组校验签名还原模块7进行解密频帧组校验签名,用于后续对视频混沌加密文件进行解密。

视频私钥15:视频私钥15为视频源如执法记录仪持有,发送视频帧组校验签名模块3对视频帧组数据的校验码进行加密,从而保证视频混沌加密文件的合法性与防篡改。

视频公钥16:根据视频私钥15生成视频公钥16:,视频源把视频公钥16发送用户的视频帧组校验还原模块8,解密视频帧组校验码,从而实现视频混沌加密文件的合法性检查。

视频签名加密模块17:接收把视频帧组校验签名模块3的视频帧组校验签名数据,使用用户公钥16对视频帧组校验签名数据与用户公钥16数据进行sm2加密得到视频签名加密数据。如果有多用户,则分别使用各自用户公钥16对视频帧组校验签名数据与用户公钥进行加密,得到各个用户的数据视频签名加密数据。视频帧组校验签名加密模块17把所有数据视频签名加密数据发送给视频加密文件生成模块6。

实施例2,本实施例涉及一种一种基于混沌的多用户的视频文件加密方法:

1)视频源模块1把需要生成的视频帧组的数据发送视频校验模块2与视频混沌加密模块5。视频帧组为一个多个i帧组构成,i帧组为一个i帧与依赖的i帧与依赖的p帧与b帧构成,为最新独立播放数据,视频帧组进行一次加密,但可以根据不同用户要求不同时间生成不同文件。

2)视频帧组校验码模块2接收视频源模块1的视频帧组的数据,进行国密sm3进行哈希计算得到视频流数据的256位校验码,视频帧组校验码模块2把视频帧组校验码发送给视频帧组校验签名模块3与混沌算子模块4。

3)视频帧组校验签名模块3接收视频帧组校验签名模块3的256位校验码,使用视频私钥15对256位校验码进行sm2加密得到视频帧组校验签名数据,视频帧组校验签名模块3把视频帧组校验签名数据发送给视频帧组校验签名加密模块17。只对256位校验码进行非对称加密,可以有效降低计算量,利于执法记录仪着低计算量设备的处理。视频签名加密模块17接收把视频帧组校验签名模块3的视频帧组校验签名数据,使用用户公钥16进行sm2加密得到视频签名加密数据。如果有多用户,则分别使用各自用户公钥16对视频帧组校验签名数据与用户公钥进行加密,得到各个用户的数据视频签名加密数据。视频帧组校验签名加密模块17把所有数据视频签名加密数据发送给视频加密文件生成模块6。

4)混沌算子模块4采用多维henon混沌加密方法,混沌算子模块4接收视频帧组校验码模块2的256位校验码,进行按照64位进行分组分成4组,对每组的64位校验码的前32位转为无符合整数,除以2的32次方,转为小于1的浮点数,为henon算法的x初始值,后32位使用相同方法,得到浮点数为henon算法的y初始值。混沌算子模块4把计算好4组x,y初始值发送给视频混沌加密模块5。

5)视频混沌加密模块5加密视频帧组数据的流程:

5.1)视频混沌加密模块5:接收视频源模块1的视频帧组数据。

5.2)视频混沌加密模块5模块接收henon算法的4组x,y初始值,视频混沌加密模块5使用henon算法对视频帧组数据进行加密。

5.3)视频混沌加密模块5生成第一个256位加密密钥:henon的a取值1.4,b取值0.3,让henon公式混沌状态。

5.4)视频混沌加密模块5分别把4组x,y初始值代入计算出4组x1,y1;视频混沌加密模块5取得地1组x1的小数部分,乘以2的32次方,得到范围为2的32次方的数,256位加密密钥的前32位的密钥,视频混沌加密模块5依次处理其他组x1,最终得到256位加密密钥的128位。

5.5)视频混沌加密模块5取得地1组y1的小数部分,乘以2的32次方,得到范围为2的32次方的数,256位加密密钥的128位到159位的密钥,视频混沌加密模块5依次处理其他组y1,得到256位加密密钥的后128位的秘钥,最终生成第一个256位加密密钥。

5.6)视频混沌加密模块5把第一个256位加密密钥与视频帧组数据的第一个256位视频数据进行异或得到视频帧组数据前面256位的加密数据。

5.7)视频混沌加密模块5生成第二个256位加密密钥,视频混沌加密模块5分别把4组x1,y1初始值代入计算出4组x2,y2;根据上述使用4组x2,y2计算出第二个256位加密密钥。

5.8)视频混沌加密模块5把第二个256位加密密钥与视频帧组数据的第二个256位视频数据进行异或得到视频帧组数据前面256位的加密数据。

5.9)视频混沌加密模块5依次生成后续256加密密钥,分别对整个视频帧组数据进行异或,得到整个视频帧组数据的加密数据。使用混沌算法生成不可预测与视频帧组数据等长的密钥,使用超大密钥空间提升破解难度。

5.10)视频混沌加密模块5把生成视频帧组数据的加密数据发给视频加密文件生成模块6。

henon公式为:

6)视频加密文件生成模块6生成视频混沌加密文件流程:

6.1)视频加密文件生成模块6接收视频混沌加密模块5的视频帧组加密数据与时戳。

6.2)视频加密文件生成模块6接收视频签名加密模块17的视频帧组签名加密数据与时戳。

6.3)视频加密文件生成模块6包含三个存储对象块,视频帧组索引存储对象块,视频帧组加密数据存储对象块与视频帧组签名加密数据存储对象块。

6.4)存储对象块由存储块类型,存储块长度,存储块数据组成,使用存储对象块可以提取加密视频的任意存储块。

6.5)视频帧组索引存储对象块使用按照时戳进行索引,视频帧组索引存储对象块保存所有视频帧组加密存储对象块与视频帧组签名加密数据存储对象块的存储的位置,可以按照时戳快速找到对应视频帧组加密数据与视频帧组签名加密数据。

6.6)视频帧组加密数据存储对象块保存视频帧组的加密数据,在该视频帧组时间范围内只存一份数据。

6.7)视频帧组签名加密数据存储对象块保存一个用户的视频帧组签名加密数据,如果有多个用户则使用多个视频帧组签名加密数据存储对象块进行保存。

6.8)视频加密文件生成模块6使用这种方式可以保证视频加密文件不需要解密情况进行分片传输;按照视频帧组的分片传输,用户接收一个分片数据进行独立解码显示,提升及时性;

6.9)视频加密文件生成模块6进行文件重组生成新文件,可以通过选择不同时间段的视频帧组加密数据存储对象块与视频帧组签名加密数据存储对象块,生成新时间范围的视频加密文件。

6.10)视频加密文件生成模块6的文件重组生成新文件也通过去除部分用户的视频帧组签名加密数据存储对象块,达到缩小解密用户范围。

6.11)视频加密文件生成模块6最终输出视频混沌加密文件。

7)视频帧组校验签名还原模块7根据时间从视频混沌加密文件的视频帧组索引存储对象块的视频帧组签名加密数据存储对象块存储位置,视频帧组校验签名还原模块7获取视频加密文件的视频帧组签名加密数据存储对象块,使用用户私钥对视频帧组签名加密数据进行sm2解密得到视频帧组校验签名数据与解密的用户公钥,解密的用户公钥与视频帧组校验签名还原模块7保存用户公钥进行比较,如果相同则为,该视频帧组签名加密数据存储对象块为该用户视频帧组签名加密数据,视频帧组校验签名还原模块7把视频帧组校验签名数据发送视频帧组校验还原模块8。

8)视频帧组校验还原模块8接收视频帧组校验签名还原模块7的视频帧组校验签名数据,视频帧组校验还原模块8使用视频公钥16对视频帧组校验签名数据得到视频帧组校验码。视频帧组校验还原模块8把视频帧组校验码发送混沌算子还原模块9与视频合法性模块11。

9)混沌算子还原模块9采用多维henon混沌加密方法,混沌算子还原模块9接收视频帧组校验还原模块8的256位视频帧组校验码,进行按照64位进行分组分成4组,对每组的64位校验码的前32位转为无符合整数,除以2的32次方,转为小于1的浮点数,为henon算法的x初始值,后32位使用相同方法,得到浮点数为henon算法的y初始值。混沌算子还原模块9把计算好4组x,y初始值发送给视频混沌解密模块10。

10)视频混沌解密模块10对视频混沌加密文件进行解密流程:

10.1)视频混沌解密模块10接收混沌算子还原模块9的henon算法的4组x,y初始值,根据时间获取视频混沌加密文件的视频帧组加密数据存储对象块。

10.2)视频混沌解密模块10使用henon算法对视频帧组进行解密。

10.3)视频混沌解密模块10生成第一个256位加密密钥:henon的a取值1.4,b取值0.3,视频混沌解密模块10分别把4组x,y初始值代入计算出4组x1,y1;视频混沌解密模块10取得地1组x1的小数部分,乘以2的32次方,得到范围为2的32次方的数,256位解密密钥的前32位的密钥。

10.4)视频混沌解密模块10依次处理其他组x1,最终得到256位解密密钥的128位,视频混沌解密模块10取得地1组y1的小数部分,乘以2的32次方,得到范围为2的32次方的数,256位解密密钥的128位到159位的密钥。

10.5)视频混沌解密模块10依次处理其他组y1,得到256位解密密钥的后128位的秘钥,最终生成第一个256位解密密钥。

10.6)视频混沌解密模块10把第一个256位解密密钥与视频帧组的第一个256位视频数据进行异或得到视频帧组前面256位的解密数据。

10.7)视频混沌解密模块10生成第二个256位解密密钥,视频混沌解密模块10分别把4组x1,y1初始值代入计算出4组x2,y2;根据上述使用4组x2,y2计算出第二个256位解密密钥。

10.8)视频混沌解密模块10把第二个256位解密密钥与视频帧组的第二个256位视频数据进行异或得到视频帧组前面256位的解密数据。

10.9)视频混沌解密模块10依次生成后续256解密密钥,分别对整个视频帧组的视频数据进行异或,得到整个视频帧组的解密数据。

10.10)视频混沌解密模块10把视频帧组的解密数据发送给视频合法性模块11与视频显示模块12。

11)视频合法性模块11接收视频帧组校验还原模块8的视频帧组校验码a。视频合法性模块11接收视频混沌解密模块10的视频帧组的解密数据,进行国密sm3进行哈希计算得到256位校验码b,如果校验码a与校验码b如果相同则该视频帧组的数据没有被篡改,通过这种方法在视频文件后期剪切与重整仍然保证视频数据真实性。

12)视频显示模块12接收视频混沌解密模块10的视频帧组的解密数据,进行解码显示。

以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方案,实际的结构并不局限于此。所以本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1