CN101471769B - 一种适于VoIP媒体传输的加解密方法 - Google Patents
一种适于VoIP媒体传输的加解密方法 Download PDFInfo
- Publication number
- CN101471769B CN101471769B CN2007103045926A CN200710304592A CN101471769B CN 101471769 B CN101471769 B CN 101471769B CN 2007103045926 A CN2007103045926 A CN 2007103045926A CN 200710304592 A CN200710304592 A CN 200710304592A CN 101471769 B CN101471769 B CN 101471769B
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- random number
- key
- remainder
- 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.)
- Active
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种适于VoIP媒体传输的加解密方法。在该方法中,首先在发话端取得一个随机数M,用此随机数M对一个固定的Key值取余,按照取余后的余数从密钥表中选取对应的密钥作为加密的密钥E。同时,将取余后的余数作为随机增加的数据长度。依次填入:随机数M、按照随机增加的数据长度填入随机数据、用密钥E对原明文加密后的数据作为密文数据。本发明所提供的方法一方面可以有效保证语音通信的保密性,另一方面又对RTP包的特征进行了隐藏,可以有效防止检测系统根据语音流特征检测并屏蔽该RTP包。
Description
技术领域
本发明涉及一种用在VoIP(Voice over Internet Protocol)系统中,对发话端与受话端之间传输的RTP包进行加解密的方法,属于因特网语音通信技术领域。
背景技术
VoIP是一种使用互联网协议和呼叫信令在互联网上传输话音的技术。它的实现过程大致包括如下步骤:首先是将发话端的模拟语音信息进行语音编码;接下来是将语音数据封包加以压缩,并同时添加地址及控制信息;然后,通过互联网传输封装好的RTP包,并根据RTP包上的地址在互联网中寻找到传送的目的端。到了目的端之后,对RTP包进行译码和还原的工作,将其转换成受话端能够播放的声音信号。
在上述实现语音通信的过程中,没有经过加密的RTP包在互联网上传输时很容易被捕获、窃听甚至被语音检测系统屏蔽,因此对该RTP包实施加密显得尤为重要。
在VoIP系统的数据传输中,RTP包有显著的特点:包长较小、长度一定、发包间隔小、数量大。因此,现阶段使用的RTP包加密方法主要分为两大类:一类是更改上层协议头,即在原来RTP包外再封装一个伪头部,或直接更改RTP头,使协议分析系统无法判断或判断成非RTP协议类型;另一类是对整个RTP包进行加密,使用某种伪随机序列生成算法生成一段伪随机序列,或直接使用定制的密码表对RTP包进行加密。
但是,实施加解密的双方都采用同样的加解密算法对大量RTP包进行加解密操作会导致两个问题:其一,由于RTP包的大小都是相同的,加密后的RTP包的大小依然不变;其二,RTP包中会存在大量的静音包,在经过加密后所产生的密文内容也会有一定的规律性,不能很好地隐藏RTP流的特征。语音检测系统能根据该RTP流的特征检测到语音通道,并能对其进行屏蔽。
在张冬玲发表的《VoIP加密方案BEEO的加密算法原理及实现》一文中,介绍了一种适应于加密在Internet上传输的IP电话相关业务的较高强度的加密方法-BEEO。该方法适应的信令标准包括SIP、MGCP、H.323,适应的媒体传输方式为RTP,适应的网络结构包括客户服务器模式和端到端模式。具体实施步骤是这样的:在发送端,把输入内容按数据位排列成矩阵,按照协商的方式和密钥形成一个列加密矩阵、行加密矩阵和加扰矩阵,用列加密矩阵对输入数据的列进行数据位交换,用行加密矩阵对输入数据的行进行数据位交换,用加扰矩阵对数据块按字节进行异或操作,从而达到加密的目的。在接收端,使用同样三个矩阵的逆矩阵顺序进行去扰、行恢复和列恢复,还原出原始数据。该方法虽然具有实现简单、速度快的优点,但没有改变RTP包长度一定的这一特性,而且对同样的数据加密后的密文是一样的,因此容易被语音检测系统定位并屏蔽RTP流。
发明内容
本发明的目的是提供一种在VoIP系统中对发话端与受话端之间传输的RTP包进行加解密的方法。利用该方法,可以使加密后的包长可变,并使每次加密的密钥不同,因此破解方很难利用RTP包原有的特征去捕获RTP包,定位语音通道。
为实现上述的发明目的,本发明采用下述的技术方案:
一种适于VoIP媒体传输的加解密方法,其特征在于:
(1)准备密钥表和公钥;
(2)在发话端,首先取得一个随机数,然后用所述随机数对所述公钥取余,获得余数;
(3)按照所述余数的顺序从所述密钥表中取出对应密钥,对明文进行加密;
(4)生成密文数据,所述密文数据依次为:所述随机数、按照所述余数确定的长度填入的随机数据、用所述密钥对所述明文加密后的数据;
(5)在受话端,从所述密文数据的头端获得所述随机数,用所述随机数对所述公钥取余,获得所述余数;
(6)根据所述余数确定的偏移量从所述密文数据中取出所述加密后的数据;
(7)按照所述余数的顺序从所述密钥表中取出对应密钥,对所述加密后的数据进行解密,获得所述明文。
其中,所述密文数据以RTP数据包的形式在所述发话端与所述受话端之间传输。
所述加密和所述解密均采用异或运算。
本发明在传统分组密码的基础上针对语音加密特征进行了扩展,因此可以实现如下的技术效果:
1.通过携带随机数,使解密方容易得到密钥,避免了使用序列密码带来的密钥同步问题;
2.增加了随机数据段,而且随机数据的长度在一定范围内也是随机的,如此可使加密后的密文长度具有一定的随机性;
3.由于加密时选取密钥的序列号是随机生成的,即使对同样的数据进行加密也会得到不同的密文,使密文失去了规律性,难以被破解。
附图说明
下面结合附图和具体实施方式对本发明作进一步的说明。
图1为具有加解密功能的VoIP系统实现基本传输的示意图;
图2为加解密流程的逻辑示意图;
图3为密文包的组成示意图。
具体实施方式
图1显示了一个具有加解密功能的基本VoIP系统。在该系统中,发话端的电话机连接一个VoIP终端,在该VoIP终端中完成语音数据的加密工作之后,将加密后的RTP包传送给VoIP平台,并通过该VoIP平台传送给受话端的VoIP终端,在该VoIP终端中完成解密工作之后,由受话端的电话机播放解密的语音信号。
下面详细说明本发明所提供的适于VoIP媒体传输的加解密方法的具体实施步骤。
本加解密方法在实施之前,加解密的两端要拥有一个共同的Key(公钥)和密钥表,且此表要尽量大。在此条件下,参见图2所示,发送方在发话端取得一个随机数M,用此随机数M对一个固定的Key值取余,按照取余后的余数从密钥表中选取对应的密钥作为本次加密的密钥E。同时,将取余后的余数作为RTP包随机增加的数据长度。然后构造如图3所示的密文数据,即依次填入:随机数M、按照随机数据长度填入随机数据、用密钥E对原明文加密后的数据。
现以一段明文“0100 0101 1101 1011 1100 1010 1000 0010”为例加以说明。假设固定的Key=128,密钥表中有1000个密钥。
取得随机数M=339,以4个字节计。
用339对Key取余,339%key=83。
得到第83条密钥,假设为“1001 1011 0100 0100 0001 1101 00110001”。
用该密钥对明文进行加密:0100 0101 1101 1011 1100 1010 100000101001 1011 0100 0100 0001 1101 0011 0001=1101 1110 10011111 1101 0111 1011 0011。
然后依次在密文包中填入:随机数M、长度为83的随机数据、加密后的密文。
解密方可以从密文数据的头端获得随机数M,根据密钥表找到对应于M的密钥E,用M对相同的Key值取余得到随机数据区的长度,然后计算偏移量以取得原文的密文,用对应的密钥E进行解密。
仍以上述的加密明文为例进行说明。在接受方收到密文后,解析得到随机数M=339,并对key取余得到83。
根据随机数的长度知道密文的偏移量为83+4=87,可得到密文数据:
1101 1110 1001 1111 1101 0111 1011 0011
取得第339个密钥,并与密文进行模2加运算得到明文:
1101 1110 1001 1111 1101 0111 1011 00111001 1011 0100 01000001 1101 0011 0001=0100 0101 1101 1011 1100 1010 1000 0010。
由于上述加密和解密过程中使用的密钥表以及固定的Key值是相同的,因此加解密的运算都是异或运算,这就保证了最小程度的运算开销,减少对语音的延迟。
另外,由于对RTP包加密使用的密钥是随机的,隐藏了对静音包加密时加密后数据相同的特征,加之加密后的RTP包的长度是随机的,能够有效隐藏使用密码表加密后出现的长度一致的特征,因此可以有效防止检测系统根据语音流特征检测并屏蔽该RTP包。
上面虽然通过实施例描绘了本发明,但本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,所附的权利要求将包括这些变形和变化。
Claims (3)
1.一种适于VoIP媒体传输的加解密方法,其特征在于:
(1)准备密钥表和一个公钥;
(2)在发话端,首先取得一个随机数,然后用所述随机数对所述公钥取余,获得余数;
(3)按照所述余数从所述密钥表中取出对应密钥,对明文进行加密;
(4)生成密文数据,所述密文数据依次为:所述随机数、按照所述余数确定的长度填入的随机数据、用所述密钥对所述明文加密后的数据;
(5)在受话端,从所述密文数据的头端获得所述随机数,用所述随机数对所述公钥取余,获得所述余数;
(6)根据所述余数确定的偏移量从所述密文数据中取出所述加密后的数据;
(7)按照所述余数从所述密钥表中取出对应密钥,对所述加密后的数据进行解密,获得所述明文。
2.如权利要求1所述的适于VoIP媒体传输的加解密方法,其特征在于:
所述密文数据以RTP数据包的形式在所述发话端与所述受话端之间传输。
3.如权利要求1所述的适于VoIP媒体传输的加解密方法,其特征在于:
所述加密和所述解密均采用异或运算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007103045926A CN101471769B (zh) | 2007-12-28 | 2007-12-28 | 一种适于VoIP媒体传输的加解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007103045926A CN101471769B (zh) | 2007-12-28 | 2007-12-28 | 一种适于VoIP媒体传输的加解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101471769A CN101471769A (zh) | 2009-07-01 |
CN101471769B true CN101471769B (zh) | 2011-12-28 |
Family
ID=40828911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007103045926A Active CN101471769B (zh) | 2007-12-28 | 2007-12-28 | 一种适于VoIP媒体传输的加解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101471769B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105262668A (zh) * | 2015-10-31 | 2016-01-20 | 四川理工学院 | 一种应用于云计算网络的防火墙配置 |
CN105553652B (zh) * | 2015-12-24 | 2019-04-12 | 深圳市安云信息科技有限公司 | 一种Linux系统中维护密码的方法 |
CN107819725B (zh) * | 2016-09-12 | 2020-11-27 | 山东量子科学技术研究院有限公司 | 基于VoIP通话的方法及移动终端 |
CN111756523B (zh) * | 2016-11-04 | 2022-08-12 | 北京紫光展锐通信技术有限公司 | 数据传输方法及装置 |
CN106850219B (zh) * | 2017-01-16 | 2020-06-05 | 宇龙计算机通信科技(深圳)有限公司 | 一种数据处理方法及终端 |
CN107682146B (zh) * | 2017-09-26 | 2019-09-03 | 无锡市同舟电子实业有限公司 | 一种单片机通信方法 |
CN108962239B (zh) * | 2018-06-08 | 2021-07-09 | 台州市吉吉知识产权运营有限公司 | 一种基于语音掩蔽的快速配网方法及系统 |
CN109862558A (zh) * | 2019-04-01 | 2019-06-07 | 智慧海派科技有限公司 | 无线传输语音加密封包使密钥传输加速方式 |
CN111310222B (zh) * | 2019-11-20 | 2023-08-15 | 金现代信息产业股份有限公司 | 文件加密方法 |
CN112532384B (zh) * | 2020-11-20 | 2022-05-27 | 杭州国芯科技股份有限公司 | 基于分组密钥模式下对传输密钥快速加解密的方法 |
CN113645252A (zh) * | 2021-08-26 | 2021-11-12 | 深圳市天天来玩科技有限公司 | 一种加密传输方法、网络设备和存储介质 |
CN116894273B (zh) * | 2023-09-11 | 2023-11-21 | 四川建设网有限责任公司 | 基于异或和求余的文件加密方法、解密方法、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5541996A (en) * | 1994-12-12 | 1996-07-30 | Itt Corporation | Apparatus and method for a pseudo-random number generator for high precision numbers |
CN1560823A (zh) * | 2004-02-19 | 2005-01-05 | 李春林 | 基于动态变长码的数据加密与解密系统 |
CN1633070A (zh) * | 2004-10-29 | 2005-06-29 | 徐子杰 | 一种数据加密解密方法及加密解密装置 |
-
2007
- 2007-12-28 CN CN2007103045926A patent/CN101471769B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5541996A (en) * | 1994-12-12 | 1996-07-30 | Itt Corporation | Apparatus and method for a pseudo-random number generator for high precision numbers |
CN1560823A (zh) * | 2004-02-19 | 2005-01-05 | 李春林 | 基于动态变长码的数据加密与解密系统 |
CN1633070A (zh) * | 2004-10-29 | 2005-06-29 | 徐子杰 | 一种数据加密解密方法及加密解密装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101471769A (zh) | 2009-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101471769B (zh) | 一种适于VoIP媒体传输的加解密方法 | |
US7693278B2 (en) | Data distribution apparatus and data communications system | |
CN101197674B (zh) | 加密通信方法、服务器及加密通信系统 | |
US8332633B2 (en) | Encryption processing for streaming media | |
US8194858B2 (en) | Chaotic cipher system and method for secure communication | |
JP4836493B2 (ja) | リアルタイム転送プロトコル(rtp)パケット認証のための方法 | |
US7110539B1 (en) | Method and apparatus for encrypting and decrypting data | |
US20150082020A1 (en) | Streaming one time pad cipher using rotating ports for data encryption | |
US7466824B2 (en) | Method and system for encryption of streamed data | |
CN100365971C (zh) | 通信数据加密和解密的方法 | |
Agrawal et al. | Implementation and analysis of various symmetric cryptosystems | |
CN101411114A (zh) | 用于最高安全性应用的加密方法 | |
CN102088441A (zh) | 消息中间件的数据加密传输方法和系统 | |
CN102088352B (zh) | 消息中间件的数据加密传输方法和系统 | |
CN1323507C (zh) | 分组加密算法中对短分组的处理方法 | |
RU2462825C1 (ru) | Способ скрытой передачи зашифрованной информации по множеству каналов связи | |
US7406595B1 (en) | Method of packet encryption that allows for pipelining | |
CN110730366B (zh) | 基于位运算的轻量级视频流加密、解密方法及加解密方法 | |
CN102185827A (zh) | 一种voip系统中语音穿透防火墙的方法 | |
JP2007500481A (ja) | Desアルゴリズムに基づく暗号化方法。 | |
CN107864123A (zh) | 一种网络对讲机安全传输方法及系统 | |
EP1456997A1 (en) | System and method for symmetrical cryptography | |
JP4664692B2 (ja) | 暗号化方法、復号方法、暗号化装置、復号装置、暗号装置、およびプログラム | |
Nour El Deen et al. | The impact of frame rate on securing real time transmission of video over IP Networks | |
Man et al. | Security enhancement on VoIP using chaotic cryptography |
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 |