APP下载

一种语音加密器的密钥管理方案设计与实现

2014-08-07滕广超郎建军杜奇才林嘉宇

微处理机 2014年3期
关键词:素数密钥加密

滕广超,郎建军,杜奇才,林嘉宇

(1.国防科学技术大学电子科学与工程学院,长沙410073;2.武警黄金一总队通信科,哈尔滨150086;3.特种作战学院侦查系,广州510500)

·微机软件·

一种语音加密器的密钥管理方案设计与实现

滕广超1,2,郎建军2,杜奇才3,林嘉宇1

(1.国防科学技术大学电子科学与工程学院,长沙410073;2.武警黄金一总队通信科,哈尔滨150086;3.特种作战学院侦查系,广州510500)

通信技术飞速发展的同时,语音通信的安全性和保密性面临着极大威胁。现今社会,各国的党政军等机要部门,民用领域和商业秘密层面都希望在语音通信过程中可以保护自己的隐私和秘密。为满足语音保密的需要,设计一种语音加密器。这里对语音加密器的密钥管理和生成算法加以讨论。

语音加密;算法;密钥

1 引 言

目前,全球正处于信息时代,信息在社会生活各方面都有着极大的作用和价值。通信技术飞速发展的同时,对信息进行窃取和保护的手段也随之不断进步。人们对信息安全和通信保密的重视程度也愈来愈高,这方面的技术和理论也在快速发展。将通信保密技术应用在语音通信上,对传输前的语音信号进行加密,使第三方无法获得语音信息,就形成了语音保密学科体系。

现在语音加密的主要研究方向是对语音信号加密。到目前为止,语音加密方式分为语音模拟置乱、语音数字加密以及介于两者之间的模拟-数字-模拟加密方式三种。语音模拟置乱和语音数字加密这两种方式,在加密理论上有着最根本的不同点。语音模拟置乱是将语音信号看做是声音,根据语音的特性,通过对语音信号的频率、时间、振幅等参数进行扰乱[1]来加密。而语音数字加密是将语音信号数字化后的数据看做普通的离散数据,通过按一定规律变换离散数据来完成加密工作。模数模加密体制偏近于模拟信号加密,它先将语音信号数字化,然后使用一定的加密算法将数字化的语音信号加密,最后将处理过的数据变换为模拟信号发送出去。模数模加密体制因其具有剩余可懂度低、实现设备简单、语音解密后音质好等优点,非常适用于构造语音加密器。

目前市场上在售的语音加密设备,多是采用数字加密方式。数字加密方式对声码器和模拟信道带宽现状等因素都有一定的要求,而且计算量大。因此,考虑选用模数模加密方式来设计加密器,这里仅对加密器中包含初始密钥生成、密钥流生成和密钥传输三部分的密钥管理模块做以讨论。

2 密钥管理模块设计

2.1 初始密钥生成设计

初始密钥在该密钥管理模块中有着很重要的地位,它的作用是生成和保护密钥流,采用随机序列作为初始密钥。真随机数的产生大都需要借助于自然界的物理噪声源。物理噪声源分为两种:其一为力学噪声源,其二为电子学噪声源[2]。使用力学噪声源来产生随机序列的效率很低,而且序列的随机性不高,很难满足密码应用方面的要求,故现在已经基本不再使用。目前,主要是借助电子学噪声源来产生随机序列。通过电子器件的热噪声来产生随机序列,首先要获得晶体管、二极管、电阻等电子器件所产生的热噪声模拟信号,然后对热噪声模拟信号进行放大、滤波,再进行采样、量化、编码等一系列数字化处理,生成随机序列。

鉴于初始密钥的地位,其在安全性方面的要求很高。故采用RSA密码体制来进行通信双方间的初始密钥传输。RSA是一种非对称密码体制,其算法完善,理论成熟,是最具有代表性的非对称密码体制。RSA算法的数学基础是欧拉定理和大整数分解难问题,所以它的安全性高、保密性强。RSA不仅可以对数据加密,还可以用于数字签名,所以其应用极为广泛,尤其适用在通信领域。

