CN114661656A - 一种可重构阵列配置方法、装置、设备以及存储介质 - Google Patents
一种可重构阵列配置方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN114661656A CN114661656A CN202210574255.3A CN202210574255A CN114661656A CN 114661656 A CN114661656 A CN 114661656A CN 202210574255 A CN202210574255 A CN 202210574255A CN 114661656 A CN114661656 A CN 114661656A
- Authority
- CN
- China
- Prior art keywords
- cryptographic algorithm
- reconfigurable array
- target
- area
- basic operation
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
- Advance Control (AREA)
Abstract
本发明实施例公开了一种可重构阵列配置方法、装置、设备以及存储介质。本发明实施例通过将可重构阵列划分为第一区域和第二区域,其中第一区域中的第一PE预先根据目标密码算法配置而成,后续若需要执行目标密码算法时,无需对可重构阵列进行配置,可直接控制第一区域执行目标密码算法,当待执行的密码算法不是目标密码算法时,才对可重构阵列的第二区域进行配置,从而使得可重构阵列能够执行相对应的密码算法。本发明实施例通过设置可重构阵列需要频繁执行的密码算法为目标密码算法,可重构阵列在执行完其他算法后又需要执行目标密码算法时,则无需再重新对PE进行配置,从而节省了对可重构阵列进行配置的时间,提升了可重构阵列的计算效率。
Description
技术领域
本申请实施例涉及处理器领域,尤其涉及一种可重构阵列配置方法、装置、设备以及存储介质。
背景技术
目前,可重构阵列在计算时,每次都需要根据计算的算法类型,重新对可重构阵列进行配置。由于可重构阵列在配置时需要消耗一定的时间,导致可重构阵列的计算速度缓慢,计算效率低下,如何提高可重构阵列的计算效率,成为了目前亟需解决的技术问题。
发明内容
本发明实施例提供了一种可重构阵列配置方法、装置、设备以及存储介质,本发明实施例在执行目标密码算法时不必重新对可重构阵列进行配置,解决了现有技术中可重构阵列计算效率低下的技术问题。
第一方面,本发明实施例提供了一种可重构阵列配置方法,包括:
判断待执行的密码算法是否为目标密码算法;
若是,获取所述密码算法的待解密密文,将所述待解密密文输入可重构阵列中的第一区域中,以使所述第一区域根据所述待解密密文计算出对应的明文;所述第一区域中包括多个第一PE,且所述第一PE预先根据所述目标密码算法进行配置;
若否,根据所述密码算法对所述可重构阵列的第二区域进行配置,以使配置后的第二区域根据输入的所述待解密密文计算出对应的明文,所述第二区域包括多个第二PE。
优选的,所述目标密码算法包括至少一种预设的密码算法,所述第一区域中的第一PE根据不同的目标密码算法被配置成不同的计算子阵列,所述不同的计算子阵列用于根据相对应的目标密码算法的待解密密文计算出对应的明文。
优选的,所述第二PE为尚未配置的初始PE;
相应的,所述根据所述密码算法对所述可重构阵列的第二区域进行配置,包括:
根据所述密码算法的执行流程,确定所述密码算法的计算环节;
根据所述执行流程以及所述计算环节,对所述可重构阵列的第二区域中的初始PE进行配置。
优选的,所述第二PE包括预先配置好的基础运算PE以及尚未配置的初始PE,所述基础运算PE用于执行预设的计算环节;
相应的,所述根据所述密码算法对所述可重构阵列的第二区域进行配置,包括:
判断所述第二PE的基础运算PE是否满足运算条件;
若满足,根据所述密码算法的执行流程,对所述基础运算PE进行配置;
若不满足,根据所述密码算法的执行流程,对所述基础运算PE以及所述初始PE进行配置。
优选的,所述判断所述第二PE的基础运算PE是否满足运算条件,包括:
根据所述密码算法的执行流程,确定所述密码算法的计算环节;
判断所述基础运算PE中是否包含有与每一个所述计算环节相对应的目标基础运算PE。
优选的,所述根据所述密码算法的执行流程,对所述基础运算PE以及所述初始PE进行配置,包括:
在所述计算环节中确定没有与所述目标基础运算PE相对应的第一计算环节;
根据所述第一计算环节对所述初始PE进行配置,得到初始运算PE;
根据所述密码算法的执行流程,对所述目标基础运算PE以及所述初始运算PE进行配置。
优选的,所述根据所述密码算法的执行流程,对所述目标基础运算PE以及所述初始运算PE进行配置,包括:
根据所述密码算法的执行流程,配置所述目标基础运算PE以及所述初始运算PE之间的连接关系。
第二方面,本发明实施例提供了一种可重构阵列配置装置,包括:算法确定模块、密文解密模块以及阵列配置模块;
所述算法确定模块用于判断待执行的密码算法是否为目标密码算法;
所述密文解密模块用于若待执行的密码算法为所述目标密码算法,获取所述密码算法的待解密密文,将所述待解密密文输入可重构阵列中的第一区域中,以使所述第一区域根据所述待解密密文计算出对应的明文;所述第一区域中包括多个第一PE,且所述第一PE预先根据所述目标密码算法进行配置;
所述阵列配置模块用于若待执行的密码算法并非为所述目标密码算法,根据所述密码算法对所述可重构阵列的第二区域进行配置,以使配置后的第二区域根据输入的所述待解密密文计算出对应的明文,所述第二区域包括多个第二PE。
第三方面,本发明实施例提供了一种可重构阵列配置设备,所述可重构阵列配置设备包括处理器以及存储器;
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行如第一方面所述的一种可重构阵列配置方法。
第四方面,本发明实施例提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的一种可重构阵列配置方法。
上述,本发明实施例通过将可重构阵列划分为第一区域和第二区域,其中第一区域中的第一PE预先根据目标密码算法配置而成,后续若需要执行目标密码算法时,无需对可重构阵列进行配置,可直接控制第一区域执行目标密码算法,当待执行的密码算法不是目标密码算法时,才对可重构阵列的第二区域进行配置,从而使得可重构阵列能够执行相对应的密码算法。本发明实施例通过设置可重构阵列需要频繁执行的密码算法为目标密码算法,可重构阵列在执行完其他算法后又需要执行目标密码算法时,则无需再重新对PE进行配置,从而节省了对可重构阵列进行配置的时间,提升了可重构阵列的计算效率。解决了现有技术中可重构阵列计算效率低下的技术问题。
附图说明
图1为本发明实施例提供的一种可重构阵列配置方法的流程示意图。
图2为本发明实施例提供的一种可重构阵列的结构示意图。
图3为本发明实施例提供的另一种可重构阵列的结构示意图。
图4为本发明实施例提供的另一种可重构阵列配置方法的流程示意图。
图5为本发明实施例提供的另一种可重构阵列配置方法的流程示意图。
图6为本发明实施例提供的一种可重构阵列配置装置的结构示意图。
图7为本发明实施例提供的一种可重构阵列配置设备的结构示意图。
具体实施方式
以下描述和附图充分地示出本申请的具体实施方案,以使本领域的技术人员能够实践它们。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本申请的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的结构、产品等而言,由于其与实施例公开的部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
如图1所示,图1为本发明实施例提供的一种可重构阵列配置方法的流程图。本发明实施例提供的可重构阵列配置方法可以由可重构阵列配置设备执行,该可重构阵列配置设备可以通过软件和/或硬件的方式实现,该可重构阵列配置设备可以是两个或多个物理实体构成,也可以由一个物理实体构成。例如可重构阵列配置设备可以是电脑、上位机、平板等设备。方法包括以下步骤:
步骤101、判断待执行的密码算法是否为目标密码算法。
在本实施例中,首先需要确定可重构阵列执行的密码算法是否为目标密码算法。其中,目标密码算法为预先指定的密码算法。示例性的,可预先在不同的密码算法中选择出一个密码算法作为目标密码算法。在本实施例中,预先选择可重构阵列最近一段时间内频繁执行的密码算法作为目标密码算法,且目标密码算法可根据实际需要进行改变。
在选择出目标密码算法后,可根据目标密码算法的代码,确定出目标密码算法的执行流程,后续在确定了待执行的密码算法后,即可根据待执行的密码算法的代码,确定出待执行的密码算法的执行流程,将待执行的密码算法的执行流程和目标密码算法的待执行流程进行比对,即可确定出待执行的密码算法是否为目标密码算法。在另一个实施例中,可以在各个密码算法的代码中设置标识位,标识位用于指示该密码算法是否为目标密码算法,后续只需要解析待执行的密码算法中的标识位,即可确定出待执行的密码算法是否为目标密码算法。例如,若标识位为1,则为目标密码算法,若标识位为0,则不是目标密码算法。可理解,在本实施例中,判断待执行的密码算法是否为目标密码算法的方式可以根据实际需要进行设置,在本实施例中不对判断待执行的密码算法是否为目标密码算法的具体方式进行限定。
步骤102、若是,获取密码算法的待解密密文,将待解密密文输入可重构阵列中的第一区域中,以使第一区域根据待解密密文计算出对应的明文;第一区域中包括多个第一PE,且第一PE预先根据目标密码算法进行配置。
如果待执行的密码算法是目标密码算法,则将待执行的密码算法的输入到可重构阵列的第一区域中。其中,需要进一步说明的是,在本实施例中,如图2所示,可重构阵列包括划分为第一区域以及第二区域,第一区域中包括有多个第一PE。其中,PE是指可重构阵列中具有运算功能的处理单元,处理单元能够实现的运算功能被称为算子,一个运算单元包含多个算子,处理单元可以通过不同的配置指令完成不同的运算功能。在本实施例中,第一区域中的多个第一PE预先根据目标密码算法配置而成,从而使得第一区域能够执行目标密码算法。在确定待执行的密码算法是目标密码算法后,获取待执行的密码算法的待解密密文,直接将待解密密文输入到可重构阵列的第一区域中,之后,可重构阵列的第一区域即可执行目标密码算法对待解密密文进行解析,根据待解密密文计算出相对应的明文。在此过程中由于第一区域预先根据目标密码算法进行配置,从而使得后续在执行目标密码算法时,可节省对可重构阵列进行配置的时间,提高计算效率。
步骤103、若否,根据密码算法对可重构阵列的第二区域进行配置,以使配置后的第二区域根据输入的待解密密文计算出对应的明文,第二区域包括多个第二PE。
如果待执行的密码算法不是目标密码算法,则根据待执行算法的执行流程,对可重构阵列的第二区域进行配置。具体的,如图2所示,在可重构阵列的第二区域中,包括有多个第二PE。在确认了待执行的密码算法不是目标密码算法后,进一步根据密码算法的执行流程,对可重构阵列的第二区域中的第二PE进行配置,从而使得可重构阵列的第二区域能够执行待执行的密码算法,后续再将待执行的密码算法的待解密密文输入到可重构阵列的第二区域后,第二区域即可执行相应的密码算法对待解密密文进行解析计算,得到相对应的明文。
在上述实施例的基础上,目标密码算法包括至少一种预设的密码算法,第一区域中的第一PE根据不同的目标密码算法被配置成不同的计算子阵列,不同的计算子阵列用于根据相对应的目标密码算法的待解密密文计算出对应的明文。
在一个实施例中,目标密码算法包括至少一种预设的密码算法,密码算法的数量可以根据第一区域中第一PE的数量进行设置,当第一PE的数量较多时,可以设置多种预设的密码算法作为目标密码算法,而当第一PE的数量较少时,可以只设置一种目标密码算法。
若存在多种目标密码算法时,需要根据不同密码算法对第一区域中的第一PE进行配置成不同的计算子阵列。不同的计算子阵列用于执行不同的目标密码算法,当目标密码算法的待解密密文输入到相对应的计算子阵列时,相对应的计算子阵列即可执行对应的目标密码算法对待解密密文进行计算解析,得到明文。示例性的,在一个实施例中,目标密码算法包括第一目标密码算法、第二目标密码算法以及第三目标密码算法,此时需要根据第一目标密码算法、第二目标密码算法以及第三目标密码算法对第一区域中不同的第一PE进行配置,生成的第一计算子阵列、第二计算子阵列以及第三计算子阵列,如图3所示。其中,第一计算子阵列用于执行第一目标密码算法,当第一目标密码算法的待解密密文输入到第一计算子阵列时,第一计算子阵列即可执行第一目标密码算法对待解密密文进行解析计算,得到明文。第二计算子阵列用于执行第二目标密码算法,第三计算子阵列用于执行第三目标密码算法,其执行过程与第一计算子阵列类似,在本实施例中不再赘述。
上述,本发明实施例通过将可重构阵列划分为第一区域和第二区域,其中第一区域中的第一PE预先根据目标密码算法配置而成,后续若需要执行目标密码算法时,无需对可重构阵列进行配置,可直接控制第一区域执行目标密码算法,当待执行的密码算法不是目标密码算法时,才对可重构阵列的第二区域进行配置,从而使得可重构阵列能够执行相对应的密码算法。本发明实施例通过设置可重构阵列需要频繁执行的密码算法为目标密码算法,可重构阵列在执行完其他算法后又需要直接执行目标密码算法时,则无需再重新对PE进行配置,从而节省了对可重构阵列进行配置的时间,提升了可重构阵列的计算效率。
如图4所示,图4为本发明实施例提供的另一种可重构阵列配置方法的流程图,该可重构阵列配置方法是对上述可重构阵列配置方法的具体化。该可重构阵列配置方法包括:
步骤201、判断待执行的密码算法是否为目标密码算法;
步骤202、若是,获取密码算法的待解密密文,将待解密密文输入可重构阵列中的第一区域中,以使第一区域根据待解密密文计算出对应的明文;第一区域中包括多个第一PE,且第一PE预先根据目标密码算法进行配置;
步骤203、若否,根据密码算法的执行流程,确定密码算法的计算环节;根据执行流程以及计算环节,对可重构阵列的第二区域中的初始PE进行配置,以使配置后的第二区域根据输入的待解密密文计算出对应的明文,第二区域包括多个第二PE,第二PE为尚未配置的初始PE。
在本实施例中,可重构阵列的第二区域内的第二PE为尚未配置的初始PE,
尚未配置,是指PE的运算功能以及PE之间的连接关系尚未配置。在根据密码算法对第二区域内的初始PE进行配置时,首先需要确定密码算法的执行流程,执行流程包括了密码算法的运行逻辑以及数据的流向。之后,进一步根据密码算法的执行流程,确定出密码算法中的计算环节,计算环节是指密码算法中执行运算的步骤。由于可重构阵列中由处理单元(PE)执行运算功能,因此,密码算法中的计算环节决定了处理单元的配置方式,一个计算环节可至少由一个处理单元执行。通过对处理单元进行配置,可以使得处理单元执行相对应的运算,从而实现密码算法中的计算环节。另外,由于密码算法的执行流程决定了数据的流向,因此,需要根据密码算法的执行流程来配置处理单元之间的连接关系,从而使得每个处理单元的运算结果能够传输到下一个正确的处理单元中。之后,即可根据每个处理单元的配置方式以及处理单元之间的连接关系,生成可重构阵列的配置信息。
在生成可重构阵列的配置信息后,即可根据配置信息对可重构阵列中的初始PE以及初始PE之间的连接关系进行配置,从而使得配置后的第二区域能够执行相对应的密码算法。后续在获取到密码算法的待解密密文后,将待解密密文输入到可重构阵列配置好的第二区域中,第二区域即可执行相对应的目标密码算法对待解密密文进行解析计算,从而得到相对应的明文。
上述,本发明实施例通过将可重构阵列划分为第一区域和第二区域,其中第一区域中的第一PE预先根据目标密码算法配置而成,后续若需要执行目标密码算法时,无需对可重构阵列进行配置,可直接控制第一区域执行目标密码算法,当待执行的密码算法不是目标密码算法时,才对可重构阵列的第二区域进行配置,从而使得可重构阵列能够执行相对应的密码算法。本发明实施例通过设置可重构阵列需要频繁执行的密码算法为目标密码算法,可重构阵列无需再重新对PE进行配置即可直接执行目标密码算法,无需再重新对PE进行配置,从而节省了对可重构阵列进行配置的时间,提升了可重构阵列的计算效率。
如图5所示,图5为本发明实施例提供的另一种可重构阵列配置方法的流程图,该可重构阵列配置方法是对上述可重构阵列配置方法的具体化。该可重构阵列配置方法包括:
步骤301、判断待执行的密码算法是否为目标密码算法。
步骤302、若是,获取密码算法的待解密密文,将待解密密文输入可重构阵列中的第一区域中,以使第一区域根据待解密密文计算出对应的明文;第一区域中包括多个第一PE,且第一PE预先根据目标密码算法进行配置。
步骤303、若否,判断第二PE的基础运算PE是否满足运算条件,第二PE包括预先配置好的基础运算PE以及尚未配置的初始PE,基础运算PE用于执行预设的计算环节。
在本实施例中,可重构阵列的第二区域包括多个第二PE,第二PE中包括有预先配置好的基础运算PE以及尚未配置的初始PE。其中,基础运算PE预先配置用于执行某个特定的运算功能,即执行预设的计算环节,该预设的计算环节可以是任意设置的,并不一定与密码算法中的计算环节相同。即而初始PE尚未配置对应的运算功能。在本实施例中,当待执行的密码算法并非是目标密码算法时,需要确定基础运算PE是否满足运算条件,从而判断第二PE中的基础运算PE是否能够执行待执行的密码算法。
在一个实施例中,步骤303中判断第二PE的基础运算PE是否满足运算条件,具体由步骤3031-步骤3032执行,具体包括:
步骤3031、根据密码算法的执行流程,确定密码算法的计算环节。
首先,需要根据密码算法的执行流程,确定出密码算法的计算环节。具体过程可参考上述步骤203中确定密码算法的计算环节的描述,在本实施例中不在进行赘述。
步骤3032、判断基础运算PE中是否包含有与每一个计算环节相对应的目标基础运算PE。
在确定了密码算法的计算环节后,进一步在基础运算PE中,确认是否包含有与每一个计算环节相对应的目标基础运算PE。可理解,在本实施例中,每一个计算环节由对应的至少一个基础运算PE来执行,因此需要在基础运算PE中,确定出是否存在用于执行每一个计算环节的目标基础运算PE,从而确定基础运算PE是否能够完成密码算法中所有的计算环节。示例性的,在一个实施例中,假设密码算法中第一个计算环节为执行乘法运算,第二个计算环节为执行求余运算,第三个计算环节为执行求和运算,第四个计算环节为执行乘法运算。因此,对于第一个计算环节,需要在基础运算PE中判断是否存在用于执行乘法运算的基础运算PE,若存在,该基础运算PE即为与第一个计算环节相对应的目标基础运算PE。对于第二运算,需要在基础运算PE中判断是否存在用于执行求余运算的基础运算PE,若存在,该基础运算PE即为与第二个计算环节相对应的目标基础运算PE,同理,第三计算环节和第四运算环节以此类推。需要进一步说明的是,对于第四计算环节,由于第四计算环节与第一计算环节的所需要执行的运算相同,因此,第四计算环节同样需要确定出用于执行乘法运算的基础运算PE,但是若该基础运算PE已经与第一计算环节相对应,则第四计算环节需要确定出新的用于执行乘法运算的基础运算PE。若每一个计算环节都存在相对应的目标基础运算PE,则第二PE的基础运算PE满足运算条件,反之,只要一个计算环节无法确定出相对应的目标基础运算PE,则基础运算PE不满足运算条件。
步骤304、若满足,根据密码算法的执行流程,对基础运算PE进行配置,以使配置后的第二区域根据输入的待解密密文计算出对应的明文。
如果基础运算PE中包含有与每一个计算环节相对应的目标基础运算PE,则此时第二PE中的目标基础运算PE即可实现待执行的密码算法中的计算环节。因此,第二PE中的初始PE不需要使用,无需对初始PE进行配置,只需要根据待执行的密码算法的对目标基础运算PE进行配置即可。具体的,由于目标基础运算PE的运算功能已经预先进行配置,因此只需要根据待执行的密码算法的执行流程,对目标基础运算PE中的连接关系进行配置,从而使得可重构阵列的第二区域能够执行待执行的密码算法。后续在将待执行的密码算法的待解密密文输入到可重构阵列的第二区域中时,第二区域中的目标基础运算PE即可执行相对应的密码算法对待解密密文进行解析计算,从而得到相对应的明文。在本实施例中,由于目标基础运算PE的预算功能已经预先进行配置,因此只需要配置目标基础运算PE之间的连接关系即可,从而能够进一步减小可重构阵列的配置时间,提高可重构阵列的计算效率。
步骤305、若不满足,根据密码算法的执行流程,对基础运算PE以及初始PE进行配置,以使配置后的第二区域根据输入的待解密密文计算出对应的明文。
如果基础运算PE中没有包含有与每一个计算环节相对应的目标基础运算PE,则此时只依靠第二PE中的目标基础运算PE无法实现待执行的密码算法中所有的计算环节,需要进一步对初始PE进行配置,利用配置后的初始PE来执行基础运算PE无法实现的计算环节,从而使得第二区域在配置后的初始PE和目标基础运算PE的配合下,能够执行相对应的密码算法。
在上述实施例的基础上,步骤305中根据密码算法的执行流程,对基础运算PE以及初始PE进行配置,具体由步骤3051-步骤3053执行,包括:
步骤3051、在计算环节中确定没有与目标基础运算PE相对应的第一计算环节。
首先,在计算环节中先确定出没有与目标基础运算PE相对应的第一计算环节,该计算环节即为基础运算PE无法执行的计算环节。
步骤3052、根据第一计算环节对初始PE进行配置,得到初始运算PE。
之后,根据第一计算环节对初始PE的运算功能进行配置,得到初始运算PE,初始运算PE用于执行第一计算环节。
步骤3053、根据密码算法的执行流程,对目标基础运算PE以及初始运算PE进行配置。
最后,再根据密码算法的执行流程,对基础运算PE以及初始运算PE进行配置。具体的,在对基础运算PE以及初始运算PE进行配置时,根据密码算法的执行流程,配置目标基础运算PE以及初始运算PE之间的连接关系。由于目标基础运算PE以及初始运算PE的运算功能已经配置完成,因此只需要根据执行流程中数据的流向,配置目标基础运算PE以及初始运算PE之间的连接关系即可,从而在目标基础运算PE以及初始运算PE的配合下,使得可重构阵列的第二区域能够执行相对应的密码算法。
在本实施例中,通过在可重构阵列的第二区域中设置基础运算PE以及初始PE,当待执行的密码算法不是目标密码算法时,首先判断基础运算PE是否存在与密码算法中每个的计算环节相对应的目标基础运算PE,若是,则根据密码算法对目标基础运算PE之间的连接关系进行配置即可,能够进一步减小可重构阵列的配置时间,提高可重构阵列的计算效率。只要基础运算PE中存在无法与密码算法中至少一个计算环节相对应的目标基础运算PE时,则根据无法对应的第一计算环节对初始PE进行配置,得到初始运算PE,从而使得初始运算PE能够执行第一计算环节,最后再根据密码算法的执行流程,配置目标基础运算PE和初始运算PE之间的连接关系即可。在此过程中,只需要根据基础运算PE无法执行的计算环节对初始PE进行配置,在一定程度上能够减小配置PE的运算功能的时间,从而提高可重构阵列的计算效率。
本发明实施例该提供了一种可重构阵列配置装置,如图6所示,一种可重构阵列配置装置,包括:算法确定模块401、密文解密模块402以及阵列配置模块403;
算法确定模块401用于判断待执行的密码算法是否为目标密码算法;
密文解密模块402用于若待执行的密码算法为目标密码算法,获取密码算法的待解密密文,将待解密密文输入可重构阵列中的第一区域中,以使第一区域根据待解密密文计算出对应的明文;第一区域中包括多个第一PE,且第一PE预先根据目标密码算法进行配置;
阵列配置模块403用于若待执行的密码算法并非为目标密码算法,根据密码算法对可重构阵列的第二区域进行配置,以使配置后的第二区域根据输入的待解密密文计算出对应的明文,第二区域包括多个第二PE。
在上述实施例的基础上,目标密码算法包括至少一种预设的密码算法,第一区域中的第一PE根据不同的目标密码算法被配置成不同的计算子阵列,不同的计算子阵列用于根据相对应的目标密码算法的待解密密文计算出对应的明文。
在上述实施例的基础上,第二PE为尚未配置的初始PE;
相应的,阵列配置模块403用于根据密码算法对可重构阵列的第二区域进行配置,包括:
用于根据密码算法的执行流程,确定密码算法的计算环节;根据执行流程以及计算环节,对可重构阵列的第二区域中的初始PE进行配置。
在上述实施例的基础上,第二PE包括预先配置好的基础运算PE以及尚未配置的初始PE,基础运算PE用于执行预设的计算环节;
相应的,阵列配置模块403用于根据密码算法对可重构阵列的第二区域进行配置,包括:
用于判断第二PE的基础运算PE是否满足运算条件;
若满足,根据密码算法的执行流程,对基础运算PE进行配置;
若不满足,根据密码算法的执行流程,对基础运算PE以及初始PE进行配置。
在上述实施例的基础上,阵列配置模块403用于判断第二PE的基础运算PE是否满足运算条件,包括:
根据密码算法的执行流程,确定密码算法的计算环节;
判断基础运算PE中是否包含有与每一个计算环节相对应的目标基础运算PE。
在上述实施例的基础上,阵列配置模块403用于根据密码算法的执行流程,对基础运算PE以及初始PE进行配置,包括:
在计算环节中确定没有与目标基础运算PE相对应的第一计算环节;
根据第一计算环节对初始PE进行配置,得到初始运算PE;
根据密码算法的执行流程,对目标基础运算PE以及初始运算PE进行配置。
在上述实施例的基础上,阵列配置模块403用于根据密码算法的执行流程,对目标基础运算PE以及初始运算PE进行配置,包括:
根据密码算法的执行流程,配置目标基础运算PE以及初始运算PE之间的连接关系。
本实施例还提供了一种可重构阵列配置设备,如图7所示,一种可重构阵列配置设备50,所述可重构阵列配置设备包括处理器500以及存储器501;
所述存储器501用于存储计算机程序502,并将所述计算机程序502传输给所述处理器;
所述处理器500用于根据所述计算机程序502中的指令执行上述的一种可重构阵列配置方法实施例中的步骤。
示例性的,所述计算机程序502可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器501中,并由所述处理器500执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序502在所述可重构阵列配置设备50中的执行过程。
所述可重构阵列配置设备50可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述可重构阵列配置设备50可包括,但不仅限于,处理器500、存储器501。本领域技术人员可以理解,图7仅仅是可重构阵列配置设备50的示例,并不构成对可重构阵列配置设备50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述可重构阵列配置设备50还可以包括输入输出设备、网络接入设备、总线等。
所称处理器500可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器501可以是所述可重构阵列配置设备50的内部存储单元,例如可重构阵列配置设备50的硬盘或内存。所述存储器501也可以是所述可重构阵列配置设备50的外部存储设备,例如所述可重构阵列配置设备50上配备的插接式硬盘,智能存储卡(SmartMedia Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器501还可以既包括所述可重构阵列配置设备50的内部存储单元也包括外部存储设备。所述存储器501用于存储所述计算机程序以及所述可重构阵列配置设备50所需的其他程序和数据。所述存储器501还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种可重构阵列配置方法,该方法包括以下步骤:
判断待执行的密码算法是否为目标密码算法;
若是,获取所述密码算法的待解密密文,将所述待解密密文输入可重构阵列中的第一区域中,以使所述第一区域根据所述待解密密文计算出对应的明文;所述第一区域中包括多个第一PE,且所述第一PE预先根据所述目标密码算法进行配置;
若否,根据所述密码算法对所述可重构阵列的第二区域进行配置,以使配置后的第二区域根据输入的所述待解密密文计算出对应的明文,所述第二区域包括多个第二PE。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。
Claims (10)
1.一种可重构阵列配置方法,其特征在于,包括:
判断待执行的密码算法是否为目标密码算法;
若是,获取所述密码算法的待解密密文,将所述待解密密文输入可重构阵列中的第一区域中,以使所述第一区域根据所述待解密密文计算出对应的明文;所述第一区域中包括多个第一PE,且所述第一PE预先根据所述目标密码算法进行配置;
若否,根据所述密码算法对所述可重构阵列的第二区域进行配置,以使配置后的第二区域根据输入的所述待解密密文计算出对应的明文,所述第二区域包括多个第二PE。
2.根据权利要求1所述的一种可重构阵列配置方法,其特征在于,所述目标密码算法包括至少一种预设的密码算法,所述第一区域中的第一PE根据不同的目标密码算法被配置成不同的计算子阵列,所述不同的计算子阵列用于根据相对应的目标密码算法的待解密密文计算出对应的明文。
3.根据权利要求1所述的一种可重构阵列配置方法,其特征在于,所述第二PE为尚未配置的初始PE;
相应的,所述根据所述密码算法对所述可重构阵列的第二区域进行配置,包括:
根据所述密码算法的执行流程,确定所述密码算法的计算环节;
根据所述执行流程以及所述计算环节,对所述可重构阵列的第二区域中的初始PE进行配置。
4.根据权利要求1所述的一种可重构阵列配置方法,其特征在于,所述第二PE包括预先配置好的基础运算PE以及尚未配置的初始PE,所述基础运算PE用于执行预设的计算环节;
相应的,所述根据所述密码算法对所述可重构阵列的第二区域进行配置,包括:
判断所述第二PE的基础运算PE是否满足运算条件;
若满足,根据所述密码算法的执行流程,对所述基础运算PE进行配置;
若不满足,根据所述密码算法的执行流程,对所述基础运算PE以及所述初始PE进行配置。
5.根据权利要求4所述的一种可重构阵列配置方法,其特征在于,所述判断所述第二PE的基础运算PE是否满足运算条件,包括:
根据所述密码算法的执行流程,确定所述密码算法的计算环节;
判断所述基础运算PE中是否包含有与每一个所述计算环节相对应的目标基础运算PE。
6.根据权利要求5所述的一种可重构阵列配置方法,其特征在于,所述根据所述密码算法的执行流程,对所述基础运算PE以及所述初始PE进行配置,包括:
在所述计算环节中确定没有与所述目标基础运算PE相对应的第一计算环节;
根据所述第一计算环节对所述初始PE进行配置,得到初始运算PE;
根据所述密码算法的执行流程,对所述目标基础运算PE以及所述初始运算PE进行配置。
7.根据权利要求6所述的一种可重构阵列配置方法,其特征在于,所述根据所述密码算法的执行流程,对所述目标基础运算PE以及所述初始运算PE进行配置,包括:
根据所述密码算法的执行流程,配置所述目标基础运算PE以及所述初始运算PE之间的连接关系。
8.一种可重构阵列配置装置,其特征在于,包括:算法确定模块、密文解密模块以及阵列配置模块;
所述算法确定模块用于判断待执行的密码算法是否为目标密码算法;
所述密文解密模块用于若待执行的密码算法为所述目标密码算法,获取所述密码算法的待解密密文,将所述待解密密文输入可重构阵列中的第一区域中,以使所述第一区域根据所述待解密密文计算出对应的明文;所述第一区域中包括多个第一PE,且所述第一PE预先根据所述目标密码算法进行配置;
所述阵列配置模块用于若待执行的密码算法并非为所述目标密码算法,根据所述密码算法对所述可重构阵列的第二区域进行配置,以使配置后的第二区域根据输入的所述待解密密文计算出对应的明文,所述第二区域包括多个第二PE。
9.一种可重构阵列配置设备,其特征在于,所述可重构阵列配置设备包括处理器以及存储器;
所述存储器用于存储计算机程序,并将所述计算机程序传输给所述处理器;
所述处理器用于根据所述计算机程序中的指令执行如权利要求1-7中任一项所述的一种可重构阵列配置方法。
10.一种存储计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一项所述的一种可重构阵列配置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210574255.3A CN114661656B (zh) | 2022-05-25 | 2022-05-25 | 一种可重构阵列配置方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210574255.3A CN114661656B (zh) | 2022-05-25 | 2022-05-25 | 一种可重构阵列配置方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114661656A true CN114661656A (zh) | 2022-06-24 |
CN114661656B CN114661656B (zh) | 2022-08-30 |
Family
ID=82038313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210574255.3A Active CN114661656B (zh) | 2022-05-25 | 2022-05-25 | 一种可重构阵列配置方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114661656B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1599899A (zh) * | 2001-11-30 | 2005-03-23 | 快闪银科技公司 | 用于具有固定、专用计算元件的自适应集成电路的配置的装置、系统及方法 |
JP2005165435A (ja) * | 2003-11-28 | 2005-06-23 | Ip Flex Kk | データ伝送方法 |
JP2006072842A (ja) * | 2004-09-03 | 2006-03-16 | Matsushita Electric Ind Co Ltd | 半導体装置並びにその再構成方法及びそのプログラミング方法 |
CN1910570A (zh) * | 2004-01-22 | 2007-02-07 | 皇家飞利浦电子股份有限公司 | 用于高速数字通信系统的可动态地重新配置的信号处理装置及方法 |
CN102868532A (zh) * | 2012-09-12 | 2013-01-09 | 清华大学 | 基于可重构技术的加解密算法中基本算子的提取方法 |
CN108566393A (zh) * | 2018-04-13 | 2018-09-21 | 清华大学无锡应用技术研究院 | 数据加密的方法、装置和系统 |
CN108616348A (zh) * | 2018-04-19 | 2018-10-02 | 清华大学无锡应用技术研究院 | 使用可重构处理器实现安全算法、解密算法的方法及系统 |
CN109672519A (zh) * | 2018-10-17 | 2019-04-23 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 一种密码装置及其数据加解密方法 |
CN110059493A (zh) * | 2019-04-10 | 2019-07-26 | 无锡沐创集成电路设计有限公司 | 基于粗粒度可重构计算单元的skinny-128-128加密算法实现方法及系统 |
CN110321162A (zh) * | 2019-07-01 | 2019-10-11 | 无锡沐创集成电路设计有限公司 | 基于粗粒度可重构计算单元的present加密算法实现方法及系统 |
CN113254390A (zh) * | 2021-06-09 | 2021-08-13 | 千芯半导体科技(北京)有限公司 | 可重构计算结构、计算方法及硬件架构 |
WO2021208014A1 (zh) * | 2020-04-16 | 2021-10-21 | 华为技术有限公司 | 用于执行加解密处理的装置及方法 |
CN113660076A (zh) * | 2021-07-15 | 2021-11-16 | 南京大学 | 基于可重构技术的同态加密系统及同态加密执行方法 |
CN114490007A (zh) * | 2020-10-26 | 2022-05-13 | 辰芯科技有限公司 | 计算模块、可重构芯片、重构方法、装置、设备及介质 |
-
2022
- 2022-05-25 CN CN202210574255.3A patent/CN114661656B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1599899A (zh) * | 2001-11-30 | 2005-03-23 | 快闪银科技公司 | 用于具有固定、专用计算元件的自适应集成电路的配置的装置、系统及方法 |
JP2005165435A (ja) * | 2003-11-28 | 2005-06-23 | Ip Flex Kk | データ伝送方法 |
CN1910570A (zh) * | 2004-01-22 | 2007-02-07 | 皇家飞利浦电子股份有限公司 | 用于高速数字通信系统的可动态地重新配置的信号处理装置及方法 |
JP2006072842A (ja) * | 2004-09-03 | 2006-03-16 | Matsushita Electric Ind Co Ltd | 半導体装置並びにその再構成方法及びそのプログラミング方法 |
CN102868532A (zh) * | 2012-09-12 | 2013-01-09 | 清华大学 | 基于可重构技术的加解密算法中基本算子的提取方法 |
CN108566393A (zh) * | 2018-04-13 | 2018-09-21 | 清华大学无锡应用技术研究院 | 数据加密的方法、装置和系统 |
CN108616348A (zh) * | 2018-04-19 | 2018-10-02 | 清华大学无锡应用技术研究院 | 使用可重构处理器实现安全算法、解密算法的方法及系统 |
CN109672519A (zh) * | 2018-10-17 | 2019-04-23 | 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) | 一种密码装置及其数据加解密方法 |
CN110059493A (zh) * | 2019-04-10 | 2019-07-26 | 无锡沐创集成电路设计有限公司 | 基于粗粒度可重构计算单元的skinny-128-128加密算法实现方法及系统 |
CN110321162A (zh) * | 2019-07-01 | 2019-10-11 | 无锡沐创集成电路设计有限公司 | 基于粗粒度可重构计算单元的present加密算法实现方法及系统 |
WO2021208014A1 (zh) * | 2020-04-16 | 2021-10-21 | 华为技术有限公司 | 用于执行加解密处理的装置及方法 |
CN114490007A (zh) * | 2020-10-26 | 2022-05-13 | 辰芯科技有限公司 | 计算模块、可重构芯片、重构方法、装置、设备及介质 |
CN113254390A (zh) * | 2021-06-09 | 2021-08-13 | 千芯半导体科技(北京)有限公司 | 可重构计算结构、计算方法及硬件架构 |
CN113660076A (zh) * | 2021-07-15 | 2021-11-16 | 南京大学 | 基于可重构技术的同态加密系统及同态加密执行方法 |
Non-Patent Citations (1)
Title |
---|
蒋建春 等: "《嵌入式系统原理及应用实例》", 31 August 2015, 北京:北京航空航天大学出版社 * |
Also Published As
Publication number | Publication date |
---|---|
CN114661656B (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10924262B2 (en) | Method for processing dynamic data by fully homomorphic encryption method | |
US9021500B2 (en) | Rule based combinatorial computing for map/reduce platform | |
Češka et al. | PRISM-PSY: precise GPU-accelerated parameter synthesis for stochastic systems | |
CN111915019A (zh) | 联邦学习方法、系统、计算机设备和存储介质 | |
US11121868B2 (en) | Secure computation system, secure computation device, secure computation method, and program | |
CN112070222A (zh) | 用于联邦学习的处理架构、加速器及方法 | |
CN107430557B (zh) | 多方加密立方体处理设备、方法和系统 | |
Fang et al. | Secure function evaluation using an fpga overlay architecture | |
US10546045B2 (en) | Efficient extended-precision processing | |
Wang et al. | A full-Newton step feasible interior-point algorithm for P_*(κ) P∗(κ)-linear complementarity problems | |
CN116861470B (zh) | 加解密方法、装置、计算机可读存储介质和服务器 | |
CN115001869A (zh) | 一种加密传输方法及系统 | |
CN114661656B (zh) | 一种可重构阵列配置方法、装置、设备以及存储介质 | |
US11200346B2 (en) | Secure computation for reading multiple elements from a secure text array | |
CN115795522B (zh) | 多核并发的高速密码引擎数据处理方法及装置 | |
Foster et al. | Flexible HLS-based implementation of the Karatsuba multiplier targeting homomorphic encryption schemes | |
EP3651141B1 (en) | Secure computing system, secure computing device, secure computing method, program, and recording medium | |
CN108471411B (zh) | 密钥处理方法及装置 | |
CN115801221A (zh) | 加速设备、计算系统及加速方法 | |
KR20210067961A (ko) | 완전동형암호 기법으로 암호화된 데이터의 연산을 위한 장치 및 방법 | |
KR100406139B1 (ko) | 대칭 및 비대칭키 암호 연산 처리 시스템 및 그 처리 방법 | |
Magreñán et al. | Secant-like methods for solving nonlinear models with applications to chemistry | |
CN114546933B (zh) | 一种可重构计算系统、方法、终端设备以及存储介质 | |
JP2021501406A (ja) | タスク処理のための方法、デバイス、およびシステム | |
KR102520958B1 (ko) | Fpga 기반의 암호해독 시스템 데이터 처리 장치 및 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |