首页 / 专利库 / 专利权 / 专利合作条约 / 第I章 / 国际检索单位 / 国际检索 / 现有技术 / 一种基于分组密码算法的加密处理方法

一种基于分组密码算法的加密处理方法

阅读:511发布:2021-06-15

专利汇可以提供一种基于分组密码算法的加密处理方法专利检索,专利查询,专利分析的服务。并且本 发明 为一种基于分组密码 算法 的加密处理方法,包括以下步骤:外部密钥寄存、外部数据寄存、密钥扩展、数据加密转换、内部数据寄存、数据 迭代 处理,解决了现有基于分组密码算法的加密处理方法加密效率低、实现成本高的技术问题,具有在保持 现有技术 的高效率的前提下,有效降低资源消耗,进而降低设备的实现成本;在转换部件的个数为1时,资源消耗只有现有方法资源消耗的60%,在转换部件个数为2时,资源消耗只有现有方法资源消耗的70%;增加子密钥寄存单元,在集成 电路 实现时能够减小关键路径,提高加密处理设备的时钟主频,进而提高本发明方法的处理能 力 。,下面是一种基于分组密码算法的加密处理方法专利的具体信息内容。

1、一种基于分组密码算法的加密处理方法,其特征在于:其包括以下步骤:
1]外部密钥寄存:在一个时钟周期的时钟沿到来时,将经过处理的外部密 钥输入至密钥扩展单元数据寄存部件(100)寄存;
2]外部数据寄存:在该时钟周期的时钟沿到来时,将一组外部数据输入至 加密单元数据寄存部件(300)寄存;
3]密钥扩展:在该时钟周期内,将密钥扩展单元数据寄存部件(100)的寄 存数据输入至密钥扩展单元数据转换部件(101)进行密钥扩展,将得到的子密钥 输入至加密单元数据转换部件(301);
4]数据加密转换:在该时钟周期内,将加密单元数据寄存部件(300)的寄 存数据输入至加密单元数据转换部件(301),加密单元数据转换部件(301)进行 数据加密转换;
5]内部数据寄存:在下一时钟周期的时钟沿到来时,将密钥扩展单元数据 转换部件(101)得到的数据输入至密钥扩展单元数据寄存部件(100)寄存;将加 密单元数据转换部件(301)得到的数据输入至加密单元数据寄存部件(300)寄 存;
6]数据迭代处理:重复密钥扩展步骤、数据加密转换步骤和内部数据寄存 步骤,直到将数据进行分组密码算法规定的转换次数,该组数据加密完毕。
2、根据权利要求1所述的基于分组密码算法的加密处理方法,其特征在于:
所述密钥扩展步骤中:还包括将密钥扩展单元数据转换部件(101)的输出数 据输入至下一个密钥扩展单元数据转换部件(101);多个密钥扩展单元数据转换 部件(101)依次进行密钥扩展;
所述数据加密转换步骤中:还包括将加密单元数据转换部件(301)的输出数 据输入至下一个加密单元数据转换部件(301);多个加密单元数据转换部件(301) 依次进行数据加密;
所述内部数据寄存步骤为:在下一时钟周期的时钟沿到来时,将最后一个 密钥扩展单元数据转换部件(101)的输出数据输入至密钥扩展单元数据寄存部 件(100)寄存;将最后一个加密单元数据转换部件(301)的输出数据输入至加密 单元数据寄存部件(300)寄存。
3、根据权利要求1所述的基于分组密码算法的加密处理方法,其特征在于:
所述外部密钥寄存步骤和外部数据寄存步骤之间还包括密钥预先扩展步骤 和密钥缓冲寄存步骤;所述密钥预先扩展步骤为:在外部密钥寄存步骤所在时 钟周期内,将密钥扩展单元数据寄存部件(100)的寄存数据输入至密钥扩展单元 数据转换部件(101)进行密钥扩展,并将得到的子密钥输入与之相连的子密钥寄 存部件(401)的输入端;将密钥扩展单元数据转换部件(101)转换得到的数据输 入至密钥扩展单元数据寄存部件(100)的输入端;所述密钥缓冲寄存步骤为:在 外部密钥寄存步骤后的下一个时钟周期的时钟沿到来时,将密钥扩展单元数据 转换部件(101)转换得到的数据输入至密钥扩展单元数据寄存部件(100)寄存; 将密钥扩展单元数据转换部件(101)的子密钥输入至子密钥寄存部件(401)寄 存。
4、根据权利要求3所述的基于分组密码算法的加密处理方法,其特征在于:
所述外部数据寄存步骤为:外部密钥寄存步骤后的下一个时钟周期的时钟 沿到来时,将一组外部数据输入至加密单元数据寄存部件(300)寄存;
所述密钥扩展步骤为:将得到的子密钥输入与之相连的子密钥寄存部件 (401)的输入端,同时将密钥扩展单元数据转换部件(101)的输出数据输入至密 钥扩展单元数据寄存部件(100)的输入端;将子密钥寄存部件(401)输出的子密 钥输入至加密单元数据转换部件(301);
所述数据加密转换步骤中:还包括加密单元数据转换部件(301)的输出数据 输入至加密单元数据寄存部件(300)的输入端;
所述内部数据寄存步骤为:将密钥扩展单元数据转换部件(101)的子密钥输 入至子密钥寄存部件(401)寄存。
5、根据权利要求4所述的基于分组密码算法的加密处理方法,其特征在于: 包括以下步骤:
所述密钥预先扩展步骤中:将密钥扩展单元数据转换部件(101)转换得到的 数据输入至密钥扩展单元数据寄存部件(100)的输入端之前还包括将第一个密 钥扩展单元数据转换部件(101)的输出数据输入至下一个密钥扩展单元数据转 换部件(101),进行第二次密钥扩展;多个密钥扩展单元数据转换部件(101)依 次进行转换,并将生成的子密钥输入与之相连的子密钥寄存部件(401)的输入 端;
所述密钥缓冲寄存步骤为:在外部密钥寄存步骤后的下一个时钟周期的时 钟沿到来时,将最后一个密钥扩展单元数据转换部件(101)转换得到的数据输入 至密钥扩展单元数据寄存部件(100)寄存;将密钥扩展单元数据转换部件(101) 的子密钥输入与之对应子密钥寄存部件(401)寄存;
所述密钥扩展步骤为:在该时钟周期内,将密钥扩展单元数据寄存部件(100) 的寄存数据输入至第一个密钥扩展单元数据转换部件(101)进行密钥扩展,并将 得到的子密钥输入与之相连的第一个子密钥寄存部件(401)的输入端,同时将第 一个密钥扩展单元数据转换部件(101)的输出数据输入至下一个密钥扩展单元 数据转换部件(101),进行第二次密钥扩展;多个密钥扩展单元数据转换部件 (101)依次进行密钥扩展,并将生成的子密钥输入与之相连的子密钥寄存部件 (401)的输入端,最后一个密钥扩展单元数据转换部件(101)的输出数据输入至 密钥扩展单元数据寄存部件(100)的数据输入端;
所述数据加密转换步骤为:在该时钟周期内,将加密单元数据寄存部件(300) 的寄存数据输入至第一个加密单元数据转换部件(301),第一个子密钥寄存部件 (401)的子密钥输入至第一个加密单元数据转换部件(301),第一个加密单元数 据转换部件(301)进行数据加密转换,将第一个加密单元数据转换部件(301)的 加密转换数据输入至第二个加密单元数据转换部件(301),第二个子密钥寄存部 件(401)的子密钥输入至第二个加密单元数据转换部件(301),第二个加密单元 数据转换部件(301)进行数据加密转换;与密钥扩展单元数据转换部件(101)对 应的多个加密单元数据转换部件(301)依次进行数据加密转换,最后一个加密单 元数据转换部件(301)的加密转换数据输入至加密单元数据寄存部件(300)的数 据输入端;
所述内部数据寄存步骤为:在下一个时钟周期的时钟沿到来时,将最后一 个密钥扩展单元数据转换部件(101)转换得到的数据输入至密钥扩展单元数据 寄存部件(100)寄存;将密钥扩展单元数据转换部件(101)的子密钥输入与之对 应子密钥寄存部件(401)寄存;将最后一个加密单元数据转换部件(301)转换得 到的数据输入至加密单元数据寄存部件(300)寄存。
6、根据权利要求1至5之任一权利要求所述的基于分组密码算法的加密处 理方法,其特征在于:所述分组密码算法具体为SMS4算法。

