一种协处理器和计算机设备制造技术

技术编号:38873459 阅读:12 留言:0更新日期:2023-09-22 14:08
本申请实施例提供了一种协处理器和计算机设备,涉及集成电路技术领域,该协处理器包括:总控制器、填充缓存模块和迭代处理模块;总控制器,用于从随机存取存储器中读取原始消息对应的多个消息块,以及将多个消息块存入所述填充缓存模块;填充缓存模块,用于预存多个消息块,并依次向迭代处理模块发送多个消息块的消息字;迭代处理模块,用于基于指定的哈希算法类型,依次对多个消息块进行消息字扩展和哈希迭代处理,获得原始消息的消息摘要,其中,迭代处理模块支持多个哈希算法类型,灵活性高,成本低,且处理性能佳。本申请基于哈希算法类型对应的杂凑算法的共性,设计通用的协处理器的计算电路,其扩展性强,可以扩展到其他同代杂凑算法。杂凑算法。杂凑算法。

【技术实现步骤摘要】
一种协处理器和计算机设备


[0001]本申请实施例涉及集成电路
,尤其涉及一种协处理器和计算机设备。

技术介绍

[0002]在信息安全领域,数字指纹和数据完整性验证是重要的应用。这些应用的核心算法就是哈希(hash)算法。在大型服务器中,经常需要支持多种hash算法进行加密计算,以保证信息安全。
[0003]相关技术下,针对不同的加密任务,在服务中设置相应的hash计算引擎,以支持多种hash算法的加密计算。然而,该方法计算成本较高,且处理性能较低。

技术实现思路