2.2 密钥流生成设计

考虑到语音的特性,加解密操作采用类似于流密码的加密体制。从流密码的安全性可知,密钥流的安全性在其算法中有着至关重要的地位。要设计一款好的加解密算法,首先需要从安全性角度考虑密钥流的周期性、随机统计性和不可预测性[3],以此为出发点来确定密钥流产生器的设计原则,使密钥流能够达到“一次一密”的标准。具体设计原则如下[4]:

(1)密钥流的周期要大。真正的随机序列不具有周期性,而任何算法产生的所谓“随机序列”都具有周期性或准周期性,实际上是伪随机的。出于安全性考虑,为了更好的掩盖明文信息,密钥流的周期要尽可能的大。

(2)密钥流的统计特性要好,应该达到理想的分布标准。这一条也是为了提高加密效果,使第三方破译工作难以取得成果。

(3)密钥流的线性复杂度要大,这样会使密钥流线性不可预测。强的线性复杂度可以提高密码的保密强度,使第三方在获得部分密钥流的情况下不容易推算出全部密钥流,也不能推算出密钥流生成器的结构。这一条是设计密钥流生成器的核心。

(4)密钥流生成速度快。这样可以提高整个系统的效率,减轻硬件在计算上的压力,使整个系统方便、快捷、实用。

2.3 密钥传输设计

语音加密器采用的是模数模加密方式,通信双方之间在信道内传输的是模拟信号。而上文所涉及到的初始密钥、随机数均为数字信号。为使接收方能够正常进行解密操作和合法性验证,发送方需将初始密钥、随机数和数据摘要通过模拟信道传输给接收方。同时,在加解密操作过程中,还需要更换密钥,密钥和密文需要保持严格同步。论文使用DTMF方式来完成这些数据的传输与同步。

3 密钥模块实现

3.1 初始密钥生成实现

初始密钥为系统采集到并加以处理的随机数。随机数在通信双方之间传输使用的是RSA密码体制。因此,初始密钥部分需要实现RSA算法的一些功能。

RSA算法的数学基础是大整数分解难题,即:从数论和计算复杂度上来看,得出两个大素数的积在计算实现上是容易的,但要将两个大素数的乘积分解,得出其两个素数因子在计算实现上是困难的。大整数因子分解难问题是数学上的著名难题,整数越大越难被分解,整数大的同时,分解计算复杂度也被提高了。

RSA算法的实现主要分三部分工作:一是大素数生成的实现,二是密钥对生成的实现,三是RSA消息处理的实现。

大素数生成部分是该密钥模块的第一步。由于对素数生成的实时性要求不高,所以这部分可以采用C语言和计算机汇编语言来实现。这样可以减轻硬件压力,同时可以高效的生成大素数。具体工作分为以下几步:

(1)确定素数的长度。模块构造的RSA密码体制的模数长度为1024比特,所以,两个大素数的长度需要在512比特左右。又因为两个素数的取值不能太接近,其中任意一个都不能太小,所以,最终确定其中一个素数p的长度500比特至510比特之间,另一个素数q的长度为模数长度减去素数p的长度。

(2)限定素数搜索空间:确定了两个素数的长度后,就可以在其对应的范围内寻找大数素了。根据素数定理,在长度为512比特的自然数中,差不多每个由178个连续的奇自然数组成的数段内,都会存在一个素数。所以,确定素数的搜索范围为[N,N+t],t=k×178,该区域内会出现素数的几率很大。其中,N是长度为512比特左右的随机数,t的设定有助于调整搜索空间,这里设定k=3。

(3)在空间内筛值。就是先去掉区域[N,N+t]内的一些合数,这些合数是不大于r的素数的倍数。剩下的数,占原来自然数区域的1.12/1n r。r的取值越大,剩下的数就越少,接下来进行检测的数也就越少。一般r的取值为256或2000,而筛值运算的计算量不会因r值的增大而增加很多,所以r取值2000。

