一种应用于分组密码算法的可重构阵列制造技术

技术编号:35097995 阅读:11 留言:0更新日期:2022-10-01 17:02
本发明专利技术提供了一种应用于分组密码算法的可重构阵列,包括:数据输入单元、多个运算单元阵列、转接单元、异构单元;每个运算单元阵列均对应设有两个数据出入单元,每个运算单元阵列之间分别连接有一个转接单元,每个转接单元均与异构单元连接;运算单元用于对数据输入单元输入的数据进行计算;转接单元用于将收的运算单元的数据转接到异构单元中;异构单元用于将转接单元转接的数据进行计算并进行反馈。本发明专利技术所述的一种应用于分组密码算法的可重构阵列,阵列的大小并不进行限制,可以根据算法需求和可用资源的大小进行扩展。求和可用资源的大小进行扩展。求和可用资源的大小进行扩展。

【技术实现步骤摘要】
一种应用于分组密码算法的可重构阵列


[0001]本专利技术属于分组密码算法领域,尤其是涉及一种应用于分组密码算法的可重构阵列。

技术介绍

[0002]传统的实现分组加解密计算的方法有如下两种:一是在通用处理器上通过软件编程实现;二是使用针对分组密码算法的ASIC。通用处理器的灵活性较好,但是能效比较低,计算性能较差,效率不高。而专用ASIC的计算性能较高,但是灵活性差,大部分仅支持一种分组加解密算法。

技术实现思路

[0003]有鉴于此,本专利技术旨在提出一种应用于分组密码算法的可重构阵列,以解决多种分组加解密算法的问题
[0004]为达到上述目的,本专利技术的技术方案是这样实现的:
[0005]一种应用于分组密码算法的可重构阵列,包括数据输入单元、多个运算单元阵列、转接单元、异构单元;
[0006]每个运算单元阵列均对应设有两个数据出入单元,每个运算单元阵列之间分别连接有一个转接单元,每个转接单元均与异构单元连接;
[0007]运算单元用于对数据输入单元输入的数据进行计算;
[0008]转接单元用于将收的运算单元的数据转接到异构单元中;
[0009]异构单元用于将转接单元转接的数据进行计算并进行反馈。
[0010]进一步的,每个运算单元阵列包括16*8的ALU单元阵列,16*2的ALU单元阵列为一组,分为四组,每组ALU单元阵列之间连接有转接单元。
[0011]进一步的,每个ALU单元用于对数据输入单元输入的数据进行逻辑、模加、模乘运算
[0012]进一步的,逻辑运算包括按位异或、按位与、按位取反、简单移位、循环移位。
[0013]进一步的,ALU单元具备数据透传功能。
[0014]进一步的,转接单元包括数据选择器MUX,数据选择器MUX包括以下三个功能逻辑:
[0015]1)将一列中ALU单元输出的数据进行交换;将多个ALU单元的计算结果整合到下一列ALU单元中的某一个ALU进行计算;
[0016]2)将ALU单元输出的数据送入异构单元中进行运算,并将运算结果送入下一列ALU中;
[0017]3)将一列ALU单元输出的数据透传到下一列ALU中。
[0018]进一步的,所述异构单元包括特殊逻辑计算模块SP ALU,特殊逻辑计算模块SP ALU用于对转选择器MUX中传输的数据进行查表、按位置换、列混淆运算。
[0019]相对于现有技术,本专利技术所述的一种应用于分组密码算法的可重构阵列具有以下
优势:
[0020](1)本专利技术所述的一种应用于分组密码算法的可重构阵列,阵列的大小并不进行限制,可以根据算法需求和可用资源的大小进行扩展。
[0021](2)本专利技术所述的一种应用于分组密码算法的可重构阵列,由于查表、按位置换、列混淆运算等在加密过程中,大部分分组算法只使用一次,因此多列ALU可共用同一个SP ALU,减少了资源浪费。
[0022](3)本专利技术所述的一种应用于分组密码算法的可重构阵列,并没有针对某一种特定的场景,根据不同应用场景可对ALU阵列的大小,SP ALU内部计算资源进行改变。
[0023](4)本专利技术所述的一种应用于分组密码算法的可重构阵列,由于MUX比较消耗资源,因此每两列ALU之后接一个MUX。
附图说明
[0024]构成本专利技术的一部分的附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:
[0025]图1为本专利技术实施例所述的一种应用于分组密码算法的可重构阵列示意图;
[0026]图2为本专利技术实施例所述的实施例计算方法流程图。
具体实施方式
[0027]需要说明的是,在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。
[0028]在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0029]在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本专利技术中的具体含义。
[0030]下面将参考附图并结合实施例来详细说明本专利技术。
[0031]如图1所示,一种应用于分组密码算法的可重构阵列,包括数据输入单元、多个运算单元阵列、转接单元、异构单元;
[0032]每个运算单元阵列均对应设有两个数据出入单元,每个运算单元阵列之间分别连接有一个转接单元,每个转接单元均与异构单元连接;
[0033]运算单元用于对数据输入单元输入的数据进行计算;
[0034]转接单元用于将收的运算单元的数据转接到异构单元中;
[0035]异构单元用于将转接单元转接的数据进行计算并进行反馈。
[0036]每个运算单元阵列包括8*2的ALU单元阵列,多个运算单元阵列包括四个,每个运算单元阵列之间连接有转接单元。
[0037]每个ALU单元用于对数据输入单元输入的数据进行逻辑运算、模加运算、模乘运算。
[0038]逻辑运算包括按位异或、按位与、按位取反、简单移位、循环移位。
[0039]按位逻辑运算例如:
[0040]AND:将A和B按位进行“与”运算;
[0041]OR:将A和B按位进行“或”运算;
[0042]XOR:将A和B按位进行“异或”运算
[0043]补码:将A(或B)的每一位都反转。
[0044]异或运算符(^)
[0045]参加运算的两个数据,按二进制位进行“异或”运算。
[0046]运算规则:0^0=0;0^1=1;1^0=1;
[0047]即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。
[0048]例如:3^5即0000 0011^0000 0101=0000 0110因此,3^5的值得6。
[0049]按位与运算符(&)
[0050]参加运算的两个数据,按二进制位进行“与”运算。
[0051]运算规本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用于分组密码算法的可重构阵列,其特征在于包括:数据输入单元、多个运算单元阵列、转接单元、异构单元;每个运算单元阵列均对应设有两个数据出入单元,每个运算单元阵列之间分别连接有一个转接单元,每个转接单元均与异构单元连接;运算单元用于对数据输入单元输入的数据进行计算;转接单元用于将收的运算单元的数据转接到异构单元中;异构单元用于将转接单元转接的数据进行计算并进行反馈。2.根据权利要求1所述的一种应用于分组密码算法的可重构阵列,其特征在于:每个运算单元阵列包括8*2的ALU单元阵列,多个运算单元阵列包括四组。3.根据权利要求1所述的一种应用于分组密码算法的可重构阵列,其特征在于:每个ALU单元用于对数据输入单元输入的数据进行逻辑运算、模加运算、模乘运算。4.根据权利要求1所述的一种应用于分组密码算法的可重构阵列,其特征在于:逻辑运算包括按位异或运...

【专利技术属性】
技术研发人员:朱珂王盼徐庆阳钟丹刘长江杨晓龙陈德沅张波姜海斌李丹丹吴佳骏
申请(专利权)人:井芯微电子技术天津有限公司
类型:发明
国别省市:

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

1