CN116049910A - 一种数据加密系统及方法 - Google Patents
一种数据加密系统及方法 Download PDFInfo
- Publication number
- CN116049910A CN116049910A CN202310075486.4A CN202310075486A CN116049910A CN 116049910 A CN116049910 A CN 116049910A CN 202310075486 A CN202310075486 A CN 202310075486A CN 116049910 A CN116049910 A CN 116049910A
- Authority
- CN
- China
- Prior art keywords
- encryption
- mcu
- target object
- data
- fpga
- 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 23
- 238000013478 data encryption standard Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
一种数据加密系统及方法,设置在FPGA SoC上,包括:MCU和至少一个基于FPGA实现的FPGA加密模块;其中,MCU中集成有至少一种加密算法,每个FPGA加密模块集成一种加密算法;MCU,用于获取目标对象对应的所有加密算法,通过确定不同加密算法由MCU自身执行或由对应的FPGA加密模块执行获取多种加密组合方案,利用预置加密性能信息获取每种加密组合方案的加密性能信息,根据预设要求确定适用于目标对象的加密组合方案,并根据确定的加密组合方案采用对应的方式对目标对象的数据进行加密;FPGA加密模块,用于根据MCU的控制对目标对象的数据进行加密。本申请实施例使得确定的加密组合方案的加密性能均衡。
Description
技术领域
本文涉及数据加密技术,尤指一种数据加密系统及方法。
背景技术
现有实现数据安全加密的芯片主要有以下三种方式:一种是通过专用集成电路(Application Specific Integrated Circuit,ASIC)安全加密芯片实现安全加密,一种是通过可编程阵列逻辑(Field Programmable Gate Array,FPGA)硬件实现安全加密,还有一种是通过微控制单元(Microcontroller Unit,MCU)软件实现安全加密。
其中,ASIC安全加密芯片开发周期长,而且芯片功能固定,不能重定义升级,而通过FPGA硬件实现安全加密需要大量的硬件逻辑资源,运行速度快,但功耗较高,另外通过MCU软件实现安全加密依赖MCU的运算能力,功耗较低,但运行速度较慢,加速能力较弱。
发明内容
本申请提供了一种数据加密系统及方法,能够对侧重数据并行加速能力的FGPA进行数据加密时的加密性能以及侧重数据处理能力的MCU进行数据加密时的加密性能进行综合考虑,使得确定的加密组合方案的加密性能均衡。
FPGA并行处理的能力对加密性能和MCU的数据处理能力综合进行考虑,得到一种加密性能均衡的加密方案。
本申请提供了一种数据加密系统,设置在可编程阵列逻辑系统级芯片(FieldProgrammable Gate Array System on Chip,FPGA SoC)上,包括:微控制单元(Microcontroller Unit,MCU)和至少一个基于FPGA实现的FPGA加密模块;其中,所述MCU中集成有至少一种加密算法,每个所述FPGA加密模块集成一种加密算法;
所述MCU,用于获取目标对象对应的所有加密算法,通过确定不同加密算法由所述MCU自身执行或由对应的所述FPGA加密模块执行获取多种加密组合方案,利用预置加密性能信息获取每种加密组合方案的加密性能信息,根据预设要求在所有加密组合方案中确定适用于所述目标对象的加密组合方案,并根据确定的加密组合方案采用对应的方式对所述目标对象的数据进行加密;所述对应的方式包括以下至少之一:所述MCU调用自身所集成的对应的加密算法对所述目标对象的数据进行加密,所述MCU控制对应的FPGA加密模块对所述目标对象的数据进行加密;
所述FPGA加密模块,用于根据所述MCU的控制对所述目标对象的数据进行加密。
另一方面,本申请提供了一种数据加密方法,应用于前述的数据加密系统中,包括:
所述MCU获取目标对象对应的所有加密算法;
所述MCU通过确定不同加密算法由所述MCU自身执行或由对应的所述FPGA加密模块执行获取多种加密组合方案;
所述MCU利用所述MCU自身中预先存储的MCU加密性能信息和FPGA加密性能信息获取每种加密组合方案的加密性能信息;其中,所述MCU加密性能信息包括:每种加密算法利用MCU资源进行时的加密性能信息,所述FPGA加密性能信息包括:每种加密算法利用FGPA资源进行时的加密性能信息;
所述MCU根据预设要求在所有加密组合方案中确定适用于所述目标对象的加密组合方案,并根据确定的加密组合方案采用对应的方式对所述目标对象的数据进行加密;其中,所述对应的方式包括以下至少之一:所述MCU调用自身所集成的对应的加密算法对所述目标对象的数据进行加密,所述MCU控制对应的FPGA加密模块对所述目标对象的数据进行加密;
所述FPGA加密模块根据所述MCU的控制对所述目标对象的数据进行加密。
与相关技术相比,本申请包括在FPGA端与MCU端中分别集成多种加密算法,通过确定目标对象对应的所有加密算法中不同加密算法由MCU端执行或由FPGA端执行获取多种加密组合方案,并获取其中加密性能符合预设要求的加密组合方案作为适应于目标对象的加密组合方案,因此实现了对侧重数据并行加速能力的FGPA进行数据加密时的加密性能以及侧重数据处理能力的MCU进行数据加密时的加密性能进行综合考虑,使得最终确定的加密组合方案的加密性能均衡。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的其他优点可通过在说明书以及附图中所描述的方案来实现和获得。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请实施例提供的一种数据加密系统的结构示意图;
图2为本申请实施例提供的另一种数据加密系统的结构示意图;
图3本申请实施例提供的一种数据加密方法的流程示意图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
本申请实施例提供了一种数据加密系统,设置在FPGA SoC上,如图1所示,包括:MCU 11和至少一个基于FPGA实现的FPGA加密模块12;其中,所述MCU 11中集成有至少一种加密算法,每个所述FPGA加密模块12集成一种加密算法;
所述MCU 11,用于获取目标对象对应的所有加密算法,通过确定不同加密算法由所述MCU自身执行或由对应的所述FPGA加密模块执行获取多种加密组合方案,利用所述MCU自身中预先存储的MCU加密性能信息和FPGA加密性能信息获取每种加密组合方案的加密性能信息,根据预设要求在所有加密组合方案中确定适用于所述目标对象的加密组合方案,并根据确定的加密组合方案采用对应的方式对所述目标对象的数据进行加密;其中,所述对应的方式包括以下至少之一:所述MCU调用自身所集成的对应的加密算法对所述目标对象的数据进行加密,所述MCU控制对应的FPGA加密模块12对所述目标对象的数据进行加密;
所述FPGA加密模块12,用于根据所述MCU 11的控制对所述目标对象的数据进行加密。
示例性的,目标对象具体可以是一个系统,当目标对象为系统时,目标对象对应的所有加密算法可以是用户针对这个系统设计输入的所有加密算法。
示例性的,加密算法包括:高级加密标准(Advanced Encryption Standard,AES)、数据加密标准(Data Encryption Standard,DES)、国密算法SM1、国密算法SM2、国密算法SM3、国密算法SM4、安全散列算法(Secure Hash Algorithm,SHA)。
本申请实施例提供的数据加密系统,在FPGA端与MCU端中分别集成多种加密算法,通过确定目标对象对应的所有加密算法中不同加密算法由MCU端执行或由FPGA端执行获取多种加密组合方案,并获取其中加密性能符合预设要求的加密组合方案作为适应于目标对象的加密组合方案,因此实现了对侧重数据并行加速能力的FGPA进行数据加密时的加密性能以及侧重数据处理能力的MCU进行数据加密时的加密性能进行综合考虑,使得最终确定的加密组合方案的加密性能均衡。
在一种示例性实例中,所述预置加密性能信息包括:每种加密算法分别利用MCU资源和FPGA资源进行加密时的加密性能信息;所述加密性能信息包括:运行时间信息、运行内存信息和运行功耗信息。
在一种示例性实例中,所述MCU利用所述MCU自身的预置加密性能信息获取每种加密组合方案的加密性能信息,包括:
所述MCU对每一种加密组合方案,执行以下操作:
根据所述预置加密性能信息,获取该加密组合方案中各加密算法所需的运行时间进行计算得到该加密组合方案的运行时间信息,获取该加密组合方案中各加密算法所需的运行内存进行计算得到该加密组合方案的运行内存信息,获取该加密组合方案中各加密算法所需的运行功耗计算得到该加密组合方案的运行功耗信息。
在一种示例性实例中,所述预设要求包括:预设加密性能阈值要求和预设关键加密性能信息。
示例性的,预设加密性能阈值要求可以是一个加密性能阈值的要求,也可以是多个加密性能阈值的要求。预设关键加密性能信息一般是一个加密性能的信息。
在一种示例性实例中,所述MCU根据预设要求在所有加密组合方案中确定适用于所述目标对象的加密组合方案,包括:
所述MCU在所有加密组合方案中获取加密性能信息满足所述加密性能阈值要求,且与所述预设关键加密性能信息对应的加密性能最高的加密组合方案,作为适用于所述目标对象的加密组合方案。
在一种示例性实例中,所述MCU在所有加密组合方案中获取加密性能信息满足所述加密性能阈值要求,且与所述预设关键加密性能信息对应的加密性能最优的加密组合方案,作为适用于所述目标对象的加密组合方案,包括:
首先,所述MCU按照与预设关键加密性能信息对应的加密性能对所有加密组合方案排序;
其次,对排序后的加密组合方案按照性能从高到低的顺序依次判断每个加密组合方案是否符合所述预设加密性能阈值要求,直到判断出一个加密组合方案符合所述预设加密性能阈值要求,将判断出符合所述加密性能阈值要求的加密组合方案作为适用于所述目标对象的加密组合方案。
在一种示例性实例中,所述MCU在所有加密组合方案中获取加密性能信息满足所述加密性能阈值要求,且与所述预设关键加密性能信息对应的加密性能最优的加密组合方案,作为适用于所述目标对象的加密组合方案,包括:
首先,所述MCU在所有加密组合方案中获取加密性能符合所述预设加密性能阈值要求的加密组合方案;
其次,按照与预设关键加密性能信息对应的加密性能对获得的符合所述预设加密性能阈值要求的加密组合方案进行排序;
最后,从排序后的加密组合方案中获取与预设关键加密性能信息对应的加密性能最高的加密组合方案,作为适用于所述目标对象的加密组合方案。
示例性的,以SM2、SM3、AES和DES加密算法为例,假设MCU中预置加密性能信息如下表1所示,
表1
假设目标对象对应的所有加密算法包括1个SM2算法、1个SM3算法和1个AES算法,那么总共能得到8种加密组合方案,8种加密组合方案的加密性能信息可如下表2所示,
表2
假设预设加密性能阈值要求包括:运行时间在200ms内,运行内存在30MB内,运行功耗在7W内;预设关键加密性能信息为运行时间信息,那么可以采用以下两种方式获取适用于目标对象的加密组合方案。
方式一:按照运行时间对所有加密组合方案排序,即编号8>6>7>5>3>2>4>1(这里以性能由高到低进行排序为例);对排序后的加密组合方案按照性能从高到低的顺序依次判断每个加密组合方案运行时间是否在200ms内,运行内存是否在30MB内,运行功耗在7W内,其中,编号8的加密组合方案的运行内存超过30MB且运行功耗超过7W,编号6的加密组合方案的运行内存超过30MB,直到判断出编号7的加密组合方案符合这些要求,因此确定编号7的加密组合方案作为适用于所述目标对象的加密组合方案,即控制对应的FPGA加密模块(这里对应的FPGA加密模块指的是集成有SM2算法的加密模块)采用SM2加密算法加密,控制对应的FPGA加密模块(这里对应的FPGA加密模块指的是集成有SM3算法的加密模块)采用SM3加密算法加密,调用MCU中集成的AES加密算法加密。
方式二:在所有加密组合方案中获取加密性能符合所述预设加密性能阈值要求的加密组合方案,即编号5、7的加密组合方案;按照运行时间对符合所述预设加密性能阈值要求的加密组合方案进行排序,即编号7>5(这里以性能由高到低进行排序为例);再从排序后的加密组合方案中获取运行时间最少的加密组合方案,即确定编号7的加密组合方案作为适用于所述目标对象的加密组合方案,即控制对应的FPGA加密模块(这里对应的FPGA加密模块指的是集成有SM2算法的加密模块)采用SM2加密算法加密,控制对应的FPGA加密模块(这里对应的FPGA加密模块指的是集成有SM3算法的加密模块)采用SM3加密算法加密,调用MCU中集成的AES加密算法加密。
在一种示例性实例中,所述MCU与所有所述FPGA加密模块通过系统总线连接。
在一种示例性实例中,所述MCU控制对应的FPGA加密模块进行加密,包括:
所述MCU通过所述系统总线控制对应的所述FPGA加密模块对所述目标对象的数据进行加密。
在一种示例性实例中,所述系统总线包括:地址总线、指令总线和数据总线。
在一种示例性实例中,所述MCU通过所述系统总线控制对应的所述FPGA加密模块对所述目标对象的数据进行加密,包括:
首先,所述MCU通过所述地址总线获取对应的所述FPGA加密模块的地址信息;
其次,所述MCU根据获得的对应的所述FPGA加密模块的地址信息,通过所述指令总线向所述对应的所述FPGA加密模块发送数据加密指令,通过所述数据总线向所述对应的所述FPGA加密模块发送所述目标对象的数据。
在一种示例性实例中,所述FPGA加密模块根据所述MCU的控制对所述目标对象的数据进行加密,包括:
首先,所述FPGA加密模块通过所述指令总线接收来自所述MCU的数据加密指令,并通过所述数据总线接收来自所述MCU的所述目标对象的数据;
其次,根据所述数据加密指令采用自身集成的加密算法对所述目标对象的数据进行加密。
本申请实施例还提供一种数据加密系统,如图2所示,包括:安全加密算法分析器21、MCU安全加密系统22、FPGA安全加密系统23;所述安全加密算法分析器21具体包括:功能分析器和性能分析器;
其中,安全加密算法分析器21位于MCU端,用于分析用户设计输入中所用到的安全加密算法,分别从MCU安全加密系统和FPGA安全加密系统选择对应的安全加密算法,组合出所有的加密组合方案,计算每种加密组合方案的运行时间、运行资源和运行功耗,得出一个性能指标最优化组合。具体来说,分析出用户设计输入中所用到的安全加密算法由其中的功能分析器完整,而从MCU安全加密系统和FPGA安全加密系统选择对应的安全加密算法,组合出所有的加密组合方案,计算每种加密组合方案的运行时间、运行资源和运行功耗,得出一个性能指标最优化组合由其中的性能分析器完成。
MCU安全加密系统22位于MCU端,用于以软件的形式实现AES、DES、SM1、SM2、SM3、SM4、SHA等各种常用安全加密算法。
FPGA安全加密系统23位于FPGA端,用以利用FPG端逻辑资源实现AES、DES、SM1、SM2、SM3、SM4、SHA等各种常用安全加密算法。
FPGA安全加密系统,通过系统总线与MCU端连接,系统总线包括数据总线、控制总线和地址总线。每种安全加密算法通过地址总线,映射到MCU的存储空间中,MCU通过每个FPGA的安全加密算法的映射地址寻址FPGA端的安全加密算法,通过数据总线进行数据传输,通过控制总线数据的读写。
本申请实施例还提供一种数据加密方法,应用于上述任一实施例描述的数据加密系统中,如图3所示,包括:
步骤301、所述MCU获取目标对象对应的所有加密算法;
步骤302、所述MCU通过确定不同加密算法由所述MCU自身执行或由对应的所述FPGA加密模块执行获取多种加密组合方案;
步骤303、所述MCU利用预置加密性能信息获取每种加密组合方案的加密性能信息;
步骤304、所述MCU根据预设要求在所有加密组合方案中确定适用于所述目标对象的加密组合方案,并根据确定的加密组合方案采用对应的方式对所述目标对象的数据进行加密;其中,所述对应的方式包括以下至少之一:所述MCU调用自身所集成的对应的加密算法对所述目标对象的数据进行加密,所述MCU控制对应的FPGA加密模块对所述目标对象的数据进行加密;
步骤305、所述FPGA加密模块根据所述MCU的控制对所述目标对象的数据进行加密。
在一种示例性实例中,所述预置加密性能信息包括:每种加密算法分别利用MCU资源和FPGA资源进行加密时的加密性能信息;所述加密性能信息包括:运行时间信息、运行内存信息和运行功耗信息。
在一种示例性实例中,所述MCU利用所述MCU自身的预置加密性能信息获取每种加密组合方案的加密性能信息,包括:
所述MCU对每一种加密组合方案,执行以下操作:
根据所述预置加密性能信息,获取该加密组合方案中各加密算法所需的运行时间进行计算得到该加密组合方案的运行时间信息,获取该加密组合方案中各加密算法所需的运行内存进行计算得到该加密组合方案的运行内存信息,获取该加密组合方案中各加密算法所需的运行功耗计算得到该加密组合方案的运行功耗信息。
在一种示例性实例中,所述预设要求包括:预设加密性能阈值要求和预设关键加密性能信息。
在一种示例性实例中,所述MCU根据预设要求在所有加密组合方案中确定适用于所述目标对象的加密组合方案,包括:
所述MCU在所有加密组合方案中获取加密性能信息满足所述加密性能阈值要求,且与所述预设关键加密性能信息对应的加密性能最高的加密组合方案,作为适用于所述目标对象的加密组合方案。
在一种示例性实例中,所述MCU在所有加密组合方案中获取加密性能信息满足所述加密性能阈值要求,且与所述预设关键加密性能信息对应的加密性能最优的加密组合方案,作为适用于所述目标对象的加密组合方案,包括:
首先,所述MCU按照与预设关键加密性能信息对应的加密性能对所有加密组合方案排序;
其次,对排序后的加密组合方案按照性能从高到低的顺序依次判断每个加密组合方案是否符合所述预设加密性能阈值要求,直到判断出一个加密组合方案符合所述预设加密性能阈值要求,将判断出符合所述加密性能阈值要求的加密组合方案作为适用于所述目标对象的加密组合方案。
在一种示例性实例中,所述MCU在所有加密组合方案中获取加密性能信息满足所述加密性能阈值要求,且与所述预设关键加密性能信息对应的加密性能最优的加密组合方案,作为适用于所述目标对象的加密组合方案,包括:
首先,所述MCU在所有加密组合方案中获取加密性能符合所述预设加密性能阈值要求的加密组合方案;
其次,按照与预设关键加密性能信息对应的加密性能对获得的符合所述预设加密性能阈值要求的加密组合方案进行排序;
最后,从排序后的加密组合方案中获取与预设关键加密性能信息对应的加密性能最高的加密组合方案,作为适用于所述目标对象的加密组合方案。
在一种示例性实例中,所述MCU与所有所述FPGA加密模块通过系统总线连接。
在一种示例性实例中,所述MCU控制对应的FPGA加密模块进行加密,包括:
所述MCU通过所述系统总线控制对应的所述FPGA加密模块对所述目标对象的数据进行加密。
在一种示例性实例中,所述系统总线包括:地址总线、指令总线和数据总线。
在一种示例性实例中,所述MCU通过所述系统总线控制对应的所述FPGA加密模块对所述目标对象的数据进行加密,包括:
首先,所述MCU通过所述地址总线获取对应的所述FPGA加密模块的地址信息;
其次,所述MCU根据获得的对应的所述FPGA加密模块的地址信息,通过所述指令总线向所述对应的所述FPGA加密模块发送数据加密指令,通过所述数据总线向所述对应的所述FPGA加密模块发送所述目标对象的数据。
在一种示例性实例中,所述FPGA加密模块根据所述MCU的控制对所述目标对象的数据进行加密,包括:
首先,所述FPGA加密模块通过所述指令总线接收来自所述MCU的数据加密指令,并通过所述数据总线接收来自所述MCU的所述目标对象的数据;
其次,根据所述数据加密指令采用自身集成的加密算法对所述目标对象的数据进行加密。
在一种示例性实例中,所述系统总线包括:高级高性能总线(Advanced HighPerformance Bus,AHB)。
本申请实施例提供的数据加密方法,在FPGA端与MCU端中分别集成多种加密算法,通过确定目标对象对应的所有加密算法中不同加密算法由MCU端执行或由FPGA端执行获取多种加密组合方案,并获取其中加密性能符合预设要求的加密组合方案作为适应于目标对象的加密组合方案,因此实现了对侧重数据并行加速能力的FGPA进行数据加密时的加密性能以及侧重数据处理能力的MCU进行数据加密时的加密性能进行综合考虑,使得最终确定的加密组合方案的加密性能均衡。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
Claims (10)
1.一种数据加密系统,其特征在于,设置在可编程阵列逻辑系统级芯片FPGA SoC上,包括:微控制单元MCU和至少一个基于FPGA实现的FPGA加密模块;其中,所述MCU中集成有至少一种加密算法,每个所述FPGA加密模块集成一种加密算法;
所述MCU,用于获取目标对象对应的所有加密算法,通过确定不同加密算法由所述MCU自身执行或由对应的所述FPGA加密模块执行获取多种加密组合方案,利用预置加密性能信息获取每种加密组合方案的加密性能信息,根据预设要求在所有加密组合方案中确定适用于所述目标对象的加密组合方案,并根据确定的加密组合方案采用对应的方式对所述目标对象的数据进行加密;所述对应的方式包括以下至少之一:所述MCU调用自身所集成的对应的加密算法对所述目标对象的数据进行加密,所述MCU控制对应的FPGA加密模块对所述目标对象的数据进行加密;
所述FPGA加密模块,用于根据所述MCU的控制对所述目标对象的数据进行加密。
2.根据权利要求1所述的系统,其特征在于,所述预置加密性能信息包括:每种加密算法分别利用MCU资源和FPGA资源进行加密时的加密性能信息;所述加密性能信息包括:运行时间信息、运行内存信息和运行功耗信息。
3.根据权利要求2所述的系统,其特征在于,所述MCU利用所述预置加密性能信息获取每种加密组合方案的加密性能信息,包括:
所述MCU对每一种加密组合方案,执行以下操作:
根据所述预置加密性能信息,获取该加密组合方案中各加密算法所需的运行时间进行计算得到该加密组合方案的运行时间信息,获取该加密组合方案中各加密算法所需的运行内存进行计算得到该加密组合方案的运行内存信息,获取该加密组合方案中各加密算法所需的运行功耗计算得到该加密组合方案的运行功耗信息。
4.根据权利要求2所述的系统,其特征在于,所述预设要求包括:预设加密性能阈值要求和预设关键加密性能信息;
所述MCU根据预设要求在所有加密组合方案中确定适用于所述目标对象的加密组合方案,包括:
所述MCU在所有加密组合方案中获取加密性能信息满足所述加密性能阈值要求,且与所述预设关键加密性能信息对应的加密性能最高的加密组合方案,作为适用于所述目标对象的加密组合方案。
5.根据权利要求4所述的系统,其特征在于,所述MCU在所有加密组合方案中获取加密性能信息满足所述加密性能阈值要求,且与所述预设关键加密性能信息对应的加密性能最优的加密组合方案,作为适用于所述目标对象的加密组合方案,包括:
所述MCU按照与预设关键加密性能信息对应的加密性能对所有加密组合方案排序;
对排序后的加密组合方案按照性能从高到低的顺序依次判断每个加密组合方案是否符合所述预设加密性能阈值要求,直到判断出一个加密组合方案符合所述预设加密性能阈值要求,将判断出符合所述加密性能阈值要求的加密组合方案作为适用于所述目标对象的加密组合方案。
6.根据权利要求4所述的系统,其特征在于,所述MCU在所有加密组合方案中获取加密性能信息满足所述加密性能阈值要求,且与所述预设关键加密性能信息对应的加密性能最优的加密组合方案,作为适用于所述目标对象的加密组合方案,包括:
所述MCU在所有加密组合方案中获取加密性能符合所述预设加密性能阈值要求的加密组合方案;
按照与预设关键加密性能信息对应的加密性能对获得的符合所述预设加密性能阈值要求的加密组合方案进行排序;
从排序后的加密组合方案中获取与预设关键加密性能信息对应的加密性能最高的加密组合方案,作为适用于所述目标对象的加密组合方案。
7.根据权利要求1所述的系统,其特征在于,所述MCU与所有所述FPGA加密模块通过系统总线连接;
所述MCU控制对应的FPGA加密模块进行加密,包括:
所述MCU通过所述系统总线控制对应的所述FPGA加密模块对所述目标对象的数据进行加密。
8.根据权利要求7所述的系统,其特征在于,所述系统总线包括:地址总线、指令总线和数据总线;
所述MCU通过所述系统总线控制对应的所述FPGA加密模块对所述目标对象的数据进行加密,包括:
所述MCU通过所述地址总线获取对应的所述FPGA加密模块的地址信息;
所述MCU根据获得的对应的所述FPGA加密模块的地址信息,通过所述指令总线向所述对应的所述FPGA加密模块发送数据加密指令,通过所述数据总线向所述对应的所述FPGA加密模块发送所述目标对象的数据;
所述FPGA加密模块根据所述MCU的控制对所述目标对象的数据进行加密,包括:
所述FPGA加密模块通过所述指令总线接收来自所述MCU的数据加密指令,并通过所述数据总线接收来自所述MCU的所述目标对象的数据;
根据所述数据加密指令采用自身集成的加密算法对所述目标对象的数据进行加密。
9.根据权利要求7或8所述的系统,其特征在于,所述系统总线包括:高级高性能总线AHB。
10.一种数据加密方法,其特征在于,应用于如上述权利要求1-9任一项所述的数据加密系统中,包括:
所述MCU获取目标对象对应的所有加密算法;
所述MCU通过确定不同加密算法由所述MCU自身执行或由对应的所述FPGA加密模块执行获取多种加密组合方案;
所述MCU利用预置加密性能信息获取每种加密组合方案的加密性能信息;其中,所述预置加密性能信息包括:每种加密算法分别利用MCU资源和FPGA资源进行加密时的加密性能信息;
所述MCU根据预设要求在所有加密组合方案中确定适用于所述目标对象的加密组合方案,并根据确定的加密组合方案采用对应的方式对所述目标对象的数据进行加密;其中,所述对应的方式包括以下至少之一:所述MCU调用自身所集成的对应的加密算法对所述目标对象的数据进行加密,所述MCU控制对应的FPGA加密模块对所述目标对象的数据进行加密;
所述FPGA加密模块根据所述MCU的控制对所述目标对象的数据进行加密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310075486.4A CN116049910A (zh) | 2023-02-01 | 2023-02-01 | 一种数据加密系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310075486.4A CN116049910A (zh) | 2023-02-01 | 2023-02-01 | 一种数据加密系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116049910A true CN116049910A (zh) | 2023-05-02 |
Family
ID=86131180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310075486.4A Pending CN116049910A (zh) | 2023-02-01 | 2023-02-01 | 一种数据加密系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116049910A (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060110383A (ko) * | 2005-04-19 | 2006-10-25 | 엘지전자 주식회사 | 네트워크 보안 프로세서의 다중모드 암호화 장치 |
US20070074046A1 (en) * | 2005-09-23 | 2007-03-29 | Czajkowski David R | Secure microprocessor and method |
US20070223688A1 (en) * | 1999-11-09 | 2007-09-27 | Patrick Le Quere | Architecture of an encryption circuit implementing various types of encryption algorithms simultaneously without a loss of performance |
US20140007128A1 (en) * | 2011-04-11 | 2014-01-02 | Albrecht Schroth | Performing a task in a system having different types of hardware resources |
US20140282907A1 (en) * | 2013-03-15 | 2014-09-18 | Ologn Technologies Ag | Systems, methods and apparatuses for device attestation based on speed of computation |
CN106682535A (zh) * | 2017-03-16 | 2017-05-17 | 周清睿 | 系统级芯片 |
KR20170085456A (ko) * | 2016-01-14 | 2017-07-24 | 서울대학교산학협력단 | 이종 멀티코어 프로세서를 활용한 암호화 처리 장치 및 암호화 처리 방법 |
CN108566393A (zh) * | 2018-04-13 | 2018-09-21 | 清华大学无锡应用技术研究院 | 数据加密的方法、装置和系统 |
CN109255258A (zh) * | 2018-08-27 | 2019-01-22 | 重庆天箭惯性科技股份有限公司 | 加密导航计算机电路 |
CN110912920A (zh) * | 2019-12-03 | 2020-03-24 | 望海康信(北京)科技股份公司 | 数据处理方法、设备及介质 |
CN111193591A (zh) * | 2019-12-31 | 2020-05-22 | 郑州信大先进技术研究院 | 一种基于cpu+fpga的加解密方法及系统 |
CN112035902A (zh) * | 2020-08-12 | 2020-12-04 | 北京数盾信息科技有限公司 | 一种面向高速高并发应用的加密模组 |
CN114124389A (zh) * | 2021-11-09 | 2022-03-01 | 国网山东省电力公司电力科学研究院 | 一种基于可重构计算的国密算法fpga部署方法及系统 |
WO2022155803A1 (zh) * | 2021-01-20 | 2022-07-28 | 华为技术有限公司 | 数据加密的方法、数据传输的方法、相关装置以及设备 |
CN218273138U (zh) * | 2022-09-28 | 2023-01-10 | 磅客策(上海)智能医疗科技有限公司 | 一种外挂rom加密保护电路 |
-
2023
- 2023-02-01 CN CN202310075486.4A patent/CN116049910A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070223688A1 (en) * | 1999-11-09 | 2007-09-27 | Patrick Le Quere | Architecture of an encryption circuit implementing various types of encryption algorithms simultaneously without a loss of performance |
KR20060110383A (ko) * | 2005-04-19 | 2006-10-25 | 엘지전자 주식회사 | 네트워크 보안 프로세서의 다중모드 암호화 장치 |
US20070074046A1 (en) * | 2005-09-23 | 2007-03-29 | Czajkowski David R | Secure microprocessor and method |
US20140007128A1 (en) * | 2011-04-11 | 2014-01-02 | Albrecht Schroth | Performing a task in a system having different types of hardware resources |
US20140282907A1 (en) * | 2013-03-15 | 2014-09-18 | Ologn Technologies Ag | Systems, methods and apparatuses for device attestation based on speed of computation |
KR20170085456A (ko) * | 2016-01-14 | 2017-07-24 | 서울대학교산학협력단 | 이종 멀티코어 프로세서를 활용한 암호화 처리 장치 및 암호화 처리 방법 |
CN106682535A (zh) * | 2017-03-16 | 2017-05-17 | 周清睿 | 系统级芯片 |
CN108566393A (zh) * | 2018-04-13 | 2018-09-21 | 清华大学无锡应用技术研究院 | 数据加密的方法、装置和系统 |
CN109255258A (zh) * | 2018-08-27 | 2019-01-22 | 重庆天箭惯性科技股份有限公司 | 加密导航计算机电路 |
CN110912920A (zh) * | 2019-12-03 | 2020-03-24 | 望海康信(北京)科技股份公司 | 数据处理方法、设备及介质 |
CN111193591A (zh) * | 2019-12-31 | 2020-05-22 | 郑州信大先进技术研究院 | 一种基于cpu+fpga的加解密方法及系统 |
CN112035902A (zh) * | 2020-08-12 | 2020-12-04 | 北京数盾信息科技有限公司 | 一种面向高速高并发应用的加密模组 |
WO2022155803A1 (zh) * | 2021-01-20 | 2022-07-28 | 华为技术有限公司 | 数据加密的方法、数据传输的方法、相关装置以及设备 |
CN114124389A (zh) * | 2021-11-09 | 2022-03-01 | 国网山东省电力公司电力科学研究院 | 一种基于可重构计算的国密算法fpga部署方法及系统 |
CN218273138U (zh) * | 2022-09-28 | 2023-01-10 | 磅客策(上海)智能医疗科技有限公司 | 一种外挂rom加密保护电路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10541983B1 (en) | Secure storage and searching of information maintained on search systems | |
US9003193B2 (en) | Electronic apparatus for delegation management and delegation management methods thereof | |
US11093140B2 (en) | Performance allocation among users for accessing non-volatile memory devices | |
US20120209943A1 (en) | Apparatus and method for controlling distributed memory cluster | |
WO2016048598A1 (en) | Technologies for accelerating compute intensive operations using solid state drives | |
CN110990186A (zh) | 片上系统、操作片上系统的方法和存储系统 | |
CN111131130B (zh) | 密钥管理方法及系统 | |
US8769302B2 (en) | Encrypting data and characterization data that describes valid contents of a column | |
KR20190027812A (ko) | 컴퓨팅 시스템을 위한 애플리케이션 구동형 스토리지 시스템 | |
CN109347839B (zh) | 集中式密码管理方法、装置、电子设备及计算机存储介质 | |
KR20170102219A (ko) | 트랜잭션을 처리하기 위한 방법 및 장치 | |
US9282083B2 (en) | Encryption system and method | |
CN116049910A (zh) | 一种数据加密系统及方法 | |
US20140372708A1 (en) | Scheduler training for multi-module byte caching | |
US10409517B2 (en) | Method and device for data backup | |
CN115904246A (zh) | 一种基于多路ddr内存的数据读取方法及装置 | |
US11604900B2 (en) | Data decryption system and data decryption method | |
CN116192395A (zh) | 用于分散式数据存储的可信系统 | |
US20240154785A1 (en) | Data management method and apparatus using homomorphic encryption lookup table | |
CN103699855A (zh) | 一种数据处理方法和装置 | |
CN110659472A (zh) | 一种密码卡以及数据存储系统 | |
CN108111501B (zh) | 作弊流量的控制方法、装置和计算机设备 | |
US7483537B2 (en) | Selecting cached RSA keys in response to RSA key requests | |
CN112241336A (zh) | 用于备份数据的方法、设备和计算机程序产品 | |
US20240020048A1 (en) | Network-Ready Storage Products with Artificial Intelligence Accelerators |
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 |