CN115859386A - 芯片加速器、加解密方法、装置、计算机设备和存储介质 - Google Patents
芯片加速器、加解密方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115859386A CN115859386A CN202211489352.9A CN202211489352A CN115859386A CN 115859386 A CN115859386 A CN 115859386A CN 202211489352 A CN202211489352 A CN 202211489352A CN 115859386 A CN115859386 A CN 115859386A
- Authority
- CN
- China
- Prior art keywords
- encryption
- decryption
- hardware
- instruction
- decoding
- 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.)
- Pending
Links
Images
Abstract
本申请公开了一种芯片加速器、加解密方法、装置、计算机设备和存储介质。该加解密方法包括芯片加速器,包括用户态层和内核态层;其中,用户态层包括:驱动框架单元,用于为接收到的加解密指令分配应用接口,应用接口与加解密指令关联的加解密算法对应;硬件抽象单元,用于按照芯片加速器中各硬件的预设指令格式,对应用接口输出的加解密指令进行译码;用户态驱动,用于将硬件抽象单元输出的加解密译码指令传递至内核态层的硬件环形缓冲区,加解密译码指令用于指示各硬件对硬件环形缓冲区中的加解密译码指令进行加解密处理。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种芯片加速器、加解密方法、装置、计算机设备和存储介质。
背景技术
服务器中的芯片加速器可以在提升服务器单一应用(如安全加密)性能的同时,还可以降低计算功耗。
在相关技术中,为了提高服务器计算数据的安全性,可以通过服务器中搭载的芯片加速器对数据进行加解密处理,而在芯片加速器加解密的过程中,芯片加速器会出现与加解密库适配困难的情况,降低加解密速度,影响服务器的计算效率。
发明内容
本申请实施例提供一种加速器驱动分层方案、加速方法、装置、计算机设备和存储介质,能够使芯片加速器与加解密库适配,缩短加解密时长,提高服务器的计算效率。
根据本申请实施例的第一方面,提供一种芯片加速器,包括用户态层和内核态层;其中,
用户态层包括:
驱动框架单元,用于为接收到的加解密指令分配应用接口,应用接口与加解密指令关联的加解密算法对应;
硬件抽象单元,用于按照芯片加速器中各硬件的预设指令格式,对应用接口输出的加解密指令进行译码;
用户态驱动,用于将硬件抽象单元输出的加解密译码指令传递至内核态层的硬件环形缓冲区,加解密译码指令用于指示各硬件对硬件环形缓冲区中的加解密译码指令进行加解密处理。
根据本申请实施例的第二方面,提供一种加解密方法,应用于如第一方面所示的芯片加速器,包括:
接收加解密指令;
根据加解密指令,为加解密指令分配应用接口,应用接口与加解密指令关联的加解密算法对应;
按照芯片加速器中各硬件的预设指令格式,对应用接口输出的加解密指令进行译码,得到加解密译码指令;
向各硬件发送加解密译码指令,加解密译码指令用于指示各硬件对加解密译码指令进行加解密处理。
根据本申请实施例的第三方面,提供一种加解密装置,应用于如第一方面所示的芯片加速器,包括:
接收模块,用于接收加解密指令;
分配模块,用于根据加解密指令,为加解密指令分配应用接口,应用接口与加解密指令关联的加解密算法对应;
处理模块,用于按照芯片加速器中各硬件的预设指令格式,对应用接口输出的加解密指令进行译码,得到加解密译码指令;
发送模块,用于向各硬件发送加解密译码指令,加解密译码指令用于指示各硬件对加解密译码指令进行加解密处理。
根据本申请实施例的第四方面,提供一种计算机设备,包括:存储器和处理器;
存储器,用于存储有计算机程序;
处理器,用于执行存储器中存储的计算机程序,计算机程序运行时使得处理器执行如第二方面所示的加解密方法的步骤。
根据本申请实施例的第五方面,提供一种计算机可读存储介质,计算机可读存储介质上存储程序或指令,在程序或指令被计算机设备执行的情况下,使得计算机设备执行如第二方面所示的加解密方法的步骤。
根据本申请实施例的第六方面,提供一种计算机程序产品,包括计算机程序,在计算机程序被计算机设备执行的情况下,使得计算机设备执行如第二方面所示的加解密方法的步骤。
本申请实施例中芯片加速器、加解密方法、装置和存储介质,对芯片加速器进行分层,即将芯片加速器分为用户态层和内核态层;其中,用户态层包括:驱动框架单元,用于为接收到的加解密指令分配应用接口,应用接口与加解密指令关联的加解密算法对应;硬件抽象单元,用于按照芯片加速器中各硬件的预设指令格式,对应用接口输出的加解密指令进行译码;用户态驱动,用于将硬件抽象单元输出的加解密译码指令传递至内核态层的硬件环形缓冲区,加解密译码指令用于指示各硬件对硬件环形缓冲区中的加解密译码指令进行加解密处理。基于此,由于对芯片加速器中的用户态层进行分层设计,所以,可以仅通过用户态层中的驱动框架单元接收加解密指令,并为其分配应用接口,使得芯片加速器在与加解密库对接时,无需服务器中运行的应用程序参与,简化了芯片加速器与加解密库的适配过程。以及,由于本申请中的芯片加速器只对应用层提供通用的驱动框架单元,并将硬件处理过程、内存管理、中断通知等封装在硬件抽象单元和用户态驱动,如此,可以实现高内聚低耦合、扩展性强,降低了适配成本,调高了芯片加速器的加解密速度,从而提高服务器的计算效率。
附图说明
从下面结合附图对本申请的具体实施方式的描述中可以更好地理解本申请其中,相同或相似的附图标记表示相同或相似的特征。
图1是示出根据一个实施例的一种芯片加速器的结构示意图;
图2是示出根据一个实施例的一种加解密方法的流程示意图;
图3是示出根据一个实施例的一种加解密装置的结构示意图;
图4是示出根据一个实施例的计算机设备的硬件结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本申请,并不被配置为限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了解决上述问题,本申请实施例提供了一种芯片加速器驱动分层方案,下面结合图1,对本申请实施例提供的芯片加速器进行详细地说明。
如图1所示,本申请实施例提出的芯片加速器驱动分层方案可以包括应用层(Application)、硬件抽象层(Hardware Abstract Layer,HAL)、接口层(Interface)、内核态层102和硬件IP单元(Seip)。进一步地,应用层,是指加解密的应用层;硬件抽象层,用于将应用层的加解密指令传递给硬件抽象层中的硬件;内核态层102(Kernel space),用于处理指令并与硬件交互;硬件IP单元包括芯片加速器;加解密库可以为BoringSSL、BabaSSL或OpenSSL。
基于此,本申请实施例中的芯片加速器为分层结构,其中,芯片加速器可以包括用户态层101和内核态层102。其中,用户态层101包括驱动框架单元10、硬件抽象单元20、用户态驱动30和内存管理单元40。内核态层102包括内核驱动50。
具体地,驱动框架单元10设置在应用层。驱动框架单元10,用于为接收到的加解密指令分配应用接口,应用接口与加解密指令关联的加解密算法对应。
示例性地,驱动框架单元10用于提供用户态加解密应用接口(ApplicationProgramming Interface,API),针对对称、非对称、密钥协商、授权加密等不同的加解密算法,可以提供各自的API,即一种加解密算法对应一个应用接口。
硬件抽象单元20,用于按照芯片加速器中各硬件的预设指令格式,对应用接口输出的加解密指令进行译码;
示例性地,硬件抽象单元20(Poll Mode Driver,PMD),即基于用户态的轮询机制的驱动,可以用于将应用层的加解密指令转换为具有芯片加速器中各硬件的预设指令格式的指令,并将转换后的指令传递至用户态驱动30。
用户态驱动30,用于将硬件抽象单元输出的加解密译码指令传递至内核态层的硬件环形缓冲区,加解密译码指令用于指示各硬件对硬件环形缓冲区中的加解密译码指令进行加解密处理。
示例性地,用户态驱动可以为实现在用户态的硬件使能程序。
在一种或多种可能的实施例中,本申请实施例中的用户态层101还可以包括内存管控单元40;
内存管控单元40,用于为硬件抽象单元输出的加解密译码指令分配物理资源;基于此,用户态驱动30具体用于,通过内存管控单元分配的物理资源,将硬件抽象单元输出的加解密译码指令传递至芯片加速器内核态层的硬件环形缓冲区。
示例性地,内存管控单元40(User-Space Direct Memory Access,UDMA)为用户态DMA内存管理,提供了内存分配、内存释放、虚拟地址(VA)到物理地址(PA)的5级页表转换、内存池管理等;。
由此,通过内存管控单元40管理DMA内存,与用户态驱动30不存在耦合,可以在为内存管控单元分配的物理资源的同时无缝支持其他加速器的用户态驱动方案。
在另一种或多种可能的实施例中,本申请实施例中内存管控单元40具体用于,根据与加解密指令关联的加解密算法或为加解密指令分配的应用接口,为硬件抽象单元输出的加解密译码指令分配物理资源。
在又一种或多种可能的实施例中,用户态驱动30包括第一用户态驱动层和第二用户态驱动层;内核态层包括内核驱动;物理资源包括内存管理应用接口;
第一用户态驱动层,用于接收硬件抽象单元输出的加解密译码指令;
第二用户态驱动层,用于通过服务器的系统内核提供的加速驱动控制内核驱动生成硬件环形缓冲区;以及,通过内存管理应用接口,将第一用户态驱动层接收的加解密译码指令传递至硬件环形缓冲区。
示例性地,本申请实施例中的用户态驱动30为分层结构,下层即第二用户态驱动层利用内核提供的UIO框架管理加速驱动生成的硬件环形缓冲区,同时,利用同层内存管控单元40提供的管理应用接口如DMA内存管理API,对接上层硬件抽象单元,并将加解密姨妈指令传递给硬件环形缓冲区。
在再一种或多种可能的实施例中,用户态驱动还用于,获取各硬件对加解密译码指令进行加解密处理后的结果;
以及,在结果为执行完加解密译码指令的情况下,通过服务器的系统内核提供的加速驱动,控制内核驱动释放硬件环形缓冲区中硬件资源,硬件资源包括加解密译码指令。
需要说明的是,硬件环形缓冲区是队列的一个应用,在计算机设备中,是没有环形的内存的,是需要将顺序的内存处理过,让某一段内存形成环形,使其首尾相连,也可以理解为该硬件环形缓冲区包括一个数组,且有两个指针,一个指向列队头,一个指向列队尾,指向列队头的指针(Head)是硬件环形缓冲区可读的数据,指向列队尾的指针(Tail)是缓冲区可写的数据,通过移动这两个指针即可对硬件环形缓冲区的数据进行读写操作了,直到硬件环形缓冲区已满(头尾相接)。如此,将硬件环形缓冲区的数据处理完之后,用户态驱动可以指示其释放掉数据,以便可以进行存储新的数据了。
在再一种或多种可能的实施例中,用户态驱动还用于,预存驱动框架单元的应用接口对应的加解密算法。
需要说明的是,本申请实施例中的服务器可以实体服务器、也可以为挂载在实体服务器上的云服务器。同理,芯片加速器可以为实体芯片加速器,也可以为挂载在实体芯片加速器上空间的芯片加速器。如此,可以根据实际的应用场景,调整芯片加速器的存在形式。
由此,本申请是实施例提供了简洁、通用、高内聚低耦合、扩展性强的用户态加解密加速器的分层方案,将用于加解密的芯片加速器分为处于不同层的驱动框架单元10、硬件抽象单元20、用户态驱动30、内存管理单元40和内核驱动50,基于此,由于对芯片加速器中的用户态层进行分层设计,所以,可以仅通过用户态层中的驱动框架单元接收加解密指令,并为其分配应用接口,使得芯片加速器在与加解密库对接时,无需服务器中运行的应用程序参与,简化了芯片加速器与加解密库的适配过程。以及,由于本申请中的芯片加速器只对应用层提供通用的驱动框架单元,并将硬件处理过程、内存管理、中断通知等封装在硬件抽象单元和用户态驱动,如此,可以实现高内聚低耦合、扩展性强,降低了适配成本,调高了芯片加速器的加解密速度,从而提高服务器的计算效率。以及,通过内存管控单元40管理DMA内存,与用户态驱动30不存在耦合,可以在为内存管控单元分配的物理资源的同时无缝支持其他加速器的用户态驱动方案。
基于如图1所示的加解密架构以及应用场景,下面结合图2对本申请实施例提供的加解密方法进行详细地说明。
如图2所示,根据上述架构下面分别结合图2对本申请实施例提供的加解密方法进行详细说明。
图2是示出根据一个实施例的一种加解密方法的流程图。
如图2所示,加解密方法可以应用于如图2所示的芯片加速器,具体可以包括:
步骤210,接收加解密指令;步骤220,根据加解密指令,为加解密指令分配应用接口,应用接口与加解密指令关联的加解密算法对应;步骤230,按照芯片加速器中各硬件的预设指令格式,对应用接口输出的加解密指令进行译码,得到加解密译码指令;步骤240,向各硬件发送加解密译码指令,加解密译码指令用于指示各硬件对加解密译码指令进行加解密处理。
下面对上述步骤进行详细说明,具体如下所示。
在一种或多种可能的实施例中,在涉及步骤240之前,该加解密方法还可以包括:
根据与加解密指令关联的加解密算法或为加解密指令分配的应用接口,获取与加解密译码指令对应的物理资源;其中,物理资源包括内存管理应用接口和可执行加解密译码指令的各硬件的硬件信息。
基于此,该步骤240具体可以包括:
通过内存管理应用接口,根据各硬件的硬件信息,向与硬件信息对应的各硬件发送加解密译码指令。
在另一种或多种可能的实施例中,在涉及步骤240之后,该加解密方法还可以包括:
获取各硬件对加解密译码指令进行加解密处理后的结果;
在结果为执行完加解密译码指令的情况下,通过服务器的系统内核提供的加速驱动,释放硬件资源,硬件资源包括加解密译码指令。
示例性地,基于如图1所示的芯片加速器可以执行如下加解密方法的步骤。首先,通过加速器引擎(Engine)接收应用程序的加解密指令(或硬件资源初始化指令)。接着,应用程序调用驱动框架单元提供的应用接口接收加解密指令。再者,硬件抽象单元20按照芯片加速器中各硬件的预设指令格式,对应用接口输出的加解密指令进行译码,得到加解密译码指令如request、context等数据,内容管理单元为加解密译码指令分配物理资源。接着,用户态驱动将加解密译码指令下发到内核驱动的硬件环形缓冲区,并向各硬件发送加解密译码指令,加解密译码指令用于指示各硬件对加解密译码指令进行加解密处理。然后,在结果为执行完加解密译码指令的情况下,通过服务器的系统内核提供的加速驱动,释放硬件资源,硬件资源包括加解密译码指令。
由此,本申请实施例中对芯片加速器中的用户态层进行分层设计,所以,可以仅通过用户态层中的驱动框架单元接收加解密指令,并为其分配应用接口,使得芯片加速器在与加解密库对接时,无需服务器中运行的应用程序参与,简化了芯片加速器与加解密库的适配过程。以及,由于本申请中的芯片加速器只对应用层提供通用的驱动框架单元,并将硬件处理过程、内存管理、中断通知等封装在硬件抽象单元和用户态驱动,如此,可以实现高内聚低耦合、扩展性强,降低了适配成本,调高了芯片加速器的加解密速度,从而提高服务器的计算效率。
需要明确的是,本申请并不局限于上文实施例中所描述并在图中示出的特定配置和处理。为了描述的方便和简洁,这里省略了对已知方法的详细描述,并且上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于相同的发明构思,本申请实施例提供了与上述涉及的加解密方法对应的加解密装置。具体结合图3进行详细说明。
图3是示出根据一个实施例的一种加解密装置的结构示意图。
如图3所示,加解密装置30应用于如图1所示的芯片加速器,加解密装置30具体可以包括:
接收模块301,用于接收加解密指令;
分配模块302,用于根据加解密指令,为加解密指令分配应用接口,应用接口与加解密指令关联的加解密算法对应;
处理模块303,用于按照芯片加速器中各硬件的预设指令格式,对应用接口输出的加解密指令进行译码,得到加解密译码指令;
发送模块304,用于向各硬件发送加解密译码指令,加解密译码指令用于指示各硬件对加解密译码指令进行加解密处理。
基于此,下面对本申请实施例提供的加解密装置30进行详细说明。
在一种或者多种可能的实施例中,本申请实施例提供的加解密装置30还可以包括第一获取模块;其中,
第一获取模块,用于根据与加解密指令关联的加解密算法或为加解密指令分配的应用接口,获取与加解密译码指令对应的物理资源;其中,物理资源包括内存管理应用接口和可执行加解密译码指令的各硬件的硬件信息;
基于此,发送模块304具体可以用于,通过内存管理应用接口,根据各硬件的硬件信息,向与硬件信息对应的各硬件发送加解密译码指令。
在另一种或多种可能的实施例中,申请实施例提供的加解密装置30还可以包括第二获取模块;其中,
第二获取模块,用于获取各硬件对加解密译码指令进行加解密处理后的结果;
处理模块303,用于在结果为执行完加解密译码指令的情况下,通过服务器的系统内核提供的加速驱动,释放硬件资源,硬件资源包括加解密译码指令。
图4是示出根据一个实施例的计算机设备的硬件结构示意图。
如图4所示,计算机设备400包括输入设备401、输入接口402、处理器403、存储器404、输出接口405、以及输出设备406。
输入接口402、处理器403、存储器404、以及输出接口405通过总线410相互连接,输入设备401和输出设备406分别通过输入接口402和输出接口405与总线410连接,进而与计算机设备400的其他组件连接。具体地,输入设备401接收来自外部的输入信息,并通过输入接口402将输入信息传送到处理器403;处理器403基于存储器404中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器404中,然后通过输出接口405将输出信息传送到输出设备406;输出设备406将输出信息输出到计算机设备400的外部供用户使用。
在一个实施例中,图4所示的计算机设备400可以被实现为一种加解密设备,该加解密设备可以包括:存储器,被配置为存储程序;处理器,被配置为运行存储器中存储的程序,以执行上述实施例描述的加解密方法。
根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机可读存储介质。例如,本申请的实施例包括一种计算机可读存储介质,其包括在计算机可读存储介质上存储程序或指令,在程序或指令被计算机设备执行的情况下,使得计算机设备执行上述方法的步骤。
根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以从网络上被下载和安装,和/或从可拆卸存储介质被安装。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令,当其在计算机上运行时,使得计算机执行上述各个实施例中描述的方法。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (12)
1.一种芯片加速器,包括用户态层和内核态层;其中,
所述用户态层包括:
驱动框架单元,用于为接收到的加解密指令分配应用接口,所述应用接口与所述加解密指令关联的加解密算法对应;
硬件抽象单元,用于按照所述芯片加速器中各硬件的预设指令格式,对所述应用接口输出的加解密指令进行译码;
用户态驱动,用于将所述硬件抽象单元输出的加解密译码指令传递至所述内核态层的硬件环形缓冲区,所述加解密译码指令用于指示所述各硬件对所述硬件环形缓冲区中的所述加解密译码指令进行加解密处理。
2.根据权利要求1所述的芯片加速器,其中,所述用户态层还包括内存管控单元;
所述内存管控单元,用于为所述硬件抽象单元输出的加解密译码指令分配物理资源;
所述用户态驱动具体用于,通过所述内存管控单元分配的物理资源,将所述硬件抽象单元输出的加解密译码指令传递至所述芯片加速器内核态层的硬件环形缓冲区。
3.根据权利要求2所述的芯片加速器,其中,所述内存管控单元具体用于,根据与所述加解密指令关联的加解密算法或为所述加解密指令分配的应用接口,为所述硬件抽象单元输出的加解密译码指令分配物理资源。
4.根据权利要求3所述的芯片加速器,其中,所述用户态驱动包括第一用户态驱动层和第二用户态驱动层;所述内核态层包括内核驱动;所述物理资源包括内存管理应用接口;
所述第一用户态驱动层,用于接收所述硬件抽象单元输出的加解密译码指令;
所述第二用户态驱动层,用于通过服务器的系统内核提供的加速驱动控制所述内核驱动生成硬件环形缓冲区;以及,通过所述内存管理应用接口,将所述第一用户态驱动层接收的加解密译码指令传递至所述硬件环形缓冲区。
5.根据权利要求4所述的芯片加速器,其特征在于,所述用户态驱动还用于,获取所述各硬件对所述加解密译码指令进行加解密处理后的结果;
以及,在所述结果为执行完所述加解密译码指令的情况下,通过服务器的系统内核提供的加速驱动,控制所述内核驱动释放所述硬件环形缓冲区中硬件资源,所述硬件资源包括所述加解密译码指令。
6.根据权利要求1所述的芯片加速器,其中,所述用户态驱动还用于,预存所述驱动框架单元的应用接口对应的加解密算法。
7.一种加解密方法,应用于如权利要求1中的芯片加速器,包括:
接收加解密指令;
根据加解密指令,为所述加解密指令分配应用接口,所述应用接口与所述加解密指令关联的加解密算法对应;
按照所述芯片加速器中各硬件的预设指令格式,对所述应用接口输出的加解密指令进行译码,得到加解密译码指令;
向所述各硬件发送所述加解密译码指令,所述加解密译码指令用于指示所述各硬件对所述加解密译码指令进行加解密处理。
8.根据权利要求7所述的方法,其中,所述方法还包括:
根据与所述加解密指令关联的加解密算法或为所述加解密指令分配的应用接口,获取与所述加解密译码指令对应的物理资源;其中,所述物理资源包括内存管理应用接口和可执行所述加解密译码指令的各硬件的硬件信息;
所述向所述各硬件发送所述加解密译码指令,包括:
通过所述内存管理应用接口,根据所述各硬件的硬件信息,向与所述硬件信息对应的各硬件发送所述加解密译码指令。
9.根据权利要求8所述的方法,其中,所述方法还包括:
获取所述各硬件对所述加解密译码指令进行加解密处理后的结果;
在所述结果为执行完所述加解密译码指令的情况下,通过服务器的系统内核提供的加速驱动,释放硬件资源,所述硬件资源包括所述加解密译码指令。
10.一种加解密装置,应用于如权利要求1中的芯片加速器,包括:
接收模块,用于接收加解密指令;
分配模块,用于根据加解密指令,为所述加解密指令分配应用接口,所述应用接口与所述加解密指令关联的加解密算法对应;
处理模块,用于按照所述芯片加速器中各硬件的预设指令格式,对所述应用接口输出的加解密指令进行译码,得到加解密译码指令;
发送模块,用于向所述各硬件发送所述加解密译码指令,所述加解密译码指令用于指示所述各硬件对所述加解密译码指令进行加解密处理。
11.一种计算机设备,包括:存储器和处理器,
所述存储器,用于存储有计算机程序;
所述处理器,用于执行所述存储器中存储的计算机程序,所述计算机程序运行时使得所述处理器执行如权利要求7至9中任意一项所述的加解密方法的步骤。
12.一种计算机可读存储介质,所述计算机可读存储介质上存储程序或指令,在所述程序或指令被计算机设备执行的情况下,使得所述计算机设备执行如权利要求7至9中任意一项所述的加解密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211489352.9A CN115859386A (zh) | 2022-11-25 | 2022-11-25 | 芯片加速器、加解密方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211489352.9A CN115859386A (zh) | 2022-11-25 | 2022-11-25 | 芯片加速器、加解密方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115859386A true CN115859386A (zh) | 2023-03-28 |
Family
ID=85666340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211489352.9A Pending CN115859386A (zh) | 2022-11-25 | 2022-11-25 | 芯片加速器、加解密方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115859386A (zh) |
-
2022
- 2022-11-25 CN CN202211489352.9A patent/CN115859386A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6414863B2 (ja) | 仮想化システムにおける暗号復号方法および装置、およびシステム | |
KR101712080B1 (ko) | 신뢰 유닛들 사이의 키 리프레시 | |
EP2803012B1 (en) | Using storage controller bus interfaces to secure data transfer between storage devices and hosts | |
US10762204B2 (en) | Managing containerized applications | |
US11943340B2 (en) | Process-to-process secure data movement in network functions virtualization infrastructures | |
US11397820B2 (en) | Method and apparatus for processing data, computer device and storage medium | |
EP1768033A1 (en) | Operating a cell processor over a network | |
EP3074867A1 (en) | Managing containerized applications | |
US11201836B2 (en) | Method and device for managing stateful application on server | |
WO2006035730A1 (ja) | 情報処理装置、通信処理方法、並びにコンピュータ・プログラム | |
CN111949372B (zh) | 一种虚拟机迁移方法、通用处理器及电子设备 | |
JP2007026434A (ja) | 低性能格納装置のdrm権利オブジェクトを効率的に管理する方法および装置 | |
WO2012009150A2 (en) | Direct memory access engine physical memory descriptors for multi-media demultiplexing operations | |
WO2021045868A1 (en) | System and method for split storage stack | |
CN115859386A (zh) | 芯片加速器、加解密方法、装置、计算机设备和存储介质 | |
CN114969851B (zh) | 一种基于fpga的数据处理方法、装置、设备及介质 | |
JP2021518695A (ja) | ディスプレイ−サーバコンピューティングシステムにおいてオーディオ及びビデオデータストリームをリダイレクトするためのシステム及び方法 | |
US8010802B2 (en) | Cryptographic device having session memory bus | |
CN113076180B (zh) | 上行数据通路的构建方法及数据处理系统 | |
CN113076189B (zh) | 具有多数据通路的数据处理系统及用多数据通路构建虚拟电子设备 | |
JP4497820B2 (ja) | 情報処理方法、情報処理装置並びに分散処理システム | |
KR20190091606A (ko) | Gpu를 이용한 파일 시스템 레벨 암호화 장치 및 방법 | |
CN117150529A (zh) | 数据处理方法、装置及电子设备 | |
CN115859334A (zh) | 一种加解密数据处理方法及装置 | |
CN113535345A (zh) | 下行数据通路的构建方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |