随机预言机的强大力量:从理论到应用
1. 随机预言机的引入
在密码学中,对手可能会找到大幅加速哈希函数评估的方法,这给安全方案的设计带来了挑战。随机预言机模型为我们提供了一种解决困境的途径,它允许我们观察对手计算的某些方面,特别是对手对随机预言机的查询。通过分析这些查询,我们不仅可以讨论对手需要进行的查询数量,还能构思巧妙的归约方法。
2. 观察式归约:基于随机预言机的公钥加密
2.1 随机预言机是任意单向函数的硬核函数
在公钥加密方案的通用构造中,我们通常使用陷门函数 (T) 和针对 (T) 的硬核函数 (HC)。然而,构造合适的陷门函数和硬核函数是非常困难的。随机预言机可以作为通用的硬核函数,即对于任何不调用随机预言机的单向函数 (F),随机预言机 (RO) 都是 (F) 的硬核函数。
命题 9.4 :设 (F) 是一个单向函数,(RO) 是一个随机预言机。如果函数 (F) 不调用 (RO),则随机预言机 (RO) 是 (F) 的硬核函数。
为了证明这个命题,我们构造一个归约 (B) 来利用对手 (A) 对随机预言机的查询。具体步骤如下:
1. 生成一个随机值 (r \in {0, 1}^{RO.ol(\lambda)}),并将其作为输入调用对手 (A)。
2. 模拟随机预言机:每当 (A) 发送一个查询 (q) 时,采样一个随机值 (s \in {0, 1}^{RO.ol(\lambda)}),将 (q) 添加到集合 (Q) 中,并将 (s) 返回给 (A)。
3. 检查集合 (Q) 中是否存在查询 (q) 使得 (F.Eval(fk, q
超级会员免费看
订阅专栏 解锁全文
1万+

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



