首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SHA512消息调度

SHA512消息调度
EN

Stack Overflow用户
提问于 2014-01-30 13:37:16
回答 1查看 300关注 0票数 0

我试图在Verilog中调试一个SHA512实现,但是我在任何地方都找不到一个示例消息调度。我用C++编写了一个简单的Crypto++程序,但是我找不到要调试的变量来查看完整的消息调度,因为它是用汇编程序编写的。

我需要一个示例计划或者帮助识别crypto++计划。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-30 13:55:06

在项目代码中包括crypto++,然后打开sha.h文件并添加断点,用debug编译代码,然后当代码在断点处暂停时,您将看到整个SHA512代码,您将能够调试和查看所有变量,包括消息调度。如果在SHA512函数中添加断点并使用调试编译代码,则不会看到汇编代码,相反,您将看到它的C++源代码,并且您将能够添加变量来监视窗口并检查它们的值。

您也可以在调试(步骤)时按F11进入哈希函数,同样,它不会是程序集,您将看到哈希函数的C++代码。然后遵循代码,并查看SHA消息计划。

正如您在SHA中所知道的,在每一轮中,都有一个循环常数k[i]和一个消息调度数组w[i], 0 ≤ i ≤ 63中的条目。因此,打开sha.cpp,您将看到w变量,这就是您需要调试的内容。另外,我必须告诉您,SHA代码和Crypto++的许多部分都是用assembly编写的,所以您正在调试或读取代码并不重要,它是在程序集中编写的。所以你可以取消评论

代码语言:javascript
复制
"// smaller but slower"

在sha.cpp中使用C++代码,而不是使用汇编代码,或者只需使用另一个库即可轻松调试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21458041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档