Alex_McAvoy

想要成为渔夫的猎手

高效构造性系综的计算不可区分性

【基本问题】

根据计算不可区分性的定义,两个概率系综 $X=\{X_n\}_{n\in\mathbb N}$ 和 $Y=\{Y_n\}_{n\in\mathbb N}$ 被认为是计算不可区分的,是指任何高效算法都无法根据单个样本区分它们。

也就是说,区分器只能拿到一个样本 $X_n$ 或 $Y_n$,然后判断这个样本来自哪个分布。但是在很多密码学应用中,敌手往往不止看到一个样本,而是可能看到多个独立样本。

因此,一个自然的问题是:如果两个概率系综基于单个样本不可区分,那么它们基于多个样本是否仍然不可区分?

【基本定义】

重复采样下的不可区分性

设两个概率系综分别为 $X=\{X_n\}_{n\in\mathbb N}$ 和 $Y=\{Y_n\}_{n\in\mathbb N}$,如果对于任意概率多项式时间算法 $D$、任意两个正多项式 $\mathrm{poly}(\cdot)$ 和 $\mathrm{poly}’(\cdot)$,以及所有充分大的 $n$,都有:

则称 $X$ 和 $Y$ 是多项式时间采样下不可区分的(Indistinguishable by Polynomial-Time Sampling)

其中:

  • $X_n^{(1)},\ldots,X_n^{(\mathrm{poly}(n))}$ 和 $Y_n^{(1)},\ldots,Y_n^{(\mathrm{poly}(n))}$ 分别是 $\mathrm{poly}(n)$ 个相互独立的随机变量
  • 每个 $X_n^{(i)}$ 都与 $X_n$ 同分布,每个 $Y_n^{(i)}$ 都与 $Y_n$ 同分布
  • $\mathrm{poly}(n)$ 表示区分器拿到的样本个数,且样本个数只能是关于安全参数 $n$ 的多项式

直观来说,这个定义要求:即使区分器可以看到多项式多个独立样本,也无法有效区分这些样本全部来自 $X_n$,还是全部来自 $Y_n$

可高效构造的概率系综

如果存在一个概率多项式时间算法 $S$,使得对于每个 $n$,随机变量 $S(1^n)$ 和 $X_n$ 具有完全相同的分布,则概率系综:

称为多项式时间可构造的(Polynomial-Time Constructible)

也就是说,存在一个高效采样算法 $S$,输入安全参数 $1^n$,就能生成一个服从分布 $X_n$ 的样本,可记为:

其中,$\equiv$ 表示两个随机变量同分布。

可高效构造强调的是:不仅知道分布 $X_n$ 存在,而且能够在多项式时间内从这个分布中采样。

【计算不可区分性定理】

定理

Theorem:设 $X=\{X_n\}_{n\in\mathbb N}$ 和 $Y=\{Y_n\}_{n\in\mathbb N}$ 是两个多项式时间可构造的概率系综。如果 $X$ 和 $Y$ 在多项式时间内不可区分,即:

那么 $X$ 和 $Y$ 在重复采样下仍然不可区分。

等价表述

对于任意概率系综 $Z=\{Z_n\}_{n\in\mathbb N}$ 和任意多项式 $\mathrm{poly}(\cdot)$,定义 $Z$ 的 $\mathrm{poly}(\cdot)$-重乘积系综为:

其中,每个 $Z_n^{(i)}$ 都是 $Z_n$ 的独立拷贝。

则上述定理可等价表述为:

如果 $X\approx_c Y$,并且 $X,Y$ 都是多项式时间可构造的,那么对于任意多项式 $\mathrm{poly}(\cdot)$,$X$ 的 $\mathrm{poly}(\cdot)$-重乘积系综与 $Y$ 的 $\mathrm{poly}(\cdot)$-重乘积系综仍然计算不可区分。

对于上述定理,形式上有:

也就是说,对于任意多项式个独立样本,区分器仍然无法有效判断这些样本来自 $X_n$ 还是来自 $Y_n$。

定理证明

证明思路

在信息论意义下,上述定理类似结论是比较直接的:如果两个概率系综是统计接近的,那么它们的多项式重乘积系综仍然是统计接近的。

