CN110321162B - 基于粗粒度可重构计算单元的present加密算法实现方法及系统 - Google Patents

基于粗粒度可重构计算单元的present加密算法实现方法及系统 Download PDF

Info

Publication number
CN110321162B
CN110321162B CN201910585678.3A CN201910585678A CN110321162B CN 110321162 B CN110321162 B CN 110321162B CN 201910585678 A CN201910585678 A CN 201910585678A CN 110321162 B CN110321162 B CN 110321162B
Authority
CN
China
Prior art keywords
reconfigurable
configuration information
reconfigurable computing
computing
encryption algorithm
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.)
Active
Application number
CN201910585678.3A
Other languages
English (en)
Other versions
CN110321162A (zh
Inventor
刘雷波
魏少军
王文杰
杨锦江
崔红鹏
朱敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Muchuang Integrated Circuit Design Co ltd
Wuxi Research Institute of Applied Technologies of Tsinghua University
Original Assignee
Wuxi Muchuang Integrated Circuit Design Co ltd
Wuxi Research Institute of Applied Technologies of Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuxi Muchuang Integrated Circuit Design Co ltd, Wuxi Research Institute of Applied Technologies of Tsinghua University filed Critical Wuxi Muchuang Integrated Circuit Design Co ltd
Priority to CN201910585678.3A priority Critical patent/CN110321162B/zh
Publication of CN110321162A publication Critical patent/CN110321162A/zh
Application granted granted Critical
Publication of CN110321162B publication Critical patent/CN110321162B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/76Protecting 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

基于粗粒度可重构计算单元的PRESENT加密算法实现方法及 系统
技术领域
本发明涉及嵌入式可重构系统领域,尤其涉及一种应用于信息安全领域的基于大规模粗粒度可重构计算系统及其处理方法。
背景技术
信息领域中密码算法的实现通常采用通用处理器(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 (6)

1.一种基于粗粒度可重构计算单元的PRESENT加密算法系统,其特征在于,包括可重构配置系统、可重构数据通路及计算模块、主控微处理器、系统总线;
其中,所述可重构配置系统包括配置信息初始化接口、多级配置信息存储单元、配置信息解析模块、配置信息寄存器;
配置信息初始化接口连接多级配置信息存储单元,多级配置信息存储单元连接配置信息解析模块,配置信息解析模块连接配置信息寄存器;
配置信息初始化接口用于对接主控微处理器,以接收配置信息;多级配置信息存储单元用于缓存配置信息;配置信息解析模块用于对接收的配置信息进行格式解析;配置信息寄存器用于缓存格式解析后的配置信息,供可重构数据通路及计算模块读取;
所述配置信息寄存器的输出端连接可重构数据通路及计算模块;
所述可重构数据通路及计算模块包括可重构计算阵列、寄存器通道、中间结果存储单元、输入先进先出寄存器组、输出先进先出寄存器组;
所述可重构计算阵列包括可重构计算单元块,可重构计算单元块包括多行算子、读控制模块、写控制模块;
其中,算子包括逻辑运算、算术运算、移位运算、查表运算功能;
所述读控制模块和写控制模块用于完成可重构计算单元块与输入先进先出寄存器组、输出先进先出寄存器组、寄存器通道、中间结果存储单元的数据读写控制;
所述主控微处理器通过系统总线与配置信息初始化接口、输入先进先出寄存器组、输出先进先出寄存器组相连;所述的输入先进先出寄存器组与可重构计算阵列的输入相连,可重构计算阵列的输出与输出先进先出寄存器相连;所述的寄存器通道、中间结果存储单元与可重构计算阵列相连;
通过分析PRESENT加密算法的计算特征,确定加密运算流程如何在可重构架构上实现,将PRESENT加密算法中若干轮运算展开成一幅数据流图映射到可重构计算阵列中,通过依次映射多幅数据流图最终完成PRESENT加密算法的整个运算;
主控微处理器通过系统总线发送明文数据给可重构数据通路及计算模块,可重构数据通路及计算模块将明文数据存入输入先入先出寄存器组,可重构计算阵列完成加密运算后输出密文数据到输出先入先出寄存器组,并向主控微处理器发送中断信号,微处理器接受到中断信号后,读出存储于输出先入先出寄存器组中的密文数据;
其中,该系统的PRESENT加密算法包括如下步骤,对于密钥长度为80比特,明文数据位宽为64比特,31轮迭代的加密算法,按步骤(1)~(4)顺序操作,其中步骤(1)执行1次,步骤(2)~(4)依次循环执行31次;
(1)初始化:经过扩展后的密钥k依次通过可重构计算单元块中算子的直通操作,存储到中间结果存储单元中;可重构计算单元块中查找表的值由主控微处理器通过配置信息初始化接口写入到可重构计算阵列中;
逻辑运算、算术运算、移位运算、查表运算的算子支持32位的操作,置换运算的算子支持64位的操作;
(2)计算密钥加结果A[i]:将明文数据p_text[i]读取到可重构计算单元块中,将算子配置成异或功能,将p_text[i]与密钥k进行异或,完成密钥加结果的计算,其中0≤ i ≤63;
(3)计算查表结果B[i]:将算子配置成查表操作,将A[i]以4比特为一个组,分成16组,同时查找16个查找表,完成查表操作;
(4)计算置换结果C[i]:将算子配置成置换功能,将B[63:0]通过置换得到C[63:0],前30轮的C[i]输入到步骤(2)的A[i]进行运算,第31轮的C[i]即密文。
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.一种基于粗粒度可重构计算单元的PRESENT加密算法的实现方法,应用于权利要求1至5中任意一项所述的基于粗粒度可重构计算单元的PRESENT加密算法系统,其特征在于,包括以下步骤:
(1)分析PRESENT加密算法的计算特点,并完成数据流图的设计;
(2)确定数据流图之后,针对可重构计算阵列的硬件特点,在了解其配置系统、数据通路、计算阵列各功能模块的作用机制的情况下,将数据流图映射到可重构计算阵列上,并生成配置信息;
(3)由主控微处理器将可重构计算阵列的配置信息以及加密算法的各初始数据发送至可重构计算阵列;
(4)主控微处理器向可重构计算单元块发起开始加密的命令,完成对其的配置,并启动加密过程;
(5)可重构计算阵列完成当前加密任务后,发送中断信号,主控微处理器接受到中断信号,完成加密过程。
CN201910585678.3A 2019-07-01 2019-07-01 基于粗粒度可重构计算单元的present加密算法实现方法及系统 Active CN110321162B (zh)

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 CN110321162A (zh) 2019-10-11
CN110321162B true 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)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737628A (zh) * 2019-10-17 2020-01-31 辰芯科技有限公司 一种可重构处理器和可重构处理器系统
CN111008133B (zh) * 2019-11-29 2021-04-27 中国科学院计算技术研究所 粗粒度数据流架构执行阵列的调试方法及装置
CN112165388A (zh) * 2020-09-29 2021-01-01 中国电子科技集团公司第五十八研究所 基于sha3算法的可重构平台
CN112187666B (zh) * 2020-09-29 2023-04-07 中国电子科技集团公司第五十八研究所 数据交换模块和数据交换系统
CN112559442A (zh) * 2020-12-11 2021-03-26 清华大学无锡应用技术研究院 一种基于软件定义硬件的阵面数字信号处理系统
CN113055060B (zh) * 2021-03-08 2022-04-05 上海交通大学 面向大规模mimo信号检测的粗粒度可重构架构系统
CN113064852B (zh) * 2021-03-24 2022-06-10 珠海一微半导体股份有限公司 一种可重构处理器及配置方法
CN112732639B (zh) * 2021-04-01 2021-06-25 南京大学 一种粗粒度动态可重构处理器及其数据处理方法
CN114661656B (zh) * 2022-05-25 2022-08-30 广州万协通信息技术有限公司 一种可重构阵列配置方法、装置、设备以及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933008A (zh) * 2015-06-24 2015-09-23 东南大学 可重构系统和可重构阵列结构及其应用
CN105975251A (zh) * 2016-05-19 2016-09-28 东南大学—无锡集成电路技术研究所 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法
CN106155979A (zh) * 2016-05-19 2016-11-23 东南大学—无锡集成电路技术研究所 一种基于粗粒度可重构架构的des算法密钥扩展系统及扩展方法
CN109871701A (zh) * 2019-02-02 2019-06-11 清华大学 基于可重构阵列实现分组密码算法的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013182148A (ja) * 2012-03-02 2013-09-12 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
CN102968390B (zh) * 2012-12-13 2015-02-18 东南大学 基于预先解码分析的配置信息缓存管理方法及系统
CN106021171A (zh) * 2016-05-06 2016-10-12 东南大学—无锡集成电路技术研究所 一种基于大规模粗粒度可重构处理器的sm4-128的密钥扩展实现方法及系统
CN105912501B (zh) * 2016-05-06 2018-11-06 东南大学—无锡集成电路技术研究所 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统
CN108429613A (zh) * 2018-03-09 2018-08-21 国网陕西省电力公司电力科学研究院 一种基于en-present算法的电网信息加密方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933008A (zh) * 2015-06-24 2015-09-23 东南大学 可重构系统和可重构阵列结构及其应用
CN105975251A (zh) * 2016-05-19 2016-09-28 东南大学—无锡集成电路技术研究所 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法
CN106155979A (zh) * 2016-05-19 2016-11-23 东南大学—无锡集成电路技术研究所 一种基于粗粒度可重构架构的des算法密钥扩展系统及扩展方法
CN109871701A (zh) * 2019-02-02 2019-06-11 清华大学 基于可重构阵列实现分组密码算法的方法及装置

Also Published As

Publication number Publication date
CN110321162A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
CN110321162B (zh) 基于粗粒度可重构计算单元的present加密算法实现方法及系统
CN110059493B (zh) 基于粗粒度可重构计算单元的skinny-128-128加密算法实现方法及系统
EP3550764B1 (en) Hardware accelerators and methods for high-performance authenticated encryption
US9900770B2 (en) Instruction for accelerating SNOW 3G wireless security algorithm
US7221763B2 (en) High throughput AES architecture
CN106921487B (zh) 可重构s盒电路结构
CN105912501B (zh) 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及系统
CN107133018B (zh) 执行groestl散列的指令
CN105335331B (zh) 一种基于大规模粗粒度可重构处理器的sha256实现方法及系统
US8024551B2 (en) Pipelined digital signal processor
CN111563281B (zh) 一种支持多种加解密算法的处理器及其实现方法
KR100377176B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
US6920562B1 (en) Tightly coupled software protocol decode with hardware data encryption
CN105975251B (zh) 一种基于粗粒度可重构架构的des算法轮迭代系统及迭代方法
CN111464308A (zh) 一种实现多种哈希算法可重构的方法和系统
CN109547192B (zh) Sm3密码杂凑算法的并行化优化方法
CN112134686A (zh) 一种基于可重构计算的aes硬件实现方法及运行该方法的计算机设备与可读存储介质
CN109144472B (zh) 一种二元扩域椭圆曲线的标量乘法及其实现电路
CN106021171A (zh) 一种基于大规模粗粒度可重构处理器的sm4-128的密钥扩展实现方法及系统
Plos et al. Compact hardware implementations of the block ciphers mCrypton, NOEKEON, and SEA
US7627764B2 (en) Apparatus and method for performing MD5 digesting
CN106155979B (zh) 一种基于粗粒度可重构架构的des算法密钥扩展系统及扩展方法
CN107203487B (zh) 一种抗功耗攻击的安全可重构架构
JPWO2009090689A1 (ja) 暗号化装置及び暗号処理方法
CN115883059A (zh) 一种aes运算电路及方法

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