声明
:此文章主要内容来源于Yamakawa, Zhandry的突破性论文Verifiable Quantum Advantages without Structure的解读。
在弱结构假设下证明量子优势:一种于经典环境下公开可验证的量子性证明算法
背景
本文的目的是介绍一种能通过给定算法建立超多项式量子优势的算法。在此先阐述其研究背景。大多数情况下,我们考虑到目前已被证明的量子优势,如代表性的Shor算法解决离散对数问题等,此类优势建立在【强力的假设】上,这些假设的证明难度很高,甚至可能比证明还要困难。量子计算的优势并不适用于所有NP问题,特别是那些NP完全问题。NP完全问题是指所有NP问题都可以归约为该问题,因此解决任何一个NP完全问题就可以解决所有NP问题。那些被证明具有量子优势的NP问题通常具有特殊的代数结构,例如某些分解或代数运算问题,但这些问题不代表整个NP类。需要的假设非常强,例如假设量子算法可以高效解决问题,而经典算法永远无法高效解决。这种假设远比经典的NP≠P假设复杂。在经典计算中,P≠NP是一个核心假设,即存在某些问题在多项式时间内无法由经典计算机解决。对于量子计算,需要更多的假设。例如,假设某些NP问题具有代数结构可以被量子算法高效利用,同时经典算法无法利用这些结构。量子假设不仅更强,还涉及更多的数学复杂性。
Minicrypt是密码学中的一个子领域,专注于基于对称加密和哈希函数等基本工具的密码系统。它通常缺乏复杂的代数结构,例如某些椭圆曲线或整数分解问题的数学属性。量子计算的典型超多项式加速(如Shor算法)依赖于问题的特定代数结构。如果这种结构不存在,量子加速就难以实现。因此,作者希望能够在没有这种复杂性数学结构的环境下,尝试证明量子优势,而非利用已知的Shor类问题,基于强假设的前提下证明,如果能够成功证明,则能够进一步证明量子优势在弱假设或者无结构环境下的实现可能性。
作者提出一种基于随机预言机模型的NP搜索问题,该问题可以通过量子计算有效解决,但经典计算无法解决。Oracle模型是一种理论工具,假设算法可以查询一个“黑盒”,而不需要了解其内部机制。即使问题没有明显的代数结构(“无结构”),量子算法仍可以通过干涉和叠加实现加速。例如,Grover算法在无特定结构的问题中提供了二次加速。这一点表明,量子计算在某些环境下可以实现理论上的无条件优势,但在现实中的应用仍然有限。之前关于量子计算在非相对化NP问题上显示的优势可以被解读为一种否定性结论。这一结论表明,在某些非相对化NP问题上,量子计算可能并没有显著优势,这暗示量子优势可能局限于某些特定的计算模型和问题。 这一点旨在研究量子计算在复杂问题求解中的能力,特别是在经典计算机无法高效处理的情况下。量子计算机利用叠加和干涉等量子特性,可以显著提升某些算法的计算效率。例如,Shor算法能够在多项式时间内分解整数,而经典算法只能在指数时间完成。这里提到的NP搜索问题是在随机预言机模型下,探索量子计算如何在某些问题上提供超越经典计算的能力。 此外,分析这种量子优势可能对经典密码学工具产生的影响,例如单向函数和抗碰撞哈希函数。
作者打算构建量子性的证明(Constructing Proofs of Quantumness),设计一种非交互、公开验证的量子性证明协议,无条件地验证计算设备的量子特性。目的是验证一个设备是否真正具有量子计算能力,而无需直接观察其内部工作。这对于量子计算服务提供商和用户之间的信任建立至关重要。非交互性和公开验证的特点使得这一协议能够在无需额外信息交互的情况下,通过一组公开可验证的结果来证明设备的量子特性。这在量子云计算中尤其重要,可以保证用户的计算请求由真实的量子计算设备处理,而不是模拟器或传统计算机。同时探索量子密码学与经典密码学之间的边界,研究并构建在经典环境下安全但在量子环境下可能被破解的密码学原语,例如单向函数和数字签名。此部分研究的重点是探索哪些密码学原语可以抵抗量子攻击,哪些原语在量子环境下可能被攻破。
该研究的动机反映了量子计算对传统密码学的潜在颠覆性影响,以及开发新工具和协议以应对这一挑战的紧迫性。这些方向不仅推动了量子计算与密码学的交叉研究,还为未来的信息安全提供了理论支持与实践方案。
总结关键性突破
在非结构化假设下的首次“量子性证明”
提出了一种基于随机函数的非交互量子性证明协议,为对抗经典攻击者提供无条件安全性。在诸如随机Oracle等较弱假设下实现,这是该领域的首次突破。量子性证明是用来验证一个设备是否真正具有量子能力的重要工具。在这里,通过随机函数构建的协议,不依赖于复杂的数学结构(如代数几何或格结构),降低了实际实现的难度。这种方法特别适用于无法依赖强假设的场景,例如在随机环境中确保设备的量子特性。这不仅提升了验证的灵活性,也为实际应用提供了更强的理论支持。
构造非对称密码学原语(量子优势)
提出了一种随机函数 f C O f_C^O fCO,它对经典算法是单向的,但可以被量子算法高效逆转。开发了一些对量子算法可破坏但对经典算法安全的密码学原语,例如单向函数、抗碰撞哈希函数和数字签名。单向函数是现代密码学的基础,它在经典算法下具有难解性。但量子计算可以高效破解某些传统单向函数。这里提出的随机函数模型通过定义一种在经典计算中难以破解的结构,同时让量子计算可以高效求解,进一步揭示了量子计算与经典计算在密码学上的边界。
量子随机数生成机制(知识空白:可验证方法)
提供了一种可验证的量子随机数生成协议,允许经典验证者利用量子设备高效生成高熵随机数。随机数生成是密码学和许多算法的关键基础。传统随机数生成器可能由于算法预测性或硬件缺陷而不可靠。量子设备利用量子叠加和测量的不可预测性,能够生成真正的随机数。然而,在实际应用中,如何验证量子设备的输出随机性是一个挑战。提出的协议允许经典验证者无需完全信任量子设备,仅通过观察其输出和行为即可验证其随机性。这为在不可信环境下使用量子设备奠定了基础。
经典与量子计算之间的计算边界
分析经典与量子计算之间的计算边界,包括在单向性、抗碰撞性和公钥密码学原语上的分离性证明。经典计算和量子计算在计算能力上的差异是当前研究的热点之一。量子计算的叠加、干涉等特性使其在某些问题上表现出显著优势,但这种优势并非普遍适用。此研究通过探讨经典与量子在单向性(如密码函数的逆向计算)、抗碰撞性(如哈希函数的碰撞查找)和公钥密码(如RSA或ECDSA)等领域的表现,进一步明确了两者的能力界限。这有助于开发更加安全的密码协议,并为量子安全密码学奠定理论基础。
基础知识
Oracle(预言机/神谕函数)
随机预言机(Random Oracle)是与随机无限长度比特串相关联的假设装置,用于为算法提供查询服务。以下是不同情况下的随机预言机交互模式:
- 预言机无关(Oracle-independent):算法 𝐴 独立于随机预言机 𝐻 运行。尽管 𝐴 可以执行无限计算,但对 𝐻 的查询限制为多项式次数。
- 统一预言机依赖(Uniform oracle-dependent):在这种情况下,首先选择 𝐻,然后基于 𝐻 提供一个有限的字符串 𝑎 作为建议给 𝐴。同时,𝐴 对
𝐻 的查询次数限制为多项式次数。 - 非统一预言机依赖(Non-uniform oracle-dependent):在选择𝐻 后,对于每个输入长度 𝑛,根据 𝐻 提供一个多项式长度的字符串 𝑎𝑛 作为建议给 𝐴。此时,𝐴 对 𝐻 的查询仍限制为多项式次数。
在不同依赖模式下,算法对预言机的依赖程度和形式不同。统一模式中,算法基于单一规则处理输入,而非统一模式允许针对特定输入长度进行定制优化,因此更具灵活性和复杂性。因此基于上述三种情况,也有三种对手(adversary)。三类对手的共同点是只能对预言机进行最多为多项式次数的查询且均具备无穷算力。
- 预言机无关对手只能够“拼运气”,因为它并不能够对预言机有任何影响,只能够寄希望于在指定次数耗尽之前得出正确解。预言机无关对手的成功概率可以用查询次数与解空间大小的关系来量化,成功的概率通常会随着查询次数增加而提高,但受限于解空间的规模。
- 统一预言机依赖对手,能够对预言机有一定的操作性,从而增大有限次数内得到正确解的概率。统一依赖对手的能力仍然是受限的,因为 𝑎 的长度是多项式的,不能完整描述预言机 𝐻 的行为。这使得统一对手相对于预言机无关对手有一定优势,但远不如非统一对手灵活。
- 非统一依赖对手,可以针对每个输入长度 𝑛 获得一个定制的建议字符串 𝑎𝑛,其长度是多项式的。这个建议由 𝐻 确定,并提供给对手作为额外的辅助信息。非统一对手能够为特定问题设计高度优化的查询策略,因此大幅提升找到正确解的概率。这种能力使非统一对手在理论上是三类对手中最强的一类。
算法概念简述
核心思想是使用错误纠正码 𝐶 和均匀随机函数 𝑂 构造一个函数 f C O f_C^O fCO(O在本文中以是Random Oracle,SHA-2实现;而C是满足条件的Reed-solomon codes)。这个函数对经典算法来说是无条件单向的,但量子算法可以高效逆转,从而展示了明显的量子优势。通过引入错误纠正码,增强了函数的结构性和抗破坏性,同时为量子算法提供可利用的代数特性。单向性(One-Wayness)是密码学中的核心概念,指函数在某一方向上易于计算,而逆方向极难求解。这里展示了经典算法在逆转此函数时遇到的困难,而量子算法由于其叠加和干涉特性,能够显著降低逆转复杂度。通过明确构造一个函数,使得量子算法表现出超越经典算法的能力,这为验证量子计算机的优越性提供了理论支持。
核心算法
算法原理与约束条件:纠错码与列表恢复算法
列表恢复(List Recovery)是编码理论中的一个重要概念,用于处理噪声干扰严重或部分丢失数据的情况下恢复原始信息。它是经典错误恢复的一种推广,允许输出一个候选解列表,而不仅仅是唯一解。
一个编码
C
C
C是
(
ζ
,
ℓ
,
L
)
(ζ,ℓ,L)
(ζ,ℓ,L)-列表可恢复的,如果存在算法满足以下条件:
对于输入,有①
n
n
n个集合
S
1
,
.
.
.
,
S
n
{S_1,...,S_n}
S1,...,Sn,其中每个
S
i
S_i
Si是长度不超过
ℓ
ℓ
ℓ的集合(可能包含扰动);②原始编码
x
∈
C
\boldsymbol{x} \in C
x∈C的至少
ζ
n
ζn
ζn个符号位的扰动后的值在对应的集合
S
i
S_i
Si中。
其中
ζ
∈
(
0
,
1
]
,
表示至少有
ζ
n
个符号是正确的
ζ \in (0,1],表示至少有ζn个符号是正确的
ζ∈(0,1],表示至少有ζn个符号是正确的
ℓ
是每个位置
i
的可能的候选集合大小
ℓ是每个位置i的可能的候选集合大小
ℓ是每个位置i的可能的候选集合大小
L
是解码算法输出的候选列表的最大长度
L是解码算法输出的候选列表的最大长度
L是解码算法输出的候选列表的最大长度
一个简单的例子方便理解:假设有一个编码
C
C
C,长度为
n
=
4
n=4
n=4:
C
=
0000
,
1111
,
0011
,
1100
C={0000,1111,0011,1100}
C=0000,1111,0011,1100
噪声引入后,每个位上的可能候选符号集合如下:
S
1
=
0
,
1
,
S
2
=
1
,
S
3
=
0
,
1
,
S
4
=
0
S_1={0,1},S_2={1},S_3={0,1},S_4={0}
S1=0,1,S2=1,S3=0,1,S4=0
这些集合限制了原始编码字的每个位可能的值。
解码步骤:
①输入集合
S
i
,
ℓ
=
2
S_i,ℓ=2
Si,ℓ=2
②编码限制:原始编码
x
∈
C
\boldsymbol{x} \in C
x∈C的至少
ζ
n
ζn
ζn个符号位的扰动后的值在对应的集合
S
i
S_i
Si中。即找出同时满足以下条件的候选编码字:
第一位落在
S
1
=
0
,
1
S_1={0,1}
S1=0,1
第二位值为1
第三位落在
S
3
=
0
,
1
S_3={0,1}
S3=0,1
第四位值为1
③筛选码字:遍历
C
=
0000
,
1111
,
0011
,
1100
C={0000,1111,0011,1100}
C=0000,1111,0011,1100
其中0000的第二位不是1,排除;1111的第四位不是0,排除,得到输出列表
0011
,
1100
{0011,1100}
0011,1100。原始码字一定在候选列表中。为了找出候选列表中的真解(即正确的原始编码字),我们需要引入更多的背景信息,例如某种验证机制或额外信息,以区别候选解中的正确解。以下是一个具体的例子:假设噪声前的原始编码字
x
\boldsymbol{x}
x与输入信号
y
\boldsymbol{y}
y的汉明距离Hamming Distance最小。汉明距离是指两个字符串中不同位置的符号个数。对于
y
=
1010
\boldsymbol{y}=1010
y=1010而言,有
H
D
(
0011
,
1010
)
=
3
;
H
D
(
1100
,
1010
)
=
2
HD(0011,1010)=3; HD(1100,1010)=2
HD(0011,1010)=3;HD(1100,1010)=2,此时
x
=
1010
\boldsymbol{x}=1010
x=1010有最小的汉明距离,认为1010为原始码字。
约束一:
C
λ
C_λ
Cλ是
(
ζ
,
ℓ
,
L
)
(ζ,ℓ,L)
(ζ,ℓ,L)-列表可恢复的,其中
- ζ = Ω ( 1 ) ζ=Ω(1) ζ=Ω(1)
- ℓ = 2 λ ℓ=2^λ ℓ=2λ
- L = 2 O ( λ c ) L=2^{O(λ^c)} L=2O(λc)
列表可恢复性是一种错误恢复能力,它允许从某种受干扰的输入中提取一个有限列表的候选解。对于大规模输入, C λ C_λ Cλ的编码结构能够在允许的候选空间内有效恢复信息,即便面对指数规模的扰动或干扰。
约束二
存在一个针对
C
⊥
C^⊥
C⊥ 的有效确定性解码算法
D
e
c
o
d
e
C
⊥
Decode_{C^⊥}
DecodeC⊥ ,其满足以下性质:
①假设分布
D
D
D在
Σ
Σ
Σ上,
D
D
D以50%的概率取值0,否则在
Σ
∖
{
0
}
\Sigma \setminus \{\boldsymbol{0}\}
Σ∖{0}上均匀分布
②对所有的
x
∈
C
⊥
\boldsymbol{x} \in C_\perp
x∈C⊥,满足:
Pr
e
∼
D
n
[
Decode
C
⊥
(
x
+
e
)
=
x
]
=
1
−
2
−
Ω
(
λ
)
.
\Pr_{\mathbf{e} \sim \mathcal{D}^n} \left[\text{Decode}_{C_\perp}(\mathbf{x} + \mathbf{e}) = \mathbf{x}\right] = 1 - 2^{-\Omega(\lambda)}.
Pre∼Dn[DecodeC⊥(x+e)=x]=1−2−Ω(λ).
该解码算法可以从噪声扰动的数据
x
+
e
x+e
x+e 中高效恢复出原始的编码 𝑥。噪声分量 𝑒 的分布设定中,0 出现的概率是 1/2,其他元素均匀分布,这种分布模型模拟了现实中较强的随机噪声条件。成功恢复的概率为
1
−
2
−
Ω
(
λ
)
1 - 2^{-\Omega(\lambda)}
1−2−Ω(λ),表示随着参数
λ
\lambda
λ增大,恢复成功的概率会指数接近于 1。此算法提供了强鲁棒性的解码能力,特别是在存在高强度随机噪声的情况下,依然能有效恢复原始编码。
约束三
对于所有
j
∈
[
n
−
1
]
j\in[n-1]
j∈[n−1],满足:
Pr
x
∼
C
λ
[
hw
(
x
)
=
n
−
j
]
≤
(
n
∣
Σ
∣
)
j
\Pr_{\mathbf{x} \sim C_\lambda} \left[\text{hw}(\mathbf{x}) = n - j\right] \leq \left(\frac{n}{|\Sigma|}\right)^j
Prx∼Cλ[hw(x)=n−j]≤(∣Σ∣n)j
其中,hw(𝑥) 表示 𝑥 的汉明重量(非零元素的数量)。公式描述了随机选择的编码 𝑥 在给定汉明重量情况下的概率上界。概率随着 𝑗 增大而迅速减小,尤其是当符号空间 ∣Σ∣ 很大时。随着 𝑗 增大,
(
n
/
∣
Σ
∣
)
j
(n/|Σ|)^j
(n/∣Σ∣)j 指数下降,表明高汉明重量的编码发生概率很低。这表明
C
λ
C_λ
Cλ 的编码倾向于稀疏分布(较少非零元素),从而在噪声条件下更容易区分和解码。
经典难解性
列表可恢复性限制了潜在的原像集合 𝐿 的大小,使其为 2nc,其中 c<1。虽然 𝐿 的大小仍然很大,但它是亚指数级的。经典算法难以高效枚举和验证所有潜在原像,因此算法被认为是经典难解的。而O作为一个随机函数,将输入c映射到独立选择的随机输出时,对于随机函数找到一个c满足
f
C
O
(
c
)
=
y
f_C^O(c)=y
fCO(c)=y的概率是
2
−
n
2^{-n}
2−n,每个候选c称为有效原像的概率是指数级小的,经典算法无法高效利用O的随机性找到c,因为它需要注意尝试𝐿中的所有元素。
成功概率与列表大小的关系(即使潜在原像集合𝐿是 2nc ,成功找到
f
C
O
(
c
)
=
y
f_C^O(c)=y
fCO(c)=y的概率):
2
n
c
⋅
2
−
n
=
2
(
c
−
1
)
n
,
c
<
1
2^{nc} ·2^{-n}=2^{(c-1)n}, c<1
2nc⋅2−n=2(c−1)n,c<1。因此,最终的成功率是极小的。成功概率的指数级下降表明经典算法在此任务上无效。
- 列表可恢复性: 限制了可能的原像集合,虽然数量减少,但经典算法依然难以在合理时间内验证其有效性。
- 随机函数的不可预测性: 每次映射的随机性和极低的成功概率,使得经典算法即使穷举所有可能性,也难以有效解决。
- 计算复杂性: 列表大小和成功概率的结合,导致经典算法需要指数级时间才能找到原像。
- 查询约束(Query Constraints)
经典算法对随机函数 𝑂 的查询次数是多项式级别的。这限制了经典算法构造 𝑆𝑖 集合(覆盖所有可能的原像集合)的能力。
- 查询次数的限制:在随机预言机模型下,经典算法的查询能力有限。只能通过多项式次数的查询尝试找到潜在原像。而 𝑂的随机性确保了每次查询的输出在概率意义上是独立的,因此经典算法无法通过少量查询推导出 𝑂 的全局结构。
- 对 𝑆𝑖 集合构造的影响:由于经典算法无法完全枚举所有可能的 𝑆𝑖,这使得它难以覆盖所有可能的原像集合,进一步限制了其解码能力。
- 联合界分析(Union Bound Analysis)
列表可恢复性确保了候选原像集合 𝐿 的大小是有限的。𝑂 的随机性确保了在 𝐿 中找到有效原像的概率是指数级小的。通过联合界分析,即使尝试 𝐿 中所有的候选原像,经典算法的总体成功概率仍然可以忽略不计。为了实现列表可恢复性,使用了折叠的 Reed-Solomon 码(Folded Reed-Solomon Codes)。
Reed-Solomon Codes
Reed-Solomon 码是一种 纠错码,它能够检测并修复数据传输中的错误。它基于多项式插值原理,通过增加冗余信息,保证即使部分数据被破坏,也能还原原始信息。
①编码阶段:
把信息表示为一个多项式
f
(
x
)
f(x)
f(x) 的系数,例如
f
(
x
)
=
a
0
+
a
1
x
+
a
2
x
2
+
⋯
+
a
k
−
1
x
k
−
1
f(x) = a_0 + a_1x + a_2x^2 + \dots + a_{k-1}x^{k-1}
f(x)=a0+a1x+a2x2+⋯+ak−1xk−1 ,其中
k
k
k 是消息符号的数量。在
q
q
q 个不同的点(通常在有限域中)上评估
f
(
x
)
f(x)
f(x) ,生成
n
n
n 个符号(编码字),其中
n
>
k
n > k
n>k 。
②纠错阶段:
接收者通过部分
n
n
n 个符号(即使有错误或丢失)进行多项式插值,还原
f
(
x
)
f(x)
f(x) 并提取原始信息
k
k
k 个符号。纠错能力:能够纠正最多
t
=
n
−
k
2
t = \frac{n - k}{2}
t=2n−k 个错误。
一个简单的例子帮助理解
假设我们要发送三个数据{2,3,1}并将其限定在有限域(模7运算),则有:
f
(
x
)
=
2
+
3
x
+
1
x
2
f(x) = 2 + 3x + 1x^2
f(x)=2+3x+1x2
令
n
=
5
n=5
n=5,选择五个点
x
=
[
5
]
x=[5]
x=[5],计算:
f
(
1
)
=
2
+
3
(
1
)
+
1
(
1
2
)
=
6
(
m
o
d
7
)
,
f
(
2
)
=
2
+
3
(
2
)
+
1
(
2
2
)
=
5
(
m
o
d
7
)
,
f
(
3
)
=
2
+
3
(
3
)
+
1
(
3
2
)
=
6
(
m
o
d
7
)
,
f
(
4
)
=
2
+
3
(
4
)
+
1
(
4
2
)
=
2
(
m
o
d
7
)
,
f
(
5
)
=
2
+
3
(
5
)
+
1
(
5
2
)
=
0
(
m
o
d
7
)
.
\begin{aligned} f(1) &= 2 + 3(1) + 1(1^2) = 6 \pmod{7}, \\ f(2) &= 2 + 3(2) + 1(2^2) = 5 \pmod{7}, \\ f(3) &= 2 + 3(3) + 1(3^2) = 6 \pmod{7}, \\ f(4) &= 2 + 3(4) + 1(4^2) = 2 \pmod{7}, \\ f(5) &= 2 + 3(5) + 1(5^2) = 0 \pmod{7}. \end{aligned}
f(1)f(2)f(3)f(4)f(5)=2+3(1)+1(12)=6(mod7),=2+3(2)+1(22)=5(mod7),=2+3(3)+1(32)=6(mod7),=2+3(4)+1(42)=2(mod7),=2+3(5)+1(52)=0(mod7).
因此编码后的数据为{6,5,6,2,0},假设传输过程中,第2&5个信号被破坏,发生了错误。当我们还原丢失的符号时:
已知
f
(
1
)
=
6
,
f
(
3
)
=
6
,
f
(
4
)
=
2
f(1)=6,f(3)=6,f(4)=2
f(1)=6,f(3)=6,f(4)=2,则对于
f
(
x
)
=
a
0
+
a
1
x
+
a
2
x
2
f(x) = a_0 + a_1x + a_2x^2
f(x)=a0+a1x+a2x2,有:
f
(
x
)
=
∑
i
=
1
3
f
(
x
i
)
⋅
∏
j
≠
i
x
−
x
j
x
i
−
x
j
,
拉格朗日插值
f(x) = \sum_{i=1}^3 f(x_i) \cdot \prod_{j \neq i} \frac{x - x_j}{x_i - x_j},拉格朗日插值
f(x)=∑i=13f(xi)⋅∏j=ixi−xjx−xj,拉格朗日插值
拉格朗日插值公式过程:
对
f
(
x
)
=
∑
i
=
1
n
f
(
x
i
)
⋅
ℓ
i
(
x
)
f(x) = \sum_{i=1}^n f(x_i) \cdot \ell_i(x)
f(x)=∑i=1nf(xi)⋅ℓi(x)而言,有
ℓ
i
(
x
)
=
∏
j
≠
i
x
−
x
j
x
i
−
x
j
(
m
o
d
7
)
\ell_i(x) = \prod_{j \neq i} \frac{x - x_j}{x_i - x_j} \pmod{7}
ℓi(x)=∏j=ixi−xjx−xj(mod7),且存在已知点
(
x
1
,
f
(
x
1
)
)
=
(
1
,
6
)
,
(
x
2
,
f
(
x
2
)
)
=
(
3
,
6
)
,
(
x
3
,
f
(
x
3
)
)
=
(
4
,
2
)
(x_1, f(x_1)) = (1, 6), \quad (x_2, f(x_2)) = (3, 6), \quad (x_3, f(x_3)) = (4, 2)
(x1,f(x1))=(1,6),(x2,f(x2))=(3,6),(x3,f(x3))=(4,2)。
计算:
ℓ
1
(
x
)
=
(
x
−
x
2
)
(
x
−
x
3
)
(
x
1
−
x
2
)
(
x
1
−
x
3
)
(
m
o
d
7
)
\ell_1(x) = \frac{(x - x_2)(x - x_3)}{(x_1 - x_2)(x_1 - x_3)} \pmod{7}
ℓ1(x)=(x1−x2)(x1−x3)(x−x2)(x−x3)(mod7)
代入值
x
2
=
3
,
x
3
=
4
x_2 = 3, x_3 = 4
x2=3,x3=4
ℓ
1
(
x
)
=
(
x
−
3
)
(
x
−
4
)
(
1
−
3
)
(
1
−
4
)
(
m
o
d
7
)
\ell_1(x) = \frac{(x - 3)(x - 4)}{(1 - 3)(1 - 4)} \pmod{7}
ℓ1(x)=(1−3)(1−4)(x−3)(x−4)(mod7)
分母:
(
1
−
3
)
(
1
−
4
)
=
(
−
2
)
(
−
3
)
=
6
≡
−
1
(
m
o
d
7
)
≡
6
(
m
o
d
7
)
(1 - 3)(1 - 4) = (-2)(-3) = 6 \equiv -1 \pmod{7} \equiv 6 \pmod{7}
(1−3)(1−4)=(−2)(−3)=6≡−1(mod7)≡6(mod7)。
分子:
(
x
−
3
)
(
x
−
4
)
(x - 3)(x - 4)
(x−3)(x−4)保留为乘积。
逆元计算(分母取逆元):
6
−
1
≡
6
(
m
o
d
7
)
6^{-1} \equiv 6 \pmod{7}
6−1≡6(mod7)
最终
ℓ
1
(
x
)
=
6
(
x
−
3
)
(
x
−
4
)
(
m
o
d
7
)
\ell_1(x) = 6(x - 3)(x - 4) \pmod{7}
ℓ1(x)=6(x−3)(x−4)(mod7)
同理可得:
ℓ
2
(
x
)
=
3
(
x
−
1
)
(
x
−
4
)
(
m
o
d
7
)
\ell_2(x) = 3(x - 1)(x - 4) \pmod{7}
ℓ2(x)=3(x−1)(x−4)(mod7)
ℓ
3
(
x
)
=
5
(
x
−
1
)
(
x
−
3
)
(
m
o
d
7
)
\ell_3(x) = 5(x - 1)(x - 3) \pmod{7}
ℓ3(x)=5(x−1)(x−3)(mod7)
插值多项式:
f
(
x
)
=
f
(
x
1
)
⋅
ℓ
1
(
x
)
+
f
(
x
2
)
⋅
ℓ
2
(
x
)
+
f
(
x
3
)
⋅
ℓ
3
(
x
)
(
m
o
d
7
)
f(x) = f(x_1) \cdot \ell_1(x) + f(x_2) \cdot \ell_2(x) + f(x_3) \cdot \ell_3(x) \pmod{7}
f(x)=f(x1)⋅ℓ1(x)+f(x2)⋅ℓ2(x)+f(x3)⋅ℓ3(x)(mod7)
将
f
(
x
1
)
=
6
,
f
(
x
2
)
=
6
,
f
(
x
3
)
=
2
f(x_1) = 6, f(x_2) = 6, f(x_3) = 2
f(x1)=6,f(x2)=6,f(x3)=2代入,得
f
(
x
)
=
6
⋅
ℓ
1
(
x
)
+
6
⋅
ℓ
2
(
x
)
+
2
⋅
ℓ
3
(
x
)
(
m
o
d
7
)
f(x) = 6 \cdot \ell_1(x) + 6 \cdot \ell_2(x) + 2 \cdot \ell_3(x) \pmod{7}
f(x)=6⋅ℓ1(x)+6⋅ℓ2(x)+2⋅ℓ3(x)(mod7)
将各基函数的表达式代入并展开,化简得到最终的插值多项式:
f
(
x
)
=
2
+
3
x
+
x
2
(
m
o
d
7
)
f(x) = 2 + 3x + x^2 \pmod{7}
f(x)=2+3x+x2(mod7)
插值结果与原始多项式
f
(
x
)
=
2
+
3
x
+
x
2
f(x) = 2 + 3x + x^2
f(x)=2+3x+x2 完全一致,丢失的点
f
(
2
)
=
5
,
f
(
5
)
=
0
f(2) = 5, f(5) = 0
f(2)=5,f(5)=0 可通过计算
f
(
x
)
f(x)
f(x) 在这些点上的值恢复。
RSC在本研究中的广义定义为:
GRS
F
q
,
γ
,
k
,
v
:
=
{
(
v
1
f
(
γ
)
,
v
2
f
(
γ
2
)
,
…
,
v
N
f
(
γ
N
)
)
:
f
∈
F
q
[
x
]
deg
≤
k
}
\text{GRS}_{\mathbb{F}_q, \gamma, k, \mathbf{v}} := \{(v_1 f(\gamma), v_2 f(\gamma^2), \dots, v_N f(\gamma^N)) : f \in \mathbb{F}_q[x]_{\text{deg} \leq k} \}
GRSFq,γ,k,v:={(v1f(γ),v2f(γ2),…,vNf(γN)):f∈Fq[x]deg≤k}
- F q \mathbb{F}_q Fq:有限域,大小为 q 。
- γ ∈ F q ∗ \gamma \in \mathbb{F}_q^* γ∈Fq∗:有限域中的一个生成元。
- f ( x ) ∈ F q [ x ] deg ≤ k f(x) \in \mathbb{F}_q[x]_{\text{deg} \leq k} f(x)∈Fq[x]deg≤k:定义域为 F q [ x ] \mathbb{F}_q[x] Fq[x],最高次数不超过 k 的多项式。
- v = ( v 1 , v 2 , … , v N ) \mathbf{v} = (v_1, v_2, \dots, v_N) v=(v1,v2,…,vN):权重系数,所有 v i ∈ F q ∗ v_i \in \mathbb{F}_q^* vi∈Fq∗ 。
- N = q − 1 N = q - 1 N=q−1:符号数,通常等于有限域的大小减 1(有限域中的所有非零元素数目)。
- 编码规则:对于每个多项式 f ( x ) f(x) f(x) ,计算在 γ , γ 2 , … , γ N \gamma, \gamma^2, \dots, \gamma^N γ,γ2,…,γN 处的值,并用权重系数 v i v_i vi 进行加权。
- 最终得到的码字形式: ( v 1 f ( γ ) , v 2 f ( γ 2 ) , … , v N f ( γ N ) ) (v_1 f(\gamma), v_2 f(\gamma^2), \dots, v_N f(\gamma^N)) (v1f(γ),v2f(γ2),…,vNf(γN))
与所提出的算法原理的结合:
假设
q
q
q 是素数幂,有限域生成元
γ
∈
F
q
∗
\gamma \in \mathbb{F}_q^*
γ∈Fq∗ ,并且:
- N = q − 1 N = q - 1 N=q−1 ;
- k < N k < N k<N 是正整数;
- m m m 是正整数,且 m ∣ N m \mid N m∣N ;
- 0 < ζ < 1 , ℓ , r , s 0 < \zeta < 1 , \ell, r, s 0<ζ<1,ℓ,r,s 是正整数,且 s ≤ m s \leq m s≤m 。
以下两个不等式需成立:
- ( 1 − ζ ) N m ≥ ( 1 + s r ) ⋅ N ℓ k s s + 1 m − s + 1 \frac{(1 - \zeta) N}{m} \geq \frac{(1 + \frac{s}{r}) \cdot \sqrt[s+1]{N \ell ks}}{m - s + 1} m(1−ζ)N≥m−s+1(1+rs)⋅s+1Nℓks
- ( r + s ) ⋅ N ℓ k s + 1 < q (r + s) \cdot \sqrt[s+1]{\frac{N \ell}{k}} < q (r+s)⋅s+1kNℓ<q
如果上述两个条件成立,则
RS
F
q
,
γ
,
k
(
m
)
\text{RS}_{\mathbb{F}_q, \gamma, k}^{(m)}
RSFq,γ,k(m) 是
(
ζ
,
ℓ
,
L
)
(\zeta, \ell, L)
(ζ,ℓ,L) -列表可恢复的,其中:
L
=
q
s
L = q^s
L=qs.
条件 1(列表可恢复性的限制) 的不等式约束了
m
,
ζ
m, \zeta
m,ζ 等参数:
- ( 1 − ζ ) N / m (1 - \zeta) N / m (1−ζ)N/m :表示每个列表项的符号分配的比例。
- 右侧 ( 1 + s r ) ⋅ N ℓ k s s + 1 m − s + 1 \frac{(1 + \frac{s}{r}) \cdot \sqrt[s+1]{N \ell ks}}{m - s + 1} m−s+1(1+rs)⋅s+1Nℓks:表示恢复列表的复杂性。
- 该条件确保在满足一定的符号分配情况下,可以有效进行列表恢复。
条件 2 (有限域大小的限制)的不等式约束了 q q q 的大小:
- r + s r + s r+s :恢复列表的复杂度因子。
- N ℓ / k s + 1 \sqrt[s+1]{N \ell / k} s+1Nℓ/k:表示恢复码字复杂性的增长速率。
- 该条件确保有限域大小 q q q 足够大,使得恢复操作可以完成。
该算法给定 m m m 个可能的候选原像,列表恢复可以确定所有满足条件的 L L L 个可能解。条件 1 保证恢复算法在符号分配比例下可行; 条件 2 确保有限域大小适合恢复操作;最后得出列表大小 L = q s L = q^s L=qs ,表示可恢复列表的长度。
量子容易性
给定一个像
y
y
y ,目标是构造一个叠加态
∣
ψ
y
⟩
|\psi_y\rangle
∣ψy⟩ ,该叠加态均匀分布在像
y
y
y 的所有原像上
∣
ψ
y
⟩
∝
∑
c
∈
C
:
f
C
0
(
c
)
=
y
∣
c
⟩
|\psi_y\rangle \propto \sum_{c \in C : f_C^0(c) = y} |c\rangle
∣ψy⟩∝∑c∈C:fC0(c)=y∣c⟩
该叠加态允许通过测量采样
y
y
y 的随机原像
c
c
c
∣
ϕ
⟩
∝
∑
c
∈
C
∣
c
⟩
|\phi\rangle \propto \sum_{c \in C} |c\rangle
∣ϕ⟩∝∑c∈C∣c⟩是在 C 上的均匀叠加态,C 是一个线性码,表示所有码字的集合。
∣
τ
y
⟩
∝
∑
c
∈
Σ
n
:
f
C
0
(
c
)
=
y
∣
c
⟩
|\tau_y\rangle \propto \sum_{c \in \Sigma^n : f_C^0(c) = y} |c\rangle
∣τy⟩∝∑c∈Σn:fC0(c)=y∣c⟩是在满足
f
C
0
(
c
)
=
y
f_C^0(c) = y
fC0(c)=y 的所有输入上形成的叠加态,该叠加态扩展到整个域
Σ
n
\Sigma^n
Σn 上。
∣
ψ
y
⟩
|\psi_y\rangle
∣ψy⟩ 是一个限制在 C 内的叠加态,
∣
τ
y
⟩
|\tau_y\rangle
∣τy⟩ 是一个更广泛的叠加态,覆盖整个输入域。
C 是定义在有限域
F
q
\mathbb{F}_q
Fq 上的线性码,
C
⊥
C^\perp
C⊥ 是 C 的对偶码,满足
c
⋅
d
=
0
∀
c
∈
C
,
d
∈
C
⊥
c \cdot d = 0 \quad \forall c \in C, d \in C^\perp
c⋅d=0∀c∈C,d∈C⊥,C 的线性属性允许使用量子傅里叶变换(QFT)将叠加态转化为对偶空间中的叠加态。
对QFT定义:
- ∣ ϕ ^ ⟩ : = QFT ( ∣ ϕ ⟩ ) ∝ ∑ c ∈ C ⊥ α c ∣ c ⟩ |\hat{\phi}\rangle := \text{QFT}(|\phi\rangle) \propto \sum_{c \in C^\perp} \alpha_c |c\rangle ∣ϕ^⟩:=QFT(∣ϕ⟩)∝∑c∈C⊥αc∣c⟩。傅里叶变换将叠加态从码字空间 C 转换到对偶空间。
- ∣ τ ^ y ⟩ : = QFT ( ∣ τ y ⟩ ) ∝ ∑ c ∈ Σ n β c ∣ c ⟩ |\hat{\tau}_y\rangle := \text{QFT}(|\tau_y\rangle) \propto \sum_{c \in \Sigma^n} \beta_c |c\rangle ∣τ^y⟩:=QFT(∣τy⟩)∝∑c∈Σnβc∣c⟩。傅里叶变换在输入域 Σ n \Sigma^n Σn 上扩展叠加态。
假设我们拥有叠加态 c + e :
- c 是码字(来自线性码 C )。
- e 是一个扰动向量。
通过解码 c + e 回到 c 和 e 的表示,叠加态被限制回 码字空间 C 。这一步利用了线性码的纠错特性,将扰动分量 e 分离
假设高效解码:
∑
c
∈
C
⊥
,
e
∈
Σ
n
β
y
,
e
(
c
,
e
)
=
∣
ϕ
^
⟩
∣
τ
^
y
⟩
.
\sum_{c \in C^\perp, e \in \Sigma^n} \beta_{y,e}(c, e) = |\hat{\phi}\rangle |\hat{\tau}_y\rangle.
∑c∈C⊥,e∈Σnβy,e(c,e)=∣ϕ^⟩∣τ^y⟩.
- ∣ ϕ ^ ⟩ |\hat{\phi}\rangle ∣ϕ^⟩ :
- 通过量子变换生成,基于码 C 的生成矩阵(Generator Matrix)。
- 表示在对偶空间 C ⊥ C^\perp C⊥ 中的叠加态。
- ∣ τ ^ y ⟩ |\hat{\tau}_y\rangle ∣τ^y⟩ :
- 通过对所有输入构造均匀叠加态后施加操作 O O O 得到。
- 表示扩展到完整输入域 Σ n \Sigma^n Σn 的叠加态。
更深一层的定义:
定义两种量子态在
Σ
Σ
Σ上的数学表达:
∣
ψ
⟩
=
∑
x
∈
Σ
n
V
(
x
)
∣
x
⟩
|\psi\rangle = \sum_{x \in \Sigma^n} V(x) |x\rangle
∣ψ⟩=∑x∈ΣnV(x)∣x⟩,这里 V(x) 是关于 x 的系数,表示输入域的权重。
∣
ϕ
⟩
=
∑
e
∈
Σ
n
W
(
e
)
∣
e
⟩
|\phi\rangle = \sum_{e \in \Sigma^n} W(e) |e\rangle
∣ϕ⟩=∑e∈ΣnW(e)∣e⟩,这里 W(e) 是关于 e 的系数,表示噪声分量的分布
假设某些 (x, e) 属于 “BAD” 集合,其误差项满足:
∑
(
x
,
e
)
∈
BAD
∣
V
(
x
)
W
(
e
)
∣
2
≤
ϵ
\sum_{(x, e) \in \text{BAD}} |V(x) W(e)|^2 \leq \epsilon
∑(x,e)∈BAD∣V(x)W(e)∣2≤ϵ,这里
ϵ
\epsilon
ϵ 是限制误差的参数,表示这些特定 (x, e) 组合的概率非常小。在考虑所有扰动情况下,叠加态中的误差满足:
∑
z
∈
Σ
n
∑
(
x
,
e
)
:
x
+
e
=
z
V
(
x
)
W
(
e
)
≤
δ
\sum_{z \in \Sigma^n} \sum_{(x, e):x+e=z} V(x) W(e) \leq \delta
∑z∈Σn∑(x,e):x+e=zV(x)W(e)≤δ
最后,我们有:
(
I
⊗
(
Q
F
T
Σ
−
1
)
⊗
n
)
U
F
U
add
(
Q
F
T
Σ
⊗
n
⊗
Q
F
T
Σ
⊗
n
)
∣
ψ
⟩
∣
ϕ
⟩
≈
ϵ
+
δ
∣
Σ
∣
n
/
2
∑
z
∈
Σ
n
(
V
⋅
W
)
(
z
)
∣
z
⟩
∣
0
⟩
∣
z
⟩
\left(I \otimes \left(QFT^{-1}_\Sigma\right)^{\otimes n}\right) U_F U_\text{add} \left(QFT_\Sigma^{\otimes n} \otimes QFT_\Sigma^{\otimes n}\right) |\psi\rangle |\phi\rangle \approx \sqrt{\epsilon + \delta} |\Sigma|^{n/2} \sum_{z \in \Sigma^n} (V \cdot W)(z) |z\rangle |0\rangle |z\rangle
(I⊗(QFTΣ−1)⊗n)UFUadd(QFTΣ⊗n⊗QFTΣ⊗n)∣ψ⟩∣ϕ⟩≈ϵ+δ∣Σ∣n/2∑z∈Σn(V⋅W)(z)∣z⟩∣0⟩∣z⟩
该公式旨在通过量子操作的序列(包括量子傅里叶变换、酉操作以及态的构造)来证明量子性,即验证量子计算装置能够完成经典计算装置无法实现的任务。通过该公式验证量子设备是否可以利用量子特性生成特定的分布,从而区分量子证明者和经典对手,输出分布是量子计算的独特能力,无法通过经典计算实现。
在论文中,经典和量子的区分主要通过计算能力和生成分布的特性来实现。
经典计算:
- 确定性和概率性:经典计算依赖于确定性规则(例如逻辑门)或经典概率分布。
- 计算限制:对于某些复杂分布,经典计算需要指数级时间或资源来生成或模拟这些分布。
量子计算:
- 叠加和干涉:量子计算利用叠加态和相位干涉,可以并行处理多个状态。
- 生成复杂分布:分布的生成依赖于量子傅里叶变换 (QFT) 和量子干涉,这些分布经典计算难以高效模拟。经典计算通常难以模拟由量子干涉引入的复杂相位关系。
验证者通过测量量子设备的输出,区分量子和经典设备。验证输出是否符合特定的分布特性(例如,是否在 𝐶∩𝑇𝐻 中)。
T
H
=
T
H
1
×
T
H
2
×
⋯
×
T
H
n
T_H = T_{H_1} \times T_{H_2} \times \dots \times T_{H_n}
TH=TH1×TH2×⋯×THn ,其中
T
H
i
⊆
Σ
T_{H_i} \subseteq \Sigma
THi⊆Σ ,每个
T
H
i
T_{H_i}
THi 包含满足
H
i
(
e
i
)
=
1
H_i(e_i) = 1
Hi(ei)=1 的元素
e
i
∈
Σ
e_i \in \Sigma
ei∈Σ 。
Σ
\Sigma
Σ :随机预言机 H 的定义域,即字母表。H 是一个函数,将输入
x
∈
Σ
x \in \Sigma
x∈Σ 映射到
{
0
,
1
}
n
\{0, 1\}^n
{0,1}n 。
H
i
H_i
Hi : H(x) 的第
i
i
i -位,用于判断
e
i
e_i
ei 是否属于
T
H
i
T_{H_i}
THi;
T
H
T_H
TH 是所有
T
H
i
T_{H_i}
THi 的笛卡尔积
T
H
=
{
e
=
(
e
1
,
e
2
,
…
,
e
n
)
:
H
i
(
e
i
)
=
1
,对于所有
i
∈
[
n
]
}
T_H = \{ e = (e_1, e_2, \dots, e_n) : H_i(e_i) = 1 \text{,对于所有 } i \in [n] \}
TH={e=(e1,e2,…,en):Hi(ei)=1,对于所有 i∈[n]}。
T
H
T_H
TH 确保量子证明者生成有效状态
∣
ϕ
i
⟩
|\phi_i\rangle
∣ϕi⟩:
∣
ϕ
i
⟩
∝
∑
e
i
∈
T
H
i
∣
e
i
⟩
|\phi_i\rangle \propto \sum_{e_i \in T_{H_i}} |e_i\rangle
∣ϕi⟩∝∑ei∈THi∣ei⟩,通过
T
H
T_H
TH 定义,所有状态
∣
ϕ
i
⟩
|\phi_i\rangle
∣ϕi⟩ 的叠加构成最终的证明态
∣
ϕ
⟩
|\phi\rangle
∣ϕ⟩ :
∣
ϕ
⟩
=
∣
ϕ
1
⟩
⊗
∣
ϕ
2
⟩
⊗
⋯
⊗
∣
ϕ
n
⟩
|\phi\rangle = |\phi_1\rangle \otimes |\phi_2\rangle \otimes \dots \otimes |\phi_n\rangle
∣ϕ⟩=∣ϕ1⟩⊗∣ϕ2⟩⊗⋯⊗∣ϕn⟩。这保证了证明者的量子态仅在
T
H
T_H
TH 定义的合法范围内生成。
T
H
T_H
TH 的定义依赖于随机预言机 H 的输出,将 H 限制在一个平衡子集
H
⊂
Func
(
Σ
,
{
0
,
1
}
n
)
\mathcal{H} \subset \text{Func}(\Sigma, \{0, 1\}^n)
H⊂Func(Σ,{0,1}n) ,满足:
1
3
<
∣
T
H
i
∣
∣
Σ
∣
<
2
3
,
∀
i
∈
[
n
]
\frac{1}{3} < \frac{|T_{H_i}|}{|\Sigma|} < \frac{2}{3}, \quad \forall i \in [n]
31<∣Σ∣∣THi∣<32,∀i∈[n],这个限制确保了
T
H
i
T_{H_i}
THi 的大小具有平衡性,进而增强了量子系统随机性的可靠性。
T
H
T_H
TH 定义了证明者的采样空间,确保量子系统的输出满足所需的统计特性。 验证者通过检查测量结果是否落在
T
H
T_H
TH 中,并验证
H
i
(
x
i
)
=
1
H_i(x_i) = 1
Hi(xi)=1 是否成立,从而保证证明的正确性。
经典对手在模拟此分布时,需要对每个 𝑧∈Σ𝑛 逐一计算 𝑉⋅𝑊(𝑧),这是指数级的操作量。因此,经典设备无法在多项式时间内通过验证。量子设备以接近 1 的概率通过验证,而经典设备的成功概率仅为 negl(𝜆)可忽略项。
随机性证明
首先,让我们讨论量子优势之外的重要项——随机性。虽然上述算法可以实现量子优势,即量子算法可以在特定任务上超越经典算法,但是量子优势证明本身并不保证输出在密码学意义上是随机或不可预测的。随机性证明需要进一步验证量子证明方的输出不仅是计算安全的,而且是统计上随机的。否则,即便经典对手无法模仿量子设备生成伪造信息,也可以通过合理的“统计预测”进行对结果的直接猜测。
随机性证明允许经典验证方无需深度了解量子过程的细节,也能确认随机性。随机性证明直接支持公开的随机数生成协议(Public Coin Protocols)。这些协议允许验证方的随机位可以公开共享,特别适用于分布式系统中的去中心化信任需求。
对叠加态
∣
ψ
⟩
=
∑
x
∈
C
α
x
∣
x
⟩
,
∑
x
∈
C
∣
α
x
∣
2
=
1
|\psi\rangle = \sum_{x \in C} \alpha_x |x\rangle, \quad \sum_{x \in C} |\alpha_x|^2 = 1
∣ψ⟩=∑x∈Cαx∣x⟩,∑x∈C∣αx∣2=1有
H
(
x
i
)
=
1
,
∀
i
∈
[
n
]
H(x_i) = 1, \quad \forall i \in [n]
H(xi)=1,∀i∈[n]的约束条件。
H
min
(
X
)
=
−
log
max
x
P
(
X
=
x
)
H_\text{min}(X) = -\log \max_x P(X = x)
Hmin(X)=−logmaxxP(X=x)是最小熵,如果随机性良好,
P
(
X
=
x
)
≈
1
∣
C
∣
P(X = x) \approx \frac{1}{|C|}
P(X=x)≈∣C∣1 ,即每个码字的概率接近均匀分布。
然后,定义GOOD/BAD集合。
GOOD
=
{
x
∈
Σ
n
∣
H
(
x
i
)
=
1
,
∀
i
∈
[
n
]
}
\text{GOOD} = \{x \in \Sigma^n \mid H(x_i) = 1, \forall i \in [n]\}
GOOD={x∈Σn∣H(xi)=1,∀i∈[n]}
BAD
=
Σ
n
∖
GOOD
\text{BAD} = \Sigma^n \setminus \text{GOOD}
BAD=Σn∖GOOD,设置约束
Pr
[
x
∈
BAD
]
≤
ϵ
\Pr[x \in \text{BAD}] \leq \epsilon
Pr[x∈BAD]≤ϵ
并令验证条件为:
- x ∈ C x \in C x∈C ,即 x x x 必须属于码字集合 C C C 。
- H ( x i ) = 1 , ∀ i ∈ [ n ] H(x_i) = 1, \forall i \in [n] H(xi)=1,∀i∈[n] ,即所有元素满足约束。
验证通过的概率为:
P
forge
≤
δ
P_\text{forge} \leq \delta
Pforge≤δ
如此就在证明量子算法计算能力的同时,进一步验证输出的统计随机性。同时,允许经典验证方无需了解量子过程,也能验证量子随机性。随机性证明为去中心化环境中的信任建立提供保证,支持公开随机协议,特别适用于区块链或分布式计算场景。
最终算法:量子性证明
PoQ (Proof of Quantumness) 的目标:证明量子设备的真实性,同时区分经典设备和量子设备。具体包括以下两点:
- 验证量子设备的真实性:PoQ 需要能够区分经典设备与量子设备,并展示量子设备的计算能力。
- 保证安全性:经典设备试图模拟量子计算的成功概率应该可以忽略不计。确保经典设备无法以非可忽略的概率通过 PoQ。
协议设计原理
:验证法发送任务给证明方,该任务为
y
y
y,要求对方高效地返回
c
c
c,满足
f
C
O
(
c
)
=
y
f^O_C(c)=y
fCO(c)=y,然后验证方代入
c
c
c并计算是否能得出
y
y
y。如果该过程顺利,则证明该设备具备量子能力。
该算法的安全性来自于经典难解性和量子容易性,经典设备无法以非可忽略的概率找到满足条件的 c c c,而量子设备却可以。
算法逻辑是针对不同类型的对手的,如果对手是统一预言机依赖对手,则该协议不需要交互即可完成,而如果对手是非统一预言机依赖对手,则要增加一步public coin协议。对于非统一对手,可能会硬编码具体任务的预处理信息,此时需要引入 public coin 以打破对手的预处理优势。
协议设计如下:
- 验证者发送 y y y
- 证明者返回 c c c,验证者验证 f C O ( c ) = y f^O_C(c)=y fCO(c)=y。验证过程在经典计算机中也可以高效运行。
- Public coin:验证者公开发送随机值 r r r, r r r会影响 f C O ( c ) f^O_C(c) fCO(c)结构,要求证明者针对新的随机化条件重新计算解。
- Public coin:证明者者根据 r r r和 y y y重新计算并返回 c ′ c' c′。
- Public coin:验证者验证 f C O ( c ′ ) = y f^O_C(c')=y fCO(c′)=y。若成立则证明量子设备能力。
属性 | 非交互协议(统一对手) | Public coin追加(非统一对手) |
---|---|---|
随机性来源 | 随机任务y | 引入随机值r作为公开coin |
通信轮次 | 一轮 | 两轮 |
安全性 | 无需额外机制 | 通过公开随机数破坏对手预处理能力 |
由于非统一对手可以对预言机结果进行预处理(如硬编码潜在解),需要通过 public coin(随机数 𝑟)动态改变任务,从而打破对手的预处理优势。
验证者操作
- 生成子态 ∣ ϕ i ⟩ ∝ ∑ { e i ∈ Σ : H i ( e i ) = 1 } ∣ e i ⟩ |\phi_i\rangle \propto \sum_{\{e_i \in \Sigma : H_i(e_i) = 1\}} |e_i\rangle ∣ϕi⟩∝∑{ei∈Σ:Hi(ei)=1}∣ei⟩,通过限制函数 H i H_i Hi ,生成一个满足 H i ( e i ) = 1 H_i(e_i) = 1 Hi(ei)=1 的子态 ∣ ϕ i ⟩ |\phi_i\rangle ∣ϕi⟩ 。如果生成失败,则最多尝试 λ \lambda λ 次,若仍失败则终止流程。
- 构造全局态 ∣ ϕ ⟩ = ∣ ϕ 1 ⟩ ⊗ ∣ ϕ 2 ⟩ ⊗ ⋯ ⊗ ∣ ϕ n ⟩ |\phi\rangle = |\phi_1\rangle \otimes |\phi_2\rangle \otimes \cdots \otimes |\phi_n\rangle ∣ϕ⟩=∣ϕ1⟩⊗∣ϕ2⟩⊗⋯⊗∣ϕn⟩,得到完整的全局量子态 ∣ ϕ ⟩ |\phi\rangle ∣ϕ⟩ ,涵盖所有独立的子态信息。
- 应用约束到 ∣ ϕ ⟩ |\phi\rangle ∣ϕ⟩,限制全局态 ∣ ϕ ⟩ |\phi\rangle ∣ϕ⟩ 中的所有分量 e e e 满足 H i ( e i ) = 1 H_i(e_i) = 1 Hi(ei)=1 对所有 i i i 成立
- 生成码字态 ∣ ψ ⟩ ∝ ∑ x ∈ C ∣ x ⟩ |\psi\rangle \propto \sum_{x \in C} |x\rangle ∣ψ⟩∝∑x∈C∣x⟩,在线性码 C 上生成均匀分布的叠加态。
- 应用量子傅里叶变换(QFT): ∣ η ⟩ = Q F T Σ ⊗ n ∣ ψ ⟩ ⊗ Q F T Σ ⊗ n ∣ ϕ ⟩ |\eta\rangle = QFT^{\otimes n}_\Sigma |\psi\rangle \otimes QFT^{\otimes n}_\Sigma |\phi\rangle ∣η⟩=QFTΣ⊗n∣ψ⟩⊗QFTΣ⊗n∣ϕ⟩
- 应用幺正算符
- U add :将两个寄存器 ∣ x ⟩ ∣ e ⟩ 组合成 ∣ x + e ⟩ U_\text{add} :将两个寄存器 |x\rangle |e\rangle 组合成 |x + e\rangle Uadd:将两个寄存器∣x⟩∣e⟩组合成∣x+e⟩。
- U decode :基于对偶码 C ⊥ 对错误 e 进行解码,提取 x − Decode C ⊥ ( x + e ) U_\text{decode} :基于对偶码 C^\perp 对错误 e 进行解码,提取 x - \text{Decode}_{C^\perp}(x + e) Udecode:基于对偶码C⊥对错误e进行解码,提取x−DecodeC⊥(x+e) 。
- 输出证明态 π \pi π
证明者操作
- 解析证明:从量子设备返回的证明态 π \pi π 中提取 π = x = ( x 1 , … , x n ) \pi = x = (x_1, \ldots, x_n) π=x=(x1,…,xn),π 是量子设备返回的测量结果,通过经典设备提取出各个成分。
- 验证:检查 x ∈ C x \in C x∈C ,即 x x x 是否属于码字集合 C C C; 检查 H i ( x i ) = 1 H_i(x_i) = 1 Hi(xi)=1 是否对所有 i ∈ [ n ] i \in [n] i∈[n] 成立以验证全局态的分量是否符合随机预言机的限制。对于非统一对手,对手可能提前存储大量可能的 e i e_i ei,因此需要结合随机数 r r r进行验证。
- 输出验证结果:若两项条件均满足,则返回 ⊤ \top ⊤ (成功)。任意条件不满足,则返回 ⊥ \bot ⊥ (失败)。
密码学边界结论
以下是通过算法进一步得出的推论:
- 存在一族有效计算的预言辅助函数{ f λ f_λ fλ},它们在经典随机预言模型 (CROM) 中是单向的,但在 量子随机预言模型 (QROM) 中不是单向的。在 CROM 中,攻击者只能通过经典方法查询预言,无法利用量子态的叠加访问。在 QROM 中,攻击者可以通过量子叠加访问 𝑓,以并行方式高效计算反向结果,从而破坏单向性。
- 存在一族有效计算的预言辅助压缩无密钥(或有密钥)函数{ f λ f_λ fλ} ,在 CROM(或 AI-CROM)中是抗碰撞的,但在 QROM 中甚至无法保持单向性。
- 存在一个公开密钥加密(PKE)方案,在 CROM 中满足可证性安全(IND-CPA),但在 QROM 中不满足可证性安全(IND-CPA)。
- 存在一个数字签名方案在 CROM 中满足强不可伪造性 (EUF-CMA),但在 QROM 中不满足非适应性不可伪造性 (EUF-NMA)。
- 对于伪随机数生成器,即便QROM可以提供量子优势进而破坏单向性,也无法高效破解伪随机生成器。从单向性构造PRGs的过程中,通常引入了额外的结构或冗余,这些特性在一定程度上增强了PRGs在量子攻击下的安全性。在从单向性函数到PRGs的黑盒转换中,所引入的具体密码学特性可能会使PRGs抵抗量子攻击,而函数单向性本身则可能无法做到这一点。即,尽管QROM可以高效破解函数单向性,但是对于PRGs有一些单向性以外的优势保证了其安全性。
小节
:本文的论证过程中尽管涉及了一些基本的数学公式,但是并没有提供所有的详细证明过程,如果本文后续的追加讨论较多,会考虑出一篇详细的数学证明论文。
以下是博客用配图,该配图与论文内容完全无关。本次分享没有必须使用的图片资源。