一种FPGA异步加解密系统及方法技术方案

技术编号:23605043 阅读:29 留言:0更新日期:2020-03-28 06:02
本发明专利技术提出了一种FPGA异步加解密系统及方法,所述方法包括:主处理业务模块获取待处理的数据包,并查找与外部对应的会话以获取密钥,然后将待处理的数据包和密钥发送至第一环形队列;第一环形队列接收来自主处理业务模块的待处理的数据包和密钥;FPGA加解密模块从第一环形队列中读取待处理的数据包和密钥,并由至少一个加解密通道分别采用密钥对各自接收的待处理的数据包进行并行加解密处理,然后将处理过的数据包发送至第二环形队列;第二环形队列接收来自FPGA加解密模块处理过的数据包;主处理业务模块从第二环形队列中读取处理过的数据包,并进行发外处理。本发明专利技术能够提升基于Xilinx平台下的数据包加解密性能。

A FPGA asynchronous encryption and decryption system and method

【技术实现步骤摘要】
一种FPGA异步加解密系统及方法
本专利技术涉及计算机
,尤其涉及一种FPGA异步加解密系统及方法。
技术介绍
传统上,Xilinx平台的运算单元是Xilinx主控芯片,其加解密业务主要通过串行方式进行处理,即一次只能处理一包数据;同时,Xilinx平台的加解密业务与主业务之间的关系也为串行模式,该串行模式将会使加解密业务与主业务之间相互制约,降低了各自业务处理的效率。FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。实际上,FPGA是靠控制每个时钟周期(Cycle)来驱动信号与寄存器传输的,也就是说可以通过时钟来精确控制任务。而且,FPGA是并行执行的,每个时钟周期可以同时执行上百万个数据流任务,FPGA打破了顺序执行的模式,在每个时钟周期内完成更多的处理任务。因此,如何将FPGA技术引用到Xilinx平台的加解密业务中以提高处理效率是当前亟待解决的问题。
技术实现思路
鉴于上述内容,有必要提供一种FPGA异步加解密系统及方法,使其能够提升基于Xilinx平台下的数据包加解密性能。本专利技术第一方面提出一种FPGA异步加解密系统,包括:主处理业务模块、环形队列模块和FPGA加解密模块,所述主处理业务模块与环形队列模块电连接,所述环形队列模块与FPGA加解密模块电连接;所述主处理业务模块,用于获取待处理的数据包,并查找与外部对应的会话以获取密钥,然后将待处理的数据包和密钥发送至所述环形队列模块;同时还用于将处理过的数据包发外处理;所述环形队列模块,包括第一环形队列和第二环形队列,所述第一环形队列用于接收来自所述主处理业务模块的待处理的数据包和密钥,以供所述FPGA加解密模块读取;所述第二环形队列用于接收来自所述FPGA加解密模块处理过的数据包,以供所述主处理业务模块读取;所述FPGA加解密模块,包括至少一个加解密通道,至少一个加解密通道分别采用所述密钥对各自接收的待处理的数据包进行并行加解密处理。本方案中,所述FPGA加解密模块还包括HMAC计算通道,其用于对至少一个加解密通道加密过的数据包进行计算处理,以得出对应的散列消息鉴别码;并用于对所述第一环形队列中的待解密处理的数据包进行解密验证。优选的,所述HMAC计算通道采用SM3、SHA-1、SHA-256、SHA-512、MD5中的一种或几种算法进行计算。本方案中,所述FPGA异步加解密系统还包括收包接口和发包接口,所述主处理业务模块分别与所述收包接口和所述发包接口进行电连接,所述主处理业务模块通过调用所述收包接口进行接收待处理的数据包,并通过调用所述发包接口进行向外发送处理过的数据包。优选的,至少一个加解密通道分别采用SM4、DES、AES中的一种或几种算法对数据包进行加解密处理。优选的,所述加解密通道的数量为两个。本专利技术第二方面还提出一种FPGA异步加解密方法,应用于上述的一种FPGA异步加解密系统,所述方法包括:主处理业务模块获取待处理的数据包,并查找与外部对应的会话以获取密钥,然后将待处理的数据包和密钥发送至第一环形队列;所述第一环形队列接收来自所述主处理业务模块的待处理的数据包和密钥,以供FPGA加解密模块读取;所述FPGA加解密模块从所述第一环形队列中读取待处理的数据包和密钥,并由至少一个加解密通道分别采用所述密钥对各自接收的待处理的数据包进行并行加解密处理,然后将处理过的数据包发送至第二环形队列;所述第二环形队列接收来自所述FPGA加解密模块处理过的数据包,以供所述主处理业务模块读取;所述主处理业务模块从所述第二环形队列中读取处理过的数据包,并进行发外处理。进一步的,由至少一个加解密通道分别采用所述密钥对各自接收的待处理的数据包进行并行加解密处理,还包括:至少一个加解密通道分别接收来自第一环形队列的待加密处理的数据包,并采用所述密钥对其进行加密处理;HMAC计算通道对至少一个加解密通道加密处理过的数据包分别进行计算,以得出对应的散列消息鉴别码,然后将加密处理过的数据包和对应的散列消息鉴别码一并发送至第二环形队列;所述第二环形队列接收加密处理过的数据包和对应的散列消息鉴别码,以供所述主处理业务模块读取;所述主处理业务模块从所述第二环形队列中读取加密处理过的数据包和对应的散列消息鉴别码,并进行发外处理。进一步的,由至少一个加解密通道分别采用所述密钥对各自接收的待处理的数据包进行并行加解密处理,还包括:HMAC计算通道接收来自第一环形队列的待解密处理的数据包,并进行解密验证;待验证通过后,至少一个加解密通道分别采用所述密钥对各自接收的待解密处理的数据包进行解密处理,然后将解密处理过的数据包发送至第二环形队列;所述第二环形队列接收解密处理过的数据包,以供所述主处理业务模块读取;所述主处理业务模块从所述第二环形队列中读取解密处理过的数据包,并进行业务处理。本方案中,至少一个加解密通道分别采用SM4、DES、AES中的一种或几种算法对数据包进行加解密处理;所述HMAC计算通道采用SM3、SHA-1、SHA-256、SHA-512、MD5中的一种或几种算法进行计算。本专利技术的FPGA异步加解密系统及方法通过主处理业务模块获取待处理的数据包,并查找与外部对应的会话以获取密钥,然后将待处理的数据包和密钥发送至第一环形队列;所述第一环形队列接收来自所述主处理业务模块的待处理的数据包和密钥,以供FPGA加解密模块读取;所述FPGA加解密模块从所述第一环形队列中读取待处理的数据包和密钥,并由至少一个加解密通道分别采用所述密钥对各自接收的待处理的数据包进行并行加解密处理,然后将处理过的数据包发送至第二环形队列;所述第二环形队列接收来自所述FPGA加解密模块处理过的数据包,以供所述主处理业务模块读取;所述主处理业务模块从所述第二环形队列中读取处理过的数据包,并进行发外处理。本专利技术的主处理业务模块和FPGA加解密模块能够各自使用各自的运算单元,实现主业务与加解密业务的并行处理;同时,FPGA加解密模块通过设计多个加解密通道以对多个数据包并进处理,提高了FPGA加解密模块的处理效率,并使得基于Xilinx平台下的数据包加解密的性能得以明显提升。本专利技术的附加方面和优点将在下面的描述部分中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:图1示出本专利技术一种FPGA异步加解密系统进行加密处理过程的框图;图2示出本专利技术一种FPGA异步加解密系统进行解密处理过程的框图;图3示出本专利技术一种FPGA异步加解密方法的流程图;...