(4)素数检测。检测素数采用Miller-Rabin检测法,原因是这种检测方法的计算量较小,运算效率较高。Miller-Rabin算法需要先选择一个随机数a,a与需要被检测的n互素,且小于n。设定a为筛值运算中的小素数,这样可以减少预算量。被检测算法误认为素数是合数的概率为4-J,这里的J是a的可能个数。通常情况下,J=7时可以满足要求,这时出现错误的概率小于0.006%。

密钥对的生成就是根据欧拉数φ(N)求得公钥e和私钥d的过程。因为e是d的逆元,所以,这其实是一个求模逆元的运算。选定了e后,应先判定其与φ(N)是否互素,也就是判定gcd(e,φ(N))是否等于1。论文选用欧几里德算法与Stein算法相结合的方式来完成判定,选用扩展的欧几里德算法和扩展Stein算法相结合的方式来生成私钥d,这样可以提高运算速度。

RSA消息处理过程为:Pr ocessed=MsgKeymkd N。其中Msg代表输入;Key为使用的密钥;N为模数;Pr ocessed为运算后得到的数据。

3.2 密钥流生成实现

密钥流生成部分由Geffe发生器与Hash函数组成,其作用是生成加解密运算所需的密钥流。

密钥流的生成过程是:利用初始密钥和实时采集到的随机数来确定Geffe发生器LFSR的初始状态和本征多项式。然后将3个LFSR经过一系列反馈移位运算,得到3个m序列,每个m序列都是256bits。再将这3个m序列用非线性函数进行组合,得到一个复合m序列。最后,由Hash函数处理复合m序列,生成数据摘要。最终输出密钥流,密钥流长度为128bits。

所设计的Geffe发生器的驱动部分由并行的两路Geffe发生器组成,这两路发生器在结构上是相同的,其作用是生成256比特的复合m序列。两路复合m序列串接,形成一路512bits的序列作为Hash函数的输入。相比于用一路Geffe发生器来生成512bits序列来说,省去了一半时间,效率提高2倍。

Hash函数选用MD5算法。标准MD5算法在运算前需要填充信息,使信息长度满足一定要求。但这里设计的方法在使用MD5算法时使用512bits作输入,故省略信息填充步骤。

密钥认证的过程是用Hash函数对密钥流进行处理,将生成的摘要传输给接收方,接收方同样对其密钥流用Hash函数取摘要,并将自己生成的摘要与发送方传来的摘要对比,如相同则完成合法性确认。

3.3 密钥传输的实现

DTMF[5](Dual-Tone Multi Frequency),也称双音多频,是一种编码技术,其特点是用两个不同频率的正弦信号互相叠加来代表数字信号。DTMF具有音质稳定,有较强的抗干扰能力,在绝大多数信道都能进行传送的优点。DTMF的特点使其能在通信系统的许多领域得到广泛应用,如电话语音服务、信息传送、远程控制等等。

由于DTMF是在语音信道内传输的,所以,接收方在设置滤波器参数时应考虑语音的特性。语音的频带为300Hz-3400Hz。所以接收方滤波器的参数设置为:低通滤波器频带为300Hz-1300Hz,高通滤波器频带为2000Hz-3000Hz。由此获得低、高通滤波频带的中间值分别为800Hz和2500Hz。再将它们分别左、右移动1/4个频带宽度,就得到各自的频段,其中,低频信号频段为550Hz-1050Hz,高频信号频段为2250Hz-2750Hz。这样设置滤波器参数可以在保证滤波效果的同时,还能使保护带宽足够宽,以防止能量损失。

接收方处理DTMF时,设计借助了阈值α的概念。设ML为低通信号的能量,MH为高通信号的能量,α1为低频信号的阈值,α2为高频信号的阈值。如果ML/MH>α1,则认为这时是DTMF音的低频信号态,设为0态;当MH/ML>α2时,则认为这时是DTMF音的高频信号态,设为1态;否则为第三态。设α1=2,α2=2,故,当ML/MH>2时,为低频信号,即0态;当MH/ML>2时,为高频信号,即1态;当0.5≤ML/MH≤2时,为第三态。

