内积断言加密简介
IPPE是一种SSE方案使用的加密工具。在IPPE中,明文x∈Σ,预测(映射)f∈F是向量Σ=F=ZsN 。我们说如果一个明文x满足一个预测f,表示为f(x)=1,其中<x,f>=0(说明x是函数f的一个根),<>表示为内积
组成
一个用于属性集Σ上的断言F的IPPE方案由以下概率多项式时间算法组成。
- Setup(1λ):以一个安全参数λ作为输入,并输出一个密钥sk。
- Encrypt(sk, x):以一个密钥sk和一个明文x∈Σ作为输入,并输出一个密文ctx。
- GenToken(sk, f):以一个密钥sk和f∈F的断言作为输入,并输出一个搜索令牌stf。
- Query(stf , ctx):将断言f的令牌stf 以及密文 ctx 作为输入,输出f(x)∈{0、1}。
正确性要求
使用范例
一个IPPE可以用来安全的计算多项式,设~α=(a0,a1,……,ad)是一个为d维的多项式P的系数。
那么多项式可以表示为P(x) = 是∑di=0 ai * xi = < ~α, ~β>其中 β~ = (x0, x1, . . . , xd)。
因此在P(x)=0的情况下可被验证:
安全性验证
- Setup:挑战者运行IPPE.Setup(1λ),保持sk到自己,并随机选择一个比特b。
- Queries:
-
Ciphertext query.
-
Token query.
-
Guess:
-
在这里攻击者A的优势体现在下图(即有超过1/2的概率能猜对)
IPPE的完全安全的,那么当且仅当对于任何概率多项式对手A,A在λ中赢得上述博弈的优势可以忽略不计。
-