问题描述
我正在进行CTF挑战,您必须尝试找出用于HMAC的密钥,并给出两个示例字符串及其哈希值(512位),并提示使用40之间的数字和50.您可以对HMAC进行什么样的攻击,并且有可能恢复密钥?
解决方法
如果HMAC使用的哈希函数在密码上是安全的,那么解决此问题的唯一方法是蛮力地使用密钥。散列是一种单向函数,可以轻松应用散列,但很难做到相反。由于搜索空间是不确定的,因此在一般情况下这是不可行的,但是您似乎对该键有一个提示。
也许应该将其视为文字提示,并且编写一个以"40"
键开头的循环,并迭代到"50"
,然后检查示例字符串是否与以下任何一个匹配哈希。如果找到匹配项,则检查其他配对是否也导致使用相同密钥的匹配项。