【技术保护点】
1.一种FPGA异步加解密系统,其特征在于,包括:主处理业务模块、环形队列模块和FPGA加解密模块,所述主处理业务模块与环形队列模块电连接,所述环形队列模块与FPGA加解密模块电连接;/n所述主处理业务模块,用于获取待处理的数据包,并查找与外部对应的会话以获取密钥,然后将待处理的数据包和密钥发送至所述环形队列模块;同时还用于将处理过的数据包发外处理;/n所述环形队列模块,包括第一环形队列和第二环形队列,所述第一环形队列用于接收来自所述主处理业务模块的待处理的数据包和密钥,以供所述FPGA加解密模块读取;所述第二环形队列用于接收来自所述FPGA加解密模块处理过的数据包,以供所述主处理业务模块读取;/n所述FPGA加解密模块,包括至少一个加解密通道,至少一个加解密通道分别采用所述密钥对各自接收的待处理的数据包进行并行加解密处理。/n

【技术特征摘要】
1.一种FPGA异步加解密系统,其特征在于,包括:主处理业务模块、环形队列模块和FPGA加解密模块,所述主处理业务模块与环形队列模块电连接,所述环形队列模块与FPGA加解密模块电连接;
所述主处理业务模块,用于获取待处理的数据包,并查找与外部对应的会话以获取密钥,然后将待处理的数据包和密钥发送至所述环形队列模块;同时还用于将处理过的数据包发外处理;
所述环形队列模块,包括第一环形队列和第二环形队列,所述第一环形队列用于接收来自所述主处理业务模块的待处理的数据包和密钥,以供所述FPGA加解密模块读取;所述第二环形队列用于接收来自所述FPGA加解密模块处理过的数据包,以供所述主处理业务模块读取;
所述FPGA加解密模块,包括至少一个加解密通道,至少一个加解密通道分别采用所述密钥对各自接收的待处理的数据包进行并行加解密处理。


2.根据权利要求1所述的一种FPGA异步加解密系统,其特征在于,所述FPGA加解密模块还包括HMAC计算通道,其用于对至少一个加解密通道加密过的数据包进行计算处理,以得出对应的散列消息鉴别码;并用于对所述第一环形队列中的待解密处理的数据包进行解密验证。


3.根据权利要求2所述的一种FPGA异步加解密系统,其特征在于,所述HMAC计算通道采用SM3、SHA-1、SHA-256、SHA-512、MD5中的一种或几种算法进行计算。


4.根据权利要求1所述的一种FPGA异步加解密系统,其特征在于,所述FPGA异步加解密系统还包括收包接口和发包接口,所述主处理业务模块分别与所述收包接口和所述发包接口进行电连接,所述主处理业务模块通过调用所述收包接口进行接收待处理的数据包,并通过调用所述发包接口进行向外发送处理过的数据包。


5.根据权利要求1-4任意一项所述的一种FPGA异步加解密系统,其特征在于,至少一个加解密通道分别采用SM4、DES、AES中的一种或几种算法对数据包进行加解密处理。


6.根据权利要求1-4任意一项所述的一种FPGA异步加解密系统,其特征在于,所述加解密通道的数量为两个。


7.一种FPGA异步加解密方法,应用于权利要求1-6任意一项所述的一种FPGA异步加解密系统,其特征在于,所述方法包括:
主处理业务模块获取待处理的数据包,并查找与外部对应的会话...

【专利技术属性】
技术研发人员:焦小涛王鹏王龙飞杨光武元杰余军刘武忠王凯霖
申请(专利权)人:郑州信大捷安信息技术股份有限公司
类型:发明
国别省市:河南;41

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

1