对称私有信息检索与密钥协商协议详解
迭代比特 SPIR 方案
该方案基于基本方案的思想进行改进,成功降低了通信复杂度。其核心在于允许数据库进行递归计算,且仅需一轮通信,同时保障数据库和用户的安全。
查询生成步骤
- 用户生成两个 $K^2$ 比特的素数 $p$ 和 $q$,满足 $p, q \equiv 3 \mod 4$,并计算 $N = pq$。
- 用户计算 $t$,使得 $t^{L + 1} = n$,其中 $L$ 为数据库计算的递归深度,选择 $L$ 的值以最小化通信复杂度。
- 用户生成一系列索引对 $(a_j, b_j)$,通过循环
for j ← 1 to L - 1执行{(a_{j + 1}, b_{j + 1}) = getIndex(a_j, t)}。这些索引对对应数据库计算第 $j$ 轮中矩阵里相关比特的行和列索引。同时定义 $s_j = \frac{n}{t^j}$ 且 $t_j = t$($1 \leq j \leq L$),$(s_j, t_j)$ 为第 $j$ 轮数据库计算中每个矩阵的行数和列数。 - 用户生成一个 $L \times t$ 的矩阵 $y$,对于 $1 \leq \sigma \leq L$,$1 \leq \beta \leq t$,当 $\beta = b_{\sigma}$ 时,$y(\sigma, \beta)$ 是一个非二次剩余(QNR),否则是二次剩余(QR)。显然,$y$ 的每一行恰好包含一个 QNR。
- 用户随机选择 $s_L$ 个数 $\gamma_1,
超级会员免费看
订阅专栏 解锁全文
156

被折叠的 条评论
为什么被折叠?



