“验证者检查 $g^z=aY^e$。在经典随机预言机模型中,Pointcheval–Stern 的 forking lemma 路线可把对该精确 Schnorr 签名接口的 EUF CMA 伪…”
形式陈述 ​
在安全参数
常见设置取
无需在实验开始时真的抽取一张指数大甚至无限的函数表。等价的 lazy sampling 过程维护表
ROM 中的安全性仍以参数化游戏定义。若两个游戏都向对手开放同一个随机预言机,可写
概率包含
证明有时允许模拟器 programming oracle,即选择某个输入
直觉 ​
随机预言机像一本所有人可查、尚未写完的随机字典:第一次查一个词时现场掷出随机释义并永久写下,以后任何人再查都看到同一结果。它理想化的不是“输出看起来杂乱”,而是对不同新输入给出独立均匀值,同时保留函数必须具备的一致性。
这种理想接口让证明能够把哈希输出当作新挑战或随机标签,并追踪攻击者是否曾问到某个关键输入。现实哈希则是一段公开、固定且结构化的代码;把它用于协议是实例化选择,不会把 ROM 里的随机函数真的实现出来。
例子与边界 ​
Fiat–Shamir 变换把三步公开币协议的挑战写成
一个错误实现是每次收到
Oracle programming 也不能被描述成“仍然完全独立随机”。若对手已查询
ROM 证明不是标准模型定理,也不是“换成任意安全哈希即可”的保证。存在专门构造的方案在随机预言机下可证安全,却在任何具体函数族实例化时都不安全。实践中选用 SHA-2、SHA-3 等标准哈希可形成有价值的设计证据,但其可信度来自 ROM 分析、具体哈希分析、域分离和协议审查的组合,而非逻辑上的自动蕴含。
推论与应用 ​
随机预言机模型广泛用于 Fiat–Shamir 签名、全域哈希 RSA、OAEP 类加密、密钥派生与非交互证明的安全分析。它让证明者以统一方式管理挑战生成、查询命中与模拟器编程,也使归约损失能够按查询数和坏事件概率明确记账。
ROM 必须与密码哈希函数的现实性质分层:抗碰撞、抗原像是具体函数族在特定游戏中的计算假设,随机预言机则给出理想函数的完整查询分布。类似地,伪随机函数需要秘密密钥并只对高效查询者模拟随机函数;公开随机预言机对所有参与者可查询,安全实验中的观察者却仍通常受多项式资源限制。
参考资料
- Mihir Bellare and Phillip Rogaway, “Random Oracles are Practical: A Paradigm for Designing Efficient Protocols,” CCS 1993。
- Ran Canetti, Oded Goldreich, and Shai Halevi, “The Random Oracle Methodology, Revisited,” STOC 1998; JACM 51(4), 2004。
- Dan Boneh and Victor Shoup, A Graduate Course in Applied Cryptography, version 0.6, 2023,random-oracle proofs and programmable oracles。