CN114286129A - 一种音视频数据加密、解密方法及装置 - Google Patents
一种音视频数据加密、解密方法及装置 Download PDFInfo
- Publication number
- CN114286129A CN114286129A CN202111476956.5A CN202111476956A CN114286129A CN 114286129 A CN114286129 A CN 114286129A CN 202111476956 A CN202111476956 A CN 202111476956A CN 114286129 A CN114286129 A CN 114286129A
- Authority
- CN
- China
- Prior art keywords
- matrix
- encryption
- video data
- audio
- data
- 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.)
- Granted
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
本发明提供一种音视频数据加密、解密方法及装置,包括:获取用户输入的加密秘钥;利用所述加密秘钥对预存的4*4加密矩阵进行变换,得到最终4*4加密矩阵;根据预设加密运算规则,利用所述最终4*4加密矩阵对原始音视频数据进行加密,得到加密后的音视频数据,并将所述最终4*4加密矩阵转换为解密秘钥,并利用所述解密秘钥对所述加密后的音视频数据进行解密得到所述原始音视频数据。本发明方案,避免加密秘钥和加密矩阵泄漏导致数据被破解,大幅度减少对音视频数据的操作次数,提高了音视频加解密速度,提高了音视频数据播放的流畅性。
Description
技术领域
本发明涉及数据保护技术领域,尤其涉及一种音视频数据加密、解密方法及装置。
背景技术
随着视频播放器的应用越来越广,对隐私保护、数据安全的要求也就越来越高,对音视频数据进行加解密是直接有效保护数据及隐私的技术手段。
音视频数据加密与解密已经广泛应用到各个领域,如短视频、直播、监控等等,但目前市面上的加解密方法并不理想,大部分方法加解密计算量巨大且速度过于缓慢,甚至会产生冗余数据,很难保证视频的实时传输和播放。无法满足高质量视频加密保护和实时播放的双重要求。
因此,如何提供一种轻量级的音视频数据加解密方法,在不增加音视频数据大小的前提下对音视频数据进行加解密,提高加解密速度,满足高分辨率音视频画面刷新速度来对音视频数据进行解密,成为本领域亟待解决的问题。
发明内容
本发明提供一种音视频数据加密、解密方法及装置,通过轻量级的音视频数据加解密方法,解决了加解密速度慢、加密后数据膨胀问题,提高用户的观看体验。
根据本发明的一个实施例,提供了一种音视频数据加密方法,包括:
获取用户输入的加密秘钥;
利用所述加密秘钥对预存的4*4加密矩阵进行变换,得到最终4*4加密矩阵;
根据预设加密运算规则,利用所述最终4*4加密矩阵对原始音视频数据进行加密,得到加密后的音视频数据,并将所述最终4*4加密矩阵转换为解密秘钥,并利用所述解密秘钥对所述加密后的音视频数据进行解密得到所述原始音视频数据。
可选地,所述利用所述加密秘钥对预存的4*4加密矩阵进行变换时,采用以下变换规则进行:
对所述4*4加密矩阵的每个矩阵元素进行变换时,从所述加密秘钥的第一个字节数据开始,对所述加密秘钥的每个字节数据重复进行左移Z1位以及将左移后的字节数据与所述矩阵元素进行求和运算的步骤,得到首次变换的4*4加密矩阵;
对所述首次变换的4*4加密矩阵的每个矩阵元素进行变换时,将所述首次变换的4*4加密矩阵中间的2*2子矩阵进行顺时针旋转,将其余矩阵元素进行逆时针旋转,将所述首次变换的4*4加密矩阵的第X个矩阵元素左移Z2位,将左移后的第X个矩阵元素与旋转后的4*4加密矩阵的第X个矩阵元素进行求和运算,得到二次变换的4*4加密矩阵;
对所述二次变换的4*4加密矩阵的每个矩阵元素进行变换时,将所述二次变换的4*4加密矩阵的第Y个矩阵元素左移Z3位,将所述二次变换的4*4加密矩阵的第Y个矩阵元素右移Z3位,将左移后的第Y个矩阵元素与右移后的第Y个矩阵元素进行或运算,得到新的第Y个矩阵元素,将所述新的第Y个矩阵元素左移Z4位,将所述新的第Y个矩阵元素右移Z5位,将左移后的新的第Y个矩阵元素与右移后的新的第Y个矩阵元素进行或运算,得到最终4*4加密矩阵,其中,所述Z3、Z4及Z5的数值是预先设定的固定值。
可选地,所述所述加密秘钥的字节数据左移位数Z1采用如下公式计算:
Z1=(M+N)%8
其中,M表示当前正在对所述4*4加密矩阵的第M个矩阵元素进行变换,N表示当前正在使用所述加密秘钥的第N个字节数据。
可选地,所述所述首次变换的4*4加密矩阵的第X个矩阵元素左移位数Z2采用如下公式计算:
Z2=j×2
其中,j表示第X个矩阵元素在所述首次变换的4*4加密矩阵中所处的列数。
可选地,所述利用所述最终4*4加密矩阵对原始音视频数据进行加密,采用以下加密运算规则进行:
将原始音视频数据切分为多个与4*4加密矩阵字节大小相同的数据块;
对原始音视频数据的每个数据块进行加密时,将最终4*4加密矩阵中间的2*2子矩阵进行顺时针旋转,并将其余矩阵元素进行逆时针旋转;
将所述数据块以字节为单位进行加密运算,将所述数据块的第A个字节数据左移Z6位,将所述数据块的第A个字节数据右移Z6位,将左移后的第A个字节数据与右移后的第A个字节数据进行或运算,得到首次运算的第A个字节数据,其中,所述Z6的数值是预先设定的固定值;
将所述首次运算的第A个字节数据与旋转后的最终4*4加密矩阵的第A个矩阵元素进行按位异或运算后再进行按位取反运算,得到二次运算的第A个字节数据;
将所述二次运算的第A个字节数据左移Z7位,将所述二次运算的第A个字节数据右移Z8位,将左移后的二次运算的第A个字节数据与右移后的二次运算的第A个字节数据进行或运算,得到加密后的第A个字节数据,其中,所述Z7及Z8的数值是预先设定的固定值。
根据本发明的另一个实施例,还提供了一种音视频数据解密方法,包括:
获取解密秘钥和加密后的音视频数据,其中,所述解密秘钥是将所述最终4*4加密矩阵旋转对原始音视频数据进行加密后得到的,所述加密后的音视频数据是利用用户输入的加密秘钥和所述最终4*4加密矩阵对采集的原始音视频数据进行加密得到的;
将所述解密秘钥转换为16个16进制矩阵元素得到4*4解密矩阵;
利用所述4*4解密矩阵对所述加密后的音视频数据进行解密得到所述原始音视频数据。
可选地,所述利用所述最终4*4加密矩阵对所述加密后的音视频数据进行解密得到所述原始音视频数据,包括:
将所述加密后的音视频数据切分为多个与4*4加密矩阵字节大小相同的加密数据块;
对所述加密后的音视频数据的每个加密数据块进行解密时,将所述4*4解密矩阵中间的2*2子矩阵进行逆时针旋转,并将其余矩阵元素进行顺时针旋转;
将所述加密数据块以字节为单位进行解密运算,将所述加密数据块的第B个字节数据左移Z8位,将所述加密数据块的第B个字节数据右移Z7位,将左移后的第B个字节数据与右移后的第B个字节数据进行或运算,得到首次运算的第B个字节数据;
将所述首次运算的第B个字节数据与旋转后的4*4解密矩阵的第B个矩阵元素进行按位取反运算后再进行按位异或运算,得到二次运算的第B个字节数据;
将所述二次运算的第B个字节数据左移Z6位,将所述二次运算的第B个字节数据右移Z6位,将左移后的第B个字节数据与右移后的第B个字节数据进行或运算,得到解密后的第B个字节数据。
根据本发明的另一个实施例,还提供了一种视频数据加密装置,包括:
第一获取模块,用于获取用户输入的加密秘钥;
矩阵变换模块,用于利用所述加密秘钥对预存的4*4加密矩阵进行变换,得到最终4*4加密矩阵;
加密模块,用于根据预设加密运算规则,利用所述最终4*4加密矩阵对原始音视频数据进行加密,得到加密后的音视频数据,并将所述最终4*4加密矩阵转换为解密秘钥,并利用所述解密秘钥对所述加密后的音视频数据进行解密得到所述原始音视频数据。
可选地,所述矩阵变换模块,具体用于对所述4*4加密矩阵的每个矩阵元素进行变换时,从所述加密秘钥的第一个字节数据开始,对所述加密秘钥的每个字节数据重复进行左移Z1位以及将左移后的字节数据与所述矩阵元素进行求和运算的步骤,得到首次变换的4*4加密矩阵;对所述首次变换的4*4加密矩阵的每个矩阵元素进行变换时,将所述首次变换的4*4加密矩阵中间的2*2子矩阵进行顺时针旋转,将其余矩阵元素进行逆时针旋转,将所述首次变换的4*4加密矩阵的第X个矩阵元素左移Z2位,将左移后的第X个矩阵元素与旋转后的4*4加密矩阵的第X个矩阵元素进行求和运算,得到二次变换的4*4加密矩阵;对所述二次变换的4*4加密矩阵的每个矩阵元素进行变换时,将所述二次变换的4*4加密矩阵的第Y个矩阵元素左移Z3位,将所述二次变换的4*4加密矩阵的第Y个矩阵元素右移Z3位,将左移后的第Y个矩阵元素与右移后的第Y个矩阵元素进行或运算,得到新的第Y个矩阵元素,将所述新的第Y个矩阵元素左移Z4位,将所述新的第Y个矩阵元素右移Z5位,将左移后的新的第Y个矩阵元素与右移后的新的第Y个矩阵元素进行或运算,得到最终4*4加密矩阵,其中,所述Z3、Z4及Z5的数值是预先设定的固定值。
可选地,所述所述加密秘钥的字节数据左移位数Z1采用如下公式计算:
Z1=(M+N)%8
其中,M表示当前正在对所述4*4加密矩阵的第M个矩阵元素进行变换,N表示当前正在使用所述加密秘钥的第N个字节数据。
可选地,所述所述首次变换的4*4加密矩阵的第X个矩阵元素左移位数Z2采用如下公式计算:
Z2=j×2
其中,j表示第X个矩阵元素在所述首次变换的4*4加密矩阵中所处的列数。
可选地,所述加密模块,具体用于将原始音视频数据切分为多个与4*4加密矩阵字节大小相同的数据块;对原始音视频数据的每个数据块进行加密时,将最终4*4加密矩阵中间的2*2子矩阵进行顺时针旋转,并将其余矩阵元素进行逆时针旋转;将所述数据块以字节为单位进行加密运算,将所述数据块的第A个字节数据左移Z6位,将所述数据块的第A个字节数据右移Z6位,将左移后的第A个字节数据与右移后的第A个字节数据进行或运算,得到首次运算的第A个字节数据,其中,所述Z6的数值是预先设定的固定值;将所述首次运算的第A个字节数据与旋转后的最终4*4加密矩阵的第A个矩阵元素进行按位异或运算后再进行按位取反运算,得到二次运算的第A个字节数据;将所述二次运算的第A个字节数据左移Z7位,将所述二次运算的第A个字节数据右移Z8位,将左移后的二次运算的第A个字节数据与右移后的二次运算的第A个字节数据进行或运算,得到加密后的第A个字节数据,其中,所述Z7及Z8的数值是预先设定的固定值。
根据本发明的另一个实施例,还提供了一种视频数据解密装置,包括:
第二获取模块,用于获取解密秘钥和加密后的音视频数据,其中,所述解密秘钥是将所述最终4*4加密矩阵旋转对原始音视频数据进行加密后得到的,所述加密后的音视频数据是利用用户输入的加密秘钥和所述最终4*4加密矩阵对采集的原始音视频数据进行加密得到的;
秘钥转换模块,用于将所述解密秘钥转换为16个16进制矩阵元素得到4*4解密矩阵;
解密模块,用于利用所述4*4解密矩阵对所述加密后的音视频数据进行解密得到所述原始音视频数据。
可选地,所述解密模块,具体用于将所述加密后的音视频数据切分为多个与4*4加密矩阵字节大小相同的加密数据块;对所述加密后的音视频数据的每个加密数据块进行解密时,将所述4*4解密矩阵中间的2*2子矩阵进行逆时针旋转,并将其余矩阵元素进行顺时针旋转;将所述加密数据块以字节为单位进行解密运算,将所述加密数据块的第B个字节数据左移Z8位,将所述加密数据块的第B个字节数据右移Z7位,将左移后的第B个字节数据与右移后的第B个字节数据进行或运算,得到首次运算的第B个字节数据;将所述首次运算的第B个字节数据与旋转后的4*4解密矩阵的第B个矩阵元素进行按位取反运算后再进行按位异或运算,得到二次运算的第B个字节数据;将所述二次运算的第B个字节数据左移Z6位,将所述二次运算的第B个字节数据右移Z6位,将左移后的第B个字节数据与右移后的第B个字节数据进行或运算,得到解密后的第B个字节数据。
本发明提供的本发明提供一种音视频数据加密、解密方法及装置,利用加密秘钥和加密矩阵将内存中的音视频数据转换为其他数据,过程中采用了大量数据的按位异或、按位取反、左移、右移等操作,没有产生多余的数据,而且对加密矩阵进行多次转换,避免加密秘钥和加密矩阵泄漏导致数据被破解,加密和解密均大幅度减少对数据的操作次数,提高了加解密速度,以满足高分辨率音视频画面刷新速度,提高音视频数据播放的流畅性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例一提供的一种音视频数据加密方法的流程示意图;
图2为本公开实施例二提供的一种音视频数据解密方法的流程示意图;
图3为本公开实施例三提供的一种音视频数据加密装置的结构示意图;
图4为本公开实施例四提供的一种音视频数据解密装置的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本公开,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。
实施例一
图1为本公开实施例一提供的一种音视频数据加密方法的流程示意图,本实施例的执行主体为音视频数据加密装置,该装置可以由软件和/或硬件的方式来实现,并可集成于服务器或者终端中,如图1所示,本公开实施例提供的一种音视频数据加密方法,包括:
S101、获取用户输入的加密秘钥。
本实施例中,加密秘钥可为用户收入的一个特定长度的字符串,用以对加密矩阵进行转换,防止加密矩阵泄漏导致数据被解密。
S102、利用所述加密秘钥对预存的4*4加密矩阵进行变换,得到最终4*4加密矩阵。
本实施例中,由于音视频数据加密是利用4*4加密矩阵与音视频字节数据进行运算,将音视频字节数据转换为其他数据,以实现音视频数据的保护,因此保证4*4加密矩阵的安全至关重要,在对音视频数据进行加密之前,可将加密秘钥与预存的4*4加密矩阵进行左移、右移、求和预算、或运算等操作,将预存的4*4加密矩阵转换为另一个未知的4*4加密矩阵。
在一种可能的实施方式中,利用所述加密秘钥对预存的4*4加密矩阵进行变换时,采用以下变换规则进行:对所述4*4加密矩阵的每个矩阵元素进行变换时,从所述加密秘钥的第一个字节数据开始,对所述加密秘钥的每个字节数据重复进行左移Z1位以及将左移后的字节数据与所述矩阵元素进行求和运算的步骤,得到首次变换的4*4加密矩阵,Z1计算公式为Z1=(M+N)%8,其中,M表示当前正在对所述4*4加密矩阵的第M个矩阵元素进行变换,N表示当前正在使用所述加密秘钥的第N个字节数据;对所述首次变换的4*4加密矩阵的每个矩阵元素进行变换时,将所述首次变换的4*4加密矩阵中间的2*2子矩阵进行顺时针旋转,将其余矩阵元素进行逆时针旋转,将所述首次变换的4*4加密矩阵的第X个矩阵元素左移Z2位,Z2计算公式为Z2=j×2,其中,j表示第X个矩阵元素在所述首次变换的4*4加密矩阵中所处的列数,将左移后的第X个矩阵元素与旋转后的4*4加密矩阵的第X个矩阵元素进行求和运算,得到二次变换的4*4加密矩阵;对所述二次变换的4*4加密矩阵的每个矩阵元素进行变换时,将所述二次变换的4*4加密矩阵的第Y个矩阵元素左移Z3位,将所述二次变换的4*4加密矩阵的第Y个矩阵元素右移Z3位,将左移后的第Y个矩阵元素与右移后的第Y个矩阵元素进行或运算,得到新的第Y个矩阵元素,将所述新的第Y个矩阵元素左移Z4位,将所述新的第Y个矩阵元素右移Z5位,将左移后的新的第Y个矩阵元素与右移后的新的第Y个矩阵元素进行或运算,得到最终4*4加密矩阵,其中,所述Z3、Z4及Z5的数值是预先设定的固定值。
举例来说,加密秘钥为CDEFGH,首先对4*4加密矩阵的第一个矩阵元素进行首次变换,将C左移Z1位得到C’,Z1=(1+1)%8=2,将C’与4*4加密矩阵的第一个矩阵元素进行求和,得到新的第一个矩阵元素,将DEFGH依次左移Z1位得到D’E’F’G’H’,将D’E’F’G’H’与每次求和得到的新的第一个矩阵元素依次求和,得到首次变换的4*4加密矩阵的第一个矩阵元素,同理利用加密秘钥CDEFGH对4*4加密矩阵的其他15个矩阵元素进行首次变换,得到新的第2-15个矩阵元素,最终得到首次变换的4*4加密矩阵,为了进一步增加4*4加密矩阵的安全性,继续对首次变换的4*4加密矩阵进行二次变换,首先对首次变换的4*4加密矩阵的第一个矩阵元素进行二次变换,将首次变换的4*4加密矩阵中间的2*2子矩阵进行顺时针选转,将其余矩阵元素进行逆时针旋转,将所述首次变换的4*4加密矩阵的第一个矩阵元素左移Z2位,由于第一个矩阵元素处于第1列,Z2=1×2=2,将左移后的第一个矩阵元素与旋转后的4*4加密矩阵的第一个矩阵元素进行求和运算,得到二次变换的4*4加密矩阵的第一个矩阵元素,重复15次,将首次变换的4*4加密矩阵的其他15个矩阵元素进行二次变换,得到二次变换的4*4加密矩阵,为了进一步增加4*4加密矩阵的安全性,继续对二次变换的4*4加密矩阵进行第三次变换,首先对二次变换的4*4加密矩阵的第一个矩阵元素进行第三次变换,将二次变换的4*4加密矩阵的第一个矩阵元素左移Z3位,将二次变换的4*4加密矩阵的第一个矩阵元素右移Z3位,Z3设置为3,将左移后的第一个矩阵元素与右移后的第一个矩阵元素进行或运算,得到新的第一个矩阵元素,将所述新的第一个矩阵元素左移Z4位,Z4设置为4,将新的第一个矩阵元素右移Z5位,Z5设置为5,将左移后的新的第一个矩阵元素与右移后的新的第一个矩阵元素进行或运算,得到最终4*4加密矩阵的第一个矩阵元素,重复15次,将二次变换的4*4加密矩阵的其他15个矩阵元素进行第三次变换,得到最终4*4加密矩阵。
S103、根据预设加密运算规则,利用所述最终4*4加密矩阵对原始音视频数据进行加密,得到加密后的音视频数据,并将所述最终4*4加密矩阵转换为解密秘钥,并利用所述解密秘钥对所述加密后的音视频数据进行解密得到所述原始音视频数据。
本实施例中,可利用最终4*4加密矩阵与原始音视频数据进行字节层面的运算,将原始音视频数据的字节数据转换为未知的字节数据,实现原始音视频数据的加密,并将最终4*4加密矩阵转换为解密秘钥,用以将未知的字节数据还原成原始音视频数据,实现加密音视频数据的解密。
在一种可能的实施方式中,利用所述最终4*4加密矩阵对原始音视频数据进行加密,采用以下加密运算规则进行:将原始音视频数据切分为多个与4*4加密矩阵字节大小相同的数据块;对原始音视频数据的每个数据块进行加密时,将最终4*4加密矩阵中间的2*2子矩阵进行顺时针旋转,并将其余矩阵元素进行逆时针旋转;将所述数据块以字节为单位进行加密运算,将所述数据块的第A个字节数据左移Z6位,将所述数据块的第A个字节数据右移Z6位,将左移后的第A个字节数据与右移后的第A个字节数据进行或运算,得到首次运算的第A个字节数据,其中,所述Z6的数值是预先设定的固定值;将所述首次运算的第A个字节数据与旋转后的最终4*4加密矩阵的第A个矩阵元素进行按位异或运算后再进行按位取反运算,得到二次运算的第A个字节数据;将所述二次运算的第A个字节数据左移Z7位,将所述二次运算的第A个字节数据右移Z8位,将左移后的二次运算的第A个字节数据与右移后的二次运算的第A个字节数据进行或运算,得到加密后的第A个字节数据,其中,所述Z7及Z8的数值是预先设定的固定值。
本公开实施例所提供的技术方案,获取用户输入的加密秘钥;利用所述加密秘钥对预存的4*4加密矩阵进行变换,得到最终4*4加密矩阵;根据预设加密运算规则,利用所述最终4*4加密矩阵对原始音视频数据进行加密,得到加密后的音视频数据,并将所述最终4*4加密矩阵转换为解密秘钥,并利用所述解密秘钥对所述加密后的音视频数据进行解密得到所述原始音视频数据。通过采用本公开所提供的技术方案,利用加密秘钥和加密矩阵将内存中的音视频数据转换为其他数据,过程中采用了大量数据的按位异或、按位取反、左移、右移等操作,没有产生多余的数据,而且对加密矩阵进行多次转换,避免加密秘钥和加密矩阵泄漏导致数据被破解,加密大幅度减少对数据的操作次数,提高了加密速度。
实施例二
图2为本公开实施例二提供的一种音视频数据解密方法的流程示意图,本实施例的执行主体为音视频数据解密装置,该装置可以由软件和/或硬件的方式来实现,并可集成于服务器或者终端中,如图2所示,本公开实施例提供的一种音视频数据解密方法,包括:
S201、获取解密秘钥和加密后的音视频数据,其中,所述解密秘钥是将所述最终4*4加密矩阵旋转对原始音视频数据进行加密后得到的,所述加密后的音视频数据是利用用户输入的加密秘钥和所述最终4*4加密矩阵对采集的原始音视频数据进行加密得到的。
其中,解密秘钥是由加密完成后得到的4*4矩阵生成的。
S202、将所述解密秘钥转换为16个16进制矩阵元素得到4*4解密矩阵。
本实施例中,由于对音视频数据进行加密后,4*4加密矩阵随着加密运算变为另一个4*4矩阵,进而生成解密秘钥,将解密秘钥进行转换得到的4*4矩阵可称为4*4解密矩阵,用以将加密后的音视频数据解密为原始音视频数据。
S203、利用所述4*4解密矩阵对所述加密后的音视频数据进行解密得到所述原始音视频数据。
本实施例中,解密过程为加密过程的逆运算,可利用4*4解密矩阵将加密后的音视频数据还原为原始音视频数据,可进行音视频播放。
在一种可能的实施方式中,利用所述最终4*4加密矩阵对所述加密后的音视频数据进行解密得到所述原始音视频数据,包括:将所述加密后的音视频数据切分为多个与4*4加密矩阵字节大小相同的加密数据块;对所述加密后的音视频数据的每个加密数据块进行解密时,将所述4*4解密矩阵中间的2*2子矩阵进行逆时针旋转,并将其余矩阵元素进行顺时针旋转;将所述加密数据块以字节为单位进行解密运算,将所述加密数据块的第B个字节数据左移Z8位,将所述加密数据块的第B个字节数据右移Z7位,将左移后的第B个字节数据与右移后的第B个字节数据进行或运算,得到首次运算的第B个字节数据;将所述首次运算的第B个字节数据与旋转后的4*4解密矩阵的第B个矩阵元素进行按位取反运算后再进行按位异或运算,得到二次运算的第B个字节数据;将所述二次运算的第B个字节数据左移Z6位,将所述二次运算的第B个字节数据右移Z6位,将左移后的第B个字节数据与右移后的第B个字节数据进行或运算,得到解密后的第B个字节数据。
其中,解密过程中用到的Z6、Z7和Z8与加密过程中用到的Z6、Z7和Z8相同。
本公开实施例所提供的技术方案,利用加密后生成的解密秘钥得到4*4解密矩阵,并利用4*4解密矩阵逆向运算将加密后的音视频数据解密为原始音视频数据,提高了数据解密速度,与加密方法配合使用,能够满足高分辨率音视频画面刷新速度,提高音视频数据播放的流畅性。
实施例三
图3为本公开实施例三提供的一种音视频数据加密装置的结构示意图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图3,所述音视频数据加密装置包括:
第一获取模块31,用于获取用户输入的加密秘钥;
矩阵变换模块32,用于利用所述加密秘钥对预存的4*4加密矩阵进行变换,得到最终4*4加密矩阵;
加密模块33,用于根据预设加密运算规则,利用所述最终4*4加密矩阵对原始音视频数据进行加密,得到加密后的音视频数据,并将所述最终4*4加密矩阵转换为解密秘钥,并利用所述解密秘钥对所述加密后的音视频数据进行解密得到所述原始音视频数据。
可选地,所述矩阵变换模块32,具体用于对所述4*4加密矩阵的每个矩阵元素进行变换时,从所述加密秘钥的第一个字节数据开始,对所述加密秘钥的每个字节数据重复进行左移Z1位以及将左移后的字节数据与所述矩阵元素进行求和运算的步骤,得到首次变换的4*4加密矩阵;对所述首次变换的4*4加密矩阵的每个矩阵元素进行变换时,将所述首次变换的4*4加密矩阵中间的2*2子矩阵进行顺时针旋转,将其余矩阵元素进行逆时针旋转,将所述首次变换的4*4加密矩阵的第X个矩阵元素左移Z2位,将左移后的第X个矩阵元素与旋转后的4*4加密矩阵的第X个矩阵元素进行求和运算,得到二次变换的4*4加密矩阵;对所述二次变换的4*4加密矩阵的每个矩阵元素进行变换时,将所述二次变换的4*4加密矩阵的第Y个矩阵元素左移Z3位,将所述二次变换的4*4加密矩阵的第Y个矩阵元素右移Z3位,将左移后的第Y个矩阵元素与右移后的第Y个矩阵元素进行或运算,得到新的第Y个矩阵元素,将所述新的第Y个矩阵元素左移Z4位,将所述新的第Y个矩阵元素右移Z5位,将左移后的新的第Y个矩阵元素与右移后的新的第Y个矩阵元素进行或运算,得到最终4*4加密矩阵,其中,所述Z3、Z4及Z5的数值是预先设定的固定值。
可选地,所述所述加密秘钥的字节数据左移位数Z1采用如下公式计算:
Z1=(M+N)%8
其中,M表示当前正在对所述4*4加密矩阵的第M个矩阵元素进行变换,N表示当前正在使用所述加密秘钥的第N个字节数据。
可选地,所述所述首次变换的4*4加密矩阵的第X个矩阵元素左移位数Z2采用如下公式计算:
Z2=j×2
其中,j表示第X个矩阵元素在所述首次变换的4*4加密矩阵中所处的列数。
可选地,所述加密模块33,具体用于将原始音视频数据切分为多个与4*4加密矩阵字节大小相同的数据块;对原始音视频数据的每个数据块进行加密时,将最终4*4加密矩阵中间的2*2子矩阵进行顺时针旋转,并将其余矩阵元素进行逆时针旋转;将所述数据块以字节为单位进行加密运算,将所述数据块的第A个字节数据左移Z6位,将所述数据块的第A个字节数据右移Z6位,将左移后的第A个字节数据与右移后的第A个字节数据进行或运算,得到首次运算的第A个字节数据,其中,所述Z6的数值是预先设定的固定值;将所述首次运算的第A个字节数据与旋转后的最终4*4加密矩阵的第A个矩阵元素进行按位异或运算后再进行按位取反运算,得到二次运算的第A个字节数据;将所述二次运算的第A个字节数据左移Z7位,将所述二次运算的第A个字节数据右移Z8位,将左移后的二次运算的第A个字节数据与右移后的二次运算的第A个字节数据进行或运算,得到加密后的第A个字节数据,其中,所述Z7及Z8的数值是预先设定的固定值。
实施例四
图4为本公开实施例四提供的一种音视频数据解密装置的结构示意图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图4,所述音视频数据解密装置包括:
第二获取模块41,用于获取解密秘钥和加密后的音视频数据,其中,所述解密秘钥是将所述最终4*4加密矩阵旋转对原始音视频数据进行加密后得到的,所述加密后的音视频数据是利用用户输入的加密秘钥和所述最终4*4加密矩阵对采集的原始音视频数据进行加密得到的;
秘钥转换模块42,用于将所述解密秘钥转换为16个16进制矩阵元素得到4*4解密矩阵;
解密模块43,用于利用所述4*4解密矩阵对所述加密后的音视频数据进行解密得到所述原始音视频数据。
可选地,所述解密模块43,具体用于将所述加密后的音视频数据切分为多个与4*4加密矩阵字节大小相同的加密数据块;对所述加密后的音视频数据的每个加密数据块进行解密时,将所述4*4解密矩阵中间的2*2子矩阵进行逆时针旋转,并将其余矩阵元素进行顺时针旋转;将所述加密数据块以字节为单位进行解密运算,将所述加密数据块的第B个字节数据左移Z8位,将所述加密数据块的第B个字节数据右移Z7位,将左移后的第B个字节数据与右移后的第B个字节数据进行或运算,得到首次运算的第B个字节数据;将所述首次运算的第B个字节数据与旋转后的4*4解密矩阵的第B个矩阵元素进行按位取反运算后再进行按位异或运算,得到二次运算的第B个字节数据;将所述二次运算的第B个字节数据左移Z6位,将所述二次运算的第B个字节数据右移Z6位,将左移后的第B个字节数据与右移后的第B个字节数据进行或运算,得到解密后的第B个字节数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种音视频数据加密方法,其特征在于,包括:
获取用户输入的加密秘钥;
利用所述加密秘钥对预存的4*4加密矩阵进行变换,得到最终4*4加密矩阵;
根据预设加密运算规则,利用所述最终4*4加密矩阵对原始音视频数据进行加密,得到加密后的音视频数据,并将所述最终4*4加密矩阵转换为解密秘钥,并利用所述解密秘钥对所述加密后的音视频数据进行解密得到所述原始音视频数据。
2.根据权利要求1所述的音视频数据加密方法,其特征在于,所述利用所述加密秘钥对预存的4*4加密矩阵进行变换时,采用以下变换规则进行:
对所述4*4加密矩阵的每个矩阵元素进行变换时,从所述加密秘钥的第一个字节数据开始,对所述加密秘钥的每个字节数据重复进行左移Z1位以及将左移后的字节数据与所述4*4加密矩阵的矩阵元素进行求和运算的步骤,得到首次变换的4*4加密矩阵;
对所述首次变换的4*4加密矩阵的每个矩阵元素进行变换时,将所述首次变换的4*4加密矩阵中间的2*2子矩阵进行顺时针旋转,将其余矩阵元素进行逆时针旋转,将所述首次变换的4*4加密矩阵的第X个矩阵元素左移Z2位,将左移后的第X个矩阵元素与旋转后的4*4加密矩阵的第X个矩阵元素进行求和运算,得到二次变换的4*4加密矩阵;
对所述二次变换的4*4加密矩阵的每个矩阵元素进行变换时,将所述二次变换的4*4加密矩阵的第Y个矩阵元素左移Z3位,将所述二次变换的4*4加密矩阵的第Y个矩阵元素右移Z3位,将左移后的第Y个矩阵元素与右移后的第Y个矩阵元素进行或运算,得到新的第Y个矩阵元素,将所述新的第Y个矩阵元素左移Z4位,将所述新的第Y个矩阵元素右移Z5位,将左移后的新的第Y个矩阵元素与右移后的新的第Y个矩阵元素进行或运算,得到最终4*4加密矩阵,其中,所述Z3、Z4及Z5的数值是预先设定的固定值。
3.根据权利要求2所述的音视频数据加密方法,其特征在于,所述所述加密秘钥的字节数据左移位数Z1采用如下公式计算:
Z1=(M+N)%8
其中,M表示当前正在对所述4*4加密矩阵的第M个矩阵元素进行变换,N表示当前正在使用所述加密秘钥的第N个字节数据。
4.根据权利要求2所述的音视频数据加密方法,其特征在于,所述所述首次变换的4*4加密矩阵的第X个矩阵元素左移位数Z2采用如下公式计算:
Z2=j×2
其中,j表示第X个矩阵元素在所述首次变换的4*4加密矩阵中所处的列数。
5.根据权利要求1所述的音视频数据加密方法,其特征在于,所述利用所述最终4*4加密矩阵对原始音视频数据进行加密,采用以下加密运算规则进行:
将原始音视频数据切分为多个与4*4加密矩阵字节大小相同的数据块;
对原始音视频数据的每个数据块进行加密时,将最终4*4加密矩阵中间的2*2子矩阵进行顺时针旋转,并将其余矩阵元素进行逆时针旋转;
将所述数据块以字节为单位进行加密运算,将所述数据块的第A个字节数据左移Z6位,将所述数据块的第A个字节数据右移Z6位,将左移后的第A个字节数据与右移后的第A个字节数据进行或运算,得到首次运算的第A个字节数据,其中,所述Z6的数值是预先设定的固定值;
将所述首次运算的第A个字节数据与旋转后的最终4*4加密矩阵的第A个矩阵元素进行按位异或运算后再进行按位取反运算,得到二次运算的第A个字节数据;
将所述二次运算的第A个字节数据左移Z7位,将所述二次运算的第A个字节数据右移Z8位,将左移后的二次运算的第A个字节数据与右移后的二次运算的第A个字节数据进行或运算,得到加密后的第A个字节数据,其中,所述Z7及Z8的数值是预先设定的固定值。
6.一种音视频数据解密方法,其特征在于,包括:
获取解密秘钥和加密后的音视频数据,其中,所述解密秘钥是将所述最终4*4加密矩阵旋转对原始音视频数据进行加密后得到的,所述加密后的音视频数据是利用用户输入的加密秘钥和所述最终4*4加密矩阵对采集的原始音视频数据进行加密得到的;
将所述解密秘钥转换为16个16进制矩阵元素得到4*4解密矩阵;
利用所述4*4解密矩阵对所述加密后的音视频数据进行解密得到所述原始音视频数据。
7.根据权利要求8所述的音视频数据解密方法,其特征在于,所述利用所述最终4*4加密矩阵对所述加密后的音视频数据进行解密得到所述原始音视频数据,包括:
将所述加密后的音视频数据切分为多个与4*4加密矩阵字节大小相同的加密数据块;
对所述加密后的音视频数据的每个加密数据块进行解密时,将所述4*4解密矩阵中间的2*2子矩阵进行逆时针旋转,并将其余矩阵元素进行顺时针旋转;
将所述加密数据块以字节为单位进行解密运算,将所述加密数据块的第B个字节数据左移Z8位,将所述加密数据块的第B个字节数据右移Z7位,将左移后的第B个字节数据与右移后的第B个字节数据进行或运算,得到首次运算的第B个字节数据;
将所述首次运算的第B个字节数据与旋转后的4*4解密矩阵的第B个矩阵元素进行按位取反运算后再进行按位异或运算,得到二次运算的第B个字节数据;
将所述二次运算的第B个字节数据左移Z6位,将所述二次运算的第B个字节数据右移Z6位,将左移后的第B个字节数据与右移后的第B个字节数据进行或运算,得到解密后的第B个字节数据。
8.一种音视频数据加密装置,其特征在于,包括:
第一获取模块,用于获取用户输入的加密秘钥;
矩阵变换模块,用于利用所述加密秘钥对预存的4*4加密矩阵进行变换,得到最终4*4加密矩阵;
加密模块,用于根据预设加密运算规则,利用所述最终4*4加密矩阵对原始音视频数据进行加密,得到加密后的音视频数据,并将所述最终4*4加密矩阵转换为解密秘钥,并利用所述解密秘钥对所述加密后的音视频数据进行解密得到所述原始音视频数据。
9.一种音视频数据解密装置,其特征在于,包括:
第二获取模块,用于获取解密秘钥和加密后的音视频数据,其中,所述解密秘钥是将所述最终4*4加密矩阵旋转对原始音视频数据进行加密后得到的,所述加密后的音视频数据是利用用户输入的加密秘钥和所述最终4*4加密矩阵对采集的原始音视频数据进行加密得到的;
秘钥转换模块,将所述解密秘钥转换为16个16进制矩阵元素得到4*4解密矩阵;
解密模块,利用所述4*4解密矩阵对所述加密后的音视频数据进行解密得到所述原始音视频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111476956.5A CN114286129B (zh) | 2021-12-02 | 2021-12-02 | 一种音视频数据加密、解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111476956.5A CN114286129B (zh) | 2021-12-02 | 2021-12-02 | 一种音视频数据加密、解密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114286129A true CN114286129A (zh) | 2022-04-05 |
CN114286129B CN114286129B (zh) | 2023-07-25 |
Family
ID=80871283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111476956.5A Active CN114286129B (zh) | 2021-12-02 | 2021-12-02 | 一种音视频数据加密、解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114286129B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242548A (zh) * | 2022-09-20 | 2022-10-25 | 广州万协通信息技术有限公司 | 一种隐私数据定向加密方法、装置、电子设备及存储介质 |
CN116361840A (zh) * | 2023-06-02 | 2023-06-30 | 深圳市力博实业有限公司 | 一种银行自助设备数据安全管理系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011229174A (ja) * | 2011-06-23 | 2011-11-10 | Nti Corp | データ処理装置、データ処理システム、及びデータ処理方法 |
JP2011259439A (ja) * | 2011-06-23 | 2011-12-22 | Nti Corp | 通信システム、通信方法 |
CN109067799A (zh) * | 2018-09-28 | 2018-12-21 | 歌尔科技有限公司 | 数据传输方法、系统及设备 |
CN109245881A (zh) * | 2018-09-14 | 2019-01-18 | 杭州嘀嗒科技有限公司 | 一种照片视频云端加密存储方法 |
CN109376543A (zh) * | 2018-08-28 | 2019-02-22 | 浙江工业大学 | 一种基于aes算法的数据库加密方法 |
CN112887800A (zh) * | 2021-03-11 | 2021-06-01 | 深圳市芯智科技有限公司 | 一种用于机顶盒pvr加密保护的方法 |
CN113538203A (zh) * | 2021-09-01 | 2021-10-22 | 华侨大学 | 基于新型二维复合混沌映射与sha-256的图像加密方法和装置 |
-
2021
- 2021-12-02 CN CN202111476956.5A patent/CN114286129B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011229174A (ja) * | 2011-06-23 | 2011-11-10 | Nti Corp | データ処理装置、データ処理システム、及びデータ処理方法 |
JP2011259439A (ja) * | 2011-06-23 | 2011-12-22 | Nti Corp | 通信システム、通信方法 |
CN109376543A (zh) * | 2018-08-28 | 2019-02-22 | 浙江工业大学 | 一种基于aes算法的数据库加密方法 |
CN109245881A (zh) * | 2018-09-14 | 2019-01-18 | 杭州嘀嗒科技有限公司 | 一种照片视频云端加密存储方法 |
CN109067799A (zh) * | 2018-09-28 | 2018-12-21 | 歌尔科技有限公司 | 数据传输方法、系统及设备 |
CN112887800A (zh) * | 2021-03-11 | 2021-06-01 | 深圳市芯智科技有限公司 | 一种用于机顶盒pvr加密保护的方法 |
CN113538203A (zh) * | 2021-09-01 | 2021-10-22 | 华侨大学 | 基于新型二维复合混沌映射与sha-256的图像加密方法和装置 |
Non-Patent Citations (3)
Title |
---|
叶峰;袁家斌;: "置换密钥矩阵加密算法的改进", 东南大学学报(自然科学版), no. 01 * |
孙锐;闫晓星;丁志中;: "一种用于图像认证的感知哈希方法", 系统仿真学报, no. 02 * |
肖佳;胡谷雨;: "二维触发元胞自动机加密算法的软件实现", 计算机应用与软件, no. 07 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242548A (zh) * | 2022-09-20 | 2022-10-25 | 广州万协通信息技术有限公司 | 一种隐私数据定向加密方法、装置、电子设备及存储介质 |
CN115242548B (zh) * | 2022-09-20 | 2022-12-20 | 广州万协通信息技术有限公司 | 一种隐私数据定向加密方法、装置、电子设备及存储介质 |
CN116361840A (zh) * | 2023-06-02 | 2023-06-30 | 深圳市力博实业有限公司 | 一种银行自助设备数据安全管理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114286129B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Novel image encryption algorithm based on cycle shift and chaotic system | |
Kumar et al. | IEHC: An efficient image encryption technique using hybrid chaotic map | |
Es-Sabry et al. | A new image encryption algorithm using random numbers generation of two matrices and bit-shift operators | |
CN114286129B (zh) | 一种音视频数据加密、解密方法及装置 | |
CN109102452B (zh) | 一种基于拉丁方阵置乱和双向扩散的图像加密方法 | |
Machkour et al. | A novel image encryption algorithm based on the two-dimensional logistic map and the latin square image cipher | |
JP2009544183A (ja) | コーディックとは独立した人間の知覚に対する刺激を表現する素材の暗号化 | |
Wang et al. | A novel block cryptosystem based on the coupled chaotic map lattice | |
Chen | Image sharing method for gray-level images | |
Lin et al. | Chaos based encryption system for encrypting electroencephalogram signals | |
Ramalingam et al. | Hybrid image crypto system for secure image communication–A VLSI approach | |
Saraswathi et al. | A block cipher algorithm for multimedia content protection with random substitution using binary tree traversal | |
Jridi et al. | Real-time and encryption efficiency improvements of simultaneous fusion, compression and encryption method based on chaotic generators | |
Gabr et al. | A combination of decimal-and bit-level secure multimedia transmission | |
Wen et al. | Cryptanalyzing a bit-level image encryption algorithm based on chaotic maps | |
Wang et al. | Construction of a non-degeneracy 3D chaotic map and application to image encryption with keyed S-box | |
Song et al. | Batch image encryption using cross image permutation and diffusion | |
Yi et al. | An algorithm of image encryption based on AES & Rossler hyperchaotic modeling | |
Mathivanan et al. | Color image encryption based on novel kolam scrambling and modified 2D logistic cascade map (2D LCM) | |
Al-hazaimeh | A novel encryption scheme for digital image-based on one dimensional logistic map | |
Lin et al. | A chaos-based visual encryption mechanism for clinical EEG signals | |
Babatunde et al. | An algorithm for a residue number system based video encryption system | |
CN106934755A (zh) | 一种基于m序列的图像加解密方法 | |
Dzwonkowski et al. | Reversible data hiding in encrypted DICOM Images using cyclic binary golay (23, 12) code | |
Chang et al. | Distortion‐free secret image sharing method with two meaningful shadows |
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 |