加密与混淆技术:从近似到精确的探索
1. 从近似不可区分混淆(IO)到近似功能加密(FE)
1.1 功能加密的转换
从近似 IO 获得近似 FE 的起点是一种特定的转换方法。在这个转换中,每个加密由三部分组成:$(e_0, e_1, \pi)$。其中,$e_0$ 和 $e_1$ 是使用两个独立的普通(精确)公钥加密方案对消息 $M$ 进行加密的结果,而 $\pi$ 是一个证明,用于证明 $(e_0, e_1)$ 是符合要求的,使用的是具有统计模拟可靠性的(精确)非交互式零知识证明(NIZK)。
对于一个函数 $f$ 的功能密钥,是对一个电路 $C_{SK_0,CRS}$ 进行混淆的结果。当给定 $(e_0, e_1, \pi)$ 时,该电路会执行以下操作:
1. 验证 $\pi$ 相对于硬编码的公共参考字符串(CRS)的正确性。
2. 如果证明通过,使用硬编码的私钥 $SK_0$ 对 $e_0$ 进行解密,得到消息 $M$。
3. 输出 $f(M)$。
如果在这个转换中,将精确 IO 替换为近似 IO(同时仍然使用精确的 PKE 和 NIZK),那么得到的 FE 方案将是近似正确的。具体来说,为了得到对于消息采样器 $X$ 具有 $\alpha$ 正确性的 FE,我们需要从对于输入采样器 $X’$ 具有 $\alpha$ 正确性的 IO 开始,其中 $X’$ 采样的是从 $X$ 中随机选取的消息 $M$ 的 FE 加密 $(e_0, e_1, \pi)$。
1.2 (几乎)精确的公钥加密(PKE)
为了获得(几乎)精确的 PKE,我们从基于精确 IO 和单向函数的 Sahai 和 W
超级会员免费看
订阅专栏 解锁全文
526

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



