基于粗粒度可重构计算单元的PRESENT加密算法实现方法及系统技术方案

技术编号:22295233 阅读:27 留言:0更新日期:2019-10-15 04:26
本发明专利技术提供一种基于粗粒度可重构计算单元的PRESENT加密算法系统,包括可重构配置系统、可重构数据通路及计算模块、主控微处理器、系统总线;所述可重构配置系统包括配置信息初始化接口、多级配置信息存储单元、配置信息解析模块、配置信息寄存器所述可重构数据通路及计算模块包括可重构计算阵列、寄存器通道、中间结果存储单元、输入先进先出寄存器组、输出先进先出寄存器组;所述可重构计算阵列包括可重构计算单元块,可重构计算单元块包括多行算子、读控制模块、写控制模块;本发明专利技术能够实现PRESENT加密算法的高效运算。

PRESENT Encryption Method and System Based on Coarse-grained Reconfigurable Computing Unit

【技术实现步骤摘要】
基于粗粒度可重构计算单元的PRESENT加密算法实现方法及系统
本专利技术涉及嵌入式可重构系统领域,尤其涉及一种应用于信息安全领域的基于大规模粗粒度可重构计算系统及其处理方法。
技术介绍
信息领域中密码算法的实现通常采用通用处理器(GPP,GeneralPurposeProcessor)与专用集成电路(ASIC,ApplicationSpecificIntegratedCircuit)两种方案。其中,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]即密文。一种基于粗粒度可重构计算单元本文档来自技高网
...

【技术保护点】
1.一种基于粗粒度可重构计算单元的PRESENT加密算法系统,其特征在于,包括可重构配置系统、可重构数据通路及计算模块、主控微处理器、系统总线;其中,所述可重构配置系统包括配置信息初始化接口、多级配置信息存储单元、配置信息解析模块、配置信息寄存器;配置信息初始化接口连接多级配置信息存储单元,多级配置信息存储单元连接配置信息解析模块,配置信息解析模块连接配置信息寄存器;配置信息初始化接口用于对接主控微处理器,以接收配置信息;多级配置信息存储单元用于缓存配置信息;配置信息解析模块用于对接收的配置信息进行格式解析;位置信息寄存器用于缓存格式解析后的配置信息,供可重构数据通路及计算模块读取;所述配置信息寄存器的输出端连接可重构数据通路及计算模块;所述可重构数据通路及计算模块包括可重构计算阵列、寄存器通道、中间结果存储单元、输入先进先出寄存器组、输出先进先出寄存器组;所述可重构计算阵列包括可重构计算单元块,可重构计算单元块包括多行算子、读控制模块、写控制模块;其中,算子包括逻辑运算、算术运算、移位运算、查表运算功能;所述读控制模块和写控制模块用于完成可重构计算单元块与输入先进先出寄存器组、输出先进先出寄存器组、寄存器通道、中间结果存储单元的数据读写控制;所述主控微处理器通过系统总线与配置信息初始化接口、输入先进先出寄存器组、输出先进先出寄存器组相连;所述的输入先进先出寄存器组与可重构计算阵列的输入相连,可重构计算阵列的输出与输出先进先出寄存器相连;所述的寄存器通道、中间结果存储单元与可重构计算阵列相连;通过分析PRESENT加密算法的计算特征,确定加密运算流程如何在可重构架构上实现,将PRESENT加密算法中若干轮运算展开成一幅数据流图映射到可重构计算阵列中,通过依次映射多幅数据流图最终完成PRESENT加密算法的整个运算;主控微处理器通过系统总线发送明文数据给可重构数据通路及计算模块,可重构数据通路及计算模块将明文数据存入输入先入先出寄存器组,可重构计算阵列完成加密运算后输出密文数据到输出先入先出寄存器组,并向主控微处理器发送中断信号,微处理器接受到中断信号后,读出存储于输出先入先出寄存器组中的密文数据。...

【技术特征摘要】
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个写控制模...

【专利技术属性】
技术研发人员:刘雷波魏少军王文杰杨锦江崔红鹏朱敏
申请(专利权)人:无锡沐创集成电路设计有限公司清华大学无锡应用技术研究院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1