本发明涉及网络通信,尤其涉及一种硬件数据加解密方法和装置。
背景技术:
1、随着通信安全性的要求,数据加解密的性能以及安全性变得越来越重要,对报文的加解密时延以及性能的要求也越来越高。现有的交换机加解密算法框架下,主要通过以下架构来完成软转发报文的加解密:收发包模块收到报文之后,将报文通过dma上送cpu,通过软件查表得到加解密参数,再将加解密参数以及相关信息送到加解密模块,加解密模块完成加解密处理之后再将报文送到cpu进行软件查表转发,在此过程中,报文加解密以及认证消耗大量的cpu资源,无法实行硬件读取加解密参数。
2、公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
技术实现思路
1、本发明的目的在于提供一种硬件数据加解密方法和装置,以克服现有技术中提出的一个或多个技术问题。
2、为实现上述目的,本发明提出了一种硬件数据加密方法,包括:
3、收发包模块收到需要加密的报文后,查表上送cpu时,通过dma中的dma rx模块描述符中的地址信息将报文写入内存中;
4、cpu解析所述报文,将解析匹配查表得到的加密参数地址信息送入加解密卸载dma模块中,加解密卸载dma模块根据所述加密参数地址信息读取报文和报文的加密参数,并将所述报文和报文的加密参数送入加密模块中进行加密处理;
5、加密后的报文再次通过加解密卸载dma模块写入内存的原地址中,由cpu读取并通过dma中的dma tx模块将加密后的报文转发。
6、优选地,所述加密参数地址信息包括报文存储地址,加密参数存储地址和数据参数存储地址。
7、优选地,所述加解密卸载dma模块根据所述加密参数地址信息通过总线从所述内存中读取相应的报文和报文参数。
8、本发明还提出一种硬件数据解密方法,包括:
9、收发包模块收到需要解密的报文后,查表将报文上送cpu时,通过dma中的dma rx模块描述符中的地址信息将报文写入内存中;
10、cpu解析所述报文,将解析得到的解密参数地址信息送入加解密卸载dma模块中,加解密卸载dma模块根据所述解密参数地址信息读取报文和报文的解密参数,并将所述报文和报文的解密参数送入解密模块中进行解密处理;
11、解密后的报文再次通过加解密卸载dma模块写入内存的原地址中,由cpu读取并通过dma中的dma tx模块将解密后的报文转发。
12、优选地,所述解密参数地址信息包括报文存储地址,解密参数存储地址和数据参数存储地址。
13、优选地,所述加解密卸载dma tx模块根据所述解密参数地址信息通过总线从所述内存中读取相应的报文。
14、本发明还提出一种硬件数据加密装置,包括:
15、dma rx模块,用于将收到的上送cpu的报文根据描述符中的地址信息写入内存中;
16、cpu,用于解析所述报文,将匹配查表得到的加密参数地址信息送入加解密卸载dma模块中;以及读取和转发加密后的报文;
17、加解密卸载dma 模块,用于根据加密参数地址信息读取报文和报文的加密参数,将所述报文和报文的加密参数送入加密模块中进行加密处理;以及将加密处理后的报文写入内存的原地址中;
18、加密模块,用于根据收到的报文的加密参数对报文进行加密处理。
19、优选地,所述加密参数地址信息包括报文存储地址,加密参数存储地址和数据参数存储地址。
20、本发明还提出一种硬件数据解密装置,包括:
21、dma rx模块,用于将收到的上送cpu的报文根据描述符中的地址信息写入内存中;
22、cpu,用于解析所述报文,将得到的解密参数地址信息送入加解密卸载dma模块;以及读取和转发解密后的报文和报文参数;
23、加解密卸载dma 模块,用于根据解密参数地址信息读取报文和报文的解密参数,将所述报文和报文的解密参数送入解密模块中进行解密处理;以及将解密处理后的报文写入内存的原地址中;
24、解密模块,用于根据收到的报文的解密参数对报文进行解密处理。
25、优选地,所述解密参数地址信息包括报文存储地址,解密参数存储地址和数据参数存储地址。
26、与现有技术相比,本发明通过dma挂在系统总线上并直接读写内存,使cpu只需要提供参数和数据的存储地址给加解密卸载dma,由硬件完成读取ddr或sram的操作,完成数据的加解密处理;在加解密处理完成之后,再复用原dma描述符把完成加解密后的数据写回原地址;这样硬件就可以加速完成加解密数据和相关参数的读写,节省了cpu处理时间和资源,同时,在加解密过程中不用做报文的拷贝操作,提高了系统的整体性能;并为交换机加解密系统性能的提升和进一步优化以太网环境提供支撑。
1.一种硬件数据加密方法,其特征在于,包括:
2.一种根据权利要求1所述的硬件数据加密方法,其特征在于,所述加密参数地址信息包括报文存储地址,加密参数存储地址和数据参数存储地址。
3.一种根据权利要求1所述的硬件数据加密方法,其特征在于,所述加解密卸载dma模块根据所述加密参数地址信息通过总线从所述内存中读取相应的报文和报文参数。
4.一种硬件数据解密方法,其特征在于,包括:
5.一种根据权利要求4所述的硬件数据解密方法,其特征在于,所述解密参数地址信息包括报文存储地址,解密参数存储地址和数据参数存储地址。
6.一种根据权利要求4所述的硬件数据解密方法,其特征在于,所述加解密卸载dma tx模块根据所述解密参数地址信息通过总线从所述内存中读取相应的报文和报文参数。
7.一种硬件数据加密装置,其特征在于,包括:
8.根据权利要求7所述的硬件数据加密装置,其特征在于,所述加密参数地址信息包括报文存储地址,加密参数存储地址和数据参数存储地址。
9.一种硬件数据解密装置,其特征在于,包括:
10.根据权利要求9所述的硬件数据解密装置,其特征在于,所述解密参数地址信息包括报文存储地址,解密参数存储地址和数据参数存储地址。