一种端到端传输数据的方法技术

技术编号:10658089 阅读:169 留言:0更新日期:2014-11-19 18:20
一种端到端传输数据的方法,所述方法包括:将明文中的实时传输协议RTP数据包与SM1算法分组长度相除得到分组数目N;由RTP包计数器count计算获得初始化向量IV;收发双方根据SM1算法加密IV+1至IV+N,得到N个分组长度的密钥流;在所述密钥流中截取与明文长度相同的数据作为加密密钥流;发送方由所述加密密钥流加密明文得到密文;接收方由所述加密密钥流解密所述密文得到所述明文。应用本发明专利技术实施例后,能够减少系统的计算负担,降低对系统计算速度的影响。

【技术实现步骤摘要】
一种端到端传输数据的方法
本申请涉及通信
,更具体地,涉及一种端到端传输数据的方法。
技术介绍
集群通信系统是为了满足行业用户指挥调度需求而开发、面向特定行业应用的专用无线通信系统。该系统中大量无线用户共享少量无线信道,以指挥调度为主体应用,是一种多用途、高效能的无线通信系统。集群通信系统广泛应用于政府部门、公共安全、应急通信、电力、民航、石油化工和军队等领域。由于集群通信系统传输信息要求较高的保密性,这就需要集群通信系统具有加密功能。加密需求主要包括四方面:全业务加密,包括视频加密、多业务并发加密;空口加密与端到端加密,即对集群信令加密、提供全网密码同步机制;采用商密芯片,以减小对终端的影响;实现故障弱化和脱网直通下的安全加密通信。对于无线通信流媒体类信息的安全加密,现有技术中采用分组密码算法的计数器(CTR)模式,简称“计数器加密模式”。即:通过对计数值加密,生成一系列的密钥分组。明文包依据密钥分组长度分成一系列明文分组(最后一个分组长度可能小于密钥分组长度)。然后和密钥分组进行异或加密操作。这样的处理方式存在以下问题:需要接收明文之后,对明文进行分组,分组后明文各自和密钥分组异或之后发送。接收方对域各个密文分组,利用相应密钥分组异或之后生成明文分组,再将明文分组合成一个明文包。加密和解密都是以分组的模式进行,需要对明文进行分包和组包操作,分包与组包的操作会增加系统的计算负担,影响系统的计算速度。
技术实现思路
本专利技术实施例提出一种端到端传输数据的方法,能够减少系统的计算负担,降低对系统计算速度的影响。本专利技术实施例的技术方案如下:一种端到端传输数据的方法,所述方法包括:将明文中的实时传输协议(RTP)数据包与SM1算法分组长度相除得到分组数目N;由RTP包计数器count计算获得初始化向量IV;根据SM1算法加密IV+1至IV+N,得到N个分组长度的密钥流;在所述密钥流中截取与明文长度相同的数据作为加密密钥流;由所述加密密钥流加密明文得到密文;由所述加密密钥流解密所述密文得到所述明文。所述将明文中的RTP数据包与SM1算法分组长度相除得到分组数目N包括:将明文中的RTP数据包与SM1算法分组长度相除向上取整得到分组数目N。所述由count计算获得IV包括:由count的前32位计算获得IV。所述由count的前32位计算获得IV包括:count的前32位从低到高依次作为IV的最高位至第32位,第33位至最后一位均为零。所述在所述密钥流中截取与明文长度相同的数据作为加密密钥流包括:在N个分组长度的密钥流中从低位开始截取与明文长度相同的数据作为加密密钥流。所述在所述密钥流中截取与明文长度相同的数据作为加密密钥流包括:在N个分组长度的密钥流中从高位开始截取与明文长度相同的数据作为加密密钥流。所述由所述加密密钥流加密明文得到密文包括:由所述加密密钥流与明文进行异或运算得到密文。所述由所述加密密钥流解密所述密文得到所述明文包括:由所述加密密钥流与所述密文进行异或运算得到所述明文。从上述技术方案中可以看出,在本专利技术实施例中将明文中的RTP数据包与SM1算法分组长度相除得到分组数目N;由RTP包计数器count的前32位计算获得初始化向量IV;根据SM1算法加密IV+1至IV+N,得到N个分组长度的密钥流;在所述密钥流中截取与明文长度相同的数据作为加密密钥流;由所述加密密钥流加密明文得到密文;由所述加密密钥流解密所述密文得到所述明文。由与明文长度相同的加密密钥流加密明文,而不需要对明文进行分段处理,因此能够减少系统的计算负担,降低对系统计算速度的影响。附图说明图1为端到端传输数据的方法流程示意图;图2为端到端传输数据示意图。具体实施方式为使本专利技术的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本专利技术再作进一步详细的说明。在本专利技术实施例中,由与明文长度相同的加密密钥流对明文加密,而不需要对明文分组,因此减少了系统的计算负担,降低对系统计算速度的影响。集群端到端安全加密算法采用了国密SM1对称密码算法,SM1是一种分组密码算法。在实际使用中,应依据集群网络业务加密的特点采用合理的算法使用模式,在保证信息的安全性前提下提高通信系统的性能。参见附图1是端到端传输数据的方法流程示意图,具体包括以下步骤:101、将明文中的RTP数据包与SM1算法分组长度相除得到分组数目N。明文是RTP数据包的有效载荷部分。为了避免分包明文,需要与明文长度相同的密钥流。首先,将明文中RTP数据包与SM1算法分组长度(128比特)相除并向上取整得到分组数据N。向上取整即当两数相除有余数,则进一。102、由RTP包计数器cunt计算获得初始化向量IV。IV的位数共计128位,其中最高32位由count的前32位确定,第33位至第128位均为零。IV的最高32分为为count[0],count[1],count[2],……,count[30,count[31],即count的前32位从低到高依次作为IV的最高位至第32位。count值反序可以打乱相邻数据包的IV值顺序,以增加破解难度。103、根据SM1算法加密IV+1至IV+N,得到N个分组长度的密钥流;根据SM1算法加密IV+1至IV+N,共计N个分组长度的密钥流。其中的加密过程是现有技术。分组长度是指SM1算法分组长度即128比特。104、在所述密钥流中截取与明文长度相同的数据作为加密密钥流;N个分组长度的密钥流顺序排列,从中截取与明文长度相同的数据作为加密密钥流。其中,截取的方式可以是从低位开始截取,也可以是从高位开始截取。由于在计算分组数目N是向上取整,那么密钥流的长度必然大于明文,因此需要截取数据。105、由加密密钥流加密明文得到密文;由加密密钥流解密所述密文得到所述明文。在发送方根据加密密钥流加密明文,可以得到密文,此处的加密即进行异或运算。发送方将密文发送至接收端。那么,即使密文非法泄露,由于没有加密密钥流则无法获得明文。在接收方根据加密密钥流解密接收到的密文,加密即进行异或运算。接收方获得明文。下面结合附图2详细说明端到端的数据传输过程。发送方与接收方分别计算加密密钥流,计算密钥流的过程是相同的。Key是SM1算法中所需的密钥,count是根据步骤102计算获得,length是分组长度,指SM1算法分组长度即128比特。由count和length计算获得IV和N,根据SM1算法加密IV+1至IV+N,得到加密密钥流。加密密钥流与明文进行异或运算得到密文。将密文发送至接收方,接收方利用自身计算的加密密钥流与加密后明文进行异或运算得到明文。以上所述,仅为本专利技术的较佳实施例而已,并非用于限定本专利技术的保护范围。凡在本专利技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。本文档来自技高网...
一种端到端传输数据的方法

【技术保护点】
一种端到端传输数据的方法,其特征在于,所述方法包括:将明文中的实时传输协议RTP数据包与SM1算法分组长度相除得到分组数目N;由RTP包计数器count计算获得初始化向量IV;根据SM1算法加密IV+1至IV+N,得到N个分组长度的密钥流;在所述密钥流中截取与明文长度相同的数据作为加密密钥流;由所述加密密钥流加密明文得到密文;由所述加密密钥流解密所述密文得到所述明文。

【技术特征摘要】
1.一种端到端传输数据的方法,其特征在于,所述方法包括:将明文中的实时传输协议RTP数据包与SM1算法分组长度相除得到分组数目N;由RTP包计数器count计算获得初始化向量IV;根据SM1算法加密IV+1至IV+N,得到N个分组长度的密钥流;在所述密钥流中截取与明文长度相同的数据作为加密密钥流;由所述加密密钥流加密明文得到密文;由所述加密密钥流解密所述密文得到所述明文;其中,所述将明文中的RTP数据包与SM1算法分组长度相除得到分组数目N包括:将明文中的RTP数据包与SM1算法分组长度相除向上取整得到分组数目N。2.根据权利要求1所述端到端传输数据的方法,其特征在于,所述由count计算获得IV包括:由count的前32位计算获得IV。3.根据权利要求2所述端到端传输数据的方法,其特征在于,所述由count的前32位计算获得IV包括:count的...

【专利技术属性】
技术研发人员:刘文清陶雄强李瑞林成暐
申请(专利权)人:普天信息技术研究院有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1