当前位置: 首页 > 专利查询>清华大学专利>正文

基于可重构阵列实现分组密码算法的方法及装置制造方法及图纸

技术编号:21343973 阅读:43 留言:0更新日期:2019-06-13 22:38
本发明专利技术公开了一种基于可重构阵列实现分组密码算法SHACAL‑2的方法及装置,其中,该方法包括以下步骤:将分组密码算法SHACAL‑2映射为多个分组密码子算法,并生成与多个分组密码子算法中的各分组密码子算法一一对应的配置信息;根据配置信息配置可重构阵列,并从输入先入先出寄存器读取待加密数据,对待加密数据进行加密运算获得加密密文,将加密密文发送至输出先入先出寄存器。该方法既具有ASIC的高性能、高速度,又具有微处理器的高度通用性和强大的可编程功能,从而恰好弥补两者各自的缺陷。

Method and Device of Block Cryptography Based on Reconfigurable Array

The invention discloses a method and device for realizing block cipher algorithm SHACAL_2 based on reconfigurable arrays. The method includes the following steps: mapping block cipher algorithm SHACAL_2 to multiple block cipher algorithms, generating configuration information corresponding to each block cipher algorithm in multiple block cipher algorithms, and configuring reconfigurable arrays according to configuration information. The encrypted data is read from the input first in first out register, and encrypted ciphertext is obtained by encrypting the encrypted data. The encrypted ciphertext is sent to the output first in first out register. This method not only has the high performance and high speed of ASIC, but also has the high versatility and powerful programmable function of microprocessor, so it just makes up for their respective shortcomings.

【技术实现步骤摘要】
基于可重构阵列实现分组密码算法的方法及装置
本专利技术涉及计算机
,特别涉及一种基于可重构阵列实现分组密码算法SHACAL-2的方法及装置。
技术介绍
分组密码算法SHACAL-2算法的实现一般采用两种方案:一是在通用微处理器上实现,虽然其使用灵活,便于更新,但限制与微处理器本身的运行性能相对低下,使得SHACAL-2的性能远远不能满足要求;二是在专用ASIC(ApplicationSpecificIntegratedCircuit,集成电路)上实现,正好相反,其性能很高,但是其灵活性很差,当需要更换算法时,就不得不更换芯片,这使得使用成本很高。另外,相关技术中对实现SHACAL-2算法还未能满足当前的需求,也未能满足行业的需求,亟待解决。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的一个目的在于提出一种基于可重构阵列实现分组密码算法SHACAL-2的方法,该方法具有高性能、高速度,又具有高度通用性和强大的可编程功能,弥补了传统方法的缺陷,进而降低成本,满足SHACAL-2算法的性能要求。本专利技术的另一个目的在于提出一种基于可重构阵列实现分组密码算法SHACAL-2的装置。为达到上述目的,本专利技术一方面提出了基于可重构阵列实现分组密码算法SHACAL-2的方法,包括以下步骤:将分组密码算法SHACAL-2映射为多个分组密码子算法,并生成与所述多个分组密码子算法中的各个分组密码子算法一一对应的配置信息;根据所述配置信息配置所述可重构阵列,并从输入先入先出寄存器读取待加密数据,对所述待加密数据进行加密运算获得加密密文,将所述加密密文发送至输出先入先出寄存器。本专利技术实施例的基于可重构阵列实现分组密码算法SHACAL-2的方法,通过采用可重构阵列弥补微处理器运行性能低下和ASIC灵活性差的问题,使得分组密码算法SHACAL-2的性能满足要求,且在更换算法时也避免更换芯片的问题,减少不必要的成本价格。另外,根据本专利技术上述实施例的基于可重构阵列实现分组密码算法SHACAL-2的方法还可以具有以下附加的技术特征:进一步地,在本专利技术的一个实施例中,所述多个分组密码子算法包括:第一分组密码子算法用于对所述待加密数据进行初始化;第二分组密码子算法用于使用64轮压缩函数对初始化后的待加密数据进行加密运算并生成所述加密密文;第三分组加密子算法用于将所述加密密文输出至所述输出先入先出寄存器。可选地,在本专利技术的一个实施例中,第一分组密码子算法具体用于:将所述待加密数据载入至所述可重构阵列,进行数据大小端转换操作获得第一数据转换结果,并将所述第一数据转换结果写入存储器,完成对所述待加密数据的初始化。进一步地,在本专利技术的一个实施例中,所述第二分组密码子算法具体用于:读取所述存储器中所述第一数据转换结果,将所述第一数据转换结果与所述配置信息载入所述可重构阵列进行加密运算,获得第一加密结果并将所述加密结果存入所述存储器。进一步地,在本专利技术的一个实施例中,所述第三分组加密子算法具体用于:读取所述第一加密结果并将所述第一加密结果输入至所述可重构阵列进行数据大小端转换操作获得所述加密密文,并将所述加密密文输出至所述输出先入先出寄存器。为达到上述目的,本专利技术另一方面提出了一种基于可重构阵列实现分组密码算法SHACAL-2的装置,包括:映射模块,用于将分组密码算法SHACAL-2映射为多个分组密码子算法,并生成与所述多个分组密码子算法中的各个分组密码子算法一一对应的配置信息;配置模块,用于根据所述配置信息配置所述可重构阵列,并从所述输入先入先出寄存器读取待加密数据;加密模块,用于将所述待加密数据进行加密运算获得加密密文,将所述加密密文发送至所述输出先入先出寄存器。本专利技术实施例的基于可重构阵列实现分组密码算法SHACAL-2的装置,通过采用可重构阵列弥补微处理器运行性能低下和ASIC灵活性差的问题,使得分组密码算法SHACAL-2的性能满足要求,且在更换算法时也避免更换芯片的问题,减少不必要的成本价格。另外,根据本专利技术上述实施例的基于可重构阵列实现分组密码算法SHACAL-2的装置还可以具有以下附加的技术特征:进一步地,在本专利技术的一个实施例中,所述多个分组密码子算法包括:第一分组密码子算法用于对所述待加密数据进行初始化;第二分组密码子算法用于使用64轮压缩函数对初始化后的待加密数据进行加密运算并生成所述加密密文;第三分组加密子算法用于将所述加密密文输出至所述输出先入先出寄存器。进一步地,在本专利技术的一个实施例中,所述第一分组密码子算法具体用于:将所述待加密数据载入至所述可重构阵列,以进行数据大小端转换操作获得第一数据转换结果,并将所述第一转换结果写入存储器,完成对所述待加密数据的初始化。可选地,在本专利技术的一个实施例中,所述第二分组密码子算法具体用于:从所述存储器读取所述第一数据转换结果,将所述第一数据转换结果与所述配置信息载入所述可重构阵列进行加密运算,获得第一加密结果并将所述加密结果存入所述存储器。进一步地,在本专利技术的一个实施例中,所述第三分组加密子算法具体用于:读取所述第一加密结果并将所述第一加密结果输入至所述可重构阵列进行数据大小端转换操作获得所述加密密文,并将所述加密密文输出至所述输出先入先出寄存器。本专利技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为根据本专利技术实施例的基于可重构阵列实现分组密码算法SHACAL-2的方法流程图;图2为根据本专利技术实施例的分组密码算法SHACAL-2数学模型示意图;图3为根据本专利技术具体实施例中第一分组加密子算法在可重构阵列上的映射关系图;图4为根据本专利技术具体实施例中第二分组加密子算法在可重构阵列上的映射关系图;图5为根据本专利技术具体实施例中第三分组加密子算法在可重构阵列上的映射关系图;图6为根据本专利技术实施例的基于可重构阵列实现分组密码算法SHACAL-2的装置结构示意图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。下面参照附图描述根据本专利技术实施例提出的基于可重构阵列实现分组密码算法的映射方法及装置,首先将参照附图描述根据本专利技术实施例提出的基于可重构阵列实现分组密码算法的映射方法。图1是本专利技术一个实施例的基于可重构阵列实现分组密码算法SHACAL-2的方法流程图。如图1所示,该基于可重构阵列实现分组密码算法SHACAL-2的方法包括以下步骤:在步骤S101中,将分组密码算法SHACAL-2映射为多个分组密码子算法,并生成与多个分组密码子算法中的各个分组密码子算法一一对应的配置信息。需要说明的是,SHACAL-2算法是2003年NESSIE宣布第二阶段的终选算法之一,其分组长度为256bit,密钥长度为512bit,迭代次数为64轮,安全性在当时被认为是最高的。举例而言,如图2所示,SHACAL-2算法数学模型中FF和GG函数计算本文档来自技高网...

