CN101114450B - 一种语音编码选择性加密方法 - Google Patents

一种语音编码选择性加密方法 Download PDF

Info

Publication number
CN101114450B
CN101114450B CN2007100527999A CN200710052799A CN101114450B CN 101114450 B CN101114450 B CN 101114450B CN 2007100527999 A CN2007100527999 A CN 2007100527999A CN 200710052799 A CN200710052799 A CN 200710052799A CN 101114450 B CN101114450 B CN 101114450B
Authority
CN
China
Prior art keywords
safe class
bit
speech frame
stream
frame
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.)
Expired - Fee Related
Application number
CN2007100527999A
Other languages
English (en)
Other versions
CN101114450A (zh
Inventor
王芙蓉
何娟
莫益军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN2007100527999A priority Critical patent/CN101114450B/zh
Publication of CN101114450A publication Critical patent/CN101114450A/zh
Application granted granted Critical
Publication of CN101114450B publication Critical patent/CN101114450B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种语音编码选择性加密方法,其包括步骤A,首先进行初始化,选择加密所需安全等级,确定混沌流加密方法的调节参数和初始值;步骤B,按照安全等级选用加密的比特位置表,以加密部分比特位,利用混沌流加密方法执行加密操作。还可以包括步骤C,解密方接到加密数据后,首先进行初始化,然后执行解密操作。其按安全等级选择需要加密的语音编码帧的比特位,提高语音通话的实时性,降低***能耗,满足不同等级的业务需求。

Description

一种语音编码选择性加密方法
技术领域
本发明涉及语音编码技术领域。尤其是涉及一种语音编码选择性加密方法,特别是涉及G.729语音编码的选择性加密方法。
背景技术
随着通信业务需求的飞速增长,为了保证通信业务数据的传输,人们大力开展各种数据压缩技术的研究工作。而语音信号的压缩数字化传输,是多年以来人们一直努力的方向。
现有技术一般采用低速率语音编码技术进行语音传输。低速率语音编码是在尽量减少失真的情况下,降低编码速率,以便减小传输时所占用的带宽。其相比较于模拟传输,可以节省带宽,便于实现与互联网(Internet Protocol,IP)的融合。
G.729是国际电信联盟(International Telecommunication Union,ITU)为低码率多媒体通信制定的语音编码标准。该语音编码方案是ITU-T H.324标准系列的组成部分,能够以非常低的码率压缩语音或多媒体设备的其它音频信号分量,G.729语音信号的采样频率为8kHz,帧长10ms。G.729采用了共轭结构代数码激励线性预测(Conjugate-SstructureAlgebraic-Code-Excited Linear-Prediction,CS-ACELP)算法,它是基于码激励线性预测(Code-Excited Linear-Predictive,CELP)的编码技术,每80个样点为一个语音帧,根据语音信号的数学模型,综合利用线性预测编码(Linear Predictive Coding,LPC)、合成分析法(Analysis-By-Synthesis,ABS)、矢量量化(Vector Quantizer,VQ)以及感知加权(Perceptual Weighting)等技术,对语音信号分析并提取各种参数(线性预测滤波器系数、自适应码本(Adaptive codebook)和固定码本(Fixed codebook)中的码本索引、自适应码本矢量增益和固定码本矢量增益),把这些参数编码发送。解码端把收到的比特流恢复成参数编码,解码得到各个参数,用自适应码本索引从自适应码本中得到自适应码矢量,用固定码本索引从固定码本中得到固定码矢量,分别乘以它们的增益,按点相加后构成激励序列。用线性预测滤波器系数构成合成滤波器,用自适应码本方法实现长时或基音合成滤波,计算出合成语音后,用后置滤波器进一步增强音质。
如图1所示,为G.729编码原理图。
输入信号先经过高通滤波预处理,处理之后形成的语音信号作为后续分析的“输入信号”。信号预测分析每帧进行一次线性预测(Linear Predictive,LP)分析,计算LP滤波器系数,这些参数转换为线谱对(Line Spectrum Pairs,LSP),由于它是频域参数,所以和语音信号谱包络的峰有更紧密地联系,同时用LSP参数构成合成滤波器容易保证稳定性,且LSP具有误差相对性,即某个频率点上的LSP偏差只对该频率附近的语音产生影响。对LSP参数的量化,采用两级预测***式矢量量化,用一个4阶滑动平均(MovingAverage,MA)预测器预测当前帧的LSP系数计算值和预测值差值,用两级VQ量化。第一级LSP矢量维数为10维,用7比特编码;第二级的量化输入,是第一级量化器的量化输出与其输入的差,其输出***为两个5维码本L2,L3,每个码本用5比特编码。激励信号用合成分析法(ABS)搜索,以原始语音与合成语音的误差感知加权最小为测度进行搜索。该过程是将误差信号通过一个感觉加权滤波器,感知加权滤波器用未量化的LP系数构造而成。
激励参数,包括固定码本(Fixed codebook)和自适应码本(Adaptivecodebook),每子帧(5ms,40个样点)计算一次。量化的和未量化的LP滤波器系数用于第二子帧,而在第一子帧使用内插(Interpolated)的LP系数,根据感知加权语音信号每帧(10ms,80个样点)估计一次开环基音延时。每个子帧都重复进行操作。目标信号通过加权合成滤波器滤过的LP残差计算得到。由LP残差和激励之间误差滤波修改这些滤波器的初始状态,这等效于从加权语音信号中减去加权合成滤波器的零输入响应。计算加权合成滤波器的脉冲响应,然后用目标信号和脉冲响应搜索开环基音延时附近的值作闭环基音分析(即寻找自适应码本延时和增益),分数基音延时(Fractional Pitch Delay,FPD)分辨率1/3样点间隔,在第一子帧用8bits基音时延编码,在第二子帧用5bits编码,从目标信号中减去自适应码本的贡献。新的目标信号用于固定码本搜索寻找最佳激励,17bits的代数码本用于固定码本编码。
自适应码本和固定码本的增益用7bits组合矢量量化。自适应码本和固定码本增益用两级共轭结构的码本来进行矢量量化。固定码本增益可以表示为:gc=γgc’,其中gc’是基于以前的固定码本能量的预测增益,γ是校正系数。自适应码本增益gp和校正系数γ,是使用两级共轭结构码本量化的矢量。“共轭”是指每一个输入矢量被量化为两个码本的线性合成。第一级包含一个3比特的二维码本GA,第二级包含一个4比特的二维码本GB。每个码本的第一个元素,代表量化自适应码本增益的一部分,第二个元素代表固定码本增益校正系数的一部分。
如图2所示,为G.729解码原理图,首先,从接收到的比特流中提取出参数索引,解码这些参数索引得到10ms语音帧对应的编码参数,包括LSP系数、2个分数基音时延、2个固定码本矢量、2个自适应和固定码本增益。每一子帧的LSP系数***值,并变换为LP滤波器系数。然后对每一个5ms子帧,进行以下操作:
1、重建激励信号:将自适应码本和固定码本矢量(分别和各自的增益相乘)相加。
2、重建语音信号:将激励信号通过LP合成滤波器滤波。
3、后处理:重建语音信号依次通过自适应后置滤波器(包括长时和短时合成滤波器)、高通滤波器,最后定标。
由以上过程可知,被编码器处理后的一帧信号需传输的参数有:声道参数——LSP参数,用以在解码端构造LPC合成滤波器;激励参数——基音周期与长时预测增益,随机码本的脉冲位置和增益。
传统的语音编码加密方法都是对G.729压缩语音流整体进行加密。
然而与文本消息相比,语音流数据量大,实时性要求高,直接用传统加密算法如AES(Advanced Encryption Standard)、3DES(3 Data EncryptionStandard)算法等对其进行整体加密,会引起明显的时延,降低其实时性性能。不仅如此,它还会显著增加***的运算负荷,占用更多资源,消耗更多能源。这在许多场合,诸如移动通信等对低能耗十分苛求的情况下,是无法忍受的。另外,对语音数据流进行整体加密,不方便满足不同等级的业务需求。
发明内容
本发明所要解决的问题在于提供一种语音编码选择性加密方法,其按安全等级选择需要加密的G.729语音编码帧的比特位。
为实现本发明而提供的一种语音编码选择性加密方法,包括下列步骤:
步骤A,首先进行初始化,选择加密所需安全等级,确定流加密方法的初始值和调节参数;
步骤B,按照安全等级确定选用的比特位置表,即确定要加密的具体的比特位,利用所述流加密方法执行加密操作。
所述的语音编码选择性加密方法,还可以包括下列步骤:
步骤C,解密方接到加密数据后,首先进行初始化,然后执行解密操作。
所述步骤A包括下列步骤:
步骤A1,用户选择加密所需的安全等级;
步骤A2,确定混沌流加密方法的初始值和调节参数;
步骤A3,取调节参数中的初始值的有效二进制位,转换字节型数据,将转换的数据存入一数组作为密钥流表,此密钥流表将用以和语音数据流明文要加密的位进行异或运算,以获得密文。
所述步骤B包括下列步骤:
步骤B1,按照安全等级确定选用的比特位置表;
步骤B2,在按照安全等级确定选用的比特位置表后,执行当前帧的加密操作;
步骤B3,完成当前帧的加密操作后,如果密钥流使用完,利用所述混沌流加密方法中的调节参数对当前混沌序列值进行迭代,得到新的密钥流,更新密钥流表;如果还有语音帧,则转回步骤B2,转而处理下一帧,如果没有语音帧,加密结束。
所述步骤C包括下列步骤:
步骤C1,接收控制参数得到加密安全等级,并得到混沌流加密方法的初始值和调节参数;
步骤C2,取初始值的有效二进制位,转换为字节型数据,将转换的数据存入字节型数组作为密钥流表,此密钥流表将用以和语音数据流密文加密的位进行异或运算,以获得明文;
步骤C3,按照安全等级确定选用的比特位置表;
步骤C4,执行当前帧的解密操作;
步骤C5,完成当前帧的解密操作后,如果密钥流使用完,利用调节参数对当前混沌序列值进行迭代,得到新的密钥流,更新密钥流表;如果还有语音帧,则转回步骤C4,转而处理下一帧,如果没有语音帧,解密结束。
所述的流加密方法为混沌流加密方法。
所述混沌流加密方法为改进的Logistics映射的一维非线性迭代方法表征的混沌流加密方法,所述迭代方法如下式所示:
G(x)=(β+1)(1+1/β)βx(1-x)β
其中,β∈(1,4),x0∈(0,1),x的初始值为x0,通过此式迭代可以得到x1,x2,x3,...xn...。
所述步骤B中,按加密所需的安全等级确定选用的比特位置表,为:
按照G.729标准语音帧中各参数对重建语音的作用以及重要性的不同,将比特位分为不同类别,加密不同类别的比特位获得不同安全等级或效果。
所述语音帧中参数的比特位的分类有以下两种模式:
第一,以保密性以及效率为首要目标,以加密尽可能少的位获得尽可能好的保密性,旨在降低话音可懂度。划分为六个安全等级。
安全等级一,加密语音帧中的20比特位;
安全等级二,加密语音帧中的21比特位;
安全等级三,加密语音帧中的22比特位;
安全等级四,加密语音帧中的23比特位;
安全等级五,加密语音帧中的24比特位;
安全等级六,加密语音帧中的36比特位;
第二,以可能出现的业务需求为目标进行考虑。提出以下方案:
安全等级七,模糊语音性别(即通过听语音无法准确判断原说话人的性别,可以听懂语义,但听不出是男声还是女声)选择需加密的比特位;
安全等级八,减小通话/非通话期的区别选择需加密的比特位;
实际应用中,可根据具体需要对以上安全等级进行组合使用。
本发明的有益效果是:本发明的语音编码选择性加密方法,一方面能够提高语音通话的实时性。其对语音帧进行选择性加密,在帧内,按安全等级的需要,对那些敏感性高(即对重建语音影响大)的比特位进行加密,与传统的对语音媒体内容进行整体加密相比,这无疑加快加密速度,提高效率;另一方面,其能够降低***能耗,减少对资源的占用。降低能耗在一些能源资源十分紧张的应用环境中,如无线通信领域中其移动设备携带能量有限,是非常关键的问题,减少对资源的占用,也可减轻网络处理节点的负荷。进一步地,其能够便于满足不同等级的业务需求。选择性加密不仅仅可以从技术上满足更好的需求,它在许多互联网的业务中,也有实际的应用价值。比如,提供各类音频服务的网站,其语音材料可以以不同的加密强度提供给用户,如果是免费提供给用户试听,可以对语音采取某种低强度的加密,以进行模糊处理,再如,在可以理解语音内容的情况下,使语音性别无法辨认。诸如此类的许多应用,总之,选择性加密为不同等级的业务需求提供了可行性与良好的技术支持。
附图说明
图1为现有技术G.729标准语音帧的语音编码原理图;
图2为现有技术G.729标准语音帧的语音解码原理图;
图3为本发明安全等级一中语音帧中需要加密的20比特位;
图4为本发明安全等级二中语音帧中需要加密的21比特位;
图5为本发明安全等级三中语音帧中需要加密的22比特位;
图6为本发明安全等级四中语音帧中需要加密的23比特位;
图7为本发明安全等级五中语音帧中需要加密的24比特位;
图8为本发明安全等级六中语音帧中需要加密的36比特位;
图9为本发明安全等级七中模糊语音性别需要加密的比特位;
图10为本发明安全等级八中减小通话/非通话期的区别需要加密的比特位;
图11为本发明语音编码选择性加解密方法流程图;
图12为本发明语音编码选择性加密中步骤S100初始化方法流程图;
图13为本发明语音编码选择性加密中步骤S200具体加密操作方法流程图;
图14为本发明语音编码选择性加密中步骤S300解密方法流程图;
图15为安全等级7时G.729标准语音帧第1字节加密过程示意图;
图16为安全等级7时G.729标准语音帧第8字节加密过程示意图;
图17为安全等级7时G.729标准语音帧第9字节加密过程示意图;
图18为安全等级7时G.729标准语音帧第10字节加密过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种语音编码选择性加密方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
一般地,在对语音加密效果的衡量标准中,包括客观和主观评测两方面,但对于低速率的窄带压缩语音信号,客观评测的参数如信噪比等,很难真正反映其表现性能,而主观评测更贴近实际情况,所以通常更注重主观评测。主观评测上的几个主要衡量标准即包括以下几点:
1、语音可理解性(语义)
2、语音的性别判断
3、明文攻击
4、静音/非静音的区分
这也就是在语音的主观评测上希望达到的标准,也就是说,本发明实施例中,应当通过加密,使人在听过语音后不可再做出关于以上几点的有效的分辨行为。
需要说明的是,以上四个标准相当于加密安全强度最高的要求。本发明实施例中不同的安全等级得到的加密效果不一样,并不是都可以满足以上四个标准,并且本发明中的方法是对加密的效率和安全强度的一种折中,在两者间寻求一个平衡点。以上标准仅仅是一个我们希望达到的总的标准与原则,与本发明的安全等级等等没有直接关联联系,也没有先后排序。
数字语音、图像以及视频压缩数据流都有一个特性,即感官上的不均衡重要性(nonuniform perceptual importance),也就是说,数据流中一部分位上发生的错误比在其他位上发生的错误所带来的影响要显著的多。
因此,不同于加密整个多媒体流,本发明语音编码选择性加密方法,采用一种选择性加密方法,与传统加密方法中加密所有数据的做法不一样,选择性加密方法仅对一部分对感知影响更为重大的比特位进行加密,而剩余的部分则直接不加保护的在信道中传输,即通过保持加密后数据格式信息和控制信息不变,只加密部分实际数据,从而保持加密后数据流的相容性,其在确保所需安全强度的情况下,降低运算负荷,也就节省了更多的资源、能耗,传输速度得到了很大的提高,在实时性方面也就有了更好的表现,能够满足实时性要求。选择性加密方法要求与具体的数据格式相结合,根据安全性水平要求的不同,选择加密不同的敏感数据,从而满足不同的需求,
本发明实施例以G.729语音编码的选择性加密来说明本发明的语音编码选择性加密方法,但是本发明并不限定于只适用于G.729语音编码,其同样可以适用于其它标准的语音编码。
如图11所示,其中,图11为本发明语音编码选择性加解密方法流程图。下面详细说明本发明的一种语音编码选择性加密方法:
步骤S100,首先进行初始化,选择加密所需安全等级,确定加密迭代方法的初始值和调节参数;
如图12所示,其具体包括如下步骤:
步骤S110,用户选择加密所需的安全等级;
步骤S120,确定改进的Logistics映射的一维非线性迭代方法表征混沌流加密方法的初始值x0和调节参数β;
用户选择这两个参数x0和β,此两个参数即相当于密钥。x0在0~1之间取值,β在1...~4之间取值,对小数点后的位数没有要求,较佳地,鉴于计算机可处理的位数,两个参数在小数点后取不超过10位。本发明实施例举例说明,所述两个参数为取值x0=0.31234567,β=2.5。同时,需要说明的是,可以在操作***为Windows Xp、VC编程环境中,将此两个参数存储为双精度浮点数类型,以便于选取64位有效二进制位。
步骤S130,取初始值x0的小数点后的64位有效二进制位,转换为8个字节型(byte)数据,将转换的数组存入一数组作为密钥流表,此密钥流表将用以和语音数据流明文要加密的位进行异或运算,以获得密文。
所述转换为现有技术,其将64个二进制位分为8组,每一组8个比特位刚好形成一个字节型数据;
所述密钥流表为将转换的数据存入一长度为8的字节型(byte)型数组keyList[]得到,其用以和语音数据流明文要加密的位进行异或运算,以获得密文。
步骤S200,按照安全等级确定选用的加密比特位置表,执行加密操作。
在语音编码加密的过程中,用户在选择加密所需安全等级后,就要根据具体的加密对象G.729的语音编码的格式特点,选择确定需要加密的语音编码的比特位。
如图13所示,具体包括如下步骤:
步骤S210,首先按照安全等级确定选用的加密比特位置表。
步骤S220,在按照安全等级确定选用的比特位置表后,执行当前帧的具体加密操作。
步骤230,完成当前帧的加密操作后,如果密钥流使用完,利用所述混沌流加密方法中的调节参数对当前混沌序列值进行迭代,得到新的密钥流,更新密钥流表;如果还有语音帧,则转回步骤220,转而处理下一帧,如果没有语音帧,加密结束。
进一步地,还可以包括下列步骤:
步骤S300,解密方接到加密数据后,首先进行初始化,然后执行解密操作。
如图14所示,具体包括如下步骤:
步骤S310,接收控制参数,得到加密安全等级,并得到混沌流加密方法的初始值x0和调节参数β;
步骤S320,取x0的小数点后的64位有效二进制位,转换为8个byte型数据,将转换的数据存入一长度为8的byte型数组keyList[]作为密钥流表,用以和语音数据流密文中加密的位进行异或运算,以获得明文;
步骤S330,按照安全等级确定选用的加密比特位置表。
步骤S340,在按照安全等级确定选用的比特位置表后,执行当前帧的具体解密操作;
步骤S350,完成当前帧的解密操作后,如果密钥流使用完,利用调节参数对当前混沌序列值进行迭代,得到新的密钥流,更新密钥流表;如果还有语音帧,则转回步骤S340,转而处理下一帧,如果没有语音帧,解密结束。
执行本发明选择性加密方法的具体解密流程,与执行加密操作流程相对应,本领域的技术人员可以根据本发明具体实施例所描述的加密过程而完成解密过程,因此,在本发明实施例中,不再一一进行详细描述。
下面详细说明步骤S120中确定改进的Logistics映射的一维非线性迭代方法表征的混沌流加密方法的调节参数x0和β的具体方法过程:
较佳地,综合考虑选择性加密的特点、效率以及安全性,本发明实施例中采用混沌流加密算法,但异或操作不以比特位为单位,而是以字节为单位,且对混沌密钥流的使用进行改进,结合对G.729帧结构所选择的需要加密部分位置的特点,可以适当地对混沌密钥流进行重复使用,而不十分影响其安全性能,从而提高效率。
流加密的优点是错误扩展小、实时性高,其保密度取决于密钥发生器产生的密钥序列的随机性,当密钥序列非常接近随机序列时,其安全性很高。但是,传统的流加密方法中,采用的伪随机序列发生器为线性同余发生器或线性反馈移位寄存器,它们的安全性都较差,易被破解。因此,本发明实施例采用改进的Logistics Map混沌流加密方法。
作为一种可实施的方式,一种简单且被广泛研究的自治一维离散动态***是Logistics映射方法,它用一维非线性迭代方法来表征的混沌流加密方法,如下式所示。
F(xn)=λxn(1-xn)
其中,n=0,1,2,......,x0和λ为调节参数,当x0∈(0,1),λ∈(3.5699456...,4)时,Logistics映射工作于混沌态,即由初始条件x0在Logistics映射方法的作用下所产生的序列{xk,k=0,1,2,3...}是非周期的、不收敛的,且对初始值和参数非常敏感。
该混沌流加密方法有两个问题,一个是流加密方法的固定点,即多次迭代趋近于某一个固定值,另一个是“稳定窗”,即在某个区间的点聚集,窗中产生的迭代序列不能提供作为密钥流所必须的安全性。
本发明实施例采用改进的Logistics地图(Logistics map)一维非线性迭代方法以避免现有技术的问题。本发明实施例的迭代方法如下式所示:
G(x)=(β+1)(1+1/β)βx(1-x)β
其中,β∈(1,4),x0∈(0,1),x的初始值为x0,通过此式迭代可以得到x1,x2,x3,...xn...。
理论上,上式产生的序列是非周期的,但是由于受到计算机字长的限制,实际由计算机仿真得到的混沌序列都只是对客观混沌的逼近,因此有一个“循环窗”问题,就是经过若干次迭代,迭代值出现周期性。根据测试的结果,在采用双精度的浮点运算时,可用的迭代平均次数>=2*107
下面详细说明步骤S200中按加密所需的安全等级确定选用的比特位置表的具体方法过程:
为了说明本发明的加密所需的安全等级确定选用的比特位置表,首先说明G.729标准帧结构,并根据其编码原理分析其参数作用和重要性,然后根据其参数作用按安全等级或实际需求选择要加密的比特位,将比特位分为不同类别,加密不同类别的比特位获得不同安全等级或效果。
如表1所示为G.729语音编码帧的比特位分配表。
表1  G.729语音编码帧的比特位分配表
参数 码字    第一子帧    第二子帧 每帧共计(bit)
线谱对(LSP) L0,L1,L2,L3     18
自适应码本时延 P1,P2     8     5     13
基音时延奇偶校验 P0     1     1
固定码本索引 C1,C2     13     13     26
固定码本符号     S1,S2     4     4     8
码本增益(阶段一)     GA1,GA2     3     3     6
码本增益(阶段二)     GB1,GB2     4     4     8
总计     -     -     -     80
通过对G.729的编码过程的分析,对照帧结构,可以确定帧中各个参数的作用:
1)G.729帧中的LSP参数L0,L1,L2,L3是线性预测滤波器(短时合成滤波器)的参数,用以在解码端构成LPC合成滤波器,十分关键,LPC系数和最后的语音的可理解性(即语义)有着密切关联;
2)G.729帧中的自适应码本延时(基因延时)参数P1、P2是解码端总激励中的长时基音成分,也即周期脉冲成分,这个成分影响着人耳对语音的性别判断;
3)G.729帧中的码本增益GA、GB是自适应码本和固定码本的增益的联合编码,增益参数影响着人耳对语音的通话与静音期的分辨能力;
4)G.729帧中的固定码本索引和固定码本符号分别代表固定码本(语音激励中的非周期脉冲成分)的编码脉冲的符号和位置。固定码本是在对激励信号的编码过程中,对目标矢量和长时基音贡献的差值的逼近,是总激励的余量信号,也是对目标矢量和长时基音贡献的差值的逼近,它是总激励中的非周期脉冲成分。
因此,通过对语音加密效果的衡量标准和G.729各参数作用的联合考虑,明确LSP参数、码本增益和自适应码本延时三个参数非常重要,在选择加密参数时需要首先考虑,固定码本参数的加密可以置后考虑。
本发明以K.Swaninathan等人提出的G.729语音帧重要比特位36bit(即本发明中的安全等级六的加密,见图8)的最小集合为基础,主要考虑上述分析中已选择的三个参数,结合其内部各自更为详尽的编码过程,进一步在三个参数内部进行比特位的选择,以在36位比特位中再次筛选出更少的比特位。
1、LSP系数(LPC系数)内部的进一步选择。由图8可以看到,36比特位中仅包含了L1、L2两个参数,没有包含L0、L3,这是因为G.729对LSP系数编码时,首先用4阶滑动平均(MA,Moving Average)预测器来预测当前帧的线谱频率,计算的和预测的线谱频率的差值采用的两级***式预测矢量量化的方法进行量化。第一级是10维矢量量化,L1表示码本索引,用7bit编码;第二级是将10维***为两个5维的码本,L2表示较低的5维码本索引,L3表示较高的5维码本索引,分别用5bits编码。L0仅用于选择G.729提供的两种4阶MA预测器其中的一个。通过研究LSP系数的量化编码过程知道,L1是第一级矢量量化的索引,最为重要,它会影响到解码端处对L2、L3的解码,因此在L1、L2、L3中应优先加密;L2是第二级矢量量化时先编码的部分,会影响在其后编、解码的L3,因此优先于L3对它加密。另外,因为L1、L2、L3都是码本索引,并不是码本本身,对其部分位变换,会极大影响通过它们搜索出来的码本,因此在上述对L1、L2两个参数加密的基础上,进一步的,仅对这L1、L2部分位进行加密;
2、自适应码本时延参数内部的进一步选择。自适应码本搜索每一子帧(5ms)进行一次。用闭环分析最小化加权均方误差来决定每一子帧的最佳时延,闭环基音搜索的准则是使原始语音和重构语音之间均方感知加权误差最小。确定基音时延以后,进行自适应码本时延的码字计算。第一子帧基音时延T1用8bits编码,第二子帧基音时延T2用5bits编码。基音时延T2的值编码与T1的值有关,相当于差分编码。因此,在解码端,P1的重要性高于P2,因为它对T2的解码亦有影响。所以,在对P1、P2进行加密时,对P1加密的比特位应多于P2。我们对P1、P2加密部分位;
3、码本增益参数内部的进一步选择。自适应码本增益和固定码本增益是用7bits的矢量量化,用原始语音和重构语音之间的误差加权均方最小来搜索增益码本。同样的,因为GA、GB都是码本索引,并不是码本本身,对其部分位变换,会极大影响通过它们搜索出来的码本,因此在上述对GA、GB两个参数加密的基础上,进一步的,仅对这GA、GB进行部分位加密;
在以上分析的基础上,对G.729语音帧进行不同比特位的加密后,对加密语音进行反复试听和分析比较,根据试听结果最后把G.729语音帧选择性加密分为8个安全等级,前六个安全等级旨在以最少的加密位获得尽可能高的保密性,后两个安全等级旨在为各类业务需求提供可能性与技术支持。
8个安全等级是按照以下两种目标分别提出的:
第一,以保密性为首要目标,以加密尽可能少的位获得尽可能好的保密性,旨在降低话音可懂度。划分为六个安全等级:
安全等级一,加密语音帧中的20比特位,如图3;
安全等级二,加密语音帧中的21比特位,如图4;
安全等级三,加密语音帧中的22比特位,如图5;
安全等级四,加密语音帧中的23比特位,如图6;
安全等级五,加密语音帧中的24比特位,如图7;
安全等级六,加密语音帧中的36比特位,如图8;
第二,以可能出现的业务需求为目标进行考虑,提出以下方法:
安全等级七,模糊语音性别(即通过听语音无法准确判断原说话人的性别,可以听懂,但听不出是男声还是女声)选择需加密的比特位,如图9;
安全等级八,减小通话/非通话期的区别选择需加密的比特位,如图10;
在本发明实施例中,给出了8类安全等级的选择性加密,没有限制某种具体的应用背景以及安全需求。如果某种实际应用中,对比特位进行加密安全效果没有达到具体环境的应用要求的话,可以在本发明的8种安全等级间进行自由组合,直到获得所需效果。
作为一种可实施的方式,所述安全等级和选择性加密一帧中各字节需加密的比特位置表的数据结构可以表示如下:
/*安全等级*/
#define SECURITY_LEVEL1  1  //安全等级一
#define SECURITY_LEVEL2  2  //安全等级二
#define SECURITY_LEVEL3  3  //安全等级三
#define SECURITY_LEVEL4  4  //安全等级四
#define SECURITY_LEVEL4  5  //安全等级五
#define SECURITY_LEVEL4  6  //安全等级六
#define SECURITY_LEVEL4  7  //安全等级七
#define SECURITY_LEVEL4  8  //安全等级八
/*选择性加密一帧中各字节需加密的比特位置表*/
byte level1_Bitpos_List[]={0x1e,0x07,0x7c,0x00,0x00,0x90,0x19,0x00,0x00,0x32};
//安全等级1时,选用的比特位置表
byte level2_Bitpos_List[]={0x1e,0x07,0x7c,0x00,0x00,0x90,0x39,0x00,0x00,0x32};
//安全等级2时,选用的比特位置表
byte level3_Bitpos_List[]={0x1e,0x07,0x7c,0x00,0x00,0xb0,0x19,0x00,0x00,0x36};
//安全等级3时,选用的比特位置表
byte level4_Bitpos_List[]={0x1e,0x07,0x7c,0x00,0x00,0xb0,0x39,0x00,0x00,0x36};
//安全等级4时,选用的比特位置表
byte level5_Bitpos_List[]={0x3e,0x07,0x7c,0x00,0x00,0xb0,0x39,0x00,0x00,0x36};
//安全等级5时,选用的比特位置表
byte level6_Bitpos_List[]={0xfe,0x1f,0xfc,0x01,0x00,0xf0,0x3f,0x00,0x00,0xfe};
//安全等级6时,选用的比特位置表
byte level7_Bitpos_List[]={0x00,0x00,0xfc,0x7f,0x00,0x00,0xf8,0x0f,0x00,0x00};
//安全等级7时,选用的比特位置表
byte level8_Bitpos_List[]={0x00,0x00,0x00,0x00,0x00,0xf0,0x07,0x00,0x00,0xfe};
//安全等级8时,选用的比特位置表
下面详细说明本发明步骤S220执行加密操作的具体方法过程:
在本发明实施例中,以安全等级为7的情况为例进行分析说明,此时加密的比特位置表选用level7_Bitpos_List[]。
数组keyList[8]存放混沌密钥流。Xi小数点后取64位二进制位,生成8字节的字节型(byte)型数据,存入数组keyList[8]中。本方法中设置标志量times,以记录同一密钥使用的次数。其初始值设置为0。
具体包括如下步骤:
步骤S221,首先收到语音帧的第一帧,数组level7_Bitpos_List[]的第1项记录语音帧的第1字节需要加密的比特位,取出其值00011110,比特位为1说明相应语音帧字节的相应比特位需要加密,否则不用;
步骤S222,将00011_110与数组keyList[](存放生成的64位密钥流)的第((1+times)%8)项相与,得到的结果与语音帧的第1字节进行异或,结果送回语音帧第1字节,如图15所示,图示以times=0时为例,因此此时图15中数组keyList[]即是使用第1项;
步骤S223,再查找数组level7_Bitpos_List[]的第2项,它记录语音帧的第2字节需要加密的比特位,取出其值000001111;
步骤S224,将00011110与数组keyList[]的第((2+times)%8)项相与,得到的结果与语音帧的第2字节进行异或,结果送回语音帧第2字节;
以此类推,直到将语音帧的第8字节加密完成,如图16所示。
步骤S225,当语音帧的第9个字节需要加密时,查找数组level7_Bitpos_List[]的第9项,与keyList[]表的第((9+times)%8)项相与,用此结果与语音帧第9字节进行异或加密。
如图17所示,当进行到步骤S225时,keyList[]的8个字节全部用过一轮,当语音帧的第9个字节需要加密时,keyList[]表回到表头第((9+times)%8)项,图示以times=0时为例,因此此时图17中即是回到表头第1项。查找数组level7_Bitpos_List[]的第9项,将此字节与数组keyList[]的第((9+times)%8)项相与,得到的结果与语音帧第9字节进行异或加密。因为语音帧每一字节要加密的比特位并不相同,即使keyList[]重复使用,其中每一次真正使用到的比特位也不尽相同。
步骤S226,向后滑动继续加密第10字节,同时,keyList[]表也向后滑动,level7_Bitpos_List[]也向后移动一项;
如图18所示,语音帧第9字节加密完后,向后滑动继续加密第10字节,同时,keyList[]表也向后滑动到第((10+times)%8)项,level7_Bitpos_List[]也向后移动一项,查找数组数组level7_Bitpos_List[]的第10项,将此字节与数组keyList[]的第((10+times)%8)项相与,得到的结果与语音帧第10字节进行异或加密,图示以times=0时为例,因此此时图18中数组keyList[]使用的是第2项。
到此,此语音帧加密完成,标志量times增1。
下面详细说明本发明步骤S230执行更新密钥的具体方法过程:
步骤S231,在当前语音帧加密完成后,判断标志量times是否为8,如果不是8则不更新密钥流,转至步骤S234;如果是8,密钥流已用过8次,需要更新密钥流,继续下一步骤;
步骤S232,标志量times重新赋值为0;
步骤S233,keyList[]表作废,需要更新。利用下式
G(x)=(β+1)(1+1/β)βx(1-x)β
对xi(x的当前值)进行迭代,得到xi+1,取xi+1的小数点后的64位有效二进制位,转换为8个byte型数据,将转换的数据存入数组keyList[],实现了keyList[]的更新。
步骤S234,如果还有要加密的语音帧,则继续取下一帧,转回步骤S220;如果没有,加密结束。
本发明的语音编码选择性加密方法,使用选择性加密对G.729编码语音进行混沌流加密,具有如下优点:
1)提高语音通话的实时性
语音编码选择性加密方法从以下几方面提高加密效率:
A1)对语音帧进行选择性加密,在帧内,按安全等级的需要,对那些敏感性高的比特位(即对重建语音影响大)进行加密。与传统的对语音媒体内容进行整体加密相比,这无疑加快加密速度。
A2)使用流加密算法,将明文直接和密钥流进行异或,相比分组算法,此法速度更快。
A3)为了增强安全性,流加密算法中使用的密钥流为混沌序列,由改进的Logistics map映射得到。此法在迭代过程中,计算复杂度较大,为了减少密钥流的计算量,结合G.729帧结构所选择的需要加密部分位置的特点,适当地对混沌密钥流进行重复使用,而不显著影响其安全性能。
2)降低***能耗,减少对资源的占用
对语音帧进行选择性加密,使用流加密算法,对混沌密钥流进行适当的重复利用,这些措施在提高效率的同时,也可以降低***能耗,减少占用的资源数量。降低能耗在一些能源资源十分紧张的应用环境中,如无线通信领域中其移动设备携带能量有限,是非常关键的问题。减少对资源的占用,也可减轻网络处理节点的负荷。
3)便于满足不同等级的业务需求
选择性加密不仅仅可以从技术上满足更好的需求,它在许多互联网的业务中,也有实际的应用价值。在语音帧内,按实际业务的需要,对特定的部分比特位进行加密,可以获得各种效果,如模糊语音的性别,使人无法辨识男女,再如,提供各类音频服务的网站,其语音材料可以以不同的加密强度提供给用户,如果是免费提供给用户试听,可以对语音采取某种低的加密强度,以进行模糊处理,降低音质。诸如此类的许多应用,总之,选择性加密为不同等级的业务需求提供了可行性与良好的技术支持。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。

Claims (9)

1.一种语音编码选择性加密方法,其特征在于,包括下列步骤:
步骤A,进行初始化,选择所需安全等级,确定流加密方法的初始值x0和调节参数β;
步骤B,按照安全等级确定选用的比特位置表,利用所述流加密方法执行加密操作;所述的流加密方法为混沌流加密方法;
所述混沌流加密方法为改进的Logistics映射的一维非线性迭代方法表征的混沌流加密方法;
所述迭代方法如下式所示:
G(x)=(β+1)(1+1/β)βx(1-x)β
其中,β∈(1,4),x0∈(0,1),x的初始值为x0,通过此式迭代可以得到混沌序列值x1,x2,x3,...xn...。
2.根据权利要求1所述的语音编码选择性加密方法,其特征在于,还包括下列步骤:
步骤C,解密方接到加密数据后,首先进行初始化,然后执行解密操作。
3.根据权利要求1或2所述的语音编码选择性加密方法,其特征在于,所述步骤A包括下列步骤:
步骤A1,用户选择加密所需的安全等级;
步骤A2,确定流加密方法的初始值和调节参数;
步骤A3,取调节参数中的初始值的有效二进制位,转换字节型数据,将转换的数据存入一数组作为密钥流表,此密钥流表将用以和语音数据流明文要加密的位进行异或运算,以获得密文。
4.根据权利要求1或2所述的语音编码选择性加密方法,其特征在于,所述步骤B包括下列步骤:
步骤B 1,按照安全等级确定选用的比特位置表;
步骤B2,在按照安全等级确定选用的比特位置表后,执行当前帧的加密操作;
步骤B3,完成当前帧的加密操作后,如果密钥流使用完,利用所述混沌流加密方法中的调节参数对当前混沌序列值进行迭代,得到新的密钥流,更新密钥流表;如果还有语音帧,则转回步骤B2,转而处理下一帧,如果没有语音帧,加密结束。
5.根据权利要求2所述的语音编码选择性加密方法,其特征在于,所述步骤C包括下列步骤:
步骤C1,接收控制参数,得到加密安全等级,并得到混沌流加密方法的初始值和调节参数;
步骤C2,取调节参数的有效二进制位,转换为字节型数据,将转换的数据存入字节型数组作为密钥流表,此密钥流表将用以和语音数据流密文中加密的位进行异或运算,以获得明文;
步骤C3,按照安全等级确定选用的比特位置表;
步骤C4,执行当前帧的解密操作;
步骤C5,完成当前帧的解密操作后,如果密钥流使用完,利用调节参数对当前混沌序列值进行迭代,得到新的密钥流,更新密钥流表;如果还有语音帧,则转回步骤C4,转而处理下一帧,如果没有语音帧,解密结束。
6.根据权利要求1或2所述的语音编码选择性加密方法,其特征在于,所述语音编码为G.729标准语音编码。
7.根据权利要求6所述的语音编码选择性加密方法,其特征在于,所述步骤B中,按加密所需的安全等级确定选用的比特位置表,为:
按照G.729标准语音帧中各参数对重建语音的作用以及重要性的不同,将比特位分为不同类别,加密不同类别的比特位获得不同安全等级或效果。
8.根据权利要求7所述的语音编码选择性加密方法,其特征在于,所述语音帧中参数的比特位的分类包括下列等级之一或者其组合:
安全等级一,加密语音帧中的20比特位;
安全等级二,加密语音帧中的21比特位;
安全等级三,加密语音帧中的22比特位;
安全等级四,加密语音帧中的23比特位;
安全等级五,加密语音帧中的24比特位;
安全等级六,加密语音帧中的36比特位。
9.根据权利要求8所述的语音编码选择性加密方法,其特征在于,所述语音帧中参数的比特位的分类还包括下列等级之一或者其组合:
安全等级七,模糊语音性别选择需加密的比特位;
安全等级八,减小通话/非通话期的区别选择需加密的比特位。
CN2007100527999A 2007-07-20 2007-07-20 一种语音编码选择性加密方法 Expired - Fee Related CN101114450B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007100527999A CN101114450B (zh) 2007-07-20 2007-07-20 一种语音编码选择性加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007100527999A CN101114450B (zh) 2007-07-20 2007-07-20 一种语音编码选择性加密方法