这是因为统计距离本身可以直接控制多个独立样本下的整体差异。但是,在计算不可区分性的情形中,证明不能直接依赖统计距离,因为两个分布可能在统计上相距很远。

该定理的证明采用反证法和归约思想。

要证明的是如果单个样本下 $X$ 和 $Y$ 不可区分,那么多个样本下 $X$ 和 $Y$ 也不可区分。

那么,假设多个样本下可以区分,即存在概率多项式时间算法 $D$,以及正多项式 $\mathrm{poly}(\cdot)$、$\mathrm{poly}’(\cdot)$,使得对于无穷多个 $n$,都有:

其中,$\Delta(n)$ 表示区分器 $D$ 在多样本实验中的区分优势,因为 $\Delta(n)$ 大于某个多项式倒数,所以它是不可忽略的。

因此,只需要利用这个多样本区分器 $D$,来构造另一个概率多项式时间区分器 $D’$,使得 $D’$ 只拿到一个样本,也能够区分 $X_n$ 和 $Y_n$。

如果这样的 $D’$ 存在,就与假设 $X\approx_c Y$ 矛盾。所以,多样本区分器 $D$ 不可能存在。

因此,整体归约逻辑是:如果能够区分多个样本,就能区分单个样本。而定理假设不能区分单个样本,因此可以推出不能区分多个样本。

混合分布

对于每个 $k=0,1,\ldots,\mathrm{poly}(n)$,定义混合随机变量 $H_n^k$ 为一个长度为 $\mathrm{poly}(n)$ 的样本序列:

其中,前 $k$ 个样本是 $X_n$ 的独立拷贝,后 $\mathrm{poly}(n)-k$ 个样本是 $Y_n$ 的独立拷贝,所有样本之间相互独立。

特别地,当 $k=0$ 时,全部样本都来自 $Y_n$,即:

当 $k=\mathrm{poly}(n)$ 时,全部样本都来自 $X_n$,即:

混合分布构造了一条从全 $Y$ 到全 $X$ 的路径:

其中,每相邻两个混合分布只相差一个位置:

也就是说,$H_n^k$ 与 $H_n^{k+1}$ 的区别只在第 $k+1$ 个位置:

  • $H_n^k$ 的第 $k+1$ 个位置是 $Y_n$
  • $H_n^{k+1}$ 的第 $k+1$ 个位置是 $X_n$

因此,如果一个算法能够明显区分两个极端分布 $H_n^0$ 和 $H_n^{\mathrm{poly}(n)}$,那么在这条混合链上,必然存在某一对相邻混合分布也能被明显区分。

单样本区分器

构造

考虑构造一个新的区分器 $D’$,其输入是一个单个样本 $\alpha$,这个样本可能来自 $X_n$,也可能来自 $Y_n$。

算法 $D’$ 的目标是判断 $\alpha$ 来自 $X_n$ 还是来自 $Y_n$。

具体过程如下:

(1)随机均匀选择一个位置: $k\in\{0,1,\ldots,\mathrm{poly}(n)-1\}$

(2)使用 $X$ 的高效采样算法,生成 $k$ 个独立样本 $x_1,\ldots,x_k$

(3)使用 $Y$ 的高效采样算法,生成 $\mathrm{poly}(n)-k-1$ 个独立样本 $y_{k+2},\ldots,y_{\mathrm{poly}(n)}$

(4)将输入样本 $\alpha$ 放在第 $k+1$ 个位置,组成长度为 $\mathrm{poly}(n)$ 的序列

(5)调用原来的多样本区分器 $D$,并输出:

区分器 $D’$ 的运行过程包括:

  • 随机选择 $k$
  • 生成多项式个 $X_n$ 样本
  • 生成多项式个 $Y_n$ 样本
  • 运行一次概率多项式时间算法 $D$

由于 $\mathrm{poly}(n)$ 是多项式,$X$ 和 $Y$ 都是多项式时间可构造的,$D$ 是概率多项式时间算法,所以 $D’$ 也是概率多项式时间算法。

区分优势

断言一

Claim:单样本区分器 $D’$ 的输入来自 $X_n$ 时的接受概率为:

证明:如果输入 $\alpha$ 来自 $X_n$,那么 $D’$ 构造出的序列为:

