CN118094655A - 基于芯片并行可扩展的加解密方法及相关设备 - Google Patents
基于芯片并行可扩展的加解密方法及相关设备 Download PDFInfo
- Publication number
- CN118094655A CN118094655A CN202410070105.8A CN202410070105A CN118094655A CN 118094655 A CN118094655 A CN 118094655A CN 202410070105 A CN202410070105 A CN 202410070105A CN 118094655 A CN118094655 A CN 118094655A
- Authority
- CN
- China
- Prior art keywords
- encryption
- decryption
- data
- chip
- processed
- 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
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 37
- 238000004806 packaging method and process Methods 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本公开提供一种基于芯片并行可扩展的加解密方法及相关设备。该方法包括:获取待处理数据;基于所述待处理数据的加解密性能等级要求从至少一个扩展的加解密芯片中确定目标芯片;基于所述目标芯片的最大处理数据量对所述待处理数据进行分包,得到分包数据和对应的标签;基于所述标签将所述分包数据放入待处理队列;调用所述目标芯片对所述待处理队列中的所述分包数据进行加解密处理,得到加解密数据;发送所述加解密数据。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种基于芯片并行可扩展的加解密方法及相关设备。
背景技术
随着各行业对信息安全要求的提高和集成电路技术突飞猛进的发展,以硬件实现的各种加解密芯片开始逐步取代软件功能实现的通用处理器结构,硬件实现的加解密芯片更加安全、高速、低耗,能有效地防止黑客攻击与破解,提高智能终端的安全性,保护用户个人信息和应用数据安全。目前,加解密芯片正越来越多地应用于各种智能终端中,然而智能终端一旦嵌入加解密芯片,后期很难对其进行扩展和变更操作,降低了加解密处理的效率。
发明内容
本公开提出一种基于芯片并行可扩展的加解密方法及相关设备,以在一定程度上解决加解密处理的效率降低的技术问题。
本公开第一方面,提供了一种基于芯片并行可扩展的加解密方法,包括:
获取待处理数据;
基于所述待处理数据的加解密性能等级要求从至少一个扩展的加解密芯片中确定目标芯片;
基于所述目标芯片的最大处理数据量对所述待处理数据进行分包,得到分包数据和对应的标签;
基于所述标签将所述分包数据放入待处理队列;
调用所述目标芯片对所述待处理队列中的所述分包数据进行加解密处理,得到加解密数据;
发送所述加解密数据。
本公开第二方面,提供了一种基于芯片并行可扩展的加解密装置,包括:
获取模块,用于获取待处理数据;
目标芯片模块,用于基于所述待处理数据的加解密性能等级要求从至少一个扩展的加解密芯片中确定目标芯片;
分包模块,用于基于所述目标芯片的最大处理数据量对所述待处理数据进行分包,得到分包数据和对应的标签;
队列模块,用于基于所述标签将所述分包数据放入待处理队列;
调用模块,用于调用所述目标芯片对所述待处理队列中的所述分包数据进行加解密处理,得到加解密数据;
发送模块,用于发送所述加解密数据。
本公开第三方面,提供了一种电子设备,包括一个或者多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行根据第一方面所述的方法的指令。
本公开第四方面,提供了一种包含计算机程序的非易失性计算机可读存储介质,当所述计算机程序被一个或多个处理器执行时,使得所述处理器执行第一方面所述的方法。
本公开第五方面,提供了一种计算机程序产品,包括计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行第一方面所述的方法。
从上面所述可以看出,本公开提供的一种基于芯片并行可扩展的加解密方法及相关设备,通过待处理数据的加解密性能等级要求在扩展的加解密芯片和中确定目标芯片,以进行加解密处理。从而能够满足各种接口和各种性能指标的加解密芯片的扩展,实现了加解密芯片的动态可扩展和后期可变更操作,满足不同场景下的性能和安全要求,提升加解密模块的硬件适配能力。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例的示例性电子设备的硬件结构示意图。
图2为本公开实施例的基于芯片并行可扩展的加解密方法的示意性流程图。
图3为本公开实施例的基于芯片并行可扩展的加解密方法的示意图。
图4为本公开实施例的基于芯片并行可扩展的加解密方法的示意图。
图5为本公开实施例的基于芯片并行可扩展的加解密方法的软件实现示意图。
图6为本公开实施例的基于芯片并行可扩展的加解密装置的示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
图1示出了本公开实施例所提供的示例性电子设备100的硬件结构示意图。如图1所示,电子设备100可以包括:处理器102、存储器104、PCI-E收发器106、随机数芯片103、外围接口108和总线110。其中,处理器102、存储器104、PCI-E收发器106、随机数芯片103和外围接口108通过总线110实现彼此之间在电子设备100的内部的通信连接。
处理器102可以是中央处理器(Central Processing Unit,CPU)、神经网络处理器(NPU)、微控制器(MCU)、可编程逻辑器件、数字信号处理器(DSP)、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路。处理器102可以用于执行与本公开描述的技术相关的功能。在一些实施例中,处理器102还可以包括集成为单一逻辑组件的多个处理器。例如,如图1所示,处理器102可以包括多个处理器102a、102b和102c。
存储器104可以配置为存储数据(例如,指令、计算机代码等)。如图1所示,存储器104存储的数据可以包括程序指令(例如,用于实现本公开实施例的基于芯片并行可扩展的加解密方法的程序指令)以及要处理的数据(例如,存储器可以存储其他模块的配置文件等)。处理器102也可以访问存储器104存储的程序指令和数据,并且执行程序指令以对要处理的数据进行操作。存储器104可以包括易失性存储装置或非易失性存储装置。在一些实施例中,存储器104可以包括随机访问存储器(RAM)、只读存储器(ROM)、光盘、磁盘、硬盘、固态硬盘(SSD)、闪存、存储棒等。
PCI-E收发器106可以配置为经由PCI-E总线向电子设备100提供与其他外部设备的通信。PCI-E总线能够应用于移动设备、台式电脑、工作站、服务器、嵌入式计算和通信平台等所有周边I/O设备互连的总线。在一些实施例中,PCI-E总线使用端到端的连接方式,在一条PCI-E链路的两端只能各连接一个设备,这两个设备互为是数据发送端和数据接收端。PCI-E链路可以由多条Lane组成,目前PCI-E链路×1、×2、×4、×8、×16和×32宽度的PCI-E链路。
随机数芯片103可以配置为真随机数发生器向电子设备100提供密码安全计算的随机数。作为一种能够生成真正随机数的硬件设备,它是靠随机的电压,随机的温度,随机的时间几个随机因子生成的随机数,完全没有规律可言,在密码安全领域中,对于生成安全密钥和加密算法至关重要。
外围接口108可以配置为将电子设备100与一个或多个外围加解密设备连接,以实现信息输入及输出。例如,外围加解密设备可以包括I2C、SPI、USB、PCI-E等接口类型的加密芯片。
总线110可以被配置为在电子设备100的各个组件(例如处理器102、存储器104、PCI-E收发器106和外围接口108)之间传输信息,诸如内部总线(例如,处理器-存储器总线)、外部总线(USB端口、PCI-E总线)等。
需要说明的是,尽管上述电子设备100的架构仅示出了处理器102、存储器104、PCI-E收发器106、随机数芯片103、外围接口108和总线110,但是在具体实施过程中,该电子设备100的架构还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述电子设备100的架构中也可以仅包含实现本公开实施例方案所必需的组件,而不必包含图1中所示的全部组件。
随着社会信息化进程的不断推进,以安全芯片为核心的智能安全设备在人们的生活中得到了越来越广泛的应用。随着各行业对信息安全要求的提高和集成电路技术突飞猛进的发展,以硬件实现的各种加解密芯片开始逐步取代软件功能实现的通用处理器结构,硬件实现的加解密芯片更加安全、高速、低耗,能有效地防止黑客攻击与破解,提高智能终端的安全性,保护用户个人信息和应用数据安全。目前,智能终端一旦嵌入加解密芯片,后期很难对其进行扩展和变更操作。因此,如何实现加解密芯片的可扩展性,从而提高加解密处理效率成为了亟需解决的技术问题。
鉴于此,本公开实施例提供了一种基于芯片并行可扩展的加解密方法及相关设备。通过待处理数据的加解密性能等级要求在扩展的加解密芯片和中确定目标芯片,以进行加解密处理。从而能够满足各种接口和各种性能指标的加解密芯片的扩展,实现了加解密芯片的动态可扩展和后期可变更操作,满足不同场景下的性能和安全要求,提升加解密模块的硬件适配能力。
参见图2,图2示出了根据本公开实施例的基于芯片并行可扩展的加解密方法的示意性流程图。可以理解的是,加解密可以指针对某一对象数据的加密或解密,并不是指既进行加密又进行解密。图2中,基于芯片并行可扩展的加解密方法200可以进一步包括如下步骤。
在步骤S210,获取待处理数据。
其中,待处理数据可以由计算设备(例如主机)传输至基于芯片并行可扩展的加解密方法200的执行主体,例如FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)芯片。FPGA芯片作为加解密模块的核心,集成PCI Express模块与主机进行通信,凭借其灵活高效、高吞吐量、低延时、并行运算、可重复编程、可实现定制性能和定制功耗的特性,可以满足不同场景下的加解密模块应用,并且高达32GBps的传输速度可以实现加解密模块和主机之间的高速数据交互,足以满足现阶段高速加解密需求。具体地,参见图3,图3示出了根据本公开实施例的基于芯片并行可扩展的加解密方法的示意图。图3中,FPGA芯片可以从主机通过PCI-E(Peripheral Component Interconnect Express)通信接口获取需要进行加解密处理的待处理数据data。该FPGA芯片还可以根据该待处理数据data的加解密性能等级要求调用加解密芯片进行数据的加解密运算,以及发送加解密运算的结果。
在一些实施例中,方法200还可以包括:将所述待处理数据存入接收缓存。
在一些实施例中,方法200还可以包括:
获取扩展的所述加解密芯片的芯片信息;其中,所述芯片信息包括如下至少一种:芯片厂商信息、支持的加解密算法信息、加解密速率信息、最大处理字节数信息、通信协议信息、是否使能信息。
在一些实施例中,获取扩展的所述加解密芯片的芯片信息可以是从FPGA芯片中的芯片软件模型中获取。例如,按照常用的硬件接口SPI、I2C、USB、PCI-E对加解密芯片定义为四类软件模型,以JSON文件的方式保存在FPGA芯片中。这样使得加解密调度处理的调用和不同厂家的加解密芯片的外接更方便,有利于提高加解密处理的效率和可靠性。
在一些实施例中,获取扩展的所述加解密芯片的芯片信息可以是从FPGA芯片外接的存储器中获取。具体地,FPGA芯片可以外接存储器,用于扩展FPGA芯片的存储容量。例如,存储器可以是DDR(Double Data Rate,双倍速率)存储器,可以用于缓存芯片软件模型、密钥、随机数、业务数据、临时数据等。
在一些实施例中,接收缓存可以设置于FPGA芯片中,或FPGA芯片外接的存储器中。
在步骤S220,基于所述待处理数据的加解密性能等级要求从至少一个扩展的加解密芯片中确定目标芯片。
其中,扩展的加解密芯片可以通过各种通信接口连接,扩展的加解密芯片可以是一个或多个,可以是相同类型也可以是不同类型(例如型号),可以具有相同的加解密速率,或不同的加解密速率。如图3所示,FPGA芯片通过SPI(Serial Peripheral Interface,串行外设接口)外接低速率加解密芯片,通过USB接口外接中速率加解密芯片,通过PCI-E接口外接高速率加解密芯片。应了解,上述扩展的加解密芯片及其对应的通信接口仅为示例说明,并不旨在对扩展的加解密芯片和对应的通信接口进行限制,还可以包括更多或更少的扩展的加解密芯片和/或更多或更少的通信接口,在此不做限定。
在一些实施例中,方法200还可以包括:基于所述加解密芯片的加解密速率信息确定所述加解密芯片的加解密性能等级。
在一些实施例中,所述加解密芯片的加解密性能等级包括第一等级、第二等级或第三等级,所述第一等级的速率大于所述第二等级的速率大于所述第三等级的速率。例如,所述第一等级对应于PCI-E通信接口,所述第二等级对应于USB通信接口,所述第三等级对应于SPI通信接口。
在一些实施例中,基于所述待处理数据的加解密性能等级要求从至少一个扩展的加解密芯片中确定目标芯片,包括:
响应于所述加解密芯片的加解密性能等级的速率大于或等于所述加解密性能等级要求,确定所述加解密芯片为所述目标芯片。
其中,FPGA芯片可以遍历所有外接的扩展的加解密芯片,以确定符合当前加解密性能等级要求的加解密芯片作为目标芯片。具体地,如图3所示,待处理数据data的加解密性能等级要求可以是第二等级,则加解密性能等级的速率大于或等于第二等级的加解密芯片可以作为目标芯片。可见,PCI-E通信接口和USB通信接口所连接的加解密芯片分别为第二等级和第一等级,速率大于或等于第二等级,则PCI-E通信接口和USB通信接口连接的加解密芯片即为目标芯片。再例如,待处理数据data的加解密性能等级要求可以是第一等级,则PCI-E通信接口的加解密芯片即为目标芯片。再例如,待处理数据data的加解密性能等级要求可以是第三等级,则图3中外接的扩展的加解密芯片均为目标芯片。
在步骤S230,基于所述目标芯片的最大处理数据量对所述待处理数据进行分包,得到分包数据和对应的标签。
其中,标签可以用于指示对应的分包数据,例如标签可以是分包数据的编号。采用最大处理数据量对待处理数据进行分包,有利于提高加解密处理的效率,减少FPGA芯片与主机之间的通信次数。
在一些实施例中,方法200还可以包括:更新扩展的至少一个所述加解密芯片的最大处理数据量。
其中,为了并行计算增加输入输出速度,可以通过外接存储器来增加最大可处理的数据包大小以便减少模块同主机之间的交互次数。
在步骤S240,基于所述标签将所述分包数据放入待处理队列。
其中,分包数据根据标签顺序地放入待处理队列后,以分包数据为单位进行加解密处理。
在步骤S250,调用所述目标芯片对所述待处理队列中的所述分包数据进行加解密处理,得到加解密数据。
具体地,FPGA芯片中的调度程序则控制加解密芯片对其进行加解密运算,运算完成后,按照原数据包的编号放入已处理队列之中,所有数据包运算完成后,调度程序会将数据包按照编号进行封装,放入发送缓存之中。
在一些实施例中,所述目标芯片的数量为单个;则对所述待处理队列中的所述分包数据进行加解密处理,得到加解密数据,包括:
采用密码分组链接模式对所述分包数据进行加解密处理,得到加解密数据;其中,所述加解密数据中后一次加解密处理依赖前一次加解密处理的结果。
具体地,满足要求的加解密芯片有一个,不需要多芯片并行处理,可以采用CBC(密码分组链接)模式进行加解密运算。CBC模式下,后续数据包的加密需要依赖前一次数据包的加密结果作为后一次数据包加密的IV(Initialization Vector)向量。由于,后面的数据包加解密操作必须等待前面的数据包完成后才能进行,所以加密后的数据只要其中一个数据包有微小变化,解密都会出错。经过该模式加密的数据其安全性高于EBC模式,适用于对数据安全性要求很高的场景。
在一些实施例中,所述目标芯片的数量为多个;则对所述待处理队列中的所述分包数据进行加解密处理,得到加解密数据,包括:
采用电子密码本模式对所述分包数据进行加解密处理,得到加解密数据;其中,每个所述目标芯片并行进行所述加解密处理。
具体地,满足要求的加解密芯片有多个,所有采用EBC(电子密码本)模式进行加解密运算,不需要对待处理的数据包进行同步,各数据包之间的加解密操作互不影响,可以实现多芯片的并行工作,且每片芯片的性能都能全部发挥出来,高于单个芯片的加解密性能,适用于对性能要求较高的场景。
参见图4,图4示出了根据本公开实施例的基于芯片并行可扩展的加解密方法的示意图。图4中,扩展的多个加解密芯片可以是同一类型(例如同一型号)或具有相同的速率。FPGA芯片中的调度程序采用多路IO复用技术一直监听着与主机通信的PCI Express接口,当有数据发送进来的时候,调度程序会将接收到的数据存入接收缓存之中,同时开始遍历当前外接的加解密芯片,会发现当前模块同时外接了三个同型号的加解密芯片,根据加解密性能等级要求,此时外接的所有芯片都满足要求,调度程序接着会加载对应的芯片软件模型,按照芯片软件模型中最大处理字节数对接收缓存中的数据进行分包,并且对每个数据包进行编号,然后依次放入待处理队列之中,接着调度程序会按照芯片的数量创建并启动加解密运算线程,每个线程都以并行的方式从待处理队列之中获取数据包,再调用加解密芯片进行加解密运算,运算完成后,按照原数据包的编号放入已处理队列之中,等待所有处理线程都完成退出后,FPGA芯片会将已处理队列之中的数据包按照编号进行封装,放入发送缓存之中,最后通过PCI Express接口发送给主机。
在一些实施例中,方法200还可以包括:
获取随机数;
基于所述随机数生成密钥,以进行所述加解密处理。
其中,FPGA芯片还可以外接随机数芯片,用于生成密钥,以进行加解密处理。具体地,FPGA芯片上电后可以使用随机数芯片产生一个真随机数,生成一个密钥,将其保存到加解密芯片的芯片软件模型之中。也可以根据加解密调度程序需要的时候,调用随机数芯片接口产生真随机数,用来生成临时密钥。
在步骤S260,发送所述加解密数据。
在一些实施例中,方法200可以包括:将所述加解密数据进行封装后存入发送缓存,和/或,基于PCI-E通信接口发送所述加解密数据。
具体地,可以将加解密数据进行封装后的封装数据存入发送缓存,再基于PCI-E通信接口将该封装数据发送至主机,如图4所示。
参见图5,图5示出了根据本公开实施例的基于芯片并行可扩展的加解密方法的软件实现示意图。图5中,当FPGA芯片检测到有待处理数据发送进来的时候,首先会将数据存入接收缓存之中。然后开始遍历外接的加解密芯片,根据加解密芯片接入的接口信息,加载对应的芯片软件模型。基于待处理数据的加解密性能等级要求选择满足该要求的扩展的加解密芯片作为目标芯片。按照目标芯片模型中的芯片参数对数据进行分包,并放入待处理队列之中。接着调度程序会按照芯片的数量创建并启动加解密运算线程,并配置对应的加解密模式。然后开始调用加解密芯片对数据包进行加解密运算,运算完成后,放入已处理队列之中,最后将已处理队列之中的数据包进行封装,放入发送缓存之中,再发送出去。
可见,根据本公开实施例的基于芯片并行可扩展的加解密方法,首先加解密调度程序会遍历FPGA芯片当前外接的所有加解密芯片,根据加解密性能等级,按照芯片软件模型中最大处理字节数对所加处理的数据进行分包,并且对每个数据包进行编号,然后放入待处理队列之中,处理后的数据按照编号放入已处理队列之中。如果遍历芯片满足条件的只有一个,调度程序则采用CBC(密码分组链接)模式控制加解密芯片进行加解密运算,如果遍历芯片满足条件的有多个,调度程序则采用EBC(电子密码本)模式,使用多线程并行调度的方式控制加解密芯片进行加解密运算。可以根据不同的应用场景外接不同的加解密芯片,也可以对加解密芯片进行动态扩展,提升了加解密模块的适配能力。不仅能实现多芯片的并行处理,提高加解密性能,还实现了加解密芯片的模型定义,增加了加解密调度的自适应性。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一技术构思,与上述任意实施例方法相对应的,本公开还提供了一种基于芯片并行可扩展的加解密装置,参见图6,所述基于芯片并行可扩展的加解密装置包括:
获取模块,用于获取待处理数据;
目标芯片模块,用于基于所述待处理数据的加解密性能等级要求从至少一个扩展的加解密芯片中确定目标芯片;
分包模块,用于基于所述目标芯片的最大处理数据量对所述待处理数据进行分包,得到分包数据和对应的标签;
队列模块,用于基于所述标签将所述分包数据放入待处理队列;
调用模块,用于调用所述目标芯片对所述待处理队列中的所述分包数据进行加解密处理,得到加解密数据;
发送模块,用于发送所述加解密数据。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的基于芯片并行可扩展的加解密方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一技术构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的基于芯片并行可扩展的加解密方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的基于芯片并行可扩展的加解密方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种基于芯片并行可扩展的加解密方法,包括:
获取待处理数据;
基于所述待处理数据的加解密性能等级要求从至少一个扩展的加解密芯片中确定目标芯片;
基于所述目标芯片的最大处理数据量对所述待处理数据进行分包,得到分包数据和对应的标签;
基于所述标签将所述分包数据放入待处理队列;
调用所述目标芯片对所述待处理队列中的所述分包数据进行加解密处理,得到加解密数据;
发送所述加解密数据。
2.根据权利要求1的方法,其中,所述目标芯片的数量为单个;
则调用所述目标芯片对所述待处理队列中的所述分包数据进行加解密处理,得到加解密数据,包括:
调用所述目标芯片采用密码分组链接模式对所述分包数据进行加解密处理,得到加解密数据;其中,所述加解密数据中后一次加解密处理依赖前一次加解密处理的结果。
3.根据权利要求1的方法,其中,所述目标芯片的数量为多个;
则调用所述目标芯片对所述待处理队列中的所述分包数据进行加解密处理,得到加解密数据,包括:
调用所述目标芯片采用电子密码本模式对所述分包数据进行加解密处理,得到加解密数据;其中,每个所述目标芯片并行进行所述加解密处理。
4.根据权利要求1的方法,其中,还包括:
获取随机数;
基于所述随机数生成密钥,以进行所述加解密处理。
5.根据权利要求1的方法,其中,还包括:
更新扩展的至少一个所述加解密芯片的最大处理数据量。
6.根据权利要求1的方法,其中,所述加解密芯片的加解密性能等级包括第一等级、第二等级或第三等级,所述第一等级的速率大于所述第二等级的速率大于所述第三等级的速率;
基于所述待处理数据的加解密性能等级要求从至少一个扩展的加解密芯片中确定目标芯片,包括:
响应于所述加解密芯片的加解密性能等级的速率大于或等于所述加解密性能等级要求,确定所述加解密芯片为所述目标芯片。
7.根据权利要求6的方法,还包括如下至少一项:
获取扩展的所述加解密芯片的芯片信息;其中,所述芯片信息包括如下至少一种:芯片厂商信息、支持的加解密算法信息、加解密速率信息、最大处理数据量信息、通信协议信息、是否使能信息;
或者,基于所述加解密芯片的加解密速率信息确定所述加解密芯片的加解密性能等级;其中,所述第一等级对应于PCI-E通信接口,所述第二等级对应于USB通信接口,所述第三等级对应于SPI通信接口;
或者,将所述待处理数据存入接收缓存;
或者,将所述加解密数据进行封装后存入发送缓存;
或者,基于PCI-E通信接口获取所述待处理数据;
或者,基于PCI-E通信接口发送所述加解密数据。
8.一种基于芯片并行可扩展的加解密装置,包括:
获取模块,用于获取待处理数据;
目标芯片模块,用于基于所述待处理数据的加解密性能等级要求从至少一个扩展的加解密芯片中确定目标芯片;
分包模块,用于基于所述目标芯片的最大处理数据量对所述待处理数据进行分包,得到分包数据和对应的标签;
队列模块,用于基于所述标签将所述分包数据放入待处理队列;
调用模块,用于调用所述目标芯片对所述待处理队列中的所述分包数据进行加解密处理,得到加解密数据;
发送模块,用于发送所述加解密数据。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。
10.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410070105.8A CN118094655A (zh) | 2024-01-17 | 2024-01-17 | 基于芯片并行可扩展的加解密方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410070105.8A CN118094655A (zh) | 2024-01-17 | 2024-01-17 | 基于芯片并行可扩展的加解密方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118094655A true CN118094655A (zh) | 2024-05-28 |
Family
ID=91149765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410070105.8A Pending CN118094655A (zh) | 2024-01-17 | 2024-01-17 | 基于芯片并行可扩展的加解密方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118094655A (zh) |
-
2024
- 2024-01-17 CN CN202410070105.8A patent/CN118094655A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI662414B (zh) | 使用固態硬碟以加速運算密集操作的技術 | |
CN109936626B (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
TWI582588B (zh) | 用於在記憶體系統中提高效率之系統及方法 | |
CN110020855B (zh) | 区块链中实现隐私保护的方法、节点、存储介质 | |
US9158939B2 (en) | Security chip, program, information processing apparatus, and information processing system | |
CN110020549B (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
CN110032876B (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
JP2016517241A (ja) | ストレージデバイスによって支援されるインライン暗号化および暗号化解除 | |
CN111612462B (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
EP3044900A1 (en) | Security processing unit with configurable access control | |
US9935768B2 (en) | Processors including key management circuits and methods of operating key management circuits | |
CN111639362B (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
US11481337B2 (en) | Securing data direct I/O for a secure accelerator interface | |
US20190081782A1 (en) | Securing data based on randomization | |
KR20080029687A (ko) | 암호화 기능이 내장된 메모리를 이용한 고속 대용량의암호화 장치 및 그 구현 방법 | |
US11734394B2 (en) | Distributed license encryption and distribution | |
US11847228B2 (en) | Platform security mechanism | |
CN110033265B (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
CN110213050A (zh) | 密钥生成方法、装置及存储介质 | |
CN110611568B (zh) | 基于多种加解密算法的动态加解密方法、装置、及设备 | |
KR102419505B1 (ko) | 스토리지 디바이스의 인증 방법 및 시스템 | |
CN118094655A (zh) | 基于芯片并行可扩展的加解密方法及相关设备 | |
CN104202166B (zh) | 一种erp系统数据加密方法 | |
WO2018004596A1 (en) | Technologies for serializable binary data distribution | |
CN115333868B (zh) | 基于奇偶轮循的对称加密方法、解密方法、装置、设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |