一种基于SHA512算法的数据处理方法、装置及系统制造方法及图纸

技术编号:17099470 阅读:36 留言:0更新日期:2018-01-21 11:14
本发明专利技术公开了一种基于SHA512算法的数据处理方法,处理器首先对待处理数据进行位数填充等操作后再将数据发送给FPGA开发板,由FPGA开发板中预存的四轮分组压缩迭代算法对数据进行处理,然后处理器获取处理结果,从而得到最终的哈希值。由于在SHA512算法中最核心、运算量最大的四轮分组压缩迭代算法交由FPGA处理而不再用处理器处理,因此可以降低处理器中的资源消耗。本发明专利技术还公开一种基于SHA512算法的数据处理装置、一种基于SHA512算法的数据处理系统,同样可以实现上述技术效果。

A data processing method, device and system based on SHA512 algorithm

The invention discloses a processing method of SHA512 algorithm based on the data, the processor first treated data bits filled after the operation and send the data to the FPGA development board, FPGA development board is pre stored in the four block compression iterative algorithm to process the data, and then obtain processor processing results to get the final hash value. Because the four core packet compression iteration algorithm, which is the most core and largest computation in SHA512 algorithm, is processed by FPGA instead of processor, so it can reduce resource consumption in processor. The invention also discloses a data processing device based on the SHA512 algorithm and a data processing system based on the SHA512 algorithm, which also achieves the above technical effect.

【技术实现步骤摘要】
一种基于SHA512算法的数据处理方法、装置及系统
本专利技术涉及数据处理领域,更具体地说,涉及一种基于SHA512算法的数据处理方法、装置及系统。
技术介绍
Hash(哈希)函数亦称散列函数,简单的说就是一种能够将任意长度的消息压缩成为固定长度的消息摘要函数。具体来讲,杂凑函数能够将任意长度的输入(pre-image)通过散列算法变换成为固定长度的输出,即散列值。哈希函数涵盖的范围较广,目前出现的较常用的为MD系列和SHA512。其中,SHA512哈希函数是美国国家安全局(NSA)设计,美国国家标准与技术研究院(NIST)发布的一系列密码散列函数。其中,SHA512算法的用途包含防止被篡改、防止直接看到明文、防止抵赖。SHA512的算法过程包括位数填充、信息长度记录、标准的幻数装入以及四轮循环运算,而绝大多数核心运算集中在第四步的四轮分组循环运算。然而,在云计算、大数据以及人工智能等应用中包含大量的哈希运算,处理批量的哈希运算需要大量的计算资源。一般服务器的CPU将会被洪水般的计算量耗尽资源。因此,如何降低SHA512算法运算时对CPU资源消耗,是本领域技术人员需要解决的问题。
技术实现思路
本专利技术的目的在于提供一种基于SHA512算法的数据处理方法、装置及系统,以降低SHA512算法运算时对CPU资源消耗。为实现上述目的,本专利技术实施例提供了如下技术方案:一种基于SHA512算法的数据处理方法,包括:接收待处理数据对所述待处理数据进行位数填充、记录待处理数据的信息长度、以及标准的幻数装入处理得到目标待处理数据;将所述目标待处理数据发送至FPGA开发板的DDR中的预设缓存;以利用所述FPGA开发板中预设的四轮分组压缩迭代算法对所述目标待处理数据进行处理;获取所述目标待处理数据的处理结果,确定所述待处理数据的哈希值。一种基于SHA512算法的数据处理装置,包括:预处理模块,用于接收待处理数据对所述待处理数据进行位数填充、记录待处理数据的信息长度、以及标准的幻数装入处理得到目标待处理数据;发送模块,用于将所述目标待处理数据发送至FPGA开发板的DDR中的预设缓存;以利用所述FPGA开发板中预设的四轮分组压缩迭代算法对所述目标待处理数据进行处理;获取模块,用于获取所述目标待处理数据的处理结果,确定所述待处理数据的哈希值。一种基于SHA512算法的数据处理装置,包括:第一存储器,用于存储计算机程序;第一处理器,用于执行所述计算机程序时实现如权利要求1项所述SHA512算法的数据处理方法的步骤。一种基于SHA512算法的数据处理方法,包括:将由处理器发送的目标待处理数据存至由所述处理器在所述FPGA开发板的DDR中预设的缓存;其中,所述目标待处理数据是待处理数据进行位数填充、记录待处理数据的信息长度、以及标准的幻数装入处理得到的目标待处理数据;利用预设的四轮分组压缩迭代算法对所述目标待处理数据进行处理得到处理结果;以便所述处理器获取所述处理结果确定所述待处理数据的哈希值。其中,所述预设的四轮分组压缩迭代算法是预先利用工具将SHA512算法编译后得到的FPGA中的四轮分组压缩迭代算法;其中,所述SHA512算法是利用OpenCL语言描述的SHA512算法。其中,所述利用预设的四轮分组压缩迭代算法对所述目标待处理数据进行处理得到处理结果,包括:将所述DDR中的目标待处理数据读取至片上缓存;利用所述片上缓存对所述目标待处理数据进行四轮分组压缩迭代计算得到处理结果;将所述处理结果写回所述DDR。一种基于SHA512算法的数据处理装置,包括:保存模块,用于将由处理器发送的目标待处理数据存至由所述处理器在所述FPGA开发板的DDR中预设的缓存;其中,所述目标待处理数据是待处理数据进行位数填充、记录待处理数据的信息长度、以及标准的幻数装入处理得到的目标待处理数据;处理模块,用于利用预设的四轮分组压缩迭代算法对所述目标待处理数据进行处理得到处理结果;以便所述处理器获取所述处理结果确定所述待处理数据的哈希值。其中,所述处理模块,包括:读取单元,用于将所述DDR中的目标待处理数据读取至片上缓存;计算单元,用于利用所述片上缓存对所述目标待处理数据进行四轮分组压缩迭代计算得到处理结果;写回单元,用于将所述处理结果写回所述DDR。一种基于SHA512算法的数据处理装置,包括:第二存储器,用于存储计算机程序;第二处理器,用于执行所述计算机程序时实现如权利要求4至6任一项所述一种基于SHA512算法的数据处理方法的步骤。一种基于SHA512算法的数据处理系统,包括:处理器,用于接收待处理数据对所述待处理数据进行位数填充、记录待处理数据的信息长度、以及标准的幻数装入处理得到目标待处理数据;并将所述目标待处理数据发送至FPGA开发板以得到处理结果,利用所述处理结果确定所述待处理数据的哈希值;所述FPGA开发板,用于接收到所述目标待处理数据后,利用利用预设的四轮分组压缩迭代算法对所述目标待处理数据进行处理得到所述处理结果。通过以上方案可知,本专利技术实施例提供的基于SHA512算法的数据处理方法,接收待处理数据对所述待处理数据进行位数填充、记录待处理数据的信息长度、以及标准的幻数装入处理得到目标待处理数据;将所述目标待处理数据发送至FPGA开发板的DDR中的预设缓存;以利用所述FPGA开发板中预设的四轮分组压缩迭代算法对所述目标待处理数据进行处理;获取所述目标待处理数据的处理结果,确定所述待处理数据的哈希值。由此可见,本专利技术实施例提供的一种基于SHA512算法的数据处理方法,处理器首先对待处理数据进行位数填充等操作后再将数据发送给FPGA开发板,由FPGA开发板中预存的四轮分组压缩迭代算法对数据进行处理,然后处理器获取处理结果,从而得到最终的哈希值。由于在SHA512算法中最核心、运算量最大的四轮分组压缩迭代算法交由FPGA处理而不再用处理器处理,因此可以降低处理器中的资源消耗。本专利技术还公开一种基于SHA512算法的数据处理装置、一种基于SHA512算法的数据处理系统,同样可以实现上述技术效果。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例公开的一种基于SHA512算法的数据处理方法流程图;图2为本专利技术实施例公开的一种基于SHA512算法的数据处理装置结构示意图;图3为本专利技术实施例公开的一种基于SHA512算法的数据处理装置结构示意图;图4为本专利技术实施例公开的一种基于SHA512算法的数据处理方法流程图;图5为本专利技术实施例公开的一种基于SHA512算法的数据处理装置结构示意图;图6为本专利技术实施例公开的一种基于SHA512算法的数据处理装置结构示意图;图7为本专利技术实施例公开的一种基于SHA512算法的数据处理系统结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术本文档来自技高网...
一种基于SHA512算法的数据处理方法、装置及系统

