一种音频加密方法、装置、电子设备及存储介质
文献发布时间:2024-04-18 19:59:31
技术领域
本发明涉及数据安全技术领域,尤其涉及一种音频加密方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的快速崛起,由此带来的一系列数据安全事件,数字安全特别是音频数据的安全传播尤为重要。
例如,由于用户在语音社交类的软件平台上留下了大量的历史语音,当用户在软件平台上对话的语音文件被留存、转发时,如果用户的好友账号被盗用,通过获得好友的语音声音,就可以通过人工智能语音合成软件来模仿用户好友的声音,从而导致安全事件发生。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明提出一种音频加密方法、装置、电子设备及存储介质,通过对音频数据进行加密,能够有效提高音频数据传播的安全性。
一方面,本发明实施例提供了一种音频加密方法,包括:
发送获取音频数据的请求,确定发送所述请求的时间戳;
基于所述时间戳确定基准数,基于所述基准数从预先设置的密钥生成器中选取出相应数量的元素,将选取出的元素连接生成动态密钥;其中,所述密钥生成器包含多个元素,所述动态密钥中元素的数量基于所述基准数确定,选取出的元素中有且只有一个与所述基准数匹配;
接收加密后的音频数据,基于所述动态密钥对所述加密后的音频数据进行解密,得到解密后的音频数据。
可选地,所述基于所述时间戳确定基准数,基于所述基准数从预先设置的密钥生成器中选取出相应数量的元素,将选取出的元素连接生成动态密钥,包括:
获取预先设置的密钥生成器;其中,所述密钥生成器为3*3的矩阵,所述密钥生成器中的每个元素均为[1,9]中的整数,且取值不同;
将所述时间戳中的最后一个数字作为基准数,将所述密钥生成器中与该基准数匹配的元素作为起始元素,将该基准数作为读取元素的数量;
从所述起始元素所在的位置开始,从所述密钥生成器中按顺序依次读取所述数量的元素;
将所述起始元素和读取的元素依次连接后重新排序,得到动态密钥。
可选地,所述加密后的音频数据是通过动态密钥对原始音频数据进行加密生成的加密音频矩阵;所述基于所述动态密钥对所述加密后的音频数据进行解密,得到解密后的音频数据,包括:
将加密音频矩阵进行转置生成第二矩阵;
将所述第二矩阵与动态密钥进行矩阵标量除法运算,生成增强音频矩阵;
将所述增强音频矩阵的值进行解密,生成解密后的音频数据。
另一方面,本发明实施例提供了一种音频加密装置,包括:
第一模块,用于发送获取音频数据的请求,确定发送所述请求的时间戳;
第二模块,用于基于所述时间戳确定基准数,基于所述基准数从预先设置的密钥生成器中选取出相应数量的元素,将选取出的元素连接生成动态密钥;其中,所述密钥生成器包含多个元素,所述动态密钥中元素的数量基于所述基准数确定,选取出的元素中有且只有一个与所述基准数匹配;
第三模块,用于接收加密后的音频数据,基于所述动态密钥对所述加密后的音频数据进行解密,得到解密后的音频数据。
可选地,第二模块具体用于:
获取预先设置的密钥生成器;其中,所述密钥生成器为3*3的矩阵,所述密钥生成器中的每个元素均为[1,9]中的整数,且取值不同;
将所述时间戳中的最后一个数字作为基准数,将所述密钥生成器中与该基准数匹配的元素作为起始元素,将该基准数作为读取元素的数量;
从所述起始元素所在的位置开始,从所述密钥生成器中按顺序依次读取所述数量的元素;
将所述起始元素和读取的元素依次连接后重新排序,得到动态密钥。
可选地,所述加密后的音频数据是通过动态密钥对原始音频数据进行加密生成的加密音频矩阵;第三模块具体用于:
将加密音频矩阵进行转置生成第二矩阵;
将所述第二矩阵与动态密钥进行矩阵标量除法运算,生成增强音频矩阵;
将所述增强音频矩阵的值进行解密,生成解密后的音频数据。
另一方面,本发明实施例提供了一种音频加密方法,包括:
接收获取音频数据的请求,确定所述请求被发送的时间戳;
基于所述时间戳确定基准数,基于所述基准数从预先设置的密钥生成器中选取出相应数量的元素,将选取出的元素连接生成动态密钥;其中,所述密钥生成器包含多个元素,所述动态密钥中元素的数量基于所述基准数确定,选取出的元素中有且只有一个与所述基准数匹配;
基于所述动态密钥对原始音频数据进行加密,得到加密后的音频数据;
响应于所述获取音频数据的请求,发送所述加密后的音频数据。
可选地,所述基于所述时间戳确定基准数,基于所述基准数从预先设置的密钥生成器中选取出相应数量的元素,将选取出的元素连接生成动态密钥,包括:
获取预先设置的密钥生成器;其中,所述密钥生成器为3*3的矩阵,所述密钥生成器中的每个元素均为[1,9]中的整数,且取值不同;
将所述时间戳中的最后一个数字作为基准数,将所述密钥生成器中与该基准数匹配的元素作为起始元素,将该基准数作为读取元素的数量;
从所述起始元素所在的位置开始,从所述密钥生成器中按顺序依次读取所述数量的元素;
将所述起始元素和读取的元素依次连接后重新排序,得到动态密钥。
可选地,所述基于所述动态密钥对原始音频数据进行加密,得到加密后的音频数据,包括:
将原始音频数据转换为多行2列的第一矩阵;
将第一矩阵进行整数转换处理后生成音频数据矩阵;
对音频数据矩阵进行加密增强,得到增强音频矩阵;
将所述增强音频矩阵与所述动态密钥进行矩阵标量乘法运算,得到第二矩阵,将所述第二矩阵的转置矩阵作为加密音频矩阵。
可选地,所述对音频数据矩阵进行加密增强,得到增强音频矩阵,包括:
将音频数据矩阵中同一行的两个值互换,得到第三矩阵;
将所述第三矩阵中同一行的两个值求和后进行二进制转换,得到第四矩阵;
将所述第三矩阵中的每个值进行二进制转换后分别与所述第四矩阵中按行对应的值进行异或运算,得到第五矩阵;
将所述第五矩阵中的每个值进行十进制转换,得到加密音频矩阵。
另一方面,本发明实施例提供了一种音频加密装置,包括:
第四模块,用于接收获取音频数据的请求,确定所述请求被发送的时间戳;
第五模块,用于基于所述时间戳确定基准数,基于所述基准数从预先设置的密钥生成器中选取出相应数量的元素,将选取出的元素连接生成动态密钥;其中,所述密钥生成器包含多个元素,所述动态密钥中元素的数量基于所述基准数确定,选取出的元素中有且只有一个与所述基准数匹配;
第六模块,用于基于所述动态密钥对原始音频数据进行加密,得到加密后的音频数据;
第七模块,用于响应于所述获取音频数据的请求,发送所述加密后的音频数据。
可选地,所述第五模块具体用于:
获取预先设置的密钥生成器;其中,所述密钥生成器为3*3的矩阵,所述密钥生成器中的每个元素均为[1,9]中的整数,且取值不同;
将所述时间戳中的最后一个数字作为基准数,将所述密钥生成器中与该基准数匹配的元素作为起始元素,将该基准数作为读取元素的数量;
从所述起始元素所在的位置开始,从所述密钥生成器中按顺序依次读取所述数量的元素;
将所述起始元素和读取的元素依次连接后重新排序,得到动态密钥。
可选地,所述第六模块具体用于:
将原始音频数据转换为多行2列的第一矩阵;
将第一矩阵进行整数转换处理后生成音频数据矩阵;
对音频数据矩阵进行加密增强,得到增强音频矩阵;
将所述增强音频矩阵与所述动态密钥进行矩阵标量乘法运算,得到第二矩阵,将所述第二矩阵的转置矩阵作为加密音频矩阵。
另一方面,本发明实施例提供了一种电子设备,包括:处理器以及存储器;存储器用于存储程序;处理器执行程序实现上述音频加密方法。
另一方面,本发明实施例提供了一种计算机存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于实现上述音频加密方法。
本发明实施例提供的技术方案的有益效果是:
本发明实施例首先通过预先设置的密钥生成器和所述时间戳生成动态密钥,由于密钥生成器预先设置,在确定时间戳后,发送端和接收端按照同样的密钥生成方法可以生成相同的动态密钥,从而作为对音频数据进行解密的依据,基于动态密钥对加密后的音频数据进行解密,得到解密后的音频数据。本发明基于时间戳中的最后一个数字和预先设置的密钥生成器生成动态密钥,采用动态密钥对音频数据进行加密,即使音频文件泄露出去,也无法对加密后的音频数据进行解密,无法正常的播放音频数据,相对于对音频文件进行加密方式更加的安全可靠,能够更加有效保护隐私敏感数据安全。由于时间戳是实时的机器时间,具有唯一性且不可篡改,本发明采用时间戳的最后一位数作为基准数,能够借助时间戳的特性体现动态密钥和音频数据的对应关系;而且,还基于时间戳的最后一位数确定元素的数量,从密钥生成器中提取出包含基准数的元素后,生成动态密码,提高了动态密码的安全性,进而保证音频数据的安全性。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明实施例提供的进行音频加密的一种实施环境示意图;
图2是本发明实施例提供的一种音频加密方法的流程示意图;
图3为图2中步骤S120的一种实现方式的流程示意图;
图4为图2中步骤S130的一种实现方式的流程示意图;
图5为本发明实施例提供的另一种音频加密方法的流程示意图;
图6是图5中步骤S220的一种实现方式的流程示意图;
图7为本发明实施例提供的音频数据加解密方法的一种应用场景实施例示意图;
图8为本发明实施例提供的一种音频加密装置的结构示意图;
图9为本发明实施例提供的一种电子设备的结构示意图;
图10为本发明实施例提供的适于用来实现本发明实施例的电子设备的计算机系统结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在系统示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于系统中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一/S100”、“第二/S200”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先,对本申请中涉及的若干名词进行解析:
矩阵密钥生成器,是一种工具或软件程序,用于生成密码、密钥或其他安全凭据。密钥生成器使用随机数生成器等算法来创建一个具有足够强度的密码或密钥,以确保安全性和保密性。
MATLAB,是一种数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。MATLAB具有数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理、数字信号处理、财务与金融工程等功能。
audioread函数,audioread是函数名称,audioread函数用于读取音频文件,在Matlab软件平台下,利用函数audioread对语音信号进行采样。
audioread函数的调用格式为:
[y,Fs]=audioread(filename)
[y,Fs]=audioread(filename,samples)
变量filename表示:文件的位置加名字;
Fs表示:采样频率,1秒内对连续的音频信号取的点的个数;
y表示:输出的音频数字信号,默认是n行2列,其中2的意思是,这个音频信号是两个声道的,n的值等于该音频信号的时长乘采样频率Fs。
samples表示:音频读取区域。
相关技术中,对音频文件的加密形式多是对音频文件进行加密,这种方式无法完全保障被加密的音频文件的安全,一旦破解了音频文件的密码,音频文件将会完整的被泄露出去。此外,传统的音频文件审核多是在文件上传后,再通过软件或人工进行审核,属于事后拦截的方式。
基于此,为解决背景技术中的技术问题,本申请提供了一种音频加密方法、装置、电子设备及存储介质,采用从源头对音频数据进行加密的方式,即使音频文件泄露出去,音频数据也无法正常的播放,使得音频数据相对于传统的加密方式更加的安全可靠,更加有效保护隐私敏感数据安全。此外,本发明可实现在准备发布音频之前,就能进行自动审核,即通过在从音频源头进行加密时将音频中的关键词汇进行更加精准的识别,从源头上将音频进行拦截,禁止其传播。本发明能够更加安全可靠的保护音频数据的安全。
可以理解的是,本发明实施例提供的音频加密方法,是能够应用于任意一种具备数据处理计算能力计算机设备,而这一计算机设备可以是各类终端或是服务器。当实施例中的计算机设备是服务器时,该服务器是独立的物理服务器,或者,是多个物理服务器构成的服务器集群或者分布式系统,或者,是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,该终端是智能手机、平板电脑、笔记本电脑以及台式计算机等,但也并不局限于此。
如图1所示,是发明实施例提供的一种实施环境示意图。参照图1,该实施环境包括至少一个终端102和服务器101。终端102和服务器101之间可以通过无线或者有线的方式进行网络连接,完成数据传输交换。
服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
另外,服务器101还可以是区块链网络中的一个节点服务器。其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端102以及服务器101可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例在此不做限制。
示例性地基于图1所示的实施环境,本发明实施例提供了一种音频加密方法,下面以该音频加密方法应用于终端102中为例子进行说明,可以理解的是,该音频加密方法也可以应用于服务器101中。
参照图2,图2为本发明实施例提供的应用于终端102的音频加密方法的流程图,该音频加密方法的执行主体可以是前述的任意一种计算机设备。参照图2,该方法包括以下步骤:
S110,发送获取音频数据的请求,确定发送所述请求的时间戳;
在一些实施例中,终端102作为发送端,服务器101作为接收端,终端102通过向服务器101发送获取音频数据的请求,以触发服务器101回传音频数据;终端102发送端发送请求时,记录发送所述音频数据的时间,将该时间转换为时间戳的形式。
S120,基于所述时间戳确定基准数,基于所述基准数从预先设置的密钥生成器中选取出相应数量的元素,将选取出的元素连接生成动态密钥;其中,所述密钥生成器包含多个元素,所述动态密钥中元素的数量基于所述基准数确定,选取出的元素中有且只有一个与所述基准数匹配;
具体地,将所述时间戳中的最后一个数字作为基准数,从所述密钥生成器中选取出与所述基准数匹配的元素,并从所述密钥生成器剩余的元素中选取出至少一个元素,将选取出的元素连接生成动态密钥;在一些实施例中,所述动态密钥中元素的数量和所述基准数相等。
需要说明的是,由于时间戳是实时的机器时间,具有唯一性且不可篡改,本发明采用时间戳的最后一位数作为基准数,能够借助时间戳的特性体现动态密钥和音频数据的对应关系;而且,还基于时间戳的最后一位数确定元素的数量,从密钥生成器中提取出包含基准数的元素后,生成动态密码,相比传统的加密方式,提高了保证动态密码的安全性,进而更加安全可靠的保证音频数据的安全性。
S130,接收加密后的音频数据,基于所述动态密钥对所述加密后的音频数据进行解密,得到解密后的音频数据。
在一些实施例中,所述加密后的音频数据是发送端通过动态密钥对原始音频数据进行加密生成的;发送端和接收端约定采用相同的密钥生成器和时间戳生成密钥,这样,发送端和接收端能够生成相同的动态密钥。当接收端收到加密后的音频数据后,采用相同的动态密钥对其进行解密,当解密成功后,接收端即可正确的解析并读取来自发送端的音频数据,从而通过对音频数据加密实现音频数据的安全传输。
本发明可实现在准备发布音频之前,就能进行自动审核,即通过从音频源头进行加密和解密,将音频中的关键词汇进行更加精准的识别,从源头上将解密不通过的音频数据进行拦截。
本发明提供的实施例中,采用对音频数据进行加密的方式,即使音频文件泄露出去,如果无法对加密后的音频数据进行解密,也无法正常的播放音频数据,相对于对音频文件进行加密方式更加的安全可靠,能够更加有效保护隐私敏感数据安全。
参照图3,在一些实施例中,步骤S120中,所述基于所述时间戳确定基准数,基于所述基准数从预先设置的密钥生成器中选取出相应数量的元素,将选取出的元素连接生成动态密钥,可以包括:
S121,获取预先设置的密钥生成器;其中,所述密钥生成器为3*3的矩阵,所述密钥生成器中的每个元素均为[1,9]中的整数,且取值不同;
S122,将所述时间戳中的最后一个数字作为基准数,将所述密钥生成器中与该基准数匹配的元素作为起始元素,将该基准数作为读取元素的数量;
S123,从所述起始元素所在的位置开始,从所述密钥生成器中按顺序依次读取所述数量的元素;
S124,将所述起始元素和读取的元素依次连接后重新排序,得到动态密钥。
需要说明的是,在一些实施例中,首先确定每次发起请求的时间戳,读取该时间戳的最后一个数字m,将数字m和所述矩阵中的各个元素进行匹配,将与该数字m相等的元素所在位置作为起始位置,从所述起始位置开始,从所述密钥生成器中按设定的顺序依次读取m个元素,将数字m和m个元素依次连接,形成(m+1)位的初始数,从初始数中依次选取首位数和末位数,并按设定的排序方式连接,得到动态密钥。这样,在确定好密钥生成器和时间戳之后,能够保证和发送端生成同样的动态密钥,实现对加密后的音频数据进行解密,并且,采用本实施例提供的加密方式,需要同时具备密钥生成器、时间戳和动态密钥生成规则这三个要素才能完成解密,因此本实施例提供的加解密方式不易被破解,能够提高音频数据的安全性。
在一示例性的实施例中,所述密钥生成器采用3*3的矩阵,密钥生成器的表达式为
参照图4,在一些实施例中,所述加密后的音频数据是通过动态密钥对原始音频数据进行加密生成的加密音频矩阵;步骤S130中,所述基于所述动态密钥对所述加密后的音频数据进行解密,得到解密后的音频数据,可以包括:
S131,将加密音频矩阵进行转置生成第二矩阵;
S132,将所述第二矩阵与动态密钥进行矩阵标量除法运算,生成增强音频矩阵;
S133,将所述增强音频矩阵的值进行解密,生成解密后的音频数据。
需要说明的是,接收端对加密后的音频数据进行解密可以看作是对原始音频数据加密的逆过程,在一些实施例中,首先将加密音频矩阵进行转置生成第二矩阵,再将第二矩阵与动态密钥进行矩阵标量除法运算生成增强音频矩阵,接着将增强音频矩阵中的元素进行异或处理后再进行位置互换,从而生成解密后的原始音频。当解密成功后,接收端即可正确的解析并读取来自发送端的音频数据,如果音频数据是来自恶意的AI语音合成软件生成的模仿音频,将无法解析得到音频数据,解析不出来音频数据就说明加密音频矩阵是模仿音频,从而能够实现音频数据的真伪判断。
参照图5,图5为本发明实施例提供的应用于服务器101的音频加密方法的流程图,该音频加密方法的执行主体可以是前述的任意一种计算机设备。参照图5,该方法包括以下步骤:
S210,接收获取音频数据的请求,确定所述请求被发送的时间戳;
在一些实施例中,终端102作为发送端,服务器101作为接收端,服务器101接收到终端102发送的获取音频数据的请求后,向终端102回传音频数据。发送端向接收端发送获取音频数据的请求,接收端收到该请求后,获取所述请求被发送的时间,并将该时间转换为时间戳的形式。
S220,基于所述时间戳确定基准数,基于所述基准数从预先设置的密钥生成器中选取出相应数量的元素,将选取出的元素连接生成动态密钥;其中,所述密钥生成器包含多个元素,所述动态密钥中元素的数量基于所述基准数确定,选取出的元素中有且只有一个与所述基准数匹配;
在一些实施例中,服务器101接收到终端102发送请求时,记录终端102发送所述请求的时间,将该时间转换为时间戳的形式。服务器101和终端102约定采用相同的密钥生成器和时间戳生成密钥,这样,发送端和接收端能够生成相同的动态密钥。
S230,基于所述动态密钥对原始音频数据进行加密,得到加密后的音频数据;
在一些实施例中,发送端通过动态密钥对原始音频数据进行加密生成加密后的音频数据;当接收端收到加密后的音频数据后,采用相同的动态密钥对其进行解密,当解密成功后,接收端即可正确的解析并读取来自发送端的音频数据,从而通过对音频数据加密实现音频数据的安全传输。
S240,响应于所述获取音频数据的请求,发送所述加密后的音频数据。
在一些实施例中,接收端生成加密后的音频数据后,响应发送端发送的请求,向所述接收端发送加密后的音频数据。
本发明提供的实施例中,在接收到发送端发送的请求后,基于动态密钥对原始音频数据进行加密,通过采用对音频数据进行加密的方式,即使音频文件泄露出去,如果无法对加密后的音频数据进行解密,也无法正常的播放音频数据,相对于对音频文件进行加密方式更加的安全可靠,能够更加有效保护隐私敏感数据安全。
参照图6,在一些实施例中,步骤S220中,所述基于所述时间戳确定基准数,基于所述基准数从预先设置的密钥生成器中选取出相应数量的元素,将选取出的元素连接生成动态密钥,可以包括:
S221,获取预先设置的密钥生成器;其中,所述密钥生成器为3*3的矩阵,所述密钥生成器中的每个元素均为[1,9]中的整数,且取值不同;
S222,将所述时间戳中的最后一个数字作为基准数,将所述密钥生成器中与该基准数匹配的元素作为起始元素,将该基准数作为读取元素的数量;
S223,从所述起始元素所在的位置开始,从所述密钥生成器中按顺序依次读取所述数量的元素;
S224,将所述起始元素和读取的元素依次连接后重新排序,得到动态密钥。
需要说明的是,在一些实施例中,首先确定每次发起请求的时间戳,读取该时间戳的最后一个数字m,将数字m和所述矩阵中的各个元素进行匹配,将与该数字m相等的元素所在位置作为起始位置,从所述起始位置开始,从所述密钥生成器中按顺序依次读取m个元素,将数字m和m个元素依次连接,形成(m+1)位的初始数,从初始数中依次选取首位数和末位数,并按设定的排序方式连接,得到动态密钥。这样,在确定好密钥生成器和时间戳之后,能够保证和发送端生成同样的动态密钥,实现对加密后的音频数据进行解密,并且,采用本实施例提供的加密方式,需要同时具备密钥生成器、时间戳和动态密钥生成规则这三个要素才能完成解密,因此本实施例提供的加解密方式不易被破解,能够提高音频数据的安全性。
在一些实施例中,步骤S230中,所述基于所述动态密钥对原始音频数据进行加密,得到加密后的音频数据,可以包括:
S231,将原始音频数据转换为多行2列的第一矩阵;
S232,将第一矩阵进行整数转换处理后生成音频数据矩阵;
S233,对音频数据矩阵进行加密增强,得到增强音频矩阵;
S234,将所述增强音频矩阵与所述动态密钥进行矩阵标量乘法运算,得到第二矩阵,将所述第二矩阵的转置矩阵作为加密音频矩阵。
需要说明的是,在一些实施例中,可采用MATLAB软件中的audioread函数,将待加密的音频数据换成为多行2列的矩阵,便于后续采用数字化的方式进行矩阵运算;对多行2列的矩阵进行整数转换处理后生成音频数据矩阵,再对音频数据矩阵进行加密增强,将经过加密增强的加密音频矩阵与动态密钥进行矩阵标量乘法得到第二矩阵,从而,通过动态密钥对增强音频矩阵进行加密,保障增强音频矩阵的安全性;最后将第二矩阵进行转置运算,最终生成获得形式上和音频数据矩阵一致的加密音频矩阵,便于后续采用矩阵运算的方式进行解密。
在一些实施例中,步骤S233中,所述对音频数据矩阵进行加密增强,得到增强音频矩阵,可以包括:
S2331,将音频数据矩阵中同一行的两个值互换,得到第三矩阵;
S2332,将所述第三矩阵中同一行的两个值求和后进行二进制转换,得到第四矩阵;
S2333,将所述第三矩阵中的每个值进行二进制转换后分别与所述第四矩阵中按行对应的值进行异或运算,得到第五矩阵;
S2334,将所述第五矩阵中的每个值进行十进制转换,得到加密音频矩阵。
需要说明的是,在一些实施例中,通过以上操作可以实现对音频数据矩阵进行加密增强,本实施例提供的加密增强方式需要对每个元素均进行矩阵转换和计算,也就是对音频数据中的各个数据均进行了加密增强,进一步提高音频数据矩阵的破解难度,使音频矩阵数据更安全可靠。
在一些实施例中,本发明实施例还提供应用于服务器101和终端102的音频加密方法,该音频加密方法的执行主体可以是前述的任意一种计算机设备。该方法包括以下步骤:
S310,发送端向接收端发送获取音频数据的请求,并确定发送所述请求的时间戳;
S320,接收端接收发送端发送的获取音频数据的请求,确定所述请求被发送的时间戳;
S330,发送端和接收端基于所述时间戳确定基准数,基于所述基准数从预先设置的密钥生成器中选取出相应数量的元素,将选取出的元素连接生成动态密钥;其中,所述密钥生成器包含多个元素,所述动态密钥中元素的数量基于所述基准数确定,选取出的元素中有且只有一个与所述基准数匹配;
S340,接收端基于所述动态密钥对原始音频数据进行加密,得到加密后的音频数据;
S350,接收端响应于发送端发送的获取音频数据的请求,向发送端发送所述加密后的音频数据;
S360,发送端接收所述加密后的音频数据,基于所述动态密钥对所述加密后的音频数据进行解密,得到解密后的音频数据。
参照图7,为详细解释本发明技术方案的原理,下面结合一些具体实施例对本发明的整体流程进行说明,容易理解的是,下述为对本发明技术方案的应用说明,不能看做对本发明的限制。
将本发明提供的技术方案应用到中国电信倾听10000平台,倾听10000平台实现了全国各地的客服录音线上倾听,在倾听录音时需要从倾听平台先声学所平台获取对应的录音音频,此接口就实现了音频加密传输。
第一步:倾听平台(发送端)与声学所(接收端)约定好3*3矩阵的密钥生成器;
第二步:倾听平台向声学所平台发送获取录音音频的请求,声学所平台收到请求后,会将所请求的音频数据加密后发回倾听平台;
第三步:倾听平台接收到音频文件后会进行解密,解密成功正常播放音频,解密失败音频将无法正常播放。
可见,本发明能够实现加密专线语音通信,能够让涉密的语音在通话过程中的安全性更强。通过对音频数据的加密传输,有效保障音频数据的传播安全,保护个人隐私数据安全。
综上所述,针对现有技术存在的相关问题,本发明实施例提供了有助于更加安全可靠的保护音频数据安全的音频加密的实施方式。通过预先设置的密钥生成器和所述时间戳生成动态密钥,由于密钥生成器预先设置,在确定时间戳后,发送端和接收端按照同样的密钥生成方法可以生成相同的动态密钥,从而作为对音频数据进行解密的依据。本发明采用对音频数据进行加密的方式,即使音频文件泄露出去,也无法对加密后的音频数据进行解密,无法正常的播放音频数据,相对于对音频文件进行加密方式更加的安全可靠,能够更加有效保护隐私敏感数据安全。
另一方面,如图8所示,本发明实施例提供了一种音频加密装置800,包括:第一模块810,用于发送获取音频数据的请求,确定发送所述请求的时间戳;第二模块820,用于基于所述时间戳确定基准数,基于所述基准数从预先设置的密钥生成器中选取出相应数量的元素,将选取出的元素连接生成动态密钥;其中,所述密钥生成器包含多个元素,所述动态密钥中元素的数量基于所述基准数确定,选取出的元素中有且只有一个与所述基准数匹配;第三模块830,用于接收加密后的音频数据,基于所述动态密钥对所述加密后的音频数据进行解密,得到解密后的音频数据。
本发明方法实施例的内容均适用于本装置实施例,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
另一方面,如图9所示,本发明实施例还提供了一种电子设备900,该电子设备包括至少一个处理器910,还包括至少一个存储器920,用于存储至少一个程序;以一个处理器910及一个存储器920为例。
处理器910和存储器920可以通过总线或者其他方式连接。
存储器920作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器920可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件或其他非暂态固态存储器件。在一些实施方式中,存储器920可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
以上所描述的电子设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
具体地,图10示意性地示出了用于实现本发明实施例的电子设备的计算机系统结构框图。
需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理器1001(Central Processing Unit,CPU),其可以根据存储在只读存储器1002(Read-Only Memory,ROM)中的程序或者从存储部分1008加载到随机访问存储器1003(Random Access Memory,RAM)中的程序而执行各种适当的动作和处理。在随机访问存储器1003中,还存储有系统操作所需的各种程序和数据。中央处理器1001、在只读存储器1002以及随机访问存储器1003通过总线1004彼此相连。输入/输出接口1005(Input /Output接口,即I/O接口)也连接至总线1004。
以下部件连接至输入/输出接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至输入/输出接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理器1001执行时,执行本发明的系统中限定的各种功能。
需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
本发明方法实施例的内容均适用于本系统实施例,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例的另一方面还提供了一种计算机可读存储介质,存储介质存储有程序,程序被处理器执行实现前面的方法。
本发明方法实施例的内容均适用于本计算机可读存储介质实施例,本计算机可读存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行装置、装置或设备(如基于计算机的装置、包括处理器的装置或其他可以从指令执行装置、装置或设备取指令并执行指令的装置)使用,或结合这些指令执行装置、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行装置、装置或设备或结合这些指令执行装置、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行装置执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、 “示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
- 一种利用氩气/氧气/水混合气体放电等离子体快速处理钙钛矿太阳电池的方法
- 一种钙钛矿/晶体硅叠层太阳电池的电荷传输层结构及钙钛矿/晶体硅叠层太阳电池
- 基于二氧化钛/钙钛矿嵌入型复合纳米结构的钙钛矿太阳电池及其制备方法