首页> 中国专利> 一种面向轻量级分组密码算法的可重构阵列单元及阵列

一种面向轻量级分组密码算法的可重构阵列单元及阵列

摘要

本发明提供一种面向轻量级分组密码算法的可重构阵列单元及阵列,涉及集成电路领域,包括:逻辑单元LOU、S盒查找表单元LUT、算数单元AU、置换单元PU、移位单元SU和有限域乘法单元GU、多路复用器MUX、寄存器REG;所述逻辑单元LOU、S盒查找表单元LUT、算数单元AU、置换单元PU、移位单元SU和有限域乘法单元GU接收16bit数据输入在上述单元相应运算完成后,将各功能单元运算输出传输至多路复用器MUX,并通过寄存器REG完成重构密码数据输出,解决了现有技术中的密码处理器芯片采用专用集成电路的ASIC实现方式灵活性和扩展性很差;采用指令集结构微处理器ISAP实现方式能量效率低的技术问题。

著录项

  • 公开/公告号CN112613080A

    专利类型发明专利

  • 公开/公告日2021-04-06

    原文格式PDF

  • 申请/专利权人 哈尔滨理工大学;

    申请/专利号CN202011486285.6

  • 申请日2020-12-16

  • 分类号G06F21/72(20130101);G06F9/30(20060101);

  • 代理机构

  • 代理人

  • 地址 150080 黑龙江省哈尔滨市南岗区学府路52号哈尔滨理工大学

  • 入库时间 2023-06-19 10:29:05

说明书

技术领域

本发明涉及集成电路领域,尤其涉及一种面向轻量级分组密码算法的可重构阵列单元及阵列。

背景技术

近年来,随着物联网技术、通信技术和计算机技术的快速发展,通信计算功能已经可以在硬件面积更小、更低端的嵌入式设备中实现,应用程序通常交换敏感或私有数据,所以确保适当的数据安全级别是一项基本要求,轻量级分组密码算法是专门为资源受限设备而设计的。

密码处理器芯片作为信息安全的重要保障,对其安全性、灵活性、功耗等要求越来越高。从体系结构对目前的密码处理器芯片可分为两类:通过专用集成电路(applicationspecific integrated circuits,ASIC)的方式来实现,通过指令集结构微处理器(Instruction Set Architecture Processor,ISAP)的方式来实现。ASIC实现方式根据特定的应用来定制电路结构,不需要指令集。具有执行速度快、功耗低等优点,但也具有灵活性和扩展性很差等缺点。ISAP实现方式的最大优点是灵活性高,其缺点是高灵活性是能量效率低,因此,需要构建一个可以在以上两种实现方式之间取得平衡的密码处理器芯片模式。

发明内容

基于上述存在的问题,本发明提供一种面向轻量级分组密码算法的可重构阵列单元及阵列,用以解决现有技术中的密码处理器芯片采用专用集成电路的ASIC实现方式灵活性和扩展性很差;采用指令集结构微处理器ISAP实现方式能量效率低的技术问题。

本发明实施例公开一种面向轻量级分组密码算法的可重构阵列单元,包括:逻辑单元LOU、S盒查找表单元LUT、算数单元AU、置换单元PU、移位单元SU和有限域乘法单元GU、多路复用器MUX、寄存器REG;

所述逻辑单元LOU、S盒查找表单元LUT、算数单元AU、置换单元PU、移位单元SU和有限域乘法单元GU接收16bit数据输入在上述单元相应运算完成后,将各功能单元运算输出传输至多路复用器MUX,并通过寄存器REG完成重构密码数据输出。

进一步地,所述逻辑单元LOU,电路单元包括:一个一级异或运算单元、一个二级异或运算单元、一个一级与运算单元以及一个多路复用器;

逻辑单元LOU用于实现数据的逻辑运算,3组16bit数据in0、in1、in2,in0、in1在一级异或运算单元进行异或运算,并将运算结果与in2在二级异或运算单元进行异或运算;in0、in1在一级与运算单元进行与运算;

in0、in1在一级异或运算单元进行异或运算结果、以及in0、in1的异或运算结果与in2进行异或运算结果、in0、in1与运算结果经多路复用器MUX得到数据输出LOU_0。

进一步地,所述S盒查找表单元LUT,电路单元包括:四个随机存储器RAM、一个多路复用器MUX;

S盒查找表单元LUT用于实现数据的S盒查表运算,输入的S盒查找表单元LUT的16bit数据in0,被分成4组4bit的I1、I2、I3、I4,同时在RAM里进行查表操作并输出O1、O2、O3、O4,O1、O2、O3、O4经过多路复用器MUX得到16bit结果输出LUT_0。

进一步地,所述算数单元AU,电路单元包括:3个32bit寄存器REG、2个多路复用器、1个AU算数单元;

所述算数单元AU主要实现数据的算数运算,可以实现2个操作数16位或32位的数据的模加、模减、模乘或模除操作,输出运算结果AU_0。

进一步地,所述置换单元PU,电路单元包括:2个32bit寄存器REG、1个多路复用器MUX、1个BENES网络结构64bit比特置换单元;

in0、in1、in2、in3四路16bit输入数据经寄存器REG0、REG1,多路复用器MUX及BENES网络结构64bit比特置换单元完成数据置换,输出置换结果PU_0。

进一步地,所述移位单元SU,电路单元包括:2个32bit寄存器REG、1个多路复用器MUX、1个移位寄存器SH;

in0、in1、in2、in3四路16bit输入数据经寄存器REG0、REG1,多路复用器MUX及移位寄存器完成数据移位,输出移位结果SU_0。

进一步地,所述有限域乘法单元GU,电路单元包括:68bit静态配置寄存器、有限域矩阵乘法电路;

