本发明属于加密语音内容认证领域,尤其涉及一种基于哈希特征的加密语音内容认证方法。
背景技术
语音信号是一种重要的多媒体信号,其可以应用于例如军事指挥,司法部门记录证据和在线音频指令等场景。由于语音文件需要很大的存储空间,很多语音文件都存储在云中。然而这是不安全的,因为任何人都可以下载、读取和篡改语音文件的内容。因此,云计算中保护语音文件内容并判断语音文件的完整性非常重要。
加密技术是语音内容保护最有效的方法之一,因为它可以将原始数据转换为不可理解的数据。为了信息安全和隐私保护,数据通常在上传和传输到云端之前进行加密。数字水印是信息安全中的一项重要技术,可以保护信息的完整性和真实性。为了提高安全性并保护用户的隐私,许多研究将加密和数字水印技术相结合。其他研究通过使用异或来加密图像并将额外数据嵌入到加密的图像中。也有研究使用paillier同态加密来加密原始图像,并使用同态性质将数据嵌入到加密图像中。大多数数字水印方法可以在加密图像中找到。然而,这些技术还没有经过系统的研究,也未应用于加密语音。而且,用于加密语音的内容认证方案很少。
此外,语音加密领域还存在一些限制,例如加密语音内容是随机的,原始语音的特征消失了,从原始语音中提取特征的大多数常规方法不能够直接应用于语音加密领域。
技术实现要素:
针对现有技术之不足,本发明提出了一种基于哈希特征的加密语音内容认证方法,其包括:输入原始语音后,通过logistic映射和流密码rc4对原始语音进行加密以生成加密语音,对加密语音分帧并对每帧执行整数小波变换iwt和离散余弦变换dct,通过比较低频dct系数的均值和方差来计算哈希特征,利用差分扩展将哈希特征作为水印嵌入到iwt的细节系数的高位比特中;然后对近似系数和含水印的细节系数执行逆iwt来获得含水印的加密语音,从含水印的加密语音中提取哈希特征与重构的哈希特征对比来对加密语音进行内容认证。
根据一个优选实施方式,本发明的加密语音内容认证方法包括以下步骤:
s1)输入原始语音m={mi,1≤i≤i},其中,mi∈(-32768,32767);
s2)通过logistic映射和流密码rc4生成加密语音,该步骤包括:
s2.1)转换一个样本值mi成16位二进制{vi,15,vi,14,…,vi,0},采用公式(1)计算,
其中,
s2.2)计算加密语音样本vi,n,采用公式(3)计算:
其中,ri,n是以kenc为密钥的流密码rc4产生的二进制序列;
s2.3)使用logistic映射对ci进行置乱来构造加扰结果,ci表示加密语音比特的十进制数,并且ci采用公式(4)计算:
s2.4)设伪随机序列y={yq,1≤q≤q},其通过logistic映射计算得到,logistic映射用公式(5)来表示:
yq=ρ·yq-1·(1-yq_1),3.5699≤ρ≤4(5)
设kens为初始密钥,将伪随机序列y按照升序排序从而得到升序序列yorder(q),采用公式(6)计算:
yorder(q)=sort(yq),q=1,2,...,q(6),
其中,order(q)是q的索引,sort(·)是排序函数;
s2.5)使用索引order(q)置乱加密语音c,得到置乱的加密语音c′,c′={c′i,1≤i≤i};
s3)对c′进行认证,其包括:
基于置乱的加密语音c′,将c′分成n个非重叠帧,由f表示f={fn|n=1,2,…,n},设每帧包含j个样本,则n·j=i,其中i是原始语音样本的数量;
在加扰加密语音c′的每帧上执行t级iwt,将fn定义为f,对每帧f,将acs定义为
s4)使用dct变换将
使用dct变换将
s5)将
s5.1)将
其中,
s5.2)定义第f帧的哈希比特为
其中v∈[1,(p-1)]是f的索引,f∈[1,n],最终的哈希特征定义为w(u)={u=1,2,...,(p-1)×n};
s5.3)使用logistic映射产生伪随机序列d,使用初始密钥kenw加密w(u);定义d={dr|dr∈{0,1},r=1,2,…},其中
s6)用差分扩展数据隐藏方法来选择嵌入位置,将哈希特征嵌入到dcs中,其包括:
s6.1)使用差分扩展数据隐藏方法来灵活选择嵌入位置,对于第f组,将t级dcs
其中
s6.2)使用与划分c′相同的方法将加密哈希特征c[w(u)]划分为n个组,并用
然后将p-1个哈希比特嵌入到系数为
并用
s7)重复步骤s4到s6直至哈希特征的嵌入完成,然后对
s8)从含水印的加密语音中提取哈希特征与重构的哈希特征来对加密的语音进行内容认证,如果特征认证距离小于某个阈值,则认证成功;若特征认证距离大于这个阈值,则认证失败;该步骤包括:
s8.1)获得标记的加密语音
s8.2)定义重构的哈希特征为w′(u)={u=1,2,...,(p-1)×n},第f帧的哈希位为
s8.3)给定t级dcs系数
并且
使用密钥kenw,哈希特征满足公式(14):
s8.4)对每帧,使用公式(14)提取对应的哈希位;定义总的哈希特征为
s8.5)对第f帧,逐帧比较提取的哈希位
s9)恢复原始语音,其包括:
s9.1)使用公式(15)恢复系数
并使用
s9.2)对系数
s9.3)使用密钥kens和kenc解密加密语音c′,从而得到恢复的原始语音m。
本发明具有以下有益效果:
本发明提出了一种基于哈希特征的加密语音内容认证方法,通过对加密语音执行整数小波变换iwt和离散余弦变换dct,可以计算鲁棒的哈希特征并嵌入到高位比特中来完成语音内容认证。本发明具有较高的安全性,可以准确定位篡改语音帧,并且对一些常见的信号处理操作具有很强的鲁棒性。此外,本发明提高了云计算中的语音内容认证的鲁棒性,在一些常见信号处理操作情况下,能对篡改语音帧进行精确定位,在实际应用中适用范围更广。
附图说明
图1示出了本发明加密语音内容认证方法的流程图;
图2示出了原始和加密语音的直方图;
图3示出了原始和加密语音的语谱;
图4示出了嵌入在不同位置的水印的snr和snrseg值;
图5示出了原始语音信号、具有散列特征的加密语音及解密语音的波形图;
图6示出了一个加密语音帧的假拒绝概率;
图7示出了经过插入攻击的加密语音的检测位置结果;
图8示出了经过替换攻击的加密语音的检测位置结果;
图9示出了经过删除攻击的加密语音的检测位置结果。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
如图1所示,本发明的基于哈希特征的加密语音内容认证方法包括以下步骤:
s1)输入原始语音m={mi,1≤i≤i},其中,mi∈(-32768,32767);
s2)通过流密码rc4和logistic映射生成加密语音,该步骤包括:
s2.1)转换一个样本值mi成16位二进制{vi,15,vi,14,…,vi,0},采用公式(1)计算,
其中,
s2.2)计算加密语音样本vi,n,采用公式(3)计算:
其中,ri,n是以kenc为密钥的流密码rc4产生的二进制序列。如果原始语音样本足够多,那么加密样本的可能性就更大。这使得加密结果足够安全。
s2.3)设ci表示加密语音比特的十进制数,并使用logistic映射对ci进行置乱来构造加扰结果,ci采用公式(4)计算:
s2.4)设伪随机序列y={yq,1≤q≤q}通过logistic映射计算可得,logistic映射用公式(5)表示:
yq=ρ·yq-1·(1-yq-1),3.5699≤ρ≤4(5)
设kens为初始值,也就是密钥,将伪随机序列y按照升序排序,得到升序序列yorder(q),采用公式(6)计算:
yorder(q)=sort(yq),q=1,2,...,q(6),
其中,order(q)是q的索引,sort(·)是排序函数,
s2.5)使用索引order(q)扰乱加密语音c,得到加扰结果c′,c′={c′i,1≤i≤i}。
s3)基于加扰加密语音c′,将c′分成n个非重叠帧,由f表示f={fn|n=1,2,...,n}。设每帧包含j个样本,则n·j=i,其中i是原始语音样本的数量。
在c′的每帧上执行t级iwt,将fn定义为f,对每帧f,将acs定义为
s4)使用dct变换将
使用dct变换,将
s5)将
s5.1)将
其中,
s5.2)定义第f帧的哈希比特为
其中v∈[1,(p-1)]是f的索引,f∈[1,n]。因此,最终的哈希比特序列具有(p-1)×n个二进制比特。这是加密语音片段基于内容的特征。最终的哈希特征定义为w(u)={u=1,2,...,(p-1)×n}。
s5.3)使用logistic映射产生伪随机序列d,使用初始密钥kenw加密w(u)。定义d={dr|dr∈{0,1},r=1,2,…},其中
s6)用差分扩展数据隐藏方法来选择嵌入位置,将哈希特征嵌入到dcs中,其包括:
s6.1)使用差分扩展数据隐藏方法来灵活选择嵌入位置。在此方案中,嵌入位置位于高位比特中,其比最低有效位(lsb)更鲁棒。对于第f组,将t级dcs
其中
s6.2)使用与划分c′相同的方法将加密哈希特征c[w(u)]划分为n个组,并用
然后将p-1个哈希比特嵌入到系数
并用
s7)重复步骤s4到s6直至哈希特征的嵌入完成,然后在
s8)从标记的加密语音中提取的哈希特征与重构的哈希特征进行对比来对加密的语音进行内容认证,如果特征认证距离小于某个阈值,认证成功,反之,认证失败。设
s8.1)获得加密标记语音
s8.2)定义重构的哈希特征为w′(u)={u=1,2,...,(p-1)×n},第f帧的哈希比特为
s8.3)给定t级dcs系数
并且
使用密钥kenw,哈希特征满足公式(14):
s8.4)对每帧,使用公式(14)提取对应的哈希比特。定义总的哈希特征为
s8.5)对第f帧,逐帧比较提取的哈希特征
s9)恢复原始语音,其包括:
s9.1)使用公式(15)恢复系数
并使用
s9.2)为了得到加密语音c′,对系数
s9.3)使用密钥kens和kenc,解密加密语音c′,得到恢复的原始语音m。
针对现有云存储中加密算法存在的不足,本发明基于流密码rc4和logistic映射对原始语音进行加密,对加密语音执行整数小波变换(iwt)和离散余弦变换(dct),通过比较低频dct系数的均值和方差来计算哈希特征,利用差分扩展将哈希特征嵌入到iwt的细节系数的高位比特中。另外本发明提高了云存储中的语音内容认证的鲁棒性,篡改的加密语音在一些常见信号处理操作下仍能精确的被定位,在实际应用中适用范围更广。
图2示出了对原始语音和加密语音进行直方图分析而得到的直方图。从图2中的(c)图可以看出,加密语音近似于白噪声,并且两个直方图没有明显的函数分布关系,证明本发明的方案具有优越的混淆和扩散特性。
图3是原始和加密语音的频谱图,一个好的数据隐藏方案应该具有良好的不可理解性。
为了评估所提出的方案的不可理解性,应用信噪比(snr)和分段信噪比(snrseg)来测量具有哈希特征的解密语音的质量。
图4示给出了嵌入在不同比特位置的水印的snr和snrseg值。如图4所示,水印嵌入的位置越高,snr和snrseg值越小。
图5(a)是原始语音信号的波形、图5(b)是含有哈希特征的加密语音、图5(c)是含有哈希特征的解密语音的波形。具含还行特征的加密语音也可以直接解密,含有哈希特征的解密语音仍具有高质量(x=3),其中a为34.9498。可以看出,图5(a)和图5(c)之间没有明显的差异,这意味着嵌入的哈希特征对原始语音没有显着影响。
图6是一个加密语音帧的错误拒绝概率,当frp较小时,认证的性能更好。从图6可以看出,当哈希比特数大于9时,frp趋于零。在所提出的方案中,每个单帧有32个还行比特,足以满足frp的要求。
图7是经过插入攻击的加密语音的检测结果,插入攻击涉及从另一个语音信号的采样插入到加密语音。对于我们的插入攻击实验,从第5121到第5140位和从第10241到第10255位的采样点被插入了另一语音信号的采样值,如图7(a)所示。图7(b)中的结果显示只有两个语音帧被篡改,这是因为只被插入了两帧语音采样值。可以看出,本发明所提出的方案可以准确检测插入攻击。
图8是经过替换攻击的加密语音的检测结果,替换攻击涉及用加密的语音信号本身采样替换加密的语音。对于替换攻击实验,从第5121到第5140位和从第10241到第10255位的采样点被替换并示于图8(a)中。图8(b)中的结果显示了第21帧和第41帧中的篡改。因此,可以得出结论,本发明方法能够准确地检测和定位篡改。
图9是经过删除攻击的加密语音的检测结果,删除攻击涉及删除部分加密语音。对于我们的删除攻击实验,从第5121到第5140位以及从第10241到第10255位的采样被删除。定位结果如图9(b)所示,从这些结果中,可以看出第21帧和第41帧已被篡改。因此,可以得出结论,本发明方法能够准确地检测和定位篡改。
在实验中,使用归一化互相关系数(nc)和误码率(ber)来测试所提出的方案的鲁棒性,在这个框架中,具有散列特征的加密语音经受一些常见的信号处理操作。在[11]中,通过量化把数据嵌入在到离散小波变换dwt和dct混合域中。表1显示了各种攻击下的含水印的加密语音的nc和ber值。通过比较nc和ber值,可以验证本发明所提出的方案对增加噪声和重量化具有鲁棒性。其中,proposedscheme表示本发明所提出的方案,ref.[11]表示对比方案。
表1
此外,还将本发明的方案与语音哈希算法进行了比较。表2展示出了在各种信号处理操作下含有哈希特征的加密语音的ber值。通过比较ber值,可以验证本发明提出的方案对于增加噪声和缩放更加鲁棒。其中,proposed表示本发明所提出的方案,ref.[15]表示对比方案。
表2
需要注意的是,上述具体实施例是示例性的,本领域技术人员可以在本发明公开内容的启发下想出各种解决方案,而这些解决方案也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。