在密码学中,有三种常见的模型用于证明密码系统的安全性,分别是随机预言机模型、标准模型和无预言机模型。
在密码学里面,随机预言机(英语:Random oracle)是一部预言机(简单说像是理论的黑箱),对任何输入都回传一个真正均匀随机的输出(请参考离散型均匀分布),不过对相同的输入,该预言机每次都会用同一方法输出。换句话说,随机预言机是一个将所有可能输入与输出作随机映射的函数。
随机预言机模型是一种理想化的模型,其中哈希函数被视为完美的伪随机函数。在这个模型中,预言机会对任何输入返回一个真正均匀随机的输出。随机预言机模型通常用于证明需要对哈希函数的输出进行强随机性假设的方案的安全性。通过控制预言机,可以在提供真实的攻击环境下利用攻击者的能力来求解数学难题。这种证明模型称为随机预言机模型(ROM)[1]。
标准模型是指在密码系统的分析中,不做任何关于哈希函数的假设。在标准模型下,系统的安全性是在现实世界中的攻击者无法破解密码系统的前提下进行证明的。标准模型下的证明通常更加严格和保守,因为它不依赖于任何特定的假设[3]。
无预言机模型是一种介于随机预言机模型和标准模型之间的模型。在这个模型中,哈希函数被视为具有一定的随机性,但不是完美的伪随机函数。无预言机模型通常用于证明在较弱的假设下,系统仍然是安全的。这种模型可以提供一定程度的安全性证明,但不如随机预言机模型那样严格[2]。
综上所述,密码学中的随机预言机模型、标准模型和无预言机模型是用于证明密码系统安全性的不同方法和模型。每种模型都有其适用的场景和优势,选择合适的模型取决于具体的密码系统和安全需求。