23、隐藏大小的私有集合交集与安全比较协议

隐藏大小的私有集合交集与安全比较协议

1. 降低客户端复杂度

在计算 Kc:i 时,若采用朴素的计算方法会导致 $O(v^2)$ 次指数运算。不过,通过动态规划可以将其降低到 $O(v log(v))$。其原理在于,对于任意的 (i, j),Kc:i 和 Kc:j 仅相差一个指数,因为 $PCH_i = \prod_{l=1,l\neq i}^v h_{cl}$,而 $PCH_j = \prod_{l=1,l\neq j}^v h_{cl}$。

定义 $Z’ = ZR_c$,以及 $i:j = Z’[\prod_{l\notin [i,j]} h_{cl}] \mod N$。可以用树结构来解释这一技术,树的叶子节点包含 $K_{c:i}$ 的值($1 \leq i \leq v$),例如 $i = Z’[\prod_{l\neq i} h_{cl}] \mod N = ZR_c\cdot PCH_i \mod N = K_{c:i}$。

从值为 $i:j$ 的节点可以按以下方式得到子节点 $i:h$ 和 $h + 1:j$:
- $i:h = (i:j)^{(\prod_{l=h + 1}^j h_{cl})} (\mod N)$
- $h + 1:j = (i:j)^{(\prod_{l=i}^h h_{cl})} (\mod N)$

当 $h = i + (j - i + 1)/2$ 时,每个操作恰好涉及 $(j - i + 1)/2$ 次指数运算。在第 0 层有 $v$ 个值,每个值通过一次指数运算从第 1 层的父节点得到;在第 1 层有 $v/2$ 个值,每个值通过 2 次指数运算从第 2 层的节点得到。一般来说,在第 $i$ 层有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值