CN110321162A - 基于粗粒度可重构计算单元的present加密算法实现方法及系统 - Google Patents
基于粗粒度可重构计算单元的present加密算法实现方法及系统 Download PDFInfo
- Publication number
- CN110321162A CN110321162A CN201910585678.3A CN201910585678A CN110321162A CN 110321162 A CN110321162 A CN 110321162A CN 201910585678 A CN201910585678 A CN 201910585678A CN 110321162 A CN110321162 A CN 110321162A
- Authority
- CN
- China
- Prior art keywords
- configuration information
- reconfigurable
- encryption algorithm
- data
- computing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
-
- 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/76—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 application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于粗粒度可重构计算单元的PRESENT加密算法系统,包括可重构配置系统、可重构数据通路及计算模块、主控微处理器、系统总线;所述可重构配置系统包括配置信息初始化接口、多级配置信息存储单元、配置信息解析模块、配置信息寄存器所述可重构数据通路及计算模块包括可重构计算阵列、寄存器通道、中间结果存储单元、输入先进先出寄存器组、输出先进先出寄存器组;所述可重构计算阵列包括可重构计算单元块,可重构计算单元块包括多行算子、读控制模块、写控制模块;本发明能够实现PRESENT加密算法的高效运算。
Description
技术领域
本发明涉及嵌入式可重构系统领域,尤其涉及一种应用于信息安全领域的基于大规模粗粒度可重构计算系统及其处理方法。
背景技术
信息领域中密码算法的实现通常采用通用处理器(GPP,General PurposeProcessor)与专用集成电路(ASIC,Application Specific Integrated Circuit)两种方案。其中,ASIC的实现方案通过对所实现的密码算法进行特定的优化可以取得极高的单位面积性能和单位能量性能,然而该实现方案不具备灵活性,难以满足不同算法的实现需求,不是理想的方案。GPP的实现方案采用指令执行的方式,运算部件采用通用结构,通过指令编程实现不同类型的密码算法,具备较高灵活性,因此,GPP作为密码算法的实现方案能够充分满足其可重构的需求。但是,GPP的运算部件是通用结构,没有针对密码算法做特征优化,密码算法中的核心计算部件,如S盒、置换操作等的计算效率低下,从而导致整体算法性能下降。
粗粒度可重构计算结合了GPP与ASIC的优点,可以在保证灵活性的前提下,同时具备ASIC的高效率特性。在粗粒度可重构系统中,计算资源的功能和互连可以通过配置信息改变,通过配置信息的更换完成不同密码算法,并且在运算执行过程中,可重构系统为类似ASIC的数据驱动形式,因而可以获得较高的计算性能。
目前,国内外科研机构提出了多种基于粗粒度可重构技术的密码算法实现架构,例如针对分组密码算法的COBRA,针对与包含或非操作密码算法的CoARX,针对分组和杂凑密码算法的Cryptoraptor等。但是,上述这些可重构阵列的配置系统与计算阵列较为简单,而在PRESENT加密算法方法的运算中,计算较为复杂,且执行轮数较多,运算过程中会产生大量的缓存数据,因此算法的运算性能较低下,可见传统的可重构计算系统在PRESENT加密算法的面积效率和能量效率方面存在不足。
发明内容
本发明的目的是在于克服现有技术中存在的不足,提供一种基于粗粒度可重构计算单元的PRESENT加密算法系统,利用粗粒度可重构技术计算资源丰富、功能灵活可配置、并行计算能力强等技术特点,通过提高对PRESENT加密算法算法在可重构计算阵列上的并行展开,同时优化计算过程中的中间数据缓存,实现PRESENT加密算法的高效运算。本发明采用的技术方案是:
一种基于粗粒度可重构计算单元的PRESENT加密算法系统,包括可重构配置系统、可重构数据通路及计算模块、主控微处理器、系统总线;
其中,所述可重构配置系统包括配置信息初始化接口、多级配置信息存储单元、配置信息解析模块、配置信息寄存器;
配置信息初始化接口连接多级配置信息存储单元,多级配置信息存储单元连接配置信息解析模块,配置信息解析模块连接配置信息寄存器;
配置信息初始化接口用于对接主控微处理器,以接收配置信息;多级配置信息存储单元用于缓存配置信息;配置信息解析模块用于对接收的配置信息进行格式解析;位置信息寄存器用于缓存格式解析后的配置信息,供可重构数据通路及计算模块读取;
所述配置信息寄存器的输出端连接可重构数据通路及计算模块;
所述可重构数据通路及计算模块包括可重构计算阵列、寄存器通道、中间结果存储单元、输入先进先出寄存器组、输出先进先出寄存器组;
所述可重构计算阵列包括可重构计算单元块,可重构计算单元块包括多行算子、读控制模块、写控制模块;
其中,算子包括逻辑运算、算术运算、移位运算、查表运算功能;
所述读控制模块和写控制模块用于完成可重构计算单元块与输入先进先出寄存器组、输出先进先出寄存器组、寄存器通道、中间结果存储单元的数据读写控制;
所述主控微处理器通过系统总线与配置信息初始化接口、输入先进先出寄存器组、输出先进先出寄存器组相连;所述的输入先进先出寄存器组与可重构计算阵列的输入相连,可重构计算阵列的输出与输出先进先出寄存器相连;所述的寄存器通道、中间结果存储单元与可重构计算阵列相连;
通过分析PRESENT加密算法的计算特征,确定加密运算流程如何在可重构架构上实现,将PRESENT加密算法中若干轮运算展开成一幅数据流图映射到可重构计算阵列中,通过依次映射多幅数据流图最终完成PRESENT加密算法的整个运算;
主控微处理器通过系统总线发送明文数据给可重构数据通路及计算模块,可重构数据通路及计算模块将明文数据存入输入先入先出寄存器组,可重构计算阵列完成加密运算后输出密文数据到输出先入先出寄存器组,并向主控微处理器发送中断信号,微处理器接受到中断信号后,读出存储于输出先入先出寄存器组中的密文数据。
进一步地,所述的可重构数据通路及计算模块包括1个可重构计算阵列、1个中间结果存储单元、1个寄存器通道、1个输入先入先出寄存器组和1个输出先入先出寄存器组;其中,1个可重构计算阵列通过1个中间结果存储单元和1个寄存器通道互相进行数据的储存、读取和传递;所述的1个可重构计算阵列包括M个可重构计算单元块,其中M为正整数。
更进一步地,M=4。
进一步地,所述的可重构计算单元块包含N行计算资源,每N行计算资源共享1个读控制模块和1个写控制模块,其中N为正偶数;其中,奇数行和偶数行的算子类型不同。
更进一步地,所述的N行计算资源中,每行包括P个算子,P为正整数;奇数行的算子包含逻辑运算、算术运算、移位运算、置换运算;偶数行的算子包含逻辑运算、算术运算、移位运算、查表运算;其中,逻辑运算包括一个操作数的直通操作、取反操作,两个操作数的异或操作、与操作、或操作;算术运算包括两个算子的加法操作、带取模的加法操作;移位运算包括算术左移操作、循环左移操作、算术右移操作、循环右移操作;查表运算包括最多4路并行的查表操作,查表操作数据位宽从4比特到32比特;置换运算由1个64比特的无阻塞网络构成,支持64比特数据的任意置换;作为优选方案,所述的可重构计算单元块包含8行计算资源,每行包括4个算子。
进一步地,该系统的PRESENT加密算法包括如下步骤,对于密钥长度为80比特,明文数据位宽为64比特,31轮迭代的加密算法,按步骤(1)~(4)顺序操作,其中步骤(1)执行1次,步骤(2)~(4)依次循环执行31次;
(1)初始化:经过扩展后的密钥k依次通过可重构计算单元块中算子的直通操作,存储到中间结果存储单元中;可重构计算单元块中查找表的值由主控微处理器通过配置信息初始化接口写入到可重构计算阵列中;
直通操作如图2a中第0行计算资源所示;逻辑运算、算术运算、移位运算、查表运算的算子支持32位的操作,置换运算的算子支持64位的操作;
(2)计算密钥加结果A[i]:将明文数据p_text[i]读取到可重构计算单元块中,将算子配置成异或功能,将p_text[i]与密钥k进行异或,完成密钥加结果的计算(其中0≤ i ≤63);
如图2b中第0行计算资源所示;
(3)计算查表结果B[i]:将算子配置成查表操作,将A[i]以4比特为一个组,分成16组,同时查找16个查找表,完成查表操作;
如图2b中第1行计算资源所示;
(4)计算置换结果C[i]:将算子配置成置换功能,将B[63:0]通过置换得到C[63:0],前30轮的C[i]输入到步骤(2)的A[i]进行运算,第31轮的C[i]即密文。
一种基于粗粒度可重构计算单元的PRESENT加密算法的实现方法,包括以下步骤:
(1)分析PRESENT加密算法的计算特点,并完成数据流图的设计;
(2)确定数据流图之后,针对可重构计算阵列的硬件特点,在了解其配置系统、数据通路、计算阵列各功能模块的作用机制的情况下,将数据流图映射到可重构计算阵列上,并生成配置信息;
(3)由主控微处理器将可重构计算阵列的配置信息以及加密算法的各初始数据发送至可重构计算阵列;
(4)主控微处理器向可重构计算单元块发起开始加密的命令,完成对其的配置,并启动加密过程;
(5)可重构计算阵列完成当前加密任务后,发送中断信号,主控微处理器接受到中断信号,完成加密过程。
本发明的优点:本发明针对PRESENT加密算法,通过将加密运算的多轮迭代过程在可重构运算单元中展开并利用数据缓存的方式进行算法实现的性能优化和加速;实现PRESENT加密算法的高效运算。
附图说明
图1为本发明的加密算法系统结构示意图。
图2a和图2b为本发明的算法在可重构计算单元块上的运算流程图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
如图1所示,一种基于粗粒度可重构计算单元的PRESENT加密算法系统,包括可重构配置系统、可重构数据通路及计算模块、主控微处理器、系统总线;
其中,所述可重构配置系统包括配置信息初始化接口、多级配置信息存储单元、配置信息解析模块、配置信息寄存器;
配置信息初始化接口连接多级配置信息存储单元,多级配置信息存储单元连接配置信息解析模块,配置信息解析模块连接配置信息寄存器;
可重构配置系统中,配置信息初始化接口用于对接主控微处理器,以接收配置信息;多级配置信息存储单元用于缓存配置信息;配置信息解析模块用于对接收的配置信息进行格式解析;位置信息寄存器用于缓存格式解析后的配置信息,供可重构数据通路及计算模块读取;
所述配置信息寄存器的输出端连接可重构数据通路及计算模块;
所述可重构数据通路及计算模块包括可重构计算阵列、寄存器通道、中间结果存储单元、输入先进先出寄存器组、输出先进先出寄存器组;
所述可重构计算阵列包括可重构计算单元块,可重构计算单元块包括多行算子、读控制模块、写控制模块;
其中,算子包括逻辑运算、算术运算、移位运算、查表运算功能;
所述读控制模块和写控制模块用于完成可重构计算单元块与输入先进先出寄存器组、输出先进先出寄存器组、寄存器通道、中间结果存储单元的数据读写控制;
所述主控微处理器通过系统总线与配置信息初始化接口、输入先进先出寄存器组、输出先进先出寄存器组相连;所述的输入先进先出寄存器组与可重构计算阵列的输入相连,可重构计算阵列的输出与输出先进先出寄存器相连;所述的寄存器通道、中间结果存储单元与可重构计算阵列相连;
通过分析PRESENT加密算法的计算特征,确定加密运算流程如何在可重构架构上实现,将PRESENT加密算法中若干轮运算展开成一幅数据流图映射到可重构计算阵列中,通过依次映射多幅数据流图最终完成PRESENT加密算法的整个运算;
主控微处理器通过系统总线发送明文数据给可重构数据通路及计算模块,可重构数据通路及计算模块将明文数据存入输入先入先出寄存器组,可重构计算阵列完成加密运算后输出密文数据到输出先入先出寄存器组,并向主控微处理器发送中断信号,微处理器接受到中断信号后,读出存储于输出先入先出寄存器组中的密文数据。
所述的可重构数据通路及计算模块包括1个可重构计算阵列、1个中间结果存储单元、1个寄存器通道、1个输入先入先出寄存器组和1个输出先入先出寄存器组;其中,1个可重构计算阵列通过1个中间结果存储单元和1个寄存器通道互相进行数据的储存、读取和传递;所述的1个可重构计算阵列包括M个可重构计算单元块,其中M为正整数;作为优选方案,1个可重构计算阵列包括4个可重构计算单元块;
所述的可重构计算单元块包含N行计算资源,每N行计算资源共享1个读控制模块和1个写控制模块,其中N为正偶数;其中,奇数行和偶数行的算子类型不同;
所述的N行计算资源中,每行包括P个算子,P为正整数;奇数行的算子包含逻辑运算、算术运算、移位运算、置换运算;偶数行的算子包含逻辑运算、算术运算、移位运算、查表运算;其中,逻辑运算包括一个操作数的直通操作、取反操作,两个操作数的异或操作、与操作、或操作;算术运算包括两个算子的加法操作、带取模的加法操作;移位运算包括算术左移操作、循环左移操作、算术右移操作、循环右移操作;查表运算包括最多4路并行的查表操作,查表操作数据位宽从4比特到32比特;置换运算由1个64比特的无阻塞网络构成,支持64比特数据的任意置换;作为优选方案,所述的可重构计算单元块包含8行计算资源,每行包括4个算子。
如图2a、图2b所示为加密算法在可重构计算阵列上的执行流图,该系统的PRESENT加密算法包括如下步骤,对于密钥长度为80比特,明文数据位宽为64比特,31轮迭代的加密算法,按步骤(1)~(4)顺序操作,其中步骤(1)执行1次,步骤(2)~(4)依次循环执行31次;
(1)初始化:经过扩展后的密钥k依次通过可重构计算单元块中算子的直通操作,存储到中间结果存储单元中;可重构计算单元块中查找表的值由主控微处理器通过配置信息初始化接口写入到可重构计算阵列中;
直通操作如图2a中第0行计算资源所示;逻辑运算、算术运算、移位运算、查表运算的算子支持32位的操作,置换运算的算子支持64位的操作;
(2)计算密钥加结果A[i]:将明文数据p_text[i]读取到可重构计算单元块中,将算子配置成异或功能,将p_text[i]与密钥k进行异或,完成密钥加结果的计算(其中0≤ i ≤63);
如图2b中第0行计算资源所示;
(3)计算查表结果B[i]:将算子配置成查表操作,将A[i]以4比特为一个组,分成16组,同时查找16个查找表,完成查表操作;
如图2b中第1行计算资源所示;
(4)计算置换结果C[i]:将算子配置成置换功能,将B[63:0]通过置换得到C[63:0],前30轮的C[i]输入到步骤(2)的A[i]进行运算,第31轮的C[i]即密文。
基于粗粒度可重构计算单元的PRESENT加密算法的实现方法,包括以下步骤:
(1)分析PRESENT加密算法的计算特点,并完成数据流图的设计;
(2)确定数据流图之后,针对可重构计算阵列的硬件特点,在了解其配置系统、数据通路、计算阵列各功能模块的作用机制的情况下,将数据流图映射到可重构计算阵列上,并生成配置信息;
(3)由主控微处理器将可重构计算阵列的配置信息以及加密算法的各初始数据发送至可重构计算阵列;
(4)主控微处理器向可重构计算单元块发起开始加密的命令,完成对其的配置,并启动加密过程;
(5)可重构计算阵列完成当前加密任务后,发送中断信号,主控微处理器接受到中断信号,完成加密过程。
以上实现PRESENT加密算法方法,需要根据算法特点将其转化为数据流图;然后根据数据流图和可重构系统的硬件特征,将数据流图映射到可重构计算阵列上,并生成相应的配置信息;由主控微处理器进行对可重构计算阵列的配置及数据传输,由此实现PRESENT加密算法方法。
最后应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (7)
1.一种基于粗粒度可重构计算单元的PRESENT加密算法系统,其特征在于,包括可重构配置系统、可重构数据通路及计算模块、主控微处理器、系统总线;
其中,所述可重构配置系统包括配置信息初始化接口、多级配置信息存储单元、配置信息解析模块、配置信息寄存器;
配置信息初始化接口连接多级配置信息存储单元,多级配置信息存储单元连接配置信息解析模块,配置信息解析模块连接配置信息寄存器;
配置信息初始化接口用于对接主控微处理器,以接收配置信息;多级配置信息存储单元用于缓存配置信息;配置信息解析模块用于对接收的配置信息进行格式解析;位置信息寄存器用于缓存格式解析后的配置信息,供可重构数据通路及计算模块读取;
所述配置信息寄存器的输出端连接可重构数据通路及计算模块;
所述可重构数据通路及计算模块包括可重构计算阵列、寄存器通道、中间结果存储单元、输入先进先出寄存器组、输出先进先出寄存器组;
所述可重构计算阵列包括可重构计算单元块,可重构计算单元块包括多行算子、读控制模块、写控制模块;
其中,算子包括逻辑运算、算术运算、移位运算、查表运算功能;
所述读控制模块和写控制模块用于完成可重构计算单元块与输入先进先出寄存器组、输出先进先出寄存器组、寄存器通道、中间结果存储单元的数据读写控制;
所述主控微处理器通过系统总线与配置信息初始化接口、输入先进先出寄存器组、输出先进先出寄存器组相连;所述的输入先进先出寄存器组与可重构计算阵列的输入相连,可重构计算阵列的输出与输出先进先出寄存器相连;所述的寄存器通道、中间结果存储单元与可重构计算阵列相连;
通过分析PRESENT加密算法的计算特征,确定加密运算流程如何在可重构架构上实现,将PRESENT加密算法中若干轮运算展开成一幅数据流图映射到可重构计算阵列中,通过依次映射多幅数据流图最终完成PRESENT加密算法的整个运算;
主控微处理器通过系统总线发送明文数据给可重构数据通路及计算模块,可重构数据通路及计算模块将明文数据存入输入先入先出寄存器组,可重构计算阵列完成加密运算后输出密文数据到输出先入先出寄存器组,并向主控微处理器发送中断信号,微处理器接受到中断信号后,读出存储于输出先入先出寄存器组中的密文数据。
2.如权利要求1所述的基于粗粒度可重构计算单元的PRESENT加密算法系统,其特征在于,
所述的可重构数据通路及计算模块包括1个可重构计算阵列、1个中间结果存储单元、1个寄存器通道、1个输入先入先出寄存器组和1个输出先入先出寄存器组;其中,1个可重构计算阵列通过1个中间结果存储单元和1个寄存器通道互相进行数据的储存、读取和传递;所述的1个可重构计算阵列包括M个可重构计算单元块,其中M为正整数。
3.如权利要求2所述的基于粗粒度可重构计算单元的PRESENT加密算法系统,其特征在于,
M=4。
4.如权利要求2所述的基于粗粒度可重构计算单元的PRESENT加密算法系统,其特征在于,
所述的可重构计算单元块包含N行计算资源,每N行计算资源共享1个读控制模块和1个写控制模块,其中N为正偶数;其中,奇数行和偶数行的算子类型不同。
5.如权利要求4所述的基于粗粒度可重构计算单元的PRESENT加密算法系统,其特征在于,
所述的N行计算资源中,每行包括P个算子,P为正整数;奇数行的算子包含逻辑运算、算术运算、移位运算、置换运算;偶数行的算子包含逻辑运算、算术运算、移位运算、查表运算;其中,逻辑运算包括一个操作数的直通操作、取反操作,两个操作数的异或操作、与操作、或操作;算术运算包括两个算子的加法操作、带取模的加法操作;移位运算包括算术左移操作、循环左移操作、算术右移操作、循环右移操作;查表运算包括最多4路并行的查表操作,查表操作数据位宽从4比特到32比特;置换运算由1个64比特的无阻塞网络构成,支持64比特数据的任意置换;作为优选方案,所述的可重构计算单元块包含8行计算资源,每行包括4个算子。
6.如权利要求1~5中任一项所述的基于粗粒度可重构计算单元的PRESENT加密算法系统,其特征在于,
该系统的PRESENT加密算法包括如下步骤,对于密钥长度为80比特,明文数据位宽为64比特,31轮迭代的加密算法,按步骤(1)~(4)顺序操作,其中步骤(1)执行1次,步骤(2)~(4)依次循环执行31次;
(1)初始化:经过扩展后的密钥k依次通过可重构计算单元块中算子的直通操作,存储到中间结果存储单元中;可重构计算单元块中查找表的值由主控微处理器通过配置信息初始化接口写入到可重构计算阵列中;
直通操作如图2a中第0行计算资源所示;逻辑运算、算术运算、移位运算、查表运算的算子支持32位的操作,置换运算的算子支持64位的操作;
(2)计算密钥加结果A[i]:将明文数据p_text[i]读取到可重构计算单元块中,将算子配置成异或功能,将p_text[i]与密钥k进行异或,完成密钥加结果的计算(其中0≤ i ≤63);
如图2b中第0行计算资源所示;
(3)计算查表结果B[i]:将算子配置成查表操作,将A[i]以4比特为一个组,分成16组,同时查找16个查找表,完成查表操作;
如图2b中第1行计算资源所示;
(4)计算置换结果C[i]:将算子配置成置换功能,将B[63:0]通过置换得到C[63:0],前30轮的C[i]输入到步骤(2)的A[i]进行运算,第31轮的C[i]即密文。
7.一种基于粗粒度可重构计算单元的PRESENT加密算法的实现方法,包括以下步骤:
(1)分析PRESENT加密算法的计算特点,并完成数据流图的设计;
(2)确定数据流图之后,针对可重构计算阵列的硬件特点,在了解其配置系统、数据通路、计算阵列各功能模块的作用机制的情况下,将数据流图映射到可重构计算阵列上,并生成配置信息;
(3)由主控微处理器将可重构计算阵列的配置信息以及加密算法的各初始数据发送至可重构计算阵列;
(4)主控微处理器向可重构计算单元块发起开始加密的命令,完成对其的配置,并启动加密过程;
(5)可重构计算阵列完成当前加密任务后,发送中断信号,主控微处理器接受到中断信号,完成加密过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910585678.3A CN110321162B (zh) | 2019-07-01 | 2019-07-01 | 基于粗粒度可重构计算单元的present加密算法实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910585678.3A CN110321162B (zh) | 2019-07-01 | 2019-07-01 | 基于粗粒度可重构计算单元的present加密算法实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110321162A true CN110321162A (zh) | 2019-10-11 |
CN110321162B CN110321162B (zh) | 2023-06-06 |
Family
ID=68122203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910585678.3A Active CN110321162B (zh) | 2019-07-01 | 2019-07-01 | 基于粗粒度可重构计算单元的present加密算法实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110321162B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737628A (zh) * | 2019-10-17 | 2020-01-31 | 辰芯科技有限公司 | 一种可重构处理器和可重构处理器系统 |
CN111008133A (zh) * | 2019-11-29 | 2020-04-14 | 中国科学院计算技术研究所 | 粗粒度数据流架构执行阵列的调试方法及装置 |
CN112165388A (zh) * | 2020-09-29 | 2021-01-01 | 中国电子科技集团公司第五十八研究所 | 基于sha3算法的可重构平台 |
CN112187666A (zh) * | 2020-09-29 | 2021-01-05 | 中国电子科技集团公司第五十八研究所 | 数据交换模块和数据交换系统 |
CN112559442A (zh) * | 2020-12-11 | 2021-03-26 | 清华大学无锡应用技术研究院 | 一种基于软件定义硬件的阵面数字信号处理系统 |
CN112732639A (zh) * | 2021-04-01 | 2021-04-30 | 南京大学 | 一种粗粒度动态可重构处理器及其数据处理方法 |
CN113055060A (zh) * | 2021-03-08 | 2021-06-29 | 上海交通大学 | 面向大规模mimo信号检测的粗粒度可重构架构系统 |
CN114661656A (zh) * | 2022-05-25 | 2022-06-24 | 广州万协通信息技术有限公司 | 一种可重构阵列配置方法、装置、设备以及存储介质 |
WO2022199459A1 (zh) * | 2021-03-24 | 2022-09-29 | 珠海一微半导体股份有限公司 | 一种可重构处理器及配置方法 |
US12001381B2 (en) | 2019-10-17 | 2024-06-04 | Morningcore Technology Co., China | Reconfigurable processor and reconfigurable processor system |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013182148A (ja) * | 2012-03-02 | 2013-09-12 | Sony Corp | 情報処理装置、および情報処理方法、並びにプログラム |
CN104933008A (zh) * | 2015-06-24 | 2015-09-23 | 东南大学 | 可重构系统和可重构阵列结构及其应用 |
US20150331799A1 (en) * | 2012-12-13 | 2015-11-19 | Southeast University | Pre-decoding analysis based configuration information cache management method and system |
CN105912501A (zh) * | 2016-05-06 | 2016-08-31 | 东南大学—无锡集成电路技术研究所 | 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统 |
CN105975251A (zh) * | 2016-05-19 | 2016-09-28 | 东南大学—无锡集成电路技术研究所 | 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法 |
CN106021171A (zh) * | 2016-05-06 | 2016-10-12 | 东南大学—无锡集成电路技术研究所 | 一种基于大规模粗粒度可重构处理器的sm4-128的密钥扩展实现方法及系统 |
CN106155979A (zh) * | 2016-05-19 | 2016-11-23 | 东南大学—无锡集成电路技术研究所 | 一种基于粗粒度可重构架构的des算法密钥扩展系统及扩展方法 |
CN108429613A (zh) * | 2018-03-09 | 2018-08-21 | 国网陕西省电力公司电力科学研究院 | 一种基于en-present算法的电网信息加密方法 |
CN109871701A (zh) * | 2019-02-02 | 2019-06-11 | 清华大学 | 基于可重构阵列实现分组密码算法的方法及装置 |
-
2019
- 2019-07-01 CN CN201910585678.3A patent/CN110321162B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013182148A (ja) * | 2012-03-02 | 2013-09-12 | Sony Corp | 情報処理装置、および情報処理方法、並びにプログラム |
US20150331799A1 (en) * | 2012-12-13 | 2015-11-19 | Southeast University | Pre-decoding analysis based configuration information cache management method and system |
CN104933008A (zh) * | 2015-06-24 | 2015-09-23 | 东南大学 | 可重构系统和可重构阵列结构及其应用 |
CN105912501A (zh) * | 2016-05-06 | 2016-08-31 | 东南大学—无锡集成电路技术研究所 | 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统 |
CN106021171A (zh) * | 2016-05-06 | 2016-10-12 | 东南大学—无锡集成电路技术研究所 | 一种基于大规模粗粒度可重构处理器的sm4-128的密钥扩展实现方法及系统 |
CN105975251A (zh) * | 2016-05-19 | 2016-09-28 | 东南大学—无锡集成电路技术研究所 | 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法 |
CN106155979A (zh) * | 2016-05-19 | 2016-11-23 | 东南大学—无锡集成电路技术研究所 | 一种基于粗粒度可重构架构的des算法密钥扩展系统及扩展方法 |
CN108429613A (zh) * | 2018-03-09 | 2018-08-21 | 国网陕西省电力公司电力科学研究院 | 一种基于en-present算法的电网信息加密方法 |
CN109871701A (zh) * | 2019-02-02 | 2019-06-11 | 清华大学 | 基于可重构阵列实现分组密码算法的方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110737628A (zh) * | 2019-10-17 | 2020-01-31 | 辰芯科技有限公司 | 一种可重构处理器和可重构处理器系统 |
US12001381B2 (en) | 2019-10-17 | 2024-06-04 | Morningcore Technology Co., China | Reconfigurable processor and reconfigurable processor system |
CN111008133A (zh) * | 2019-11-29 | 2020-04-14 | 中国科学院计算技术研究所 | 粗粒度数据流架构执行阵列的调试方法及装置 |
CN111008133B (zh) * | 2019-11-29 | 2021-04-27 | 中国科学院计算技术研究所 | 粗粒度数据流架构执行阵列的调试方法及装置 |
CN112165388A (zh) * | 2020-09-29 | 2021-01-01 | 中国电子科技集团公司第五十八研究所 | 基于sha3算法的可重构平台 |
CN112187666A (zh) * | 2020-09-29 | 2021-01-05 | 中国电子科技集团公司第五十八研究所 | 数据交换模块和数据交换系统 |
CN112187666B (zh) * | 2020-09-29 | 2023-04-07 | 中国电子科技集团公司第五十八研究所 | 数据交换模块和数据交换系统 |
CN112559442A (zh) * | 2020-12-11 | 2021-03-26 | 清华大学无锡应用技术研究院 | 一种基于软件定义硬件的阵面数字信号处理系统 |
CN113055060A (zh) * | 2021-03-08 | 2021-06-29 | 上海交通大学 | 面向大规模mimo信号检测的粗粒度可重构架构系统 |
CN113055060B (zh) * | 2021-03-08 | 2022-04-05 | 上海交通大学 | 面向大规模mimo信号检测的粗粒度可重构架构系统 |
WO2022199459A1 (zh) * | 2021-03-24 | 2022-09-29 | 珠海一微半导体股份有限公司 | 一种可重构处理器及配置方法 |
CN112732639A (zh) * | 2021-04-01 | 2021-04-30 | 南京大学 | 一种粗粒度动态可重构处理器及其数据处理方法 |
CN114661656B (zh) * | 2022-05-25 | 2022-08-30 | 广州万协通信息技术有限公司 | 一种可重构阵列配置方法、装置、设备以及存储介质 |
CN114661656A (zh) * | 2022-05-25 | 2022-06-24 | 广州万协通信息技术有限公司 | 一种可重构阵列配置方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110321162B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321162A (zh) | 基于粗粒度可重构计算单元的present加密算法实现方法及系统 | |
EP3550764B1 (en) | Hardware accelerators and methods for high-performance authenticated encryption | |
CN111512292A (zh) | 用于可配置空间加速器中的非结构化数据流的装置、方法和系统 | |
US8285766B2 (en) | Microprocessor shifter circuits utilizing butterfly and inverse butterfly routing circuits, and control circuits therefor | |
US9900770B2 (en) | Instruction for accelerating SNOW 3G wireless security algorithm | |
CN105912501B (zh) | 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统 | |
CN103975302B (zh) | 矩阵乘法累加指令 | |
CN110059493A (zh) | 基于粗粒度可重构计算单元的skinny-128-128加密算法实现方法及系统 | |
US11121856B2 (en) | Unified AES-SMS4—Camellia symmetric key block cipher acceleration | |
CN110233720B (zh) | Sm4加速处理器、方法和系统 | |
Zhao et al. | A compact and high-performance hardware architecture for CRYSTALS-Dilithium | |
CN105335331B (zh) | 一种基于大规模粗粒度可重构处理器的sha256实现方法及系统 | |
CN100536390C (zh) | 一种椭圆曲线密码协处理器 | |
CN105975251B (zh) | 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法 | |
CN104933008A (zh) | 可重构系统和可重构阵列结构及其应用 | |
CN105049194A (zh) | 一种流水线结构的sm4算法实现系统 | |
CN109190413A (zh) | 一种基于fpga和md5加密的串行通信系统 | |
KR20230141045A (ko) | 암호 프로세서 장치 및 이를 채용하는 데이터 처리 장치 | |
CN106021171A (zh) | 一种基于大规模粗粒度可重构处理器的sm4-128的密钥扩展实现方法及系统 | |
CN106155979B (zh) | 一种基于粗粒度可重构架构的des算法密钥扩展系统及扩展方法 | |
CN109672524A (zh) | 基于粗粒度可重构架构的sm3算法轮迭代系统及迭代方法 | |
JP2015503785A (ja) | Fft/dftの逆順ソーティングシステム、方法およびその演算システム | |
KR20080052291A (ko) | Aes 암복호화 장치 및 암복호화 방법 | |
CN107203487B (zh) | 一种抗功耗攻击的安全可重构架构 | |
Morioka et al. | Flexible architecture optimization and ASIC implementation of group signature algorithm using a customized HLS methodology |
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 |