所述有限域乘法单元GU实现数据的有限域乘法运算、实现GF(2

一种面向轻量级分组密码算法的可重构阵列,由多个面向轻量级分组密码算法的可重构阵列单元组成。

一种处理器,包含:面向轻量级分组密码算法的可重构阵列单元及阵列,用于完成轻量级分组密码重构。

与现有技术相比至少实现了如下的有益效果:本发明提出的一种面向轻量级分组密码算法的可重构阵列单元及阵列,功耗低、灵活性强、可扩展性好,解决了现有技术中密码处理器芯片采用专用集成电路的ASIC实现方式灵活性和扩展性很差;采用指令集结构微处理器ISAP实现方式能量效率低的技术问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种面向轻量级分组密码算法的可重构阵列单元电路结构图;

图2为本发明实施例提供的一种面向轻量级分组密码算法的可重构阵列单元逻辑单元LOU电路结构图;

图3为本发明实施例提供的一种面向轻量级分组密码算法的可重构阵列单元S盒查找表单元LUT电路结构图;

图4为本发明实施例提供的一种面向轻量级分组密码算法的可重构阵列单元算数单元AU电路结构图;

图5为本发明实施例提供的一种面向轻量级分组密码算法的可重构阵列单元置换单元PU的电路结构图;

图6为本发明实施例提供的一种面向轻量级分组密码算法的可重构阵列单元移位单元SU的电路结构图;

图7为本发明实施例提供的一种面向轻量级分组密码算法的可重构阵列单元有限域乘法单元GU的电路结构图;

图8为本发明实施例提供的一种面向轻量级分组密码算法的可重构阵列结构示意图;

图中,LOU-逻辑单元、LUT-S盒查找表单元、AU-算数单元、PU-置换单元、SU-移位单元、GU-有限域乘法单元、MUX-多路复用器、REG-寄存器;

XOR-异或运算单元、AND-与运算单元、RAM-随机存取存储器、BENES64-BENES网络结构64bit比特置换单元、SH-移位寄存器。

具体实施方式

为了使本发明的目的,技术方案和优点更加清楚,下面结合附图,对本发明实施例提供的一种面向轻量级分组密码算法的可重构阵列单元及阵列的具体实施方式进行详细地说明。

应当理解,下面所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本发明实施例公开一种面向轻量级分组密码算法的可重构阵列单元,包括:逻辑单元LOU、S盒查找表单元LUT、算数单元AU、置换单元PU、移位单元SU和有限域乘法单元GU、多路复用器MUX、寄存器REG;

所述逻辑单元LOU、S盒查找表单元LUT、算数单元AU、置换单元PU、移位单元SU和有限域乘法单元GU接收16bit数据输入在上述单元相应运算完成后,将各功能单元运算输出传输至多路复用器MUX,并通过寄存器REG完成重构密码数据输出。

优选地,所述逻辑单元LOU,电路单元包括:一个一级异或运算单元、一个二级异或运算单元、一个一级与运算单元以及一个多路复用器;

逻辑单元LOU用于实现数据的逻辑运算,3组16bit数据in0、in1、in2,in0、in1在一级异或运算单元进行异或运算,并将运算结果与in2在二级异或运算单元进行异或运算;in0、in1在一级与运算单元进行与运算;

in0、in1在一级异或运算单元进行异或运算结果、以及in0、in1的异或运算结果与in2进行异或运算结果、in0、in1与运算结果经多路复用器MUX得到数据输出LOU_0。

优选地,所述S盒查找表单元LUT,电路单元包括:四个随机存储器RAM、一个多路复用器MUX;

S盒查找表单元LUT用于实现数据的S盒查表运算,输入的S盒查找表单元LUT的16bit数据in0,被分成4组4bit的I1、I2、I3、I4,同时在RAM里进行查表操作并输出O1、O2、O3、O4,O1、O2、O3、O4经过多路复用器MUX得到16bit结果输出LUT_0。

优选地,所述算数单元AU,电路单元包括:3个32bit寄存器REG、2个多路复用器、1个AU算数单元;

所述算数单元AU主要实现数据的算数运算,可以实现2个操作数16位或32位的数据的模加、模减、模乘或模除操作,输出运算结果AU_0。

优选地,所述置换单元PU,电路单元包括:2个32bit寄存器REG、1个多路复用器MUX、1个BENES网络结构64bit比特置换单元;

in0、in1、in2、in3四路16bit输入数据经寄存器REG0、REG1,多路复用器MUX及BENES网络结构64bit比特置换单元完成数据置换,输出置换结果PU_0。

优选地,所述移位单元SU,电路单元包括:2个32bit寄存器REG、1个多路复用器MUX、1个移位寄存器SH;

in0、in1、in2、in3四路16bit输入数据经寄存器REG0、REG1,多路复用器MUX及移位寄存器完成数据移位,输出移位结果SU_0。

优选地,所述有限域乘法单元GU,电路单元包括:68bit静态配置寄存器、有限域矩阵乘法电路;

所述有限域乘法单元GU实现数据的有限域乘法运算、实现GF(2

一种面向轻量级分组密码算法的可重构阵列,由多个面向轻量级分组密码算法的可重构阵列单元组成。

一种处理器,包含:面向轻量级分组密码算法的可重构阵列单元及阵列,用于完成轻量级分组密码重构。

与现有技术相比至少实现了如下的有益效果:本发明提出的一种面向轻量级分组密码算法的可重构阵列单元及阵列,功耗低、灵活性强、可扩展性好,解决了现有技术中密码处理器芯片采用专用集成电路的ASIC实现方式灵活性和扩展性很差;采用指令集结构微处理器ISAP实现方式能量效率低的技术问题。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明实施例可以通过硬件实现,也可以借助软件和必要的通用硬件平台结合的方式来实现。基于这样的理解,本发明实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。

本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号