[发明专利]一种链式哈希栈运算方法及装置有效
申请号: | 202010357761.8 | 申请日: | 2020-04-29 |
公开(公告)号: | CN111680289B | 公开(公告)日: | 2023-04-14 |
发明(设计)人: | 陈李维;许奇臻;李锦峰;史岗;孟丹 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/54 | 分类号: | G06F21/54;G06F1/329 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 张睿 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 链式 哈希栈 运算 方法 装置 | ||
1.一种链式哈希栈运算方法,其特征在于,包括:
在函数调用时,将处理器保留栈中目标数据项返回地址保存到栈中,并用新的返回地址覆盖处理器保留栈中目标数据项返回地址;
将目标数据项指向下一项,得到新的目标数据项,直至所述处理器保留栈存满新的返回地址;若依然存在函数调用,则将所述处理器保留栈中保存的所有返回地址进行批量哈希运算,得到当前哈希值信息。
2.根据权利要求1所述链式哈希栈运算方法,其特征在于,所述方法还包括:
在函数返回时,取出处理器保留栈中返回目标数据项存储的新的返回地址用于函数返回,并用栈中取出的返回地址覆盖所述新的返回地址,然后将返回目标数据项指向下一项,得到新的返回目标数据项,直至覆盖所述处理器保留栈中的初始数据项;
将处理器保留栈中所有返回地址进行哈希运算,将哈希运算结果与当前哈希值信息进行比较。
3.根据权利要求2所述链式哈希栈运算方法,其特征在于,所述将处理器保留栈中目标数据项返回地址保存到栈中,并用新的返回地址覆盖处理器保留栈中目标数据项返回地址的步骤,具体包括:
获取历史哈希值信息,将所述历史哈希值信息按照处理器保留栈数目进行均分,得到均分后历史哈希值信息;
将均分后历史哈希值信息和新的返回地址进行压缩,将压缩后的地址覆盖处理器保留栈中目标数据项返回地址。
4.根据权利要求3所述链式哈希栈运算方法,其特征在于,所述将压缩后的地址覆盖处理器保留栈中目标数据项返回地址的步骤,具体包括:
将均分后历史哈希值信息存储在处理器保留栈目标数据项中的tmp字段;
将新的返回地址存储在处理器保留栈处理器保留栈目标数据项中的ra字段。
5.根据权利要求4所述链式哈希栈运算方法,其特征在于,所述取出处理器保留栈中返回目标数据项存储的新的返回地址用于函数返回,并用栈中取出的返回地址覆盖所述新的返回地址,然后将返回目标数据项指向下一项,得到新的返回目标数据项,直至覆盖所述处理器保留栈中的初始数据项的步骤,具体包括:
依次取出处理器保留栈每一项的新的返回地址,并用栈中取出的返回地址覆盖ra字段,用栈中取出的均分后历史哈希值信息覆盖tmp字段,直至覆盖所述处理器保留栈中的初始数据项。
6.根据权利要求4所述链式哈希栈运算方法,其特征在于,在所述将哈希运算结果与当前哈希值信息进行比较的步骤具体包括,所述方法还包括:
获取处理器保留栈中每一项的top字段信息,以根据所述top字段信息得到当前哈希值信息;
将当前哈希值信息和所述哈希运算结果进行校验,若校验通过,则用tmp字段覆盖top字段。
7.一种链式哈希栈运算装置,其特征在于,包括:
暂存模块,用于在函数调用时,将处理器保留栈中目标数据项返回地址保存到栈中,并用新的返回地址覆盖处理器保留栈中目标数据项返回地址,直至所述处理器保留栈存满新的返回地址;
批量校验模块,用于若依然存在函数调用,则将所述处理器保留栈中保存的所有返回地址进行批量哈希运算,得到当前哈希值信息。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述链式哈希栈运算方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一项所述链式哈希栈运算方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010357761.8/1.html,转载请声明来源钻瓜专利网。