PEAKS的具体构造
该方案基于DBDH假设和mDLIN假设,并利用双线性配对e: G1 × G1→GT,以及抗碰撞哈希函数H:{0,1}∗→G1。
1.DBDH假设
2.mDLIN假设假设
对于任意概率多项式时间算法A,下列条件成立:|Pr[A(g, gx, gy, gxr, gs/y, gr+s) = 1]−Pr[A(g, gx, gy, gxr, gs/y, gz) = 1]|≤negl(λ),其中概率取为g∈G1, x, y, z,r, s∈Zp的随机选择和A投掷的随机硬币。
3.双线性配对
双线性配对是一种在密码学中常用的数学运算,通常表示为e(g, h),其中g和h分别属于群G1。它的输出结果是一个群GT中的元素。
具体来说,双线性配对函数e满足以下性质:
- 双线性性质:对于任意的g1、g2属于G1和s、t属于Z(整数集合),有以下等式成立:e(g1^s, g2^t) = e(g1, g2)^(st),其中"^"表示群元素的指数幂操作,""表示整数的乘法操作,"="表示相等。
- 非退化性:对于生成元g1、g2属于G1,如果e(g1, g2)不等于单位元素,则称配对非退化。
4.抗碰撞哈希函数
抗碰撞哈希函数是指具有以下属性的哈希函数:
- 抗碰撞性:对于任意不同的输入x和y,函数H(x) = H(y)的概率非常低,也就是说,很难找到两个不同的输入产生相同的哈希值。
- 单向性:给定哈希值H(x),很难找到对应的输入x。
- 高效性:计算哈希函数的过程应该是高效的。
Hash Oracle
Hash Oracle(哈希预言机)是密码学中的一个概念,它是一个用于提供哈希函数值的实体或服务。预言机是密码学协议中的一个重要组件,用于提供外部信息或功能,以帮助协议的执行。
在密码学协议中,预言机通常被用来模拟具有随机性和不可预测性的理想功能,例如哈希函数。Hash Oracle是一个特定类型的预言机,它提供对哈希函数的查询和响应。
Hash Oracle的作用是接收输入数据,并返回与该输入数据相关的哈希函数的输出值。它可以用于验证哈希函数的性质,如抗碰撞性或隐藏性质。在密码学协议中,Hash Oracle通常由一个可信的第三方提供,以确保哈希函数的正确性和安全性。
Trapdoor Oracle
Trapdoor Oracle(陷门预言机)是密码学中的一个概念,它是一个用于提供陷门函数(Trapdoor Function)的实体或服务。陷门函数是一种具有特殊属性的数学函数,它能够在给定一个公共参数和一个特定的陷门(trapdoor)的情况下,实现高效的计算逆函数的能力。
在密码学中,陷门函数通常用于构建各种加密方案和数字签名方案。陷门函数的安全性基于一个重要的假设,即在没有陷门的情况下,计算逆函数是困难的(例如,计算离散对数或RSA的私钥)。陷门函数的设计和使用需要非常小心,以确保陷门的机密性、合法性和安全性。
Trapdoor Oracle的作用是接收输入数据,并使用事先生成的陷门函数和陷门,执行逆函数计算并返回结果。它在密码学协议和方案中起到重要的作用,例如,用于生成加密密钥对或验证数字签名。
Ciphertext Oracle
Ciphertext Oracle(密文预言机)是密码学中的一个概念,它是一个提供加密操作的实体或服务。密文预言机允许用户将明文消息转换为密文,以保护消息的机密性。
在密码学中,密文预言机通常用于构建各种加密方案和隐私保护协议。它可以接收明文消息作为输入,并使用特定的加密算法和密钥,将明文转换为对应的密文。密文预言机的设计和实现需要考虑加密算法的安全性、保密性和性能。
密文预言机的作用是将明文消息转换为密文,并返回相应的密文结果。它可以用于各种密码学操作,例如加密通信、数据保护、数字签名以及其他与密文相关的计算和处理。
本方案实验得出创新优化结果
(优化关键字搜索)。我们的PAEKS方案具有一个特性,即陷阱门的生成是确定的,并且相对于指定的发送方和接收方是有效的。服务器能够预处理发送方和接收方之间共享的所有关键字密文,即计算每个密文的T↑= e↑(C1, PkR)/e↑(C2, g),然后对加密关键字的搜索变得非常快,因为服务器可以简单地将从数据接收方接收的trapdoor Tw与每个T↑进行比较,并返回与匹配的加密关键字相关的文件。
本篇论文总结
本文提出了另一种利用关键字搜索抵御公钥加密内部关键字猜测攻击的方法。我们引入了公钥身份验证加密的概念,它与PEKS的主要区别在于,我们现在要求数据发送方在加密数据时使用其密钥对数据进行身份验证。服务器将无法代表发送方和接收方对自己选择的随机关键字进行再次加密,因此无法发动内部关键字猜测攻击。给出了PAEKS的具体构造,并在合理的假设下证明了它在随机oracle模型下的语义安全。该方案具有与Boneh等人的PEKS方案几乎相同的计算效率。
我们的PAEKS构建依赖于新近提出的mDLIN假设。在未来的工作中,我们考虑基于标准和公认的假设(即DLIN)构建PAEKS方案。此外,我们方案的安全性需要随机oracle模型,当随机oracle被现实生活中的哈希函数取代时,该模型可能不会保留。因此,在标准模型中构造方案是有意义的。此外,我们的方案考虑单个关键字。如何构建支持多关键字的PAEKS方案也是一个有趣的问题。
An efficient public-key searchable encryption scheme secure against inside keyword guessing attacks(论文结构内容)
- 简单介绍论文工作
- 初步工作,相关基础知识
- 回顾了BDOP-PEKS方案,并展示了其在内部关键字猜测攻击下的安全弱点
- 定义了PAEKS的新概念,并给出了它的安全模型
- 提出了PAEKS的具体构造,并证明了其在随机oracle模型中的安全性
- 将本文方案与Boneh等人的方案进行了比较,并给出了实验结果
- 论文总结