1、如果将哈希函数用作承诺方案,能否判断它是否提供隐藏性和绑定性?
哈希函数由于具备抗前像属性而具有隐藏性,即输入足够随机时,无人能猜出。为确保输入随机,可生成一个随机数并与输入一起进行哈希处理,之后揭示输入和随机数来开启承诺。哈希函数由于具备抗第二前像属性而具有绑定性。
2、你能猜到“恐怖海盗罗伯茨”(丝绸之路网站站长的化名)是如何获得包含该网站名称的哈希值的吗?
“恐怖海盗罗伯茨”生成了大量密钥,直到其中一个密钥的哈希值呈现出那个很酷的 base32 表示形式。这种方式被称为 虚荣地址 ,例如 Facebook 也采用类似做法,可通过 facebookcore-wwwi.onion 访问。
3、你能想出可变长度计数器可能会如何让攻击者伪造认证标签吗?
通过观察消息
MAC(k, "1" || "1 is my favorite number") ,
攻击者可以伪造第十一条消息
MAC(k, "11" || " is my favorite number")
的有效认证标签。
此外,在存在可变长度计数器的场景下,由于计数器长度可变可能导致模糊性攻击,如两个用户使用不同密钥但可能因计数器长度变化出现混淆。例如在消息重放场景中,若计数器可变长,攻击者可能利用这种不确定性来伪造认证标签。
4、注意:并非所有MAC都是PRF。你能看出为什么吗?
下面是给定的【文本内容】:
假设函数 MAC(key, input) 是有效的 MAC 和 PRF,那么函数
NEW_MAC = MAC(key, input) || 0x01
是有效的 MAC,因为它能防止伪造;但不是有效的 PRF,因为可以轻易将其输出与完全随机的字符串区分开来(最后一个字节总是被设置为 0x01 )。 </

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