设置实验环境时,考虑在实际情况下,信号的传输会受到背噪、白噪等噪声的干扰。因此,实验设计以白噪声为背景噪声。如果噪声能量小于信号能量,那么信号被干扰后的提取工作容易完成。设干扰后DTMF音的信噪比为10dB。

这里以一个4bits序列作为发送方传输给接收方的数进行实验。将序列0101看成4个音,分为4帧,每帧160ms,共640ms。发送方要借助Matlab用白噪声作为背景噪声加入到原始的DTMF音中,得到10dB的新DTMF音。

图1 加噪声DTMF音频谱图

接收端收到DTMF音后,对其进行高通滤波和低通滤波后分别得到高、低通能量归一化值为MH/MHmax和ML/MLmax,其中,MHmax为高通信号的能量最大值,MLmax为低通信号的能量最大值。然后利用阈值对DTMF音进行判决,得出信号在各子帧是处于0态、1态还是第三态。并将其所处的状态值看成是二进制数,得出一个二进制序列。可见,接收方所得出的序列与发送方所发出的序列一致,均为0101。

4 结束语

通过上述方法构造的密钥管理模块可以保证初始密钥、密钥流的安全性,进而使整个语音加密系统能够达到极高的加密强度。还可以通过Hash函数生成数据摘要,以满足通信双方合法性认证的要求。选用DTMF作为密钥流和数据摘要的传输方式,也可用DTMF作为同步信号,较好的完成了在模拟信道中传输数据的任务。密钥管理模块的设计和实现提出了一种综合加密办法,显著提高了系统的加密强度,保证了语音在传输过程中的安全性。

图2 接收端按帧判定状态图

[1]Goldburg B,Sridharan S,Dawson E.On the use of a frequency domain vector codebook for the cryptanalysis of analog speech scramblers[J].IEEE International Sympoisum on Circuits and Systems.1991(1):328-331.

[2]孙淑玲.应用密码学[M].北京:清华大学出版社,2004.

[3]Golomb S W.Shift Register Sequences[C].San Francisco:Holden-Day,1967.

[4]王育民,刘建伟.通信网的安全理论与技术[M].西安:西安电子科技大学出版社,1999.

[5]ITU.ITU-T recommendation Q.23 technical features of push-button telephone sets[S].[S.I.]:ITU,1988.

Design and Im plementation of a Key Management Scheme of Voice Encryptor

TENG Guang-chao1,2,LANG Jian-jun2,DU Qi-cai3,LIN Jia-yu1
(1.College of Electronics Science and Engineering,National Defense Technology University,Changsha 410073 China;2.Gold Corps I,Communication Department,The Armed Police,Harbin 150086 China;3.Investigation Department of Special Operations School,Guangzhou 510500 China)

As the rapid development of communication technology,voice communication security and confidentiality is facing a great threat.In modern society,all of the government and other departments in the fields of civil secretand commercial secretwant to protect their privacy and secrets in the voice communication process.In order tomeet the requirements of voice secret,a voice encryptor is designed in this paper and themanagement and generation algorithm of the voice encryption key are discussed as well.

Voice encryption;Algorithm;Key

10.3969/j.issn.1002-2279.2014.03.007

TN918

:A

:1002-2279(2014)03-0021-04

滕广超(1984),男,黑龙江鸡西人,工程师,主研方向:电子信息与技术。

2013-12-03

猜你喜欢

素数密钥加密
两个素数平方、四个素数立方和2的整数幂
一种新型离散忆阻混沌系统及其图像加密应用
幻中邂逅之金色密钥
有关殆素数的二元丢番图不等式
密码系统中密钥的状态与保护*
关于两个素数和一个素数κ次幂的丢番图不等式
关于素数简化剩余系构造的几个问题
一种基于熵的混沌加密小波变换水印算法
TPM 2.0密钥迁移协议研究
一种对称密钥的密钥管理方法及系统