[发明专利]MD5哈希函数计算方法、系统及计算机可读存储介质在审
| 申请号: | 201710889822.3 | 申请日: | 2017-09-27 |
| 公开(公告)号: | CN107704268A | 公开(公告)日: | 2018-02-16 |
| 发明(设计)人: | 曹芳;李雪雷;王丽 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38 |
| 代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
| 地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | md5 函数 计算方法 系统 计算机 可读 存储 介质 | ||
技术领域
本发明涉及可重构计算技术领域,特别涉及一种面向CPU+FPGA异构加速平台的MD5哈希函数计算方法、系统及计算机可读存储介质。
背景技术
Hash(哈希)函数亦称散列函数,简单的说就是一种能够将任意长度的消息压缩成为固定长度的消息摘要函数。具体来讲,哈希函数能够将任意长度的输入(即pre-image)通过散列算法变换成为固定长度的输出(即散列值)。该散列算法是一种压缩映射,散列值的空间大小远远小于输入值的空间大小。不同的输入存在相同的输出,所以不可能从散列值来唯一确定输入值。
哈希函数涵盖的范围较广,目前出现的较常用的为MD(Message Digest Algorithm,消息摘要算法)系列和SHA系列。由于安全性问题,历史的MD1、MD2、MD3、MD4已经不再广泛使用,最新的MD系列的第五版本(MD5)。MD5的算法过程包括位数填充、信息长度记录、标准的幻数装入以及四轮循环运算(分组处理),而绝大多数核心运算集中在第四步的四轮分组循环运算。
现有技术中,在云计算、大数据以及人工智能等应用中包含大量的哈希运算,处理批量的哈希运算需要大量的计算资源。一般服务器的CPU将会被洪水般的计算量耗尽资源。因此,如何提高MD5哈希函数算法中的分组循环运算的性能,是现今急需解决的问题。
发明内容
本发明的目的是提供一种面向CPU+FPGA异构加速平台的MD5哈希函数计算方法、系统及计算机可读存储介质,以利用FPGA(Field-Programmable Gate Array,现场可编程门阵列)对分组循环运算的性能加速,提高MD5哈希函数计算的执行性能。
为解决上述技术问题,本发明提供一种面向CPU+FPGA异构加速平台的MD5哈希函数计算方法,包括:
主机端将待处理数据发送至FPGA板卡的DDR内存,并设置FPGA端运行所需的参数信息;
所述FPGA端根据所述参数信息,对所述待处理数据进行MD5哈希函数计算,并将获取的计算结果数据存储至所述DDR内存;
所述主机端从所述DDR内存获取所述计算结果数据。
可选的,所述FPGA端根据所述参数信息,对所述待处理数据进行MD5哈希函数计算,包括:
所述FPGA端利用OpenCL语言实现的MD5哈希函数内核,根据所述参数信息对所述待处理数据进行MD5哈希函数计算。
可选的,所述FPGA端利用OpenCL语言实现的MD5哈希函数内核,根据所述参数信息对所述待处理数据进行MD5哈希函数计算,包括:
所述FPGA端将所述待处理数据从所述DDR内存读取至片上缓存;
根据所述参数信息,对所述待处理数据进行并行和流水式的压缩映射处理,获取所述计算结果数据。
可选的,该方法还包括:
所述主机端创建与所述FPGA端进行数据通信的缓存,并将所述缓存存放在所述DDR内存上。
本发明还提供了一种面向CPU+FPGA异构加速平台的MD5哈希函数计算系统,包括:
主机端,用于将待处理数据发送至FPGA板卡的DDR内存,并设置FPGA端运行所需的参数信息;从所述DDR内存获取计算结果数据;
所述FPGA端,用于根据所述参数信息,对所述待处理数据进行MD5哈希函数计算,并将获取的所述计算结果数据存储至所述DDR内存。
可选的,所述FPGA端具体用于利用OpenCL语言实现的MD5哈希函数内核,根据所述参数信息对所述待处理数据进行MD5哈希函数计算。
可选的,所述主机端还用于创建与所述FPGA端进行数据通信的缓存,并将所述缓存存放在所述DDR内存上。
此外,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的面向CPU+FPGA异构加速平台的MD5哈希函数计算方法的步骤。
本发明所提供的一种面向CPU+FPGA异构加速平台的MD5哈希函数计算方法,包括:主机端将待处理数据发送至FPGA板卡的DDR内存,并设置FPGA端运行所需的参数信息;FPGA端根据参数信息,对待处理数据进行MD5哈希函数计算,并将获取的计算结果数据存储至DDR内存;主机端从DDR内存获取计算结果数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710889822.3/2.html,转载请声明来源钻瓜专利网。





