加解密处理方法及装置制造方法及图纸

技术编号:26530721 阅读:52 留言:0更新日期:2020-12-01 14:09
本发明专利技术实施例提供一种加解密处理方法及装置,所述方法包括:ARM模块通过专用消息队列将待加解密数据发送到DSP模块;DSP模块按照预设传输速率将所述待加解密数据发送到FPGA模块;FPGA模块对所述待加解密数据进行加解密处理,再将经过加解密处理之后的数据写入所述ARM模块和所述DSP模块之间的共享内存中。本发明专利技术实施例提供的加解密处理方法及装置,组合使用硬件分配的专用消息队列通道和共享内存通道进行加解密前后数据的传输,避免了网络风暴导致FPGA出现硬件异常,同时,又提高了加解密处理的速率,降低了对业务数据通道资源的占用,减小了系统开支。

【技术实现步骤摘要】
加解密处理方法及装置
本专利技术涉及嵌入式处理器应用
,尤其涉及一种加解密处理方法及装置。
技术介绍
在通信领域中,信息安全非常重要,尤其是基站系统中对数据的加密是重中之重。现有技术中,通常使用软件实现祖冲之算法,来对基站中的数据进行加解密,软件祖冲之模块在BPU(BBUProcessUnitBBU处理单元)CPB(ChannelProgramBlock信道程序块)的ARM(AdvancedRISCMachines)核上运行。软件祖冲之算法的运算复杂度非常高,一个800MHz主频的CPU(CentralProcessingUnit中央处理器),通常只能支持对几Mbps吞吐量的数据流进行加解密。因此,出现了将软件祖冲之加解密模块从ARM模块上移出来,下移至FPGA,由FPGA硬件来实现数据的加解密的技术方案,祖冲之算法主体运行在FPGA上,FPGA只负责业务数据的加解密处理,ARM模块控制业务数据的处理流程,为FPGA提供加解密对象及加解密参数。这种方案充分解放ARM模块的处理能力,且FPGA硬件加解密比软件加解密速度快,提高了对加解密数据处理的效率。但是,现有技术中的方案中,由于FPGA模块的内部缓存容量非常小,FPGA模块缓存的数据包数有限,如果大量的加解密数据由ARM模块传输到FPGA模块,将会导致FPGA模块出现硬件异常,甚至宕机。如果限制ARM模块与FPGA模块之间的数据传输速率,则会导致加解密处理速率降低,增加系统开支,且抢占业务数据通道资源,又会出现误码率,有效性和正确性会有所降低,因此,如何设计ARM模块与FPGA模块之间的数据传输通道,成为亟待解决的技术问题。
技术实现思路
本专利技术实施例的目的是提供一种克服上述问题或者至少部分地解决上述问题的加解密处理方法及装置。为了解决上述技术问题,一方面,本专利技术实施例提供一种加解密处理方法,包括:ARM模块通过专用消息队列将待加解密数据发送到DSP模块;DSP模块按照预设传输速率将所述待加解密数据发送到FPGA模块;FPGA模块对所述待加解密数据进行加解密处理,再将经过加解密处理之后的数据写入所述ARM模块和所述DSP模块之间的共享内存中。进一步地,所述通过专用消息队列将待加解密数据发送到DSP模块,具体包括:对原始数据进行分组数据报文封装,产生所述待加解密数据;将所述待加解密数据拷贝到专用消息队列中,并通过消息队列机制将所述待加解密数据的报文指针发送到所述DSP模块。进一步地,所述按照预设传输速率将所述待加解密数据发送到FPGA模块,具体包括:按照预设周期从所述专用消息队列中获取N个待加解密数据的数据包,其中,N为所述FPGA模块在所述预设周期内能够处理的数据包个数的上限值;通过RapidIO接口将所述N个待加解密数据的数据包发送到所述FPGA模块。进一步地,所述方法还包括:根据所述RapidIO接口的返回值确定获取所述专用消息队列的描述符成功和失败的次数。进一步地,所述方法还包括:所述ARM模块从所述共享内存中读取经过加解密处理之后的数据。进一步地,所述方法还包括:所述ARM模块对所述共享内存中的经过加解密处理之后的数据进行可靠性检测。进一步地,所述FPGA模块通过RapidIO接口将经过加解密处理之后的数据写入所述ARM模块和所述DSP模块之间的共享内存,写起始地址由DSP模块初始化所述RapidIO接口时指定。另一方面,本专利技术实施例提供一种加解密处理装置,包括:ARM模块,用于通过专用消息队列将待加解密数据发送到DSP模块;DSP模块,用于按照预设传输速率将所述待加解密数据发送到FPGA模块;FPGA模块,用于对所述待加解密数据进行加解密处理,再将经过加解密处理之后的数据写入所述ARM模块和所述DSP模块之间的共享内存中。再一方面,本专利技术实施例提供一种电子设备,包括:存储器、处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述方法的步骤。又一方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,实现上述方法的步骤。本专利技术实施例提供的加解密处理方法及装置,组合使用硬件分配的专用消息队列通道和共享内存通道进行加解密前后数据的传输,避免了网络风暴导致FPGA出现硬件异常,同时,又提高了加解密处理的速率,降低了对业务数据通道资源的占用,减小了系统开支。附图说明图1为本专利技术实施例提供的加解密处理方法示意图;图2为本专利技术实施例提供的FPGA加解密后数据返回的内存示意图;图3为本专利技术实施例提供的加密流程示意图;图4为本专利技术实施例提供的解密流程示意图;图5为本专利技术实施例提供的加解密处理装置示意图;图6为本专利技术实施例提供的电子设备的结构示意图。具体实施方式为了使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。针对将加解密模块从ARM模块上移出来,下移至FPGA,由FPGA硬件来实现数据的加解密的技术方案中,将ARM侧上层数据传入FPGA,经FPGA加解密后再返回给ARM的具体方式可以采用以下两种:第一种,数据传入传出FPGA都使用共享内存方式。由于FPGA内部缓存容量非常小,FPGA缓存的数据包数有限,所以待加解密数据需要通过DSP(DigitalSignalProcessor数字信号处理器)硬件分配的消息队列进行缓存,然后DSP再发给FPGA逐包进行处理。若ARM与DSP直接使用共享内存方式,共享内存没有数据流限制,FPGA加解密速率有上限值,1毫秒最多N(当前为20)个包数据的处理量,当出现网络风暴冲击时,FPGA会出现硬件异常。由于FPGA在加解密后,传给ARM的数据没有速率要求,所以从FPGA到ARM数据可用内存映射方式。第二种,数据传入传出FPGA都使用硬件分配的消息队列方式。加解密前数据ARM通过消息队列传给DSP,DSP通过RapidIO(rapidinput/output快速输入输出)接口发给FPGA,可控制速率。由于ARM与DSP业务数据的交互都是通过硬件分配的消息队列来进行,若祖冲之加解密后的数据也使用消息队列,绕道DSP会降低传输速率,增加系统开支,且抢占业务数据通道资源,硬件分配的消息队列有误码率,有效性和正确性会有所降低。为了解决上述技术问题,本专利技术实施例提供了一种高效、可靠性高的硬件加解密数据通道方式。该方法组合使用硬件分配的消息队列通道和共享内存通道进行加解密前后数据的传输。本文档来自技高网
...