【技术保护点】
一种基于SHA512算法的数据处理方法,其特征在于,包括:接收待处理数据对所述待处理数据进行位数填充、记录待处理数据的信息长度、以及标准的幻数装入处理得到目标待处理数据;将所述目标待处理数据发送至FPGA开发板的DDR中的预设缓存;以利用所述FPGA开发板中预设的四轮分组压缩迭代算法对所述目标待处理数据进行处理;获取所述目标待处理数据的处理结果,确定所述待处理数据的哈希值。

【技术特征摘要】
1.一种基于SHA512算法的数据处理方法,其特征在于,包括:接收待处理数据对所述待处理数据进行位数填充、记录待处理数据的信息长度、以及标准的幻数装入处理得到目标待处理数据;将所述目标待处理数据发送至FPGA开发板的DDR中的预设缓存;以利用所述FPGA开发板中预设的四轮分组压缩迭代算法对所述目标待处理数据进行处理;获取所述目标待处理数据的处理结果,确定所述待处理数据的哈希值。2.一种基于SHA512算法的数据处理装置,其特征在于,包括:预处理模块,用于接收待处理数据对所述待处理数据进行位数填充、记录待处理数据的信息长度、以及标准的幻数装入处理得到目标待处理数据;发送模块,用于将所述目标待处理数据发送至FPGA开发板的DDR中的预设缓存;以利用所述FPGA开发板中预设的四轮分组压缩迭代算法对所述目标待处理数据进行处理;获取模块,用于获取所述目标待处理数据的处理结果,确定所述待处理数据的哈希值。3.一种基于SHA512算法的数据处理装置,其特征在于,包括:第一存储器,用于存储计算机程序;第一处理器,用于执行所述计算机程序时实现如权利要求1项所述SHA512算法的数据处理方法的步骤。4.一种基于SHA512算法的数据处理方法,其特征在于,包括:将由处理器发送的目标待处理数据存至由所述处理器在所述FPGA开发板的DDR中预设的缓存;其中,所述目标待处理数据是待处理数据进行位数填充、记录待处理数据的信息长度、以及标准的幻数装入处理得到的目标待处理数据;利用预设的四轮分组压缩迭代算法对所述目标待处理数据进行处理得到处理结果;以便所述处理器获取所述处理结果确定所述待处理数据的哈希值。5.根据权利要求4所述的数据处理方法,其特征在于,所述预设的四轮分组压缩迭代算法是预先利用工具将SHA512算法编译后得到的FPGA中的四轮分组压缩迭代算法;其中,所述SHA512算法是利用OpenCL语言描述的SHA5...

【专利技术属性】
技术研发人员:王丽李雪雷曹芳
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1