一种摘要计算器及摘要计算方法技术

技术编号:39424244 阅读:13 留言:0更新日期:2023-11-19 16:11
本申请实施例提供了一种摘要计算器及摘要计算方法,摘要计算器包括多个寄存器、数据拓展迭代电路和迭代压缩电路;多个寄存器,用于存储消息的摘要数据;数据拓展迭代电路,用于获取算法选择指令,从数据拓展迭代电路连接的每个寄存器中读取摘要数据,并按照当前摘要算法对摘要数据进行数据拓展和迭代压缩,得到第一摘要数据,将第一摘要数据更新至数据拓展迭代电路连接的每个寄存器;迭代压缩电路,用于获取算法选择指令;从迭代压缩电路连接的每个寄存器中读取摘要数据,并按照当前摘要算法对摘要数据进行迭代压缩,得到第二摘要数据,将第二摘要数据更新至迭代压缩电路连接的每个寄存器。本申请实施例提供的摘要计算器能够实现多种摘要算法。实现多种摘要算法。实现多种摘要算法。

【技术实现步骤摘要】
一种摘要计算器及摘要计算方法


[0001]本申请涉及数字电路
,特别是涉及一种摘要计算器及摘要计算方法。

技术介绍

[0002]随着网络信息技术的发展,数据传输的安全性也越来越重要。哈希算法(又称为摘要算法)是一种单向散列算法,用于将任意长度的消息输入转换成固定长度的摘要输出,广泛地应用于数字签名,密码保护以及数据完整性检验等领域,是信息安全相关芯片的重要功能部分。
[0003]哈希算法的实现方式包括软件实现和硬件实现两种方式。对于软件实现,使用软件实现哈希算法的灵活性较高,但是运算速率较慢,安全性较低,无法满足高性能的需求。对于硬件实现,现有的研究主要包括两个方面,一是对单一哈希算法的硬件结构进行速度优化,二是对集成多种哈希算法硬件结构的可重构研究。
[0004]传统的单个哈希算法实现形式固定且资源开销大,只能实现单个算法的加密,不能灵活配置。而对于集成多种哈希算法硬件结构的可重构实现,目前存在寄存器复用不充分,重构算法数量少,可重构层次不够深入等问题。

技术实现思路