[0004]本申请实施例提供了一种协处理器和计算机设备,用于降低加密任务的计算成本,提高处理性能。
[0005]一方面,本申请实施例提供了一种协处理器,包括:总控制器、填充缓存模块和迭代处理模块;所述总控制器,用于从随机存取存储器中读取原始消息对应的多个消息块,以及将所述多个消息块存入所述填充缓存模块;所述填充缓存模块,用于预存所述多个消息块,并依次向所述迭代处理模块发送所述多个消息块的消息字;所述迭代处理模块,用于基于指定的哈希算法类型,依次对所述多个消息块的消息字进行消息字扩展和哈希迭代处理,获得所述原始消息的消息摘要,其中,所述迭代处理模块支持多个哈希算法类型。
[0006]可选地,所述总控制器执行从随机存取存储器中读取原始消息对应的多个消息块,以及将所述多个消息块存入所述填充缓存模块时,具体用于:所述总控制器,用于当控制寄存器中的哈希计算使能被置为1,或者,开始工作后所述填充缓存模块的乒乓缓存未满时,通过总线突发模式从随机存取存储器中读取所述原始消息对应的消息块,并将读取的消息块放入所述乒乓缓存中,直到所述乒乓缓存已满或者所述原始消息被读完。
[0007]可选地,所述总控制器在读取消息块的过程中,更新相应的消息数据指针。
[0008]可选地,所述迭代处理模块执行基于所述指定的哈希算法类型,依次对所述多个消息块的消息字进行消息字扩展和哈希迭代处理,获得所述原始消息的消息摘要时,具体用于:针对每个消息块,基于所述指定的哈希算法类型,配置扩展计算电路的寄存器参数和迭代计算电路的寄存器参数;并且,以上一个消息块的哈希值为初始值,通过所述扩展计算电路和所述迭代计算电路,对所述消息块的消息字进行消息字扩展和哈希迭代处理,获得所述消息块的哈希值;
若所述消息块为所述原始消息对应的最后一个消息块,则将所述消息块的哈希值,作为所述原始消息的消息摘要。
[0009]可选地,所述迭代处理模块执行以上一个消息块的哈希值为初始值,通过所述扩展计算电路和所述迭代计算电路,对所述消息块的消息字进行消息字扩展和哈希迭代处理,获得所述消息块的哈希值时,具体用于:通过所述扩展计算电路和所述迭代计算电路,以上一个消息块的哈希值为初始值,迭代对所述消息块的消息字进行消息字扩展和哈希计算,直到满足迭代停止条件,获得所述消息块的哈希值,其中,每次迭代过程包括以下操作:通过所述扩展计算电路对所述消息块的消息字进行消息字扩展,并输出至少一个扩展消息字至所述迭代计算电路;通过所述迭代计算电路,基于所述至少一个扩展消息字进行哈希计算,获得迭代状态信息,并基于所述迭代状态信息和上一次迭代输出的哈希值,获得本次迭代输出的哈希值。
[0010]可选地,所述至少一个扩展消息字的数量,与所述指定的哈希算法类型关联。
[0011]可选地,所述迭代处理模块还包括多个状态寄存器和多个摘要寄存器;所述迭代处理模块还用于:在每次迭代过程中,基于获得的迭代状态信息更新所述多个状态寄存器,以及基于获得的哈希值更新所述多个摘要寄存器,其中,所述多个摘要寄存器的初始值为:上一个消息块结束哈希迭代处理时对应的哈希值,所述多个状态寄存器的初始值为:上一个消息块结束哈希迭代处理时对应的迭代状态信息。
[0012]可选地,所述迭代停止条件包括:迭代次数达到预设值,所述预设值与所述指定的哈希算法类型关联。
[0013]一方面,本申请实施例提供了一种计算机设备,包括上述任一所述的协处理器。
[0014]本申请实施例中通用的协处理器可以支持多个哈希算法的运算,灵活性高,成本低,且处理性能佳。其次,本申请基于哈希算法类型对应的杂凑算法的共性,设计通用的协处理器的计算电路,其扩展性强,可以扩展到其他同代杂凑算法。另外,本申请中的协处理器融合了多种Hash算法,其融合的电路结构难以区分具体的hash算法的类型,增强了抵抗侧信道攻击的能力。
附图说明
[0015]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本申请实施例提供的一种计算机设备的结构示意图;图2为本申请实施例提供的一种计算机设备的结构示意图;图3为本申请实施例提供的一种协处理器的结构示意图;图4为本申请实施例提供的一种迭代处理模块的结构示意图;图5为本申请实施例提供的一种扩展计算电路的结构示意图;图6为本申请实施例提供的一种迭代计算电路的结构示意图。
具体实施方式
[0017]为了使本专利技术的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0018]为了方便理解,下面对本专利技术实施例中涉及的名词进行解释。
[0019]哈希计算:将一段接收到的消息通过哈希算法将其转换成固定位数的哈希值(也称消息摘要),哈希算法包括但不限于:SHA2算法(比如,SHA256算法、SHA512算法等)、SM3算法等。
[0020]中央处理器(Central Processing Unit,简称CPU),作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。
[0021]随机存取存储器(Random Access Memory,简称RAM),也叫主存,是与CPU直接交换数据的内部存储器。
[0022]只读存储器(Read

Only Memory,简称ROM):以非破坏性读出方式工作,只能读出无法写入信息。信息一旦写入后就固定下来,即使切断电源,信息也不会丢失,所以又称为固定存储器。
[0023]直接内存访问(Direct Memory Access,简称DMA)控制器:一种在系统内部转移数据的独特外设,可以将其视为一种能够通过一组专用总线将内部和外部存储器与每个具有DMA能力的外设连接起来的控制器。它之所以属于外设,是因为它是在处理器的编程控制下来执行传输的。
[0024]协处理器:一种协助中央处理器完成其无法执行或执行效率、效果低下的处理工作而开发和应用的处理器。
[0025]单目操作符:只有一个操作数的运算符。
[0026]多目操作符:接受多个操作数并执行指定本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种协处理器,其特征在于,包括:总控制器、填充缓存模块、迭代处理模块,所述迭代处理模块包括:扩展计算电路和迭代计算电路;所述总控制器,用于从随机存取存储器中读取原始消息对应的多个消息块,以及将所述多个消息块存入所述填充缓存模块;所述填充缓存模块,用于预存所述多个消息块,并依次向所述迭代处理模块发送所述多个消息块的消息字;所述迭代处理模块,用于基于指定的哈希算法类型,配置所述扩展计算电路的寄存器参数和所述迭代计算电路的寄存器参数;并且,针对每个消息块,以上一个消息块的哈希值为初始值,通过所述扩展计算电路和所述迭代计算电路,对所述消息块的消息字进行消息字扩展和哈希迭代处理,获得所述消息块的哈希值;若所述消息块为所述原始消息对应的最后一个消息块,则将所述消息块的哈希值,作为所述原始消息的消息摘要,其中,所述迭代处理模块支持多个哈希算法类型。2.如权利要求1所述的协处理器,其特征在于,所述总控制器执行从随机存取存储器中读取原始消息对应的多个消息块,以及将所述多个消息块存入所述填充缓存模块时,具体用于:所述总控制器,用于当控制寄存器中的哈希计算使能被置为1,或者,开始工作后所述填充缓存模块的乒乓缓存未满时,通过总线突发模式从随机存取存储器中读取所述原始消息对应的消息块,并将读取的消息块放入所述乒乓缓存中,直到所述乒乓缓存已满或者所述原始消息被读完。3.权利要求2所述的协处理器,其特征在于,所述总控制器在读取消息块的过程中,更新相应的消息数据指针。4.权利要求1所述的协处理器,其特征在于,所述迭代处理模块执行...

【专利技术属性】
技术研发人员:马占刚葛蕾
申请(专利权)人:上海芯联芯智能科技有限公司
类型:发明
国别省市:

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

1