Publications (2)

Publication Number Publication Date
CN101114450A CN101114450A (zh) 2008-01-30
CN101114450B true CN101114450B (zh) 2011-07-27

Family

ID=39022758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100527999A Expired - Fee Related CN101114450B (zh) 2007-07-20 2007-07-20 一种语音编码选择性加密方法

Country Status (1)

Country Link
CN (1) CN101114450B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102036232B (zh) * 2010-12-17 2015-12-09 中兴通讯股份有限公司 一种基站数据发送、接收方法及装置
CN102307075A (zh) * 2011-08-09 2012-01-04 深圳科立讯电子有限公司 Dmr通讯终端的语音传输加密方法
CN102307089B (zh) * 2011-08-12 2014-02-26 黑龙江大学 一种基于初始值可变和伪解密的混沌加密方法
CN106486129B (zh) 2014-06-27 2019-10-25 华为技术有限公司 一种音频编码方法和装置
CN104113625B (zh) * 2014-07-28 2016-02-17 努比亚技术有限公司 通话录制***、方法、装置及移动终端
CN106935243A (zh) * 2015-12-29 2017-07-07 航天信息股份有限公司 一种基于melp的低比特数字语音矢量量化方法和***
CN105871842B (zh) * 2016-03-31 2020-04-07 宇龙计算机通信科技(深圳)有限公司 一种语音加密及解密方法、加密及解密装置以及终端
CN106098073A (zh) * 2016-05-23 2016-11-09 苏州大学 一种基于频谱映射的端到端语音加解密***
CN107508796B (zh) * 2017-07-28 2019-01-04 北京明朝万达科技股份有限公司 一种数据通信方法和装置
CN107864129B (zh) * 2017-10-31 2021-04-16 北信源***集成有限公司 一种保证网络数据安全的方法和装置
CN110601814B (zh) * 2019-09-24 2021-08-27 深圳前海微众银行股份有限公司 联邦学习数据加密方法、装置、设备及可读存储介质
CN111818519B (zh) * 2020-07-16 2022-02-11 郑州信大捷安信息技术股份有限公司 一种端到端语音加密、解密方法及***
CN113132418B (zh) * 2021-06-17 2021-08-27 北京电信易通信息技术股份有限公司 一种可变等级加密方法、***及装置