说明书全文

技术领域

发明涉及一种基于分组密码算法的加密处理方法

背景技术

分组密码算法主要包括DES算法、3DES算法、AES算法、IDEA算法、SMS4 算法等。实现分组密码算法的关键部件是密钥扩展单元、加密单元和子密钥阵 列存储单元。密钥扩展单元与加密单元的内部结构及处理过程基本相同。其中 加密单元主要由数据寄存部件、数据转换部件构成。
数据寄存部件主要采用通用触发器,用于数据的寄存。在一个时钟周期内, 该部件所寄存的数据不改变。通用触发器是数据暂存器件,其在时钟上升沿或 下降沿把数据输入端的数据输至触发器输出端,而在其他时刻触发器输出端的 数据不发生变化。
数据转换部件是按照分组密码算法要求进行数据处理的部件。例如,按照 国家的SMS4密码算法要求进行数据处理的部件。数据转换部件完成的操作中只 有一次密码算法所规定的合成置换。
子密钥阵列存储单元用来存储子密钥阵列。现有技术中的子密钥阵列一般 是加解处理之前已经准备好的、由密钥扩展单元生成的数据阵列。在SMS4密码 算法中子密钥阵列存储单元的数据是按照地址高低顺序排列的,可命名为rk0, rk1,…rk31。
参见图1,目前按照SMS4密码算法要求进行加解密数据处理的过程包括两 个独立的阶段:密钥扩展阶段和数据加密阶段。首先由密钥扩展单元将密钥扩 展成子密钥阵列并按照先后顺序存储于子密钥阵列存储单元,然后才是加密单 元利用密钥扩展生成的子密钥阵列完成数据的加密工作。
A、密钥扩展阶段:
1)密钥输入密钥扩展单元数据寄存部件
外部密钥经过初步处理输入密钥扩展单元数据寄存部件100寄存;
2)进行数据转换处理
密钥扩展单元数据寄存部件100寄存的数据输入密钥扩展单元数据转换部 件101进行转换处理;
3)数据迭代处理
将上次转换处理后的数据存入密钥扩展单元数据转换部件100,同时将得到 的子密钥存入子密钥阵列存储单元2的第一行,然后密钥扩展单元数据寄存部 件100寄存的数据再次输入密钥扩展单元数据转换部件101再次进行数据转换, 并将处理得到的子密钥存入子密钥阵列存储单元2的下一行,重复处理32次数 据转换得32×32bit=1024bit的子密钥阵列。
B、数据加密阶段:
1)外部数据输入加密单元数据寄存部件
外部数据输入至加密单元数据寄存部件300进行寄存;
2)数据转换处理
加密单元数据寄存部件300寄存的数据输入加密单元数据转换部件301,同 时子密钥阵列存储单元2所存储的子密钥阵列的第一行对应的数据输入加密单 元数据转换部件301进行转换处理;
3)数据迭代处理
将前次数据转换处理后的数据再次寄存到加密单元数据寄存部件300,然后 加密单元数据寄存部件300寄存的数据再次输入加密单元数据寄存部件301,同 时子密钥阵列存储单元2的下一行子密钥也输入至加密单元数据转换部件301, 进行再次数据转换处理,重复进行32次处理得到最终的数据处理结果。这样处 理一组数据需要32个时钟周期,效率较低。
为了改善上述加密效率较低的情况,又提出了通过增加数据转换部件个数 的方案来提高处理效率的方法,参见图2。图2中方案16个时钟周期可以处理 一组128bit的数据。在这些现有技术方案中子密钥阵列存储部件是其必须部件。 1024bit的子密钥阵列存储部件在集成电路中可以用寄存器实现,这将消耗1万 左右的逻辑资源(图1的方案中总的资源消耗为2.5万门左右),占据总资源 的40%左右,极大的增加了实现成本;也可以用嵌入RAM的方法实现,但会 增加集成电路设计的复杂度,增加险。

发明内容

本发明的目的是提供一种低成本高效率的基于分组密码算法的加密处理方 法,其解决了现有基于分组密码算法的加密处理方法加密效率低、实现成本高 的技术问题。
本发明的技术解决方案是:
一种基于分组密码算法的加密处理方法,包括以下步骤:
1]外部密钥寄存:在一个时钟周期的时钟沿到来时,将经过处理的外部 密钥输入至密钥扩展单元数据寄存部件100寄存;
2]外部数据寄存:在该时钟周期的时钟沿到来时,将一组外部数据输入 至加密单元数据寄存部件300寄存;
3]密钥扩展:在该时钟周期内,将密钥扩展单元数据寄存部件100的寄 存数据输入至密钥扩展单元数据转换部件101进行密钥扩展,将得到的子密钥 输入至加密单元数据转换部件301;
4]数据加密转换:在该时钟周期内,将加密单元数据寄存部件300的寄 存数据输入至加密单元数据转换部件301,加密单元数据转换部件301进行数 据加密转换;
5]内部数据寄存:在下一时钟周期的时钟沿到来时,将密钥扩展单元数 据转换部件101得到的数据输入至密钥扩展单元数据寄存部件100寄存;将加 密单元数据转换部件301得到的数据输入至加密单元数据寄存部件300寄存;
6]数据迭代处理:重复密钥扩展步骤、数据加密转换步骤和内部数据寄 存步骤,直到将数据进行分组密码算法规定的转换次数,该组数据加密完毕。
上述密钥扩展步骤中:还包括将密钥扩展单元数据转换部件101的输出数 据输入至下一个密钥扩展单元数据转换部件101;多个密钥扩展单元数据转换 部件101依次进行密钥扩展;所述数据加密转换步骤中:还包括将加密单元数 据转换部件301的输出数据输入至下一个加密单元数据转换部件301;多个加 密单元数据转换部件301依次进行数据加密;所述内部数据寄存步骤中:在下 一时钟周期的时钟沿到来时,将最后一个密钥扩展单元数据转换部件101的 输出数据输入至密钥扩展单元数据寄存部件100寄存;将最后一个加密单元 数据转换部件301的输出数据输入至加密单元数据寄存部件300寄存。
上述外部密钥寄存步骤和外部数据寄存步骤之间还可包括密钥预先扩展 步骤和密钥缓冲寄存步骤;所述密钥预先扩展步骤为:在外部密钥寄存步骤所 在时钟周期内,将密钥扩展单元数据寄存部件100的寄存数据输入至密钥扩展 单元数据转换部件101进行密钥扩展,并将得到的子密钥输入与之相连的子密 钥寄存部件401的输入端;将密钥扩展单元数据转换部件101转换得到的数据 输入至密钥扩展单元数据寄存部件100的输入端;所述密钥缓冲寄存步骤为: 在外部密钥寄存步骤后的下一个时钟周期的时钟沿到来时,将密钥扩展单元数 据转换部件101转换得到的数据输入至密钥扩展单元数据寄存部件100寄存; 将密钥扩展单元数据转换部件101的子密钥输入至子密钥寄存部件401寄存。
上述外部数据寄存步骤为:外部密钥寄存步骤后的下一个时钟周期的时钟 沿到来时,将一组外部数据输入至加密单元数据寄存部件300寄存;所述密钥 扩展步骤为:在该时钟周期内,将密钥扩展单元数据寄存部件100的寄存数据 输入至密钥扩展单元数据转换部件101进行密钥扩展,并将得到的子密钥输入 与之相连的子密钥寄存部件401的输入端,同时将密钥扩展单元数据转换部件 101的输出数据输入至密钥扩展单元数据寄存部件100的输入端;将子密钥寄 存部件401输出的子密钥输入至加密单元数据转换部件301;所述数据加密转 换步骤中:还包括将加密单元数据转换部件301的输出数据输入至加密单元数 据寄存部件300的输入端;所述内部数据寄存步骤为:在下一个时钟周期的时 钟沿到来时,将密钥扩展单元数据转换部件101转换得到的数据输入至密钥扩 展单元数据寄存部件100寄存;将密钥扩展单元数据转换部件101的子密钥输 入至子密钥寄存部件401寄存;将加密单元数据转换部件301转换得到的数据 输入至加密单元数据寄存部件300寄存。
上述密钥预先扩展步骤中:将密钥扩展单元数据转换部件(101)转换得到 的数据输入至密钥扩展单元数据寄存部件(100)的输入端之前还包括将第一个 密钥扩展单元数据转换部件101的输出数据输入至下一个密钥扩展单元数据转 换部件101,进行第二次密钥扩展;多个密钥扩展单元数据转换部件101依次 进行转换,并将生成的子密钥输入与之相连的子密钥寄存部件401的输入端; 所述密钥缓冲寄存步骤为:在外部密钥寄存步骤后的下一个时钟周期的时钟 沿到来时,将最后一个密钥扩展单元数据转换部件101转换得到的数据输入 至密钥扩展单元数据寄存部件100寄存;将密钥扩展单元数据转换部件101 的子密钥输入与之对应子密钥寄存部件401寄存;所述密钥扩展步骤为:在 该时钟周期内,将密钥扩展单元数据寄存部件100的寄存数据输入至第一个 密钥扩展单元数据转换部件101进行密钥扩展,并将得到的子密钥输入与之 相连的第一个子密钥寄存部件401的输入端,同时将第一个密钥扩展单元数 据转换部件101的输出数据输入至下一个密钥扩展单元数据转换部件101,进 行第二次密钥扩展;多个密钥扩展单元数据转换部件101依次进行密钥扩展, 并将生成的子密钥输入与之相连的子密钥寄存部件401的输入端,最后一个 密钥扩展单元数据转换部件101的输出数据输入至密钥扩展单元数据寄存部 件100的数据输入端;所述数据加密转换步骤为:在该时钟周期内,将加密 单元数据寄存部件300的寄存数据输入至第一个加密单元数据转换部件301, 第一个子密钥寄存部件401的子密钥输入至第一个加密单元数据转换部件 301,第一个加密单元数据转换部件301进行数据加密转换,将第一个加密单 元数据转换部件301的加密转换数据输入至第二个加密单元数据转换部件 301,第二个子密钥寄存部件401的子密钥输入至第二个加密单元数据转换部 件301,第二个加密单元数据转换部件301进行数据加密转换;与密钥扩展单 元数据转换部件101对应的多个加密单元数据转换部件301依次进行数据加 密转换,最后一个加密单元数据转换部件301的加密转换数据输入至加密单 元数据寄存部件300的数据输入端;所述内部数据寄存步骤为:在下一个时 钟周期的时钟沿到来时,将最后一个密钥扩展单元数据转换部件101转换得 到的数据输入至密钥扩展单元数据寄存部件100寄存;将密钥扩展单元数据 转换部件101的子密钥输入与之对应子密钥寄存部件401寄存;将最后一个 加密单元数据转换部件301转换得到的数据输入至加密单元数据寄存部件300 寄存。
上述分组密码算法具体为SMS4算法。
本发明具有如下优点:
1、由于去掉了子密钥阵列存储单元,在保持现有技术的高效率的前提下, 本发明加密处理方法能够有效降低资源消耗,进而降低设备的实现成本。
2、利用本发明加密处理方法,在转换部件的个数为1时,资源消耗只有现 有方法资源消耗的60%,在转换部件个数为2时,资源消耗只有现有方法资源 消耗的70%。
3、增加子密钥寄存单元,在集成电路实现时能够减小关键路径,提高加密 处理设备的时钟主频,进而提高本发明方法的处理能
附图说明
图1为现有加解密处理方法所用设备的第一种结构示意图;
图2为现有加解密处理方法所用设备的第二种结构示意图;
图3为本发明加密处理方法所用设备的第一种结构示意图;
图4为本发明加密处理方法所用设备的第二种结构示意图;
图5为本发明加密处理方法所用设备的第三种结构示意图;
图6为本发明加密处理方法所用设备的第四种结构示意图;
其中:1—密钥扩展单元;100—密钥扩展单元数据寄存部件;101—密钥扩 展单元数据转换部件;2—子密钥阵列存储单元;3—加密单元;300—加密单元 数据寄存部件;301—加密单元数据转换部件;4—子密钥寄存单元;401—子密 钥寄存部件。

具体实施方式

本发明方法主要通过基于分组密码算法的加密处理设备来实现。现结合附 图具体说明如下。
第一种基于分组密码算法的加密处理设备,如图3所示,包括密钥扩展单 元1和加密单元3;密钥扩展单元1包括密钥扩展单元数据寄存部件100和一个 密钥扩展单元数据转换部件101;密钥扩展单元数据寄存部件100的输出端与密 钥扩展单元数据转换部件101的输入端相连,密钥扩展单元数据转换部件101 的输出端与密钥扩展单元数据寄存部件100输入端相连;加密单元3包括加密 单元数据寄存部件300和一个加密单元数据转换部件301;加密单元数据寄存部 件300的输出端与加密单元数据转换部件301的输入端相连接,加密单元数据 转换部件301的输出端与加密单元数据寄存部件300的输入端连接,密钥扩展 单元数据转换部件101的子密钥输出端与加密单元数据转换部件301的子密钥 输入端相连;
参见图3,通过第一种基于分组密码算法的加密处理设备来实现本发明方法 的实施例的步骤如下:
1]外部密钥寄存:在一个时钟周期的时钟沿到来时,将经过处理的外部密 钥输入至密钥扩展单元数据寄存部件100寄存;
2]外部数据寄存:在该时钟周期的时钟沿到来时,将一组外部数据输入至 加密单元数据寄存部件300寄存;
3]密钥扩展:在该时钟周期内,将密钥扩展单元数据寄存部件100的寄存 数据输入至密钥扩展单元数据转换部件101进行密钥扩展,将得到的子密钥输 入至加密单元数据转换部件301;
4]数据加密转换:在该时钟周期内,将加密单元数据寄存部件300的寄存 数据输入至加密单元数据转换部件301,加密单元数据转换部件301进行数据加 密转换;
5]内部数据寄存:在下一时钟周期的时钟沿到来时,将密钥扩展单元数据 转换部件101得到的数据输入至密钥扩展单元数据寄存部件100寄存;将加密 单元数据转换部件301得到的数据输入至加密单元数据寄存部件300寄存;
6]数据迭代处理:重复密钥扩展步骤、数据加密转换步骤和内部数据寄存 步骤,直到将数据进行分组密码算法规定的转换次数,该组数据加密完毕。
第二种基于分组密码算法的加密处理设备,如图4所示,包括密钥扩展单 元1和加密单元3;密钥扩展单元1包括密钥扩展单元数据寄存部件100和两个 密钥扩展单元数据转换部件101;密钥扩展单元数据寄存部件100的输出端与第 一个密钥扩展单元数据转换部件101的输入端相连,两个密钥扩展单元数据转 换部件10)依次连接,第二个密钥扩展单元数据转换部件101的输出端与密钥扩 展单元数据寄存部件100输入端相连;加密单元3包括加密单元数据寄存部件 300和两个加密单元数据转换部件301;加密单元数据寄存部件300的输出端与 第一个加密单元数据转换部件301的输入端相连接,两个加密单元数据转换部 件301依次连接,第二个加密单元数据转换部件301的输出端与加密单元数据 寄存部件300的输入端连接,第一个密钥扩展单元数据转换部件101的子密钥 输出端与第一个加密单元数据转换部件301的子密钥输入端相连,第二个密钥 扩展单元数据转换部件101的子密钥输出端与第二个加密单元数据转换部件301 的子密钥输入端相连。
密钥扩展单元数据转换部件101数量和加密单元数据转换部件301数量相 等,还可以是3个、4个直至32个或48个,一般优选1或2或4个。
参见图4,通过第二种基于分组密码算法的加密处理设备来实现本发明方法 的实施例的步骤如下:
1]外部密钥寄存:在一个时钟周期的时钟沿到来时,将经过处理的外部密 钥输入至密钥扩展单元数据寄存部件100寄存;
2]外部数据寄存:在该时钟周期的时钟沿到来时,将一组外部数据输入至 加密单元数据寄存部件300寄存;
3]密钥扩展:在该时钟周期内,将密钥扩展单元数据寄存部件100的寄存 数据输入至密钥扩展单元数据转换部件101进行密钥扩展,将得到的子密钥输 入至加密单元数据转换部件301,同时将密钥扩展单元数据转换部件101的输出 数据输入至下一个密钥扩展单元数据转换部件101;多个密钥扩展单元数据转换 部件101依次进行密钥扩展;
4]数据加密转换:在该时钟周期内,将加密单元数据寄存部件300的寄存 数据输入至加密单元数据转换部件301,加密单元数据转换部件301进行数据加 密转换,将加密单元数据转换部件301的输出数据输入至下一个加密单元数据 转换部件301;多个加密单元数据转换部件301依次进行数据加密;
5]内部数据寄存:在下一时钟周期的时钟沿到来时,将最后一个密钥扩展 单元数据转换部件101的输出数据输入至密钥扩展单元数据寄存部件100寄存; 将最后一个加密单元数据转换部件301的输出数据输入至加密单元数据寄存部 件300寄存;
6]数据迭代处理:重复密钥扩展步骤、数据加密转换步骤和内部数据寄存 步骤,直到将数据进行分组密码算法规定的转换次数,该组数据加密完毕。
第三种基于分组密码算法的加密处理设备,如图5所示,包括密钥扩展单 元1、子密钥寄存单元4和加密单元3;密钥扩展单元1包括密钥扩展单元数据 寄存部件100和一个密钥扩展单元数据转换部件101;密钥扩展单元数据寄存部 件100的输出端与密钥扩展单元数据转换部件101的输入端相连,密钥扩展单 元数据转换部件101的输出端与密钥扩展单元数据寄存部件100输入端相连; 子密钥寄存单元4包括一个子密钥寄存部件401;加密单元3包括加密单元数据 寄存部件300和一个加密单元数据转换部件301;加密单元数据寄存部件300的 输出端与加密单元数据转换部件301的输入端相连接,加密单元数据转换部件 301的输出端与加密单元数据寄存部件300的输入端连接;密钥扩展单元数据转 换部件101的子密钥输出端与子密钥寄存部件401的输入端相连,子密钥寄存 部件401的输出端与加密单元数据转换部件301的子密钥输入端相连。其中子 密钥寄存部件401为通用触发器或寄存器。
参见图5,通过第三种基于分组密码算法的加密处理设备来实现本发明方法 的实施例的步骤如下:
1]外部密钥寄存:在一个时钟周期的时钟沿到来时,将经过处理的外部密 钥输入至密钥扩展单元数据寄存部件100寄存;
2]密钥预先扩展:在外部密钥寄存步骤所在时钟周期内,将密钥扩展单元 数据寄存部件100的寄存数据输入至密钥扩展单元数据转换部件101进行密钥 扩展,并将得到的子密钥输入与之相连的子密钥寄存部件401的输入端;将密 钥扩展单元数据转换部件101转换得到的数据输入至密钥扩展单元数据寄存部 件100的输入端;
3]密钥缓冲寄存:在外部密钥寄存步骤后的下一个时钟周期的时钟沿到来 时,将密钥扩展单元数据转换部件101转换得到的数据输入至密钥扩展单元数 据寄存部件100寄存;将密钥扩展单元数据转换部件101的子密钥输入至子密 钥寄存部件401寄存;
4]外部数据寄存:外部密钥寄存步骤后的下一个时钟周期的时钟沿到来 时,将一组外部数据输入至加密单元数据寄存部件300寄存;
5]密钥扩展:在该时钟周期内,将密钥扩展单元数据寄存部件100的寄存 数据输入至密钥扩展单元数据转换部件101进行密钥扩展,并将得到的子密钥 输入至与之相连的子密钥寄存部件401的输入端,同时将密钥扩展单元数据转 换部件101的输出数据输入至密钥扩展单元数据寄存部件100的输入端;将子 密钥寄存部件401输出的子密钥输入至加密单元数据转换部件301;
6]数据加密转换:在该时钟周期内,将加密单元数据寄存部件300的寄存 数据输入至加密单元数据转换部件301;加密单元数据转换部件301进行数据加 密转换,将加密单元数据转换部件301的输出数据输入至加密单元数据寄存部 件300的输入端;
7]内部数据寄存:在下一个时钟周期的时钟沿到来时,将密钥扩展单元数 据转换部件101转换得到的数据输入至密钥扩展单元数据寄存部件100寄存; 将密钥扩展单元数据转换部件101的子密钥输入至子密钥寄存部件401寄存; 将加密单元数据转换部件301转换得到的数据输入至加密单元数据寄存部件300 寄存;
8]数据迭代处理:重复密钥扩展步骤、数据加密转换步骤和内部数据寄存 步骤,直到将数据进行分组密码算法规定的转换次数,该组数据加密完毕。
第四种基于分组密码算法的加密处理设备,如图6所示,包括密钥扩展单 元1、子密钥寄存单元4和加密单元3;密钥扩展单元1包括密钥扩展单元数据 寄存部件100和两个密钥扩展单元数据转换部件101;密钥扩展单元数据寄存部 件100的输出端与第一个密钥扩展单元数据转换部件101的输入端相连,两个 密钥扩展单元数据转换部件101依次连接,第二个密钥扩展单元数据转换部件 101的输出端与密钥扩展单元数据寄存部件100输入端相连;子密钥寄存单元4 包括两个子密钥寄存部件401;加密单元3包括加密单元数据寄存部件300和两 个加密单元数据转换部件301;加密单元数据寄存部件300的输出端与第一个加 密单元数据转换部件301的输入端相连接,两个加密单元数据转换部件301依 次连接,第二个加密单元数据转换部件301的输出端与加密单元数据寄存部件 300的输入端连接;第一个密钥扩展单元数据转换部件101的子密钥输出端与第 一个子密钥寄存部件401的输入端相连,第二个密钥扩展单元数据转换部件101 的子密钥输出端与第二个子密钥寄存部件401的输入端相连,第一个子密钥寄 存部件401的输出端与第一个加密单元数据转换部件301的子密钥输入端相连; 第二个子密钥寄存部件401的输出端与第二个加密单元数据转换部件301的子 密钥输入端相连。其中子密钥寄存部件401为通用触发器或寄存器。
密钥扩展单元数据转换部件101数量、子密钥寄存部件401数量以及加密 单元数据转换部件301数量都相等,还可以是3个、4个直至32个或48个,一 般优选1或2或4个。
参见图6,通过第四种基于分组密码算法的加密处理设备来实现本发明方法 的实施例的步骤如下:
1]外部密钥寄存:在一个时钟周期的时钟沿到来时,将经过处理的外部密 钥输入至密钥扩展单元数据寄存部件100寄存;
2]密钥预先扩展:在外部密钥寄存步骤所在时钟周期内,将密钥扩展单元 数据寄存部件100的寄存数据输入至第一个密钥扩展单元数据转换部件101进 行密钥扩展,并将得到的子密钥输入至与之相连的第一子密钥寄存部件401的 输入端,同时将第一个密钥扩展单元数据转换部件101的输出数据输入至下一 个密钥扩展单元数据转换部件101,进行第二次密钥扩展;多个密钥扩展单元数 据转换部件101依次进行转换,并将生成的子密钥输入与之相连的子密钥寄存 部件401的输入端,最后一个密钥扩展单元数据转换部件101的输出数据输入 至密钥扩展单元数据寄存部件100的输入端;
3]密钥缓冲寄存:在外部密钥寄存步骤后的下一个时钟周期的时钟沿到来 时,将最后一个密钥扩展单元数据转换部件101转换得到的数据输入至密钥扩 展单元数据寄存部件100寄存;将密钥扩展单元数据转换部件101的子密钥输 入与之对应子密钥寄存部件401寄存;
4]外部数据寄存:外部密钥寄存步骤后的下一个时钟周期的时钟沿到来 时,将一组外部数据输入至加密单元数据寄存部件300寄存;
5]密钥扩展:在该时钟周期内,将密钥扩展单元数据寄存部件100的寄存 数据输入至第一个密钥扩展单元数据转换部件101进行密钥扩展,并将得到的 子密钥输入与之相连的第一个子密钥寄存部件401的输入端,同时将第一个密 钥扩展单元数据转换部件101的输出数据输入至下一个密钥扩展单元数据转换 部件101,进行第二次密钥扩展;多个密钥扩展单元数据转换部件101依次进行 密钥扩展,并将生成的子密钥输入与之相连的子密钥寄存部件401的输入端, 最后一个密钥扩展单元数据转换部件101的输出数据输入至密钥扩展单元数据 寄存部件100的数据输入端;
6]数据加密转换:在该时钟周期内,将加密单元数据寄存部件300的寄存 数据输入至第一个加密单元数据转换部件301,第一个子密钥寄存部件401的子 密钥输入至第一个加密单元数据转换部件301,第一个加密单元数据转换部件 301进行数据加密转换,将第一个加密单元数据转换部件301的加密转换数据输 入至第二个加密单元数据转换部件301,第二个子密钥寄存部件401的子密钥输 入至第二个加密单元数据转换部件301,第二个加密单元数据转换部件301进行 数据加密转换;与密钥扩展单元数据转换部件101对应的多个加密单元数据转 换部件301依次进行数据加密转换,最后一个加密单元数据转换部件301的加 密转换数据输入至加密单元数据寄存部件300的数据输入端;
7]内部数据寄存:在下一个时钟周期的时钟沿到来时,将最后一个密钥扩 展单元数据转换部件101转换得到的数据输入至密钥扩展单元数据寄存部件100 寄存;将密钥扩展单元数据转换部件101的子密钥输入与之对应子密钥寄存部 件401寄存;将最后一个加密单元数据转换部件301转换得到的数据输入至加 密单元数据寄存部件300寄存;
8]数据迭代处理:重复密钥扩展步骤、数据加密转换步骤和内部数据寄存 步骤,直到将数据进行分组密码算法规定的转换次数,该组数据加密完毕。
如果加密设备有多个密钥扩展单元数据转换部件101、多个子密钥寄存部件 401和多个加密单元数据转换部件301,则它们分别按照连接关系的先后依次进 行密钥扩展、数据加密。
如果分组密码算法具体采用的是SMS4算法,则以上四种加密处理方法在进 行数据迭代处理时的转换次数具体为32次。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