其中,前 $k$ 个样本来自 $X_n$,第 $k+1$ 个样本 $\alpha$ 也来自 $X_n$,后 $\mathrm{poly}(n)-k-1$ 个样本来自 $Y_n$。

因此,整个序列服从混合分布 $H_n^{k+1}$,而 $k$ 是从 $\{0,\ldots,\mathrm{poly}(n)-1\}$ 中均匀选取的,那么根据混合分布的定义,断言得证。

断言二

Claim:单样本区分器 $D’$ 的输入来自 $Y_n$ 时的接受概率为:

证明:如果输入 $\alpha$ 来自 $Y_n$,那么 $D’$ 构造出的序列为:

其中,前 $k$ 个样本来自 $X_n$,第 $k+1$ 个样本 $\alpha$ 来自 $Y_n$,后 $\mathrm{poly}(n)-k-1$ 个样本来自 $Y_n$。

因此,这整个序列服从混合分布 $H_n^k$,而 $k$ 是从 $\{0,\ldots,\mathrm{poly}(n)-1\}$ 中均匀选取的,那么根据混合分布的定义,断言得证。

断言三

Claim:单样本区分器 $D’$ 的区分优势为:

证明:

单样本区分器 $D’$ 的区分优势为:

将断言一与断言二的接受概率带入,有:

显然,内部求和项为中间项可相互抵消的望远镜级数,故有:

又因为 $H_n^{\mathrm{poly}(n)}=(X_n^{(1)},\ldots,X_n^{(\mathrm{poly}(n))})$,$H_n^0=(Y_n^{(1)},\ldots,Y_n^{(\mathrm{poly}(n))})$,因此有:

即:

断言得证。

矛盾推出

根据反设,存在一个多样本区分器 $D$,以及两个正多项式 $\mathrm{poly}(\cdot)$ 和 $\mathrm{poly}’(\cdot)$,使得对于无穷多个 $n$,都有:

对不等式两边同时除以 $\mathrm{poly}(n)$,有:

由断言三可知,单样本区分器 $D’$ 的区分优势为 $\frac{\Delta(n)}{\mathrm{poly}(n)}$,即对于无穷多个 $n$,有:

由于 $\mathrm{poly}(n)$ 和 $\mathrm{poly}’(n)$ 都是正多项式,所以 $\mathrm{poly}(n)\mathrm{poly}’(n)$ 仍然是正多项式,因此 $\frac{1}{\mathrm{poly}(n)\mathrm{poly}’(n)}$ 是某个正多项式的倒数,这意味着 $D’$ 的区分优势是不可忽略的。

这说明 $D’$ 能够以不可忽略的优势区分单个样本 $X_n$ 和 $Y_n$,但 $D’$ 是概率多项式时间算法,这与定理假设 $X\approx_c Y$ 矛盾。

所以,原来的多样本区分器 $D$ 不可能存在。因此,$X$ 和 $Y$ 在重复采样下仍然计算不可区分,定理得证。

【混合技术】

混合技术(Hybrid Technique)是一种特殊的归约论证方法,它通常用于证明:由简单概率系综构造出的复杂概率系综仍然计算不可区分。

使用混合技术需要满足三个关键条件:

  1. 两端混合分布等于目标复杂分布:混合链的两个端点必须正好是要证明不可区分的两个复杂分布
  2. 相邻混合分布能还原到基本分布:每一对相邻混合分布只在一个位置上不同
  3. 混合分布数量必须是多项式个:如果混合分布数量是指数级,那么这个区分优势可能被摊薄成可忽略量

在上述定理证明中,就用到了混合技术这种方法。具体来说,基本概率系综是 $X$ 和 $Y$,复杂概率系综是 $\mathrm{poly}(n)$ 个独立样本组成的乘积系综,要证明的是如果单个 $X_n$ 和 $Y_n$ 不可区分,那么多个独立样本也不可区分。

混合技术的做法是在两个复杂分布之间插入一系列中间分布:

其中,$H_n^0$ 是全 $Y$ 分布,$H_n^{\mathrm{poly}(n)}$ 是全 $X$ 分布,相邻两个混合分布只相差一个位置。

如果存在算法能区分首尾两个分布,那么必然可以从某种意义上找到一对相邻分布存在可利用的差异。

感谢您对我的支持,让我继续努力分享有用的技术与知识点!