【技术保护点】
1.一种加解密处理方法,其特征在于,包括:/nARM模块通过专用消息队列将待加解密数据发送到DSP模块;/nDSP模块按照预设传输速率将所述待加解密数据发送到FPGA模块;/nFPGA模块对所述待加解密数据进行加解密处理,再将经过加解密处理之后的数据写入所述ARM模块和所述DSP模块之间的共享内存中。/n

【技术特征摘要】
1.一种加解密处理方法,其特征在于,包括:
ARM模块通过专用消息队列将待加解密数据发送到DSP模块;
DSP模块按照预设传输速率将所述待加解密数据发送到FPGA模块;
FPGA模块对所述待加解密数据进行加解密处理,再将经过加解密处理之后的数据写入所述ARM模块和所述DSP模块之间的共享内存中。


2.根据权利要求1所述的加解密处理方法,其特征在于,所述通过专用消息队列将待加解密数据发送到DSP模块,具体包括:
对原始数据进行分组数据报文封装,产生所述待加解密数据;
将所述待加解密数据拷贝到专用消息队列中,并通过消息队列机制将所述待加解密数据的报文指针发送到所述DSP模块。


3.根据权利要求2所述的加解密处理方法,其特征在于,所述按照预设传输速率将所述待加解密数据发送到FPGA模块,具体包括:
按照预设周期从所述专用消息队列中获取N个待加解密数据的数据包,其中,N为所述FPGA模块在所述预设周期内能够处理的数据包个数的上限值;
通过RapidIO接口将所述N个待加解密数据的数据包发送到所述FPGA模块。


4.根据权利要求3所述的加解密处理方法,其特征在于,所述方法还包括:
根据所述RapidIO接口的返回值确定获取所述专用消息队列的描述符成功和失败的次数。


5.根据权利要求1所述的加解密处理方法,其特征在...

【专利技术属性】
技术研发人员:范玉庆和艳丽陈晓科
申请(专利权)人:普天信息技术有限公司
类型:发明
国别省市:北京;11

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

1