Also Published As

Publication number Publication date
CN101114450A (zh) 2008-01-30

Similar Documents

Publication Publication Date Title
CN101114450B (zh) 一种语音编码选择性加密方法
CN101059957B (zh) 一种语音编码选择性加密方法
CN101925950B (zh) 音频编码器和解码器
CN102119414B (zh) 用于在超帧中量化和逆量化线性预测系数滤波器的设备和方法
KR100283547B1 (ko) 오디오 신호 부호화 방법 및 복호화 방법, 오디오 신호 부호화장치 및 복호화 장치
CN100362568C (zh) 用于预测量化有声语音的方法和设备
CN101996636B (zh) 带多级码本和冗余编码的子带话音编解码器
CN105336337B (zh) 针对语音信号或音频信号的量化方法以及解码方法和设备
CN101903945B (zh) 编码装置、解码装置以及编码方法
CN100409308C (zh) 语音编码方法和装置以及语音解码方法和装置
CN105513602B (zh) 用于语音信号或音频信号的解码设备和方法及量化设备
CN1890714B (zh) 一种优化的复合编码方法
CN103229234A (zh) 音频编码装置、方法和程序以及音频解码装置、方法和程序
CN102103860A (zh) 频谱包络信息量化装置及方法、频谱包络信息解码装置及方法
Wu et al. An approach of steganography in G. 729 bitstream based on matrix coding and interleaving
CN1166019A (zh) 矢量量化器方法
JP6812504B2 (ja) 音声符号化方法および関連装置
CN1334952A (zh) 用于改善编码通信信号性能的编码增强特性
CN101399043A (zh) 一种自适应多速率窄带编码方法及编码器
CN101176148A (zh) 编码装置、解码装置和其方法
CN1751338B (zh) 用于语音编码的方法和设备
CN101090312B (zh) 一种改进的语音编码流加密方法
CN100585700C (zh) 语音编码装置及其方法
CN102568484A (zh) 弯曲谱和精细估计音频编码
JPWO2015162979A1 (ja) 周波数領域パラメータ列生成方法、符号化方法、復号方法、周波数領域パラメータ列生成装置、符号化装置、復号装置、プログラム及び記録媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110727

Termination date: 20120720