掌桥专利:专业的专利平台
掌桥专利
首页

一种高效SM3国密算法的硬件实现方法及系统

文献发布时间:2024-04-18 20:01:23


一种高效SM3国密算法的硬件实现方法及系统

技术领域

本发明属于计算机安全算法领域,具体涉及一种高效SM3国密算法的硬件实现方法。

背景技术

国密算法即国家密码局认定的国产密码算法,是我国具有自主知识产权的密码算法集。与国际标准密码算法具有完整高效的软硬件实现比较,国密算法的硬件实现效率较低。

SM3算法是国密算法中的单向哈希算法,其主要过程是对长度l<2

国密标准算法描述中,经过填充后512bit对齐的消息,每组512位数据需要经过压缩函数和消息扩展两个过程,其中:

消息扩展过程分别通过52次循环和64次循环,生成压缩过程所需的Wj和Wj’数组。

压缩函数过程经过64次循环完成512位数据的哈希过程。

依据标准算法描述,现有硬件实现采用先计算消息扩展数组,再进行压缩函数哈希的过程。该硬件实现存在两个缺点:

首先,硬件需要116个时钟周期完成消息扩展,需要64个时钟周期完成压缩函数中的哈希过程。总共需要180个时钟周期完成一个512位数据的哈希计算。

其次,压缩函数中设计多次的循环移位、逻辑运算与32位加法运算。其中,即使采用先行进位等优化算法,加法运算仍然存在较大的进位延迟,32位加法器的延迟显著高于循环移位与逻辑运算。通过分析发现,压缩函数中电路的关键路径存在最多3个加法运算,导致现有压缩函数的实现计算延迟较大,电路时钟频率较低。

发明内容

本发明目的在于减少SM3硬件电路的循环次数的同时提高电路的时钟周期,从而有效提高SM3硬件的处理效率。通过压缩函数与消息扩展电路的并行处理,减少循环次数;通过采用流水架构设计压缩函数计算过程,将压缩函数分为三级硬件流水,每一级流水最多处理一次32位加法。提高电路时钟频率3倍,处理效率提高3倍。

为了实现上述目的,本发明有如下的技术方案:

一种高效SM3国密算法的硬件实现方法,包括以下步骤:

步骤一、对SM3算法的压缩函数采用多级硬件流水处理架构,硬件每级处理的32位加法运算不多于一个;

步骤二、采用移位寄存器+FIFO架构完成消息扩展;

步骤三、流水压缩函数硬件和消息扩展硬件并行工作,完成多路数据的压缩函数循环。

作为本发明高效SM3国密算法的硬件实现方法的一种优选方案,步骤一将采用三级流水架构实现SM3算法中的压缩函数。流水硬件中的每一级最多存在一个加法运算,这样算法关键路径中的三次加法可以分散在三级硬件中。采用三级流水架构后,硬件时钟频率可以提高3倍。虽然每组512bit的数据的需要经过三个时钟周期,处理时间不变,但是硬件可以支持3组不同的数据同时进行压缩,处理效率提高3倍。

作为本发明高效SM3国密算法的硬件实现方法的一种优选方案,采用移位寄存器+FIFO架构完成消息扩展。现有方式采用寄存器数组的方法需要单独的消息扩展过程,需要额外的116个时钟周期。该方法通过移位寄存器生成W

作为本发明高效SM3国密算法的硬件实现方法的一种优选方案,多级硬件流水的压缩函数电路和移位寄存器+FIFO消息扩展电路并行工作,每组512bit数据的哈希需要64个时钟周期。

本发明还提供一种高效SM3国密算法的硬件系统,包括:

控制与总线接口模块,用于从总线接收主模块发送的原始数据,对数据进行填充预处理,向主模块发送哈希结果;

哈希处理模块,采用上述硬件电路对原始数据进行哈希迭代运算。

相较于现有技术,本发明具有如下的有益效果:通过压缩函数与消息扩展电路的并行处理,循环次数从原有180个时钟周期降低为64个时钟周期;通过采用流水架构设计压缩函数计算过程,将压缩函数分为三级硬件流水,每一级流水最多处理一次32位加法。提高电路时钟频率3倍,由于流水硬件电路可以同时3组数据在不同阶段进行并行处理,处理效率提高3倍。

附图说明

图1实施例1压缩函数过程的三级流水处理架构;

图2实施例2基于移位寄存器+FIFO的W

具体实施方式

下面结合附图对本发明做进一步的详细说明。

本发明提出一种高效SM3国密算法的硬件实现方法,通过压缩函数与消息扩展电路的并行处理,减少循环次数;通过采用流水架构设计压缩函数计算过程,将压缩函数分为三级硬件流水,每一级流水最多处理一次32位加法。提高电路时钟频率3倍,处理效率提高3倍。

一种高效SM3国密算法的硬件实现方法,包括以下步骤:

步骤一、对SM3算法的压缩函数采用多级硬件流水处理架构,硬件每级处理的32位加法运算不多于一个。

采用三级流水架构实现SM3算法中的压缩函数。流水硬件中的每一级最多存在一个加法运算,这样算法关键路径中的三次加法可以分散在三级硬件中。采用三级流水架构后,硬件时钟频率可以提高3倍。虽然每组512bit的数据的需要经过三个时钟周期,处理时间不变,但是硬件可以支持3组不同的数据同时进行压缩,处理效率提高3倍。

步骤二、采用移位寄存器+FIFO架构完成消息扩展。

采用移位寄存器+FIFO架构完成消息扩展。现有方式采用寄存器数组的方法需要单独的消息扩展过程,需要额外的116个时钟周期。该方法通过移位寄存器生成W

步骤三、流水压缩函数硬件和消息扩展硬件并行工作,完成多路数据的压缩函数循环。

多级硬件流水的压缩函数电路和移位寄存器+FIFO消息扩展电路并行工作,每组512bit数据的哈希需要64个时钟周期。

本发明所提方法从减少硬件处理时钟周期数和提高硬件时钟频率两个方面设计优化了SM3的硬件电路,有效提高硬件处理SM3的效率。

本发明还提供一种高效SM3国密算法的硬件系统,包括:

控制与总线接口模块,用于从总线接收主模块发送的原始数据,对数据进行填充预处理,向主模块发送哈希结果;

哈希处理模块,采用上述硬件电路对原始数据进行哈希迭代运算。

参见图1和图2,本发明通过三级流水处理架构,提高硬件主频3倍,由于流水硬件不同阶段硬件可以处理不同数据,处理效率提高3倍。本发明通过基于移位寄存器+FIFO方式实现消息扩展电路,使得消息扩展电路可以和压缩函数电路并行工作,有效降低SM3算法的循环次数,减少硬件时钟周期数,提高硬件处理效率。

以上所述的仅仅是本发明的较佳实施例,并不用以对本发明的技术方案进行任何限制,本领域技术人员应当理解的是,在不脱离本发明精神和原则的前提下,该技术方案还可以进行若干简单的修改和替换,这些修改和替换也均属于权利要求书所涵盖的保护范围之内。

相关技术
  • 一种监控云台的控制方法、装置、设备、介质及安防系统
  • 基于GBT 28181协议的云台设备控制方法
  • 基于GBT 28181协议的云台设备控制方法
技术分类

06120116546732