[发明专利]一种基于区块链的视频帧数据双认证与分级加密方法有效
申请号: | 202010810143.4 | 申请日: | 2020-08-13 |
公开(公告)号: | CN111917558B | 公开(公告)日: | 2021-03-23 |
发明(设计)人: | 赵逸文;苏明;文周之;刘晓光 | 申请(专利权)人: | 南开大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/18;H04L29/06;H04N19/467;H04N21/2347 |
代理公司: | 天津耀达律师事务所 12223 | 代理人: | 侯力 |
地址: | 300071*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 视频 帧数 认证 分级 加密 方法 | ||
1.一种基于区块链的视频帧数据双认证与分级加密方法,包括如下步骤:
第1.视频帧数据离线认证,包括数字签名的生成、嵌入和提取;
第1.1.数字签名的生成
(1)将H.264编码的MP4视频进行解码,采用通用开源编解码库,得到每一帧的帧数据;选取其中所有的n个关键帧数据frame1,frame2,...,framen;
(2)采用密码杂凑算法,对第2至第n关键帧数据计算其哈希值Hash;
(3)采用公钥加密算法,随机产生一对公私钥对,用私钥对得到的哈希值进行加密,即可得到视频帧数据的数字签名Sign;
第1.2.数字签名的嵌入
(1)将第一个视频关键帧数据解析为YUV三个颜色编码矩阵,其中Y代表灰度矩阵;
(2)对Y矩阵进行8*8分块,并对每个分块作DCT变换;
(3)将视频文件对应的数字签名转换为二进制;
(4)在每个8*8分块中嵌入1bit信息;选取每个分块的对角线8个元素,自右上至左下依次编号为P0,P1,...,P7,用前四位与后四位的和之差来表示嵌入信息,同时将它们的差值强化至16,增强嵌入信息的鲁棒性,即:
表示嵌入1
表示嵌入0
第1.3.数字签名的提取
(1)将第一个视频关键帧数据解析为YUV三个颜色编码矩阵;
(2)对Y矩阵进行8*8分块,并对每个分块作DCT变换;
(3)选取每个分块的对角线8个元素,自右上至左下依次编号为P0,P1,...,P7,用前四位与后四位的和之差来提取嵌入信息,即:
表示1
表示0
(4)将提取出的二进制信息转换为十六进制数字签名;
第2.视频帧数据在线认证,包括数字签名的生成、保存和验证;
第2.1.数字签名的生成方式同第1.1步;
第2.2.将视频数字签名、用户信息、可信时间戳保存至区块链,区块链返回唯一的视频ID;
第2.3.数字签名的在线验证
(1)根据区块链返回的视频ID从区块链上取出数字签名sign;
(2)用户使用公钥和原视频的关键帧数据frame1,frame2,...,framen,对视频数据完整性进行验证;
第3.视频帧数据的分级加密
(1)将视频所有关键帧数据解析为YUV三个颜色编码矩阵,提取其中所有Y矩阵;
(2)Y矩阵中每个像素点用8位二进制数表示,随机生成一个高级密钥和一个低级密钥;高级加密对于每个像素点低M位进行加密操作,低级加密对于每个像素点低N位进行加密操作,其中0<N<M≤8。
2.根据权利要求1所述的基于区块链的视频帧数据双认证与分级加密方法,其特征在于,第1.1步中,对视频进行解码时采用X264通用开源编解码库;采用SM3或SHA-256密码杂凑算法对第2至第n关键帧数据计算其哈希值Hash;采用SM2公钥加密算法,随机产生一对公私钥对,进而得到视频帧数据的数字签名Sign,
Hash=SM3(frame2||frame3||frame4||...||framen)#(1)
sign=SM2Sk(Hash)#(2)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南开大学,未经南开大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010810143.4/1.html,转载请声明来源钻瓜专利网。