【技术保护点】
1.一种基于可重构阵列实现分组密码算法SHACAL‑2的方法,其特征在于,包括以下步骤:将分组密码算法SHACAL‑2映射为多个分组密码子算法,并生成与所述多个分组密码子算法中的各分组密码子算法一一对应的配置信息;根据所述配置信息配置所述可重构阵列,并从输入先入先出寄存器读取待加密数据,对所述待加密数据进行加密运算获得加密密文,将所述加密密文发送至输出先入先出寄存器。

【技术特征摘要】
1.一种基于可重构阵列实现分组密码算法SHACAL-2的方法,其特征在于,包括以下步骤:将分组密码算法SHACAL-2映射为多个分组密码子算法,并生成与所述多个分组密码子算法中的各分组密码子算法一一对应的配置信息;根据所述配置信息配置所述可重构阵列,并从输入先入先出寄存器读取待加密数据,对所述待加密数据进行加密运算获得加密密文,将所述加密密文发送至输出先入先出寄存器。2.根据权利要求1所述的方法,其特征在于,所述多个分组密码子算法包括:第一分组密码子算法,用于对所述待加密数据进行初始化;第二分组密码子算法,用于使用64轮压缩函数对初始化后的待加密数据进行加密运算并生成所述加密密文;第三分组加密子算法,用于将所述加密密文输出至所述输出先入先出寄存器。3.根据权利要求2所述的方法,其特征在于,所述第一分组密码子算法具体用于:将所述待加密数据载入至所述可重构阵列,进行数据大小端转换操作获得第一数据转换结果,并将所述第一数据转换结果写入存储器,完成对所述待加密数据的初始化。4.根据权利要求2所述的方法,其特征在于,所述第二分组密码子算法具体用于:从所述存储器读取所述第一数据转换结果,将所述第一数据转换结果与所述配置信息载入所述可重构阵列进行加密运算,获得第一加密结果并将所述加密结果存入所述存储器。5.根据权利要求2方法,其特征在于,所述第三分组加密子算法具体用于:读取所述第一加密结果并将所述第一加密结果输入至所述可重构阵列进行数据大小端转换操作获得所述加密密文,并将所述加密密文输出至所述输出先入先出寄存器。6.一种基于可重构阵列实...

【专利技术属性】
技术研发人员:袁航李植刘雷波尹首一魏少军
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

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

1