CN115695675B - 用于网络数据安全交换的视频加密方法 - Google Patents
用于网络数据安全交换的视频加密方法 Download PDFInfo
- Publication number
- CN115695675B CN115695675B CN202310000539.6A CN202310000539A CN115695675B CN 115695675 B CN115695675 B CN 115695675B CN 202310000539 A CN202310000539 A CN 202310000539A CN 115695675 B CN115695675 B CN 115695675B
- Authority
- CN
- China
- Prior art keywords
- frame
- bit
- frames
- scrambling
- hidden
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及视频编码传输技术领域,具体涉及用于网络数据安全交换的视频加密方法,包括:获取I帧和P帧;获取P帧比特置乱序列,根据P帧比特置乱序列对P帧中元素对应的二进制数的比特位进行置乱,得到比特置乱P帧;获取I帧比特置乱序列;对I帧进行比特分层,进一步得到待隐藏元素;获取隐藏次数,根据隐藏次数将所有比特置乱P帧分为多个P帧组;根据I帧比特置乱序列以及P帧组的个数获取待隐藏元素的隐藏位置;根据待隐藏元素的隐藏位置将待隐藏元素隐藏至P帧组中;根据隐藏后的比特置乱P帧得到密文数据;对密文数据进行交换或传输。本发明破坏了I帧和P帧的数据规律,可抗统计分析攻击,增加了视频交换的安全性。
Description
技术领域
本发明涉及视频编码传输技术领域,具体涉及用于网络数据安全交换的视频加密方法。
背景技术
随着摄像技术的发展以及互联网的普及,越来越多的视频数据在互联网上交换或传输。视频数据中可能包含了敏感信息,如隐私信息或商业机密信息等。为了确保敏感信息不被泄露,需要对视频数据进行加密。
现有的针对视频数据的加密方法大多为对视频的每一帧图像中的像素点进行置乱扩散,破坏图像帧局部范围内的像素点之间的关系来实现图像帧的加密。但该方法仅改变了像素点的位置,并未改变像素点的像素值,使得加密结果中像素值的分布与加密之前的像素值分布一致,攻击者可挖掘加密结果中的统计规律来破解原始的图像帧。
发明内容
本发明提供用于网络数据安全交换的视频加密方法,以解决现有的问题。
本发明的用于网络数据安全交换的视频加密方法采用如下技术方案:
本发明一个实施例提供了用于网络数据安全交换的视频加密方法,该方法包括以下步骤:
获取待加密视频中所有图像组以及每个图像组中的I帧和多个P帧;
获取P帧比特置乱序列;获取第一长度,将P帧中每个元素转换为长度为第一长度的二进制数,将二进制数的每个比特位作为有效位;对P帧中每个元素对应的二进制数的高位补0,使所有P帧中的元素对应的二进制数的长度都为预设长度,将补充的比特位作为无效位;
根据P帧比特置乱序列对一个图像组中的所有P帧中每个元素对应的二进制数的比特位进行置乱,得到多个比特置乱P帧;
根据一个图像组中的所有P帧中无效位的个数以及I帧中像素点的个数获取隐藏次数;获取I帧比特置乱序列;对I帧进行比特分层,将得到的所有比特平面转换为待隐藏比特序列;根据I帧中像素点的个数以及隐藏次数将所有比特置乱P帧分为多个P帧组;将待隐藏比特序列中每个比特值分别作为待隐藏元素,根据I帧比特置乱序列以及P帧组的个数获取每个待隐藏元素的多个隐藏位置;
依次根据每个待隐藏元素的每个隐藏位置对每个待隐藏元素进行多次隐藏,包
括:将第i个待隐藏元素的第j个隐藏位置记为,获取第j个P帧组中包含无效位的
所有比特置乱P帧作为候选比特置乱P帧,将第i个待隐藏元素填入第个候选比特置乱P
帧中第个无效位,将第个候选比特置乱P帧中第个无效位修改为隐藏位;
将最终得到的所有比特置乱P帧作为一个图像组的加密结果,将所有图像组的加密结果作为密文数据;对密文数据进行交换或传输。
优选的,所述获取P帧比特置乱序列,包括的具体步骤如下:
将一个图像组中包含的P帧的个数记为N,利用混沌映射的方法生成一个混沌序列,将混沌序列中后N个元素分别乘以预设长度,并将所得的结果向上取整,最终得到的所有结果构成P帧比特置乱序列。
优选的,所述获取第一长度,包括的具体步骤如下:
将P帧中绝对值最大的元素记为M,则第一长度L的表达式为:
优选的,所述根据P帧比特置乱序列对一个图像组中的所有P帧中每个元素对应的二进制数的比特位进行置乱,得到多个比特置乱P帧,包括的具体步骤如下:
将一个图像组中包含的P帧的个数记为N,将P帧比特置乱序列分成长度相等的N个子序列,并分别作为每个P帧的置乱子序列;
根据每个P帧的置乱子序列对每个P帧中元素对应的二进制数的比特位进行置乱,包括:
为P帧中元素构建一个空的长度为预设长度的置乱二进制数,从P帧中元素对应的二进制数的最高位开始依次获取P帧中元素对应的二进制数的每个有效位以及每个无效位;
将P帧中元素对应的二进制数的第一个有效位作为待置乱比特位,获取P帧的置乱
子序列中第一个数值,将P帧中元素对应的二进制数的待置乱比特位放置在置乱二进制
数的第个比特位上;当存在其他有效位时,将下一个有效位作为新的待置乱比特位,当不
存在其他有效位时,将第一个无效位作为新的待置乱比特位,获取P帧的置乱子序列中第二
个数值,获取P帧中元素的置乱二进制数中为空的比特位作为候选比特位,获取所有候选
比特位的位数s;当时,将P帧中元素对应的二进制数的待置乱比特位放置在第个候
选比特位上;当>s时,将的结果记为m,其中为求余数符号,将P帧中元素对应的二
进制数的待置乱比特位放置在第m个候选比特位上;
依次类推,依次将每个有效位以及每个无效位分别作为待置乱比特位,根据置乱子序列中的数值将待置乱比特位放置在置乱二进制数的每个比特位上;
将P帧中所有元素对应的置乱二进制数构成一个二维矩阵,作为比特置乱P帧。
优选的,所述根据一个图像组中的所有P帧中无效位的个数以及I帧中像素点的个数获取隐藏次数,包括的具体步骤如下:
当隐藏次数时,构建一个新的P帧,加入到图像组中,所述新的P帧中每个
元素都为0,新的P帧中每个元素对应的预设长度的二进制数的每个比特位都为无效位,新
的P帧与其余P帧的大小一致;重新获取一个图像组中所有P帧中所有无效位的个数t,得到
隐藏次数。
优选的,所述获取I帧比特置乱序列,包括的具体步骤如下:
对二维混沌序列中每个元素进行扩展取整操作,包括:将二维混沌序列中每个元
素第一个维度的数据分别乘以,并将所得的结果向上取整,将二维混沌序列中每个元素
第二个维度的数据分别乘以c,并将所得结果向上取整;
二维混沌序列中所有元素进行扩展取整操作之后的结果构成I帧比特置乱序列。
优选的,所述对I帧进行比特分层,将得到的所有比特平面转换为待隐藏比特序列,包括的具体步骤如下:
将I帧中每个元素转换为长度为8的二进制数据,将I帧中所有元素对应的二进制数据的同一比特位的比特值划分为一个比特平面;将每个比特平面中所有比特值逐行提取组成一个比特序列,将所有比特序列按照比特位从高到低合并为一个比特序列,作为待隐藏比特序列。
优选的,所述根据I帧中像素点的个数以及隐藏次数将所有比特置乱P帧分为多个P帧组,包括的具体步骤如下:
将I帧中像素点的个数记为R;将隐藏次数作为分组个数d;根据分组个数d将所有
比特置乱P帧分为d组,每组中包含的无效位大于或等于个;若不存在满足条件的分组结
果,将分组个数减去1作为新的分组个数,根据新的分组个数重新分组,每组中包含的无效
位大于或等于个;若根据新的分组个数也无法获取满足条件的分组结果,继续将新的分
组个数减去1作为新的分组个数,依次类推,直到获取满足条件的分组结果;将每个组分别
作为一个P帧组。
优选的,所述根据I帧比特置乱序列以及P帧组的个数获取每个待隐藏元素的多个隐藏位置,包括的具体步骤如下:
本发明的技术方案的有益效果是:现有的针对视频数据的加密方法大多为对视频的每一帧图像中的像素点进行置乱扩散,破坏图像帧局部范围内的像素点之间的关系来实现图像帧的加密。但该方法仅改变了像素点的位置,并未改变像素点的像素值,使得加密结果中像素值的分布与加密之前的像素值分布一致,攻击者可挖掘加密结果中的统计规律来破解原始的图像帧,本发明通过对每个P帧进行比特置乱,使得攻击者无法获知无效位的位置,实现了对无效位的隐藏,使得后续在无效位嵌入I帧的信息后,攻击者无法提取I帧的信息,确保了视频的安全性。通过对每个P帧进行比特置乱同时还实现了P帧信息的置乱,破坏了P帧中原始的信息,使得攻击者无法还原P帧的内容,进一步确保了视频的安全性;本发明通过构建I帧比特置乱序列对I帧中所有元素的每个比特进行隐藏,使得隐藏顺序无规律可循,得到的包含I帧信息的比特置乱P帧中数据混乱,进一步破坏了I帧和P帧中的数据规律,使得攻击者无法挖掘密文数据中的数据规律来破解I帧和P帧,确保了视频的安全性。本发明通过获取隐藏次数,根据隐藏次数得到多个P帧组,将I帧中的信息隐藏在每个P帧组中,实现了I帧信息的多次隐藏,避免了密文数据交换或传输过程中可能发生部分帧丢失导致视频无法还原的问题。确保了视频的可用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的用于网络数据安全交换的视频加密方法的步骤流程图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的用于网络数据安全交换的视频加密方法,其具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一实施例。此外,一或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
下面结合附图具体的说明本发明所提供的用于网络数据安全交换的视频加密方法的具体方案。
请参阅图1,其示出了本发明一个实施例提供的用于网络数据安全交换的视频加密方法的步骤流程图,该方法包括以下步骤:
S001.获取待加密视频中所有帧。
需要说明的是,视频包含了多个图像组,每个图像组是一段图像编码后的数据流,每个图像组包含了一个关键帧(I帧)以及多个帧间预测编码帧(P帧)。其中I帧是一幅完整的图像,P帧是当前帧对应的图像与I帧的差异。
在本发明实施例中,将需要交换或传输的视频作为待加密视频。获取待加密视频的每个图像组以及每个图像组中的所有帧。
需要说明的是,本发明实施例是以灰度视频为例进行视频加密方法的说明。当视频为彩色视频时,可将视频的R通道、G通道、B通道拆分,得到三个单通道的视频,并将每个单通道的视频分别视为一个灰度视频进行加密。
S002.获取P帧比特置乱序列。
需要说明的是,本发明实施例以一个图像组为例,说明对该图像组的加密方法。本
发明实施例目的是在P帧的每个元素中隐藏I帧的信息,由于P帧为P帧对应的图像与I帧的
差异,因此P帧中每个元素的取值范围为[-255,255],将元素转为二进制后最多为9位二进
制数(其中包含一个符号位以及8个数值位)。为使得I帧的信息所隐藏的位置复杂,不易猜
测,需要对P帧中每个元素对应的二进制数的每个比特位进行置乱。同时一个图像组中存在
多个P帧,将一个图像组中P帧的个数记为N,为使得后续对所有P帧中的元素对应的二进制
数的每个比特位进行置乱,则需要构建一个长度为的P帧比特置乱序列。
在本发明实施例中,构建P帧比特置乱序列的方法如下:
根据发送方和接收方事先约定的第一密钥,将第一密钥作为混沌映射的
输入,利用混沌映射的方法生成一个长度为的混沌序列,将混沌序列中第到第个元素分别乘以9,并将所得的结果向上取整,最终得到个(0,9]范围内的整数,
此些整数所组成的序列即为P帧比特置乱序列。
需要说明的是,第一密钥由发送方和接收方事先约定并单独管理,不随视频的交
换或传输而交换或传输。其中第一密钥中的值需满足,的值需满足,的值需满足且为整数。第一密钥中每个元素的可取值范围广,因此第
一密钥的密钥空间大,攻击者难以猜测第一密钥的内容,可抵抗暴力破解攻击。
本发明实施例中的混沌映射为logistic混沌映射,在其他实施例中,实施人员也可使用其他混沌映射方法生成混沌序列。
至此,获取了P帧比特置乱序列。需要说明的是,P帧比特置乱序列由发送方在每次对视频进行加密时根据第一密钥生成或由接收方在每次对视频进行解密时根据第一密钥生成,P帧比特置乱序列仅用于对视频的加密和解密,不随视频的交换或传输而交换或传输。
S003.获取P帧的有效位以及无效位,根据P帧比特置乱序列对P帧进行比特置乱。
需要说明的是,由于视频中不同帧的图像之间相似性较大,而P帧为P帧对应的图像与I帧的差异,因此图像组中P帧的每个元素的绝对值都较小,且P帧与I帧的距离越近,P帧中元素的绝对值越小的可能性越大,因此可结合该特征在P帧的每个元素中隐藏I帧的信息,首先需确定每个元素用来隐藏I帧信息的位置。
在本发明实施例中,将一个P帧中每个元素转换为相同长度的二进制数,即定长二进制数,定长二进制数的长度由P帧中绝对值最大的元素决定,将P帧中绝对值最大的元素记为M,则定长二进制数的长度L为:
其中L为P帧中每个元素转换成的定长二进制数的长度;M为P帧中绝对值最大的元
素;log为对数函数;为向上取整符号;由于P帧中元素可能为整数,也可能为负数,因此1
为符号位的长度,则为P帧中每个元素转换成的定长二进制数的长度。
将L记为第一长度,将每个P帧对应的第一长度L作为补充信息。
此时每个元素都可用较少的比特位来表示,将此些比特位称为有效位。为了便于后续加密,可对P帧中元素对应的定长二进制数的高位补0,使所有P帧中的元素的二进制数的长度都一致。需要说明的是,P帧中每个元素的取值范围为[-255,255],所有P帧中所有元素的定长二进制数中最长的二进制数的长度不超过9位(其中包含一个符号位以及8个数值位),9为预设长度。因此,对P帧中元素对应的定长二进制数进行高位补0操作,使P帧中每个元素对应的二进制数的长度都达到9位,补0的比特位此时无任何含义,则将补0的比特位称为无效位。
需要说明的是,本发明实施例的目的是针对P帧中的无效位进行I帧信息的嵌入,但由于无效位位于P帧中元素对应的二进制数的最高的一位或多位,若此时直接在无效位嵌入I帧信息,攻击者很容易从嵌入I帧信息后的P帧中提取出I帧的信息。因此需要对无效位进行隐藏,本发明实施例采用对P帧中元素对应的二进制数的比特位进行置乱的方法来隐藏无效位。
在本发明实施例中,对P帧中元素对应的二进制数的比特位进行置乱的具体方法为:
首先将P帧比特置乱序列分成长度相等且为9的N个子序列,并分别作为每个P帧的置乱子序列。
根据每个P帧的置乱子序列对每个P帧中元素对应的二进制数的比特位进行置乱,包括:
由于P帧中所有元素的无效位的位置都相同,有效位的位置也都相同,因此置乱操作针对P帧中所有元素同时进行。
为P帧中元素构建一个空的长度为9的置乱二进制数,从P帧中元素对应的二进制数的最高位开始依次获取P帧中元素对应的二进制数的每个有效位以及每个无效位。
当存在其他有效位时,将下一个有效位作为新的待置乱比特位,当不存在其他有
效位时,将第一个无效位作为新的待置乱比特位,获取P帧的置乱子序列中第二个数值,
获取P帧中元素的置乱二进制数中为空的比特位作为候选比特位,获取所有候选比特位的
位数s。当时,将P帧中元素对应的二进制数的待置乱比特位放置在第个候选比特位
上;当>s时,将的结果记为m,其中为求余数符号,将P帧中元素对应的二进制数的
待置乱比特位放置在第m个候选比特位上。
依次类推,依次将每个有效位、每个无效位分别作为待置乱比特位,根据置乱子序列中的数值将待置乱比特位放置在置乱二进制数的每个比特位上。最终得到的置乱二进制数即为P帧中元素对应的二进制数的比特位进行置乱的结果。
将P帧中所有元素对应的置乱二进制数构成一个二维矩阵,记为比特置乱P帧,比特置乱P帧即为P帧的比特置乱的结果。该二维矩阵的大小与P帧的大小相同。
至此,完成了每个P帧的比特置乱。
需要说明的是,本发明实施例通过对每个P帧进行比特置乱,使得攻击者无法获知无效位的位置,实现了对无效位的隐藏,使得后续在无效位嵌入I帧的信息后,攻击者无法提取I帧的信息,确保了视频的安全性。同时通过对每个P帧进行比特置乱实现了P帧信息的置乱,破坏了P帧中原始的信息,使得攻击者无法还原P帧的内容,进一步确保了视频的安全性。
S004.获取I帧比特置乱序列。
需要说明的是,为了将I帧的信息隐藏在P帧中,则需构建一个二维的置乱序列,记
为I帧比特置乱序列,其中一个维度决定I帧信息所隐藏的帧,另一个维度决定I帧信息所隐
藏的帧内的具体位置。由于I帧为一幅完整的图像,I帧中每个像素点的灰度值的取值范围
为[0,255],将灰度值转化为二进制数的长度为8位,因此I帧内每个像素点需要8个位置来
进行隐藏。将I帧的大小即I帧中像素点的个数记为R。因此,为将I帧中所有信息隐藏在P帧
中,则需要个位置。同时为了防止视频交换或传输过程中某一帧丢失导致视频无法还原,
需要对I帧中的信息进行多次隐藏。获取所有P帧中所有无效位的个数t,则隐藏次数为,
其中为向下取值符号。因此,I帧比特置乱序列的长度为。
需要进一步说明的是,若t小于时,,无法实现将I帧中所有信息隐藏在P
帧中,此时可构建一个新的P帧,该新的P帧的每个元素都为0,对应的二进制数每个位置都
为无效位,且该新的P帧与其余P帧的大小一致。此时根据所有P帧中无效位的个数更新t,获
取隐藏次数,进一步得到I帧比特置乱序列的长度。
在本发明实施例中,采用二维混沌映射的长度方法来获取I帧比特置乱序列,具体为:
根据发送方和接收方事先约定的第二密钥,将第二密钥作为
二维混沌映射的输入,利用二维混沌映射的方法生成一个长度为的二维混沌序列。二维混沌序列中每个元素包含两个维度
的数据,其中、、、...、分别为二维混沌序列中所有元素第一个维度的数据,、、、...、分别为二维混沌序列中所有元素第二个维度的数据。需要说明的是,
由于二维混序列中每个元素每个维度的数据的范围为(0,1),为了实现后续将I帧的信息隐
藏在P帧中,还需对二维混沌序列中每个元素进行处理,得到I帧比特置乱序列。
对二维混沌序列中每个元素进行扩展取整操作,包括:将二维混沌序列中每个元
素第一个维度的数据分别乘以,并将所得的结果向上取整,将二维混沌序列中每个元素
第二个维度的数据分别乘以c,并将所得结果向上取整。
将二维混沌序列中所有元素进行扩展取整操作之后的结果作为I帧比特置乱序列。
至此,获取了I帧比特置乱序列。需要说明的是,第二密钥由发送方和接收方事先约定并单独管理,不随视频的交换或传输而交换或传输。
需要进一步说明的是,本发明实施例中的混沌映射为二维logistic混沌映射,二维 Logistic 混沌映射的模型如下所示:
第二密钥中、、、分别为二维logistic混沌映射模型的参数,为了使得根
据二维logistic混沌映射模型得到的二维混沌序列足够混乱,第二密钥中、的值需满
足、,、的值需满足、。
第二密钥中、分别为二维logistic混沌映射模型的初始值,、的值需满足
、。第二密钥中每个元素的可取值范围广,因此第二密钥的密钥空间大,攻击者难
以猜测第一密钥的内容,可抵抗暴力破解攻击。
在其他实施例中,实施人员也可使用其他二维混沌映射方法生成二维混沌序列。
I帧比特置乱序列由发送方在每次对视频进行加密时根据第二密钥生成或由接收方在每次对视频进行解密时根据第二密钥生成,I帧比特置乱序列仅用于对视频的加密和解密,不随视频的交换或传输而交换或传输。
S005.对I帧进行比特分层,根据I帧比特置乱序列将I帧的比特信息嵌入P帧,得到密文数据。
需要说明的是,为了将I帧的信息隐藏在P帧中,需要将I帧进行比特分层,对得到的每个比特层的比特值进行隐藏。
在本发明实施例中,对I帧进行比特分层,对得到的每个比特层的比特值进行隐藏的具体过程为:
I帧为完整的图像,I帧中每个元素,即图像中每个像素点的像素值的取值范围为[0,255],首先将I帧中每个元素转换为长度为8的二进制数据,将I帧中所有元素对应的二进制数据的同一比特位的比特值划分为一个比特平面,如此得到8个比特平面。将每个比特平面中所有比特值逐行提取组成一个比特序列,如此得到8个比特序列,将8个比特序列按照比特位从高到低合并为一个比特序列,并将该比特序列称为待隐藏比特序列。
例如I帧中包含两个元素123、87,每个元素对应的二进制数据分别为01111011、01010111,则将01111011与01010111最高的比特位0与0划分为一个比特平面,将01111011与01010111次高的比特位1与1划分为一个比特平面,依次类推,共得到8个比特平面。根据8个比特平面得到的8个比特序列分别为{0,0}、{1,1}、{1,0}、{1,1}、{1,0}、{0,1}、{1,1}、{1,1},则待隐藏比特序列为{0,0,1,1,1,0,1,1,1,0,0,1,1,1,1,1}。
需要说明的是,为了防止视频在交换或传输过程中某一帧丢失导致视频无法还原,需要对I帧中的信息进行多次隐藏。
在本发明实施例中,步骤S004中获取了隐藏次数,将隐藏次数作为分组个
数d,则根据分组个数d将所有比特置乱P帧分为d组,为确保I帧中所有信息都能都被隐藏,
需确保每组中包含的无效位大于或等于个。若不存在满足条件(每组中包含的无效位大
于或等于个)的分组结果,则将分组个数减去1作为新的分组个数,根据新的分组个数重
新分组,确保每组中包含的无效位大于或等于个。同理,根据新的分组个数也无法获取满
足条件的分组结果,则继续将新的分组个数减去1作为新的分组个数,依次类推,直到获取
满足条件的分组结果。
根据D个P帧组对待隐藏比特序列进行D次隐藏,具体为:
将待隐藏比特序列中每个比特值分别作为待隐藏元素,获取每个待隐藏元素的D
个隐藏位置,对于第一个待隐藏元素,获取I帧比特置乱序列中第个、第2个、...、第D个元
素作为第一个待隐藏元素的D个隐藏位置,对于第二个待隐藏元素,获取I帧比特置乱序列
中第D个、第D+1个、...、第2D个元素作为第二个待隐藏元素的D个隐藏位置,以此类推,对于
第i个待隐藏元素,获取I帧比特置乱序列中第个、第个元
素、...、第个元素作为第i个待隐藏元素的D个隐藏位置。
依次根据每个待隐藏元素的隐藏位置对每个待隐藏元素进行隐藏,如根据第i个待隐藏元素的第j个隐藏位置对第i个待隐藏元素进行隐藏的方法为:
将第i个待隐藏元素的第j个隐藏位置记为,首先获取第j个P帧组中包含
无效位的所有比特置乱P帧作为候选比特置乱P帧,获取第个候选比特置乱P帧中第个
无效位,将第i个待隐藏元素填入该无效位,此时填入第i个待隐藏元素的位置从无效位变
为隐藏位。此时,实现了将第i个待隐藏元素隐藏在第j个P帧组中。
同理根据第i个待隐藏元素的所有隐藏位置将第i个待隐藏元素隐藏在每个P帧组中。
同理,将所有待隐藏元素隐藏在每个P帧组中。此时,若P帧组还存在无效位,则对每个无效位随机填充0或1。将最终得到的D个P帧组中所有比特置乱P帧作为视频的一个图像组的加密结果。
同理,获取每个图像组的加密结果,将所有图像组的加密结果作为密文数据。
至此,获取了密文数据。
需要说明的是,本发明实施例通过将I帧中的信息隐藏在P帧中,破坏了原来I帧和P帧中的数据规律,既使得攻击者无法提取出I帧的信息,又无法获得P帧的信息,确保了视频的安全性。本发明实施例通过构建I帧比特置乱序列对I帧中所有元素的每个比特进行隐藏,由于I帧比特置乱序列足够混乱,使得隐藏顺序无规律可循,得到的包含I帧信息的比特置乱P帧中数据混乱,进一步破坏了I帧和P帧中的数据规律,使得攻击者无法挖掘密文数据中的数据规律来破解I帧和P帧,确保了视频的安全性。本发明实施例通过获取隐藏次数,根据隐藏次数得到多个P帧组,将I帧中的信息隐藏在每个P帧组中,实现了I帧信息的多次隐藏,避免了后续密文数据交换或传输过程中可能发生部分帧丢失导致视频无法还原的问题。确保了视频的可用性。
S006.对密文数据进行交换或传输以及解密。
发送方将对密文数据交换或传输至接收方。
需要说明的是,为确保后续可解密,还需将步骤S003中得到的补充信息同密文数据一起交换或传输,但为确保数据的安全性,需要对补充信息利用现有的非对称加密算法如RSA、ECC等进行加密后再交换或传输。需要进一步说明的是,本发明实施例对视频不利用非对称加密算法的原因是,非对称加密算法只适合数据量较小的数据的加密,视频数据量较大,不适合利用非对称算法进行加密。而步骤S003获得的补充信息数据量小,可利用非对称加密算法进行加密。
接收方接收到密文数据和加密后的补充信息后,对密文数据进行解密:
首先利用非对称加密算法对加密后的补充信息进行解密,获得补充信息。补充信息反应了密文数据中每个比特置乱P帧中每个元素中包含的有效位的个数。则由此可得到密文数据中每个比特置乱P帧中每个元素中包含的隐藏位的个数。进一步可得到密文数据中每个比特置乱P帧对应的置乱前的P帧中每个元素对应的二进制数据的有效位以及无效位的分布。
将密文数据分为多个图像组,对每个图像组分别进行解密:
发送方根据第一密钥利用步骤S002中的方法获取P帧比特置乱序列,根据步骤S003中的方法可获取一个图像组中每个比特置乱P帧中的有效位以及隐藏位。根据每个比特置乱P帧中的有效位即可得到每个比特置乱P帧对应的置乱前的P帧中每个元素对应的二进制数据,将此些二进制数据转换为十进制,即可得到置乱前的P帧。
发送方根据第二密文利用步骤S004中的方法获取I帧比特置乱序列,利用S005中的方法将对一个图像组中所有比特置乱P帧分为D个P帧组,每个P帧组中包含的隐藏位大于等于8R个,其中R为每个比特置乱P帧中元素的个数。
发送方根据I帧比特置乱序列在P帧组中提取出隐藏信息,需要说明的是,每个隐藏信息在每个P帧组中都有隐藏,若一个P帧组中发生了丢包,导致隐藏信息丢失,则在下一个P帧组中提出该隐藏信息。
将提取出的所有隐藏信息分为长度相等的8组,并将每组都转为二维矩阵的形式,作为8个比特平面,其中二维矩阵的大小与比特置乱P帧的大小相同。将8个比特平面合并为一个平面,平面中每个元素都为8位二进制数,将此些8位二进制数转换为十进制得到十进制平面,该十进制平面即为I帧。
如此获得了一个图像组中的I帧以及P帧,对所有图像组进行解密即可得到原始的视频。
通过以上步骤,完成了视频的加密交换或传输以及解密。
本发明实施例通过对每个P帧进行比特置乱,使得攻击者无法获知无效位的位置,实现了对无效位的隐藏,使得后续在无效位嵌入I帧的信息后,攻击者无法提取I帧的信息,确保了视频的安全性。通过对每个P帧进行比特置乱同时还实现了P帧信息的置乱,破坏了P帧中原始的信息,使得攻击者无法还原P帧的内容,进一步确保了视频的安全性;本发明实施例通过构建I帧比特置乱序列对I帧中所有元素的每个比特进行隐藏,使得隐藏顺序无规律可循,得到的包含I帧信息的比特置乱P帧中数据混乱,进一步破坏了I帧和P帧中的数据规律,使得攻击者无法挖掘密文数据中的数据规律来破解I帧和P帧,确保了视频的安全性。本发明实施例通过获取隐藏次数,根据隐藏次数得到多个P帧组,将I帧中的信息隐藏在每个P帧组中,实现了I帧信息的多次隐藏,避免了密文数据交换或传输过程中可能发生部分帧丢失导致视频无法还原的问题。确保了视频的可用性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.用于网络数据安全交换的视频加密方法,其特征在于,该方法包括以下步骤:
获取待加密视频中所有图像组以及每个图像组中的I帧和多个P帧;
获取P帧比特置乱序列;获取第一长度,将P帧中每个元素转换为长度为第一长度的二进制数,将二进制数的每个比特位作为有效位;对P帧中每个元素对应的二进制数的高位补0,使所有P帧中的元素对应的二进制数的长度都为预设长度,将补充的比特位作为无效位;
根据P帧比特置乱序列对一个图像组中的所有P帧中每个元素对应的二进制数的比特位进行置乱,得到多个比特置乱P帧;
根据一个图像组中的所有P帧中无效位的个数以及I帧中像素点的个数获取隐藏次数;获取I帧比特置乱序列;对I帧进行比特分层,将得到的所有比特平面转换为待隐藏比特序列;根据I帧中像素点的个数以及隐藏次数将所有比特置乱P帧分为多个P帧组;将待隐藏比特序列中每个比特值分别作为待隐藏元素,根据I帧比特置乱序列以及P帧组的个数获取每个待隐藏元素的多个隐藏位置;
依次根据每个待隐藏元素的每个隐藏位置对每个待隐藏元素进行多次隐藏,包括:将
第i个待隐藏元素的第j个隐藏位置记为,获取第j个P帧组中包含无效位的所有比
特置乱P帧作为候选比特置乱P帧,将第i个待隐藏元素填入第个候选比特置乱P帧中第个无效位,将第个候选比特置乱P帧中第个无效位修改为隐藏位;
将最终得到的所有比特置乱P帧作为一个图像组的加密结果,将所有图像组的加密结果作为密文数据;对密文数据进行交换或传输。
2.根据权利要求1所述的用于网络数据安全交换的视频加密方法,其特征在于,所述获取P帧比特置乱序列,包括的具体步骤如下:
将一个图像组中包含的P帧的个数记为N,利用混沌映射的方法生成一个混沌序列,将混沌序列中后N个元素分别乘以预设长度,并将所得的结果向上取整,最终得到的所有结果构成P帧比特置乱序列。
4.根据权利要求1所述的用于网络数据安全交换的视频加密方法,其特征在于,所述根据P帧比特置乱序列对一个图像组中的所有P帧中每个元素对应的二进制数的比特位进行置乱,得到多个比特置乱P帧,包括的具体步骤如下:
将一个图像组中包含的P帧的个数记为N,将P帧比特置乱序列分成长度相等的N个子序列,并分别作为每个P帧的置乱子序列;
根据每个P帧的置乱子序列对每个P帧中元素对应的二进制数的比特位进行置乱,包括:
为P帧中元素构建一个空的长度为预设长度的置乱二进制数,从P帧中元素对应的二进制数的最高位开始依次获取P帧中元素对应的二进制数的每个有效位以及每个无效位;
将P帧中元素对应的二进制数的第一个有效位作为待置乱比特位,获取P帧的置乱子序
列中第一个数值,将P帧中元素对应的二进制数的待置乱比特位放置在置乱二进制数的
第个比特位上;当存在其他有效位时,将下一个有效位作为新的待置乱比特位,当不存在
其他有效位时,将第一个无效位作为新的待置乱比特位,获取P帧的置乱子序列中第二个数
值,获取P帧中元素的置乱二进制数中为空的比特位作为候选比特位,获取所有候选比特
位的位数s;当时,将P帧中元素对应的二进制数的待置乱比特位放置在第个候选比
特位上;当>s时,将的结果记为m,其中为求余数符号,将P帧中元素对应的二进制
数的待置乱比特位放置在第m个候选比特位上;
依次类推,依次将每个有效位以及每个无效位分别作为待置乱比特位,根据置乱子序列中的数值将待置乱比特位放置在置乱二进制数的每个比特位上;
将P帧中所有元素对应的置乱二进制数构成一个二维矩阵,作为比特置乱P帧。
7.根据权利要求1所述的用于网络数据安全交换的视频加密方法,其特征在于,所述对I帧进行比特分层,将得到的所有比特平面转换为待隐藏比特序列,包括的具体步骤如下:
将I帧中每个元素转换为长度为8的二进制数据,将I帧中所有元素对应的二进制数据的同一比特位的比特值划分为一个比特平面;将每个比特平面中所有比特值逐行提取组成一个比特序列,将所有比特序列按照比特位从高到低合并为一个比特序列,作为待隐藏比特序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310000539.6A CN115695675B (zh) | 2023-01-03 | 2023-01-03 | 用于网络数据安全交换的视频加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310000539.6A CN115695675B (zh) | 2023-01-03 | 2023-01-03 | 用于网络数据安全交换的视频加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115695675A CN115695675A (zh) | 2023-02-03 |
CN115695675B true CN115695675B (zh) | 2023-03-10 |
Family
ID=85057288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310000539.6A Active CN115695675B (zh) | 2023-01-03 | 2023-01-03 | 用于网络数据安全交换的视频加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115695675B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865523B (zh) * | 2023-02-14 | 2023-04-28 | 杭银消费金融股份有限公司 | 一种用于信息分析系统的数据加密传输方法 |
CN116545771B (zh) * | 2023-07-05 | 2023-09-15 | 上海伯镭智能科技有限公司 | 一种智能驾驶系统测试数据的智能存储方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999055089A1 (en) * | 1998-04-21 | 1999-10-28 | Solana Technology Development Corporation | Multimedia adaptive scrambling system (mass) |
CN102176759A (zh) * | 2011-02-15 | 2011-09-07 | 天津理工大学 | 基于超混沌序列的视频流信息加密方法 |
CN107613304A (zh) * | 2017-09-11 | 2018-01-19 | 西安电子科技大学 | 基于安卓平台的移动终端视频流隐密传输方法 |
CN112084517A (zh) * | 2020-09-15 | 2020-12-15 | 郑州轻工业大学 | 一种基于混沌映射和比特级置换的图像加密方法 |
CN113194213A (zh) * | 2021-04-08 | 2021-07-30 | 安徽大学 | 一种基于秘密共享和混沌映射的png图像信息隐藏和恢复方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105721873A (zh) * | 2016-02-03 | 2016-06-29 | 西安电子科技大学 | 基于mpeg4/2的隐秘传输方法 |
CN108566500B (zh) * | 2018-03-02 | 2021-02-26 | 西南交通大学 | 基于混合加密机制的自适应图像加密域可逆隐藏方法 |
CN112258520B (zh) * | 2020-10-16 | 2022-03-29 | 齐鲁工业大学 | 基于二维滞后复Logistic映射的图像加解密通信方法 |
-
2023
- 2023-01-03 CN CN202310000539.6A patent/CN115695675B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999055089A1 (en) * | 1998-04-21 | 1999-10-28 | Solana Technology Development Corporation | Multimedia adaptive scrambling system (mass) |
CN102176759A (zh) * | 2011-02-15 | 2011-09-07 | 天津理工大学 | 基于超混沌序列的视频流信息加密方法 |
CN107613304A (zh) * | 2017-09-11 | 2018-01-19 | 西安电子科技大学 | 基于安卓平台的移动终端视频流隐密传输方法 |
CN112084517A (zh) * | 2020-09-15 | 2020-12-15 | 郑州轻工业大学 | 一种基于混沌映射和比特级置换的图像加密方法 |
CN113194213A (zh) * | 2021-04-08 | 2021-07-30 | 安徽大学 | 一种基于秘密共享和混沌映射的png图像信息隐藏和恢复方法 |
Non-Patent Citations (1)
Title |
---|
王毅等.一种基于灰度和位置的双置乱图像算法.《通信技术》.2017,(第12期), * |
Also Published As
Publication number | Publication date |
---|---|
CN115695675A (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108566500B (zh) | 基于混合加密机制的自适应图像加密域可逆隐藏方法 | |
CN115695675B (zh) | 用于网络数据安全交换的视频加密方法 | |
CN113194213B (zh) | 一种基于秘密共享和混沌映射的png图像信息隐藏和恢复方法 | |
WO2014075469A1 (zh) | 一种信息隐藏方法及装置 | |
Bansod et al. | Modified BPCS steganography using Hybrid cryptography for improving data embedding capacity | |
CN109889687B (zh) | 基于交流统计特征改变的jpeg图像比特流加密方法 | |
Phad Vitthal et al. | A novel security scheme for secret data using cryptography and steganography | |
CN109547663B (zh) | 一种结合密码学的改进lsb图像隐写方法 | |
CN108563956A (zh) | 基于高位翻转预测的安全加密域可逆信息隐藏方法 | |
Nyo et al. | Secure data transmission of video steganography using Arnold scrambling and DWT | |
Jasra et al. | Image encryption techniques: A review | |
Ilasariya et al. | Image steganography using Blowfish algorithm and transmission via apache kafka | |
Jebur et al. | Hiding Information in Digital Images Using LSB Steganography Technique. | |
Aiswarya et al. | Review on cryptography and steganography techniques in video | |
CN116192360A (zh) | 一种基于2d压缩感知的非对称视觉有意义图像加密方法 | |
Gutte et al. | Comparison of Steganography at One LSB and Two LSB Positions | |
Bouslimi et al. | An a priori and a posteriori protection by means of data hiding of encrypted images: application to ultrasound images | |
Abdelmged et al. | A Combined approach of steganography and cryptography technique based on parity checker and huffman encoding | |
Hamsanandhini et al. | Securing Data in the Image Using SHA & ECC | |
CN113486386B (zh) | 一种基于半张量积压缩感知的双图像压缩加密方法 | |
Abood et al. | High Security Image Cryptographic Algorithm Using Chaotic Encryption Algorithm with Hash-LSB Steganography | |
Nyo et al. | Secure data transmission using steganography and twisted exchange algorithm | |
Agrawal et al. | Increased embedding rate by reversing the order of data hiding and encryption | |
Harsoor et al. | Reversible data hiding in encrypted image | |
Ojo et al. | Stegovideo: An Efficient Mechanism for Securing Video Data Using Steganography and Cryptography Techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |