[发明专利]一种加速安全散列算法的加速器有效
申请号: | 202010474004.9 | 申请日: | 2020-05-29 |
公开(公告)号: | CN111738703B | 公开(公告)日: | 2023-06-02 |
发明(设计)人: | 范志华;吴欣欣;李文明;安学军;叶笑春;范东睿 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06Q20/06 | 分类号: | G06Q20/06;G06Q20/38 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 加速 安全 算法 加速器 | ||
本发明提供一种加速安全散列算法的加速器,包括:存储模块、PE运算模块、任务划分模块、算法映射模块。本发明相比于现有技术,首先可以降低计算的时间开销,提高计算性能;其次,可以降低计算带来的功耗开销;此外,本发明可以实现安全散列函数的高通量计算,显著提高哈希率,使用本发明设计的计算机系统具有良好的可扩展性和兼容性。
技术领域
本发明属于计算机体系结构领域,具体涉及一种加速安全散列算法的加速器。
背景技术
随着数字货币的兴起,安全散列函数进入研究人员的视野。安全散列函数是实现安全散列算法的函数。安全散列算法(Secure Hash Algorithm,简称SHA)是一类常用的数据加密算法,可以实现数据保密、防止数据更改和身份验证等功能,广泛地应用于密码学、电子商务以及信息安全领域。安全散列算法能计算出一个数字消息所对应的长度固定的字符串,且若输入的消息不同,它们对应到不同字符串的机率很高。SHA系列算法可分为两类:SHA-1和SHA-2,其中,SHA-1是由美国国家安全局设计,并由美国国家标准技术研究所发布为联邦数据处理标准。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。SHA-2也由美国国家安全局研发,是SHA-1的后继者,可细分为SHA-224、SHA-256、SHA-384以及SHA-512。与SHA-1相比,SHA-2在算法强度和消息摘要的长度上有所区别。
对于数字货币,如何快速且低能耗地计算安全散列函数值成为关键。现有的解决方案分为以下三类:
第一类解决方案是用多个处理器并行计算多个哈希值,这类方法存在的问题不仅是会带来较大的功耗,而且对于每个处理器而言,加速比并没有改变;
第二类解决方案是通过编译器将原有安全散列算法的指令进行软件层次优化,但安全散列函数由于运算复杂、指令条数多、指令之间数据依赖严重,通过编译器进行优化的效果并不明显;
第三类解决方案是为安全散列函数定制专用加速电路,但安全散列函数簇包括众多函数且发展迅速,专用电路存在可扩展性差、兼容性差等缺点。
发明内容
为了解决上述问题,本发明提出了一种用于安全散列算法的加速器,包括:存储模块、PE运算模块、任务划分模块、算法映射模块,其中,
所述存储模块负责存储待运算的数据;
所述PE运算模块由多个PE单元组成,负责对存储模块中的数据进行运算,每个所述PE单元内部具有对应SHA指令集的数据通路和流水线结构;
所述任务划分模块,用于将所述安全散列算法的初始指令文件进行任务划分,生成多任务的数据流图,其中所述初始指令文件包含所述SHA指令集的指令,每个所述任务划分为一个或者多个子任务;
所述算法映射模块,根据所述多任务的数据流图将所述各个任务的子任务映射到对应的所述PE单元。
优选的,所述加速器,还包括编译器,所述编译器用于将高级语言程序翻译为所述初始指令文件。
优选的,所述加速器,还包括控制模块,用于控制所述存储模块、PE运算模块、任务划分模块以及算法映射模块的操作,并用于生成所述存储模块、PE运算模块、任务划分模块以及算法映射模块之间的数据传输的路由信息。
优选的,所述SHA指令集还包含如下SHA专用指令格式:
该指令完成的功能是:(Ax)^(By)^(Cz),其中,表示向右移位,^表示按位异或。
优选的,所述安全散列算法包括SHA1、SHA-224、SHA-256、SHA-384以及SHA-512。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010474004.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:智慧两票实现方法及系统
- 下一篇:变维振动辅助车削装置及其轨迹生成方法