[0005]本申请实施例的目的在于提供一种摘要计算器及摘要计算方法,以实现多种摘要算法的计算。具体技术方案如下:
[0006]第一方面,本申请实施例提供了一种摘要计算器,所述摘要计算器包括多个寄存器、数据拓展迭代电路和迭代压缩电路;所述多个寄存器分别与所述数据拓展迭代电路和迭代压缩电路连接;
[0007]所述多个寄存器,用于存储消息的摘要数据;
[0008]所述数据拓展迭代电路,用于获取算法选择指令,所述算法选择指令包括当前摘要算法和所述当前摘要算法对应的摘要数据的位置符;从所述数据拓展迭代电路连接的每个寄存器中所述位置符指示的位置处读取摘要数据,并按照所述当前摘要算法对所述摘要数据进行数据拓展和迭代压缩,得到第一摘要数据,将所述第一摘要数据更新至数据拓展迭代电路连接的每个寄存器;
[0009]所述迭代压缩电路,用于获取算法选择指令,所述算法选择指令包括当前摘要算法和所述当前摘要算法对应的摘要数据的位置符;从所述迭代压缩电路连接的每个寄存器中所述位置符指示的位置处读取摘要数据,并按照所述当前摘要算法对所述摘要数据进行迭代压缩,得到第二摘要数据,将所述第二摘要数据更新至所述迭代压缩电路连接的每个寄存器。
[0010]可选的,每个寄存器的存储位分为第一高存储位和第一低存储位,所述第一高存储位和第一低存储位的位宽相同;
[0011]所述第一高存储位和第一低存储位分别用于存储第一类摘要算法对应的摘要数
据;所述第一类摘要算法为摘要计算的位宽小于等于一个寄存器的位宽一半的摘要算法;
[0012]所述第一高存储位和第一低存储位共同用于存储第二类摘要算法对应的摘要数据;所述第二类摘要算法为摘要计算的位宽大于一个寄存器的位宽一半的摘要算法。
[0013]可选的,所述多个寄存器中,关联摘要算法最少的存储位和关联摘要算法最多的存储位之间关联摘要算法数量差值小于等于预设差值。
[0014]可选的,所述数据拓展迭代电路和迭代压缩电路分别包括加法器;
[0015]所述加法器对应第一划分规则和第二划分规则;
[0016]所述第一划分规则与所述第一类摘要算法关联,所述第一划分规则为:所述加法器的存储位划分为第二高存储位、隔离位和第二低存储位,所述第二高存储位和第二低存储位通过隔离位进行隔离,所述第二高存储位存储所述第一高存储位中的摘要数据,所述第二低存储位存储所述第一低存储位中的摘要数据,所述第二高存储位、第二低存储位、第一高存储位和第一低存储位的位宽相同;
[0017]所述第二划分规则与所述第二类摘要算法关联,所述第二划分规则为:所述加法器的存储位划分为空置位和数据位,所述数据位存储所述寄存器中的摘要数据,所述空置位位于高位或低位。
[0018]可选的,所述算法选择指令包括算法分类位、高位算法指示位和低位算法指示位;
[0019]所述算法分类位,用于指示所述当前摘要算法是否为所述第二类摘要算法;
[0020]所述高位算法指示位,用于在所述当前摘要算法不是所述第二类摘要算法时,指示所述第一高存储位中的摘要数据对应的第一类摘要算法;
[0021]所述低位算法指示位,用于在所述当前摘要算法不是所述第二类摘要算法时,指示所述第一低存储位中的摘要数据对应的第一类摘要算法。
[0022]第二方面,本申请实施例提供了一种摘要计算方法,应用于摘要计算器,所述方法包括:
[0023]获取算法选择指令,所述算法选择指令包括当前摘要算法和所述当前摘要算法对应的摘要数据的位置符;
[0024]从每个寄存器中所述位置符指示的位置处读取摘要数据;
[0025]按照所述当前摘要算法对所述摘要数据进行数据拓展和/或迭代压缩,得到摘要数据;将所述摘要数据更新至每个寄存器。
[0026]可选的,每个寄存器的存储位分为第一高存储位和第一低存储位,所述第一高存储位和第一低存储位的位宽相同;
[0027]所述第一高存储位和第一低存储位分别用于存储第一类摘要算法对应的摘要数据;所述第一类摘要算法为摘要计算的位宽小于等于一个寄存器的位宽的一半的摘要算法;
[0028]所述第一高存储位和第一低存储位共同用于存储第二类摘要算法对应的摘要数据;所述第二类摘要算法为摘要计算的位宽大于一个寄存器的位宽的一半的摘要算法。
[0029]可选的,所述当前摘要算法包括第一摘要算法和第二摘要算法,所述第一摘要算法和第二摘要算法属于所述第一类摘要算法,且所述第一摘要算法对应的位置符指示第一高存储位,所述第二摘要算法对应的位置符指示第一低存储位;
[0030]所述按照所述当前摘要算法对所述摘要数据进行数据拓展和/或迭代压缩,得到
摘要数据的步骤,包括:
[0031]按照所述第一摘要算法,对所述第一高存储位中的摘要数据进行数据拓展和/或迭代压缩,得到第一目标摘要数据;按照所述第二摘要算法,对所述第一低存储位中的摘要数据进行数据拓展和/或迭代压缩,得到第二目标摘要数据;
[0032]所述将所述摘要数据更新至每个寄存器的步骤,包括:
[0033]将所述第一目标摘要数据更新至每个寄存器中的所述第一高存储位,将所述第二目标摘要数据更新至每个寄存器中的所述第一低存储位。
[0034]可选的,所述算法选择指令包括算法分类位、高位算法指示位和低位算法指示位;所述方法还包括:
[0035]根据所述算法分类位,确定当前摘要算法是否为所述第二类摘要算法;
[0036]在所述当前摘要算法不是所述第二类摘要算法时,根据所述高位算法指确定所述第一高存储位中的摘要数据对应的第一摘要算法;根据所述低位算法指示位,确定所述第一低存储位中的摘要数据对应的第二摘要算法。
[0037]可选的,所述从每个寄存器中所述位置符指示的位置处读取摘要数据,包括:
[0038]根据所述第一摘要算法对应的位置符,确定所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种摘要计算器,其特征在于,所述摘要计算器包括多个寄存器、数据拓展迭代电路和迭代压缩电路;所述多个寄存器分别与所述数据拓展迭代电路和迭代压缩电路连接;所述多个寄存器,用于存储消息的摘要数据;所述数据拓展迭代电路,用于获取算法选择指令,所述算法选择指令包括当前摘要算法和所述当前摘要算法对应的摘要数据的位置符;从所述数据拓展迭代电路连接的每个寄存器中所述位置符指示的位置处读取摘要数据,并按照所述当前摘要算法对所述摘要数据进行数据拓展和迭代压缩,得到第一摘要数据,将所述第一摘要数据更新至数据拓展迭代电路连接的每个寄存器;所述迭代压缩电路,用于获取算法选择指令,所述算法选择指令包括当前摘要算法和所述当前摘要算法对应的摘要数据的位置符;从所述迭代压缩电路连接的每个寄存器中所述位置符指示的位置处读取摘要数据,并按照所述当前摘要算法对所述摘要数据进行迭代压缩,得到第二摘要数据,将所述第二摘要数据更新至所述迭代压缩电路连接的每个寄存器。2.根据权利要求1所述的摘要计算器,其特征在于,每个寄存器的存储位分为第一高存储位和第一低存储位,所述第一高存储位和第一低存储位的位宽相同;所述第一高存储位和第一低存储位分别用于存储第一类摘要算法对应的摘要数据;所述第一类摘要算法为摘要计算的位宽小于等于一个寄存器的位宽一半的摘要算法;所述第一高存储位和第一低存储位共同用于存储第二类摘要算法对应的摘要数据;所述第二类摘要算法为摘要计算的位宽大于一个寄存器的位宽一半的摘要算法。3.根据权利要求2所述的摘要计算器,其特征在于,所述多个寄存器中,关联摘要算法最少的存储位和关联摘要算法最多的存储位之间关联摘要算法数量差值小于等于预设差值。4.根据权利要求2或3所述的摘要计算器,其特征在于,所述数据拓展迭代电路和迭代压缩电路分别包括加法器,所述加法器直接或间接的与所述多个寄存器连接,用于执行所述数据拓展和迭代压缩处理中的加法运算;所述加法器对应第一划分规则和第二划分规则;所述第一划分规则与所述第一类摘要算法关联,所述第一划分规则为:所述加法器的存储位划分为第二高存储位、隔离位和第二低存储位,所述第二高存储位和第二低存储位通过隔离位进行隔离,所述第二高存储位存储所述第一高存储位中的摘要数据,所述第二低存储位存储所述第一低存储位中的摘要数据,所述第二高存储位、第二低存储位、第一高存储位和第一低存储位的位宽相同;所述第二划分规则与所述第二类摘要算法关联,所述第二划分规则为:所述加法器的存储位划分为空置位和数据位,所述数据位存储所述寄存器中的摘要数据,所述空置位位于高位或低位。5.根据权利要求2或3所述的摘要计算器,其特征在于,所述算法选择指令包括算法分类位、高位算法指示位和低位算法指示位;所述算法分类位,用于指示所述当前摘要算法是否为所述第二类摘要算法;所述高位算法指示位,用于在所述当前摘要算法不是所述第二类摘要算法时,指示...

【专利技术属性】
技术研发人员:刘风华王耀强薛春雨
申请(专利权)人:新华三半导体技术有限公司
类型:发明
国别省市:

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

1