结构化加密与受控披露:从基础结构到复杂查询的解决方案
1. 安全定义与基本概念
在结构化加密的领域中,对于一个加密方案Σ,如果对于所有概率多项式时间(PPT)的敌手A,都存在一个PPT模拟器S,使得$|Pr [ Real_{\Sigma,A}(k) = 1 ] - Pr [ Ideal_{\Sigma,A,S}(k) = 1 ]| \leq negl(k)$,那么我们称Σ针对自适应选择查询攻击是$(L_1, L_2)$ - 安全的。这里的$L_2$泄漏主要包括查询模式和交集模式。查询模式揭示了查询何时重复,而交集模式揭示了何时访问相同的项目,但不透露具体是哪些项目(即它们在数据序列m中的位置),通过对m中项目位置应用随机置换来隐藏这一信息。
查询和交集模式的定义如下:
- 查询模式 :设q是一个非空的查询序列,对于任意$q_t \in q$,查询模式$qp(q_t)$是一个长度为t的二进制向量,若$q_t = q_i$,则第i个位置为1,否则为0。
- 交集模式 :交集模式$ip(q_t)$是一个长度为t的序列,在位置t处为$f[I]$,其中f是对$[n]$的一个固定随机置换,$I := Query(\delta, q_t)$。
2. 基本结构的结构化加密方案
2.1 矩阵的查找查询
矩阵结构化数据是常见的二维数据,如数字图像。对于矩阵结构化数据,我们有一个由$\lambda_1 \times \lambda_2$矩阵M组成的加密方案,M指向一个包含n个数据项的序列m。该矩阵类型的全域$U = [n]^{\lambda_1 \times