# 量子密钥分发详解:BB84 协议与信息论安全 *前置阅读:[量子不可克隆定理](no-cloning.md)。背景知识:[第 4 章 Shor 算法](../ch04-classic-algorithms/shors-algorithm-tutorial.md)解释了"为什么经典公钥密码在量子时代需要替代方案"。* **课程目标:** 1. 理解密钥分发的安全模型:计算安全 vs **信息论安全**,以及一次一密 (OTP) 对"共享随机密钥"的需求。 2. 逐步走通 **BB84 协议**(制备–测量式):制备、传输、筛除、误码估计、纠错、隐私放大。 3. 用**截获–重发攻击**做定量分析:25% 误码率从何而来,检测概率如何随校验比特数指数增长。 4. 理解安全性论证的层次:从 no-cloning 的直觉,到 Holevo 界与隐私放大的信息论内核。 5. 了解工程现实:诱骗态、阈值误码率 (~11%)、光纤与星地链路的现状。 ## 1. 为什么需要 QKD:两条安全等级 **计算安全**。RSA、ECC 等公钥密码的安全性依赖困难问题(因数分解、离散对数)。第 4 章的 Shor 算法证明:足够大的容错量子计算机可以在多项式时间内破解它们。"先存后解" (harvest now, decrypt later) 的威胁意味着——今天被截获的密文,在未来量子机器就位时即可解密。 **信息论安全**。Shannon (1949) 证明:若共享密钥 $K$ 与消息等长、真随机、只用一次(一次一密,OTP),则密文不泄露消息的任何信息——**无条件**安全,与攻击者的算力无关。瓶颈只有一个:双方如何安全地分享那串随机比特? **量子密钥分发 (QKD)** 的主张:用量子力学本身分发密钥材料。它的安全性不依赖任何计算假设,而依赖两条物理定律——上一节的**不可克隆定理**(无法复制未知量子态)与**测量扰动**(非正交态无法在不引入扰动的情况下被测量)。经典密码怕算力,量子密钥怕的是物理。 ## 2. BB84 协议(Bennett & Brassard, 1984) Alice 想和 Bob 建立密钥。约定两组正交基:**直基** $\mathcal Z = \{|0\rangle, |1\rangle\}$ 与**斜基** $\mathcal X = \{|+\rangle, |-\rangle\}$,其中 $|+\rangle = (|0\rangle+|1\rangle)/\sqrt2$、$|-\rangle = (|0\rangle-|1\rangle)/\sqrt2$。注意两组基的基矢两两**非正交**:$\langle 0|+\rangle = 1/\sqrt2$——这正是 no-cloning 发挥作用的地方。 **第 1 步:制备与测量。** 对每个比特位,Alice 随机选一组基($\mathcal Z$ 或 $\mathcal X$),在基内随机选一个比特值,发送对应量子态;Bob 对收到的每个量子比特**独立随机**选一组基测量并记录结果。 **第 2 步:筛除 (sifting)。** 通过公开经典信道(只须认证、无须保密),双方公布**各自用的基**(不公布比特值);基不同的位(约一半)丢弃,基相同的位保留为"筛后密钥" (sifted key)——在没有干扰时这些位应当完全一致。 **第 3 步:误码估计。** 随机抽取部分筛后比特公开比对,估计**量子误码率** (QBER)。误码来自信道噪声——也可能来自窃听。若 QBER 超过阈值(见第 4 节),放弃本轮重来。 **第 4 步:纠错 (reconciliation)。** 用公开的纠错码(如 Cascade、LDPC)把双方密钥的残余差异抹平。纠错会泄露少量信息给窃听者——记下来,留给下一步。 **第 5 步:隐私放大 (privacy amplification)。** 用通用散列函数族 (universal hashing) 把纠错后的密钥压缩:例如把 $n$ 比特映到 $n - t - s$ 比特。压缩量覆盖"纠错泄露 + 估计的窃听信息 + 安全余量 $s$",使 Eve 对最终密钥的信息量指数级小。 **一个 8 轮的小例子**($\mathcal Z/\mathcal X$ 只标基,比特值 0/1 随机): | 轮次 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |---|---|---|---|---|---|---|---|---| | Alice 基 | $\mathcal Z$ | $\mathcal X$ | $\mathcal X$ | $\mathcal Z$ | $\mathcal Z$ | $\mathcal X$ | $\mathcal Z$ | $\mathcal X$ | | Alice 比特 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | | Bob 基 | $\mathcal Z$ | $\mathcal Z$ | $\mathcal X$ | $\mathcal X$ | $\mathcal Z$ | $\mathcal X$ | $\mathcal X$ | $\mathcal X$ | | Bob 结果 | 0 | 0/1 随机 | 0 | 0/1 随机 | 0 | 1 | 0/1 随机 | 0 | | 筛除 | 保留 | 丢弃 | 保留 | 丢弃 | 保留 | 保留 | 丢弃 | 保留 | 筛后序列:`0,0,0,1,0`(5 位)。抽 2 位(第 1、5 位)公开比对无差异 → QBER 暂时可信;剩下 3 位进入纠错与隐私放大。 ## 3. 攻击分析:截获–重发 Eve 最直接的攻击:在量子信道上截获每个量子比特,测量,再按测量结果**重发**一个相同基矢的态给 Bob。她必须测量——no-cloning 禁止她"先抄一份再放行原件";而她不知道 Alice 用的基,只能瞎猜,这正是协议的支点。 对**单个筛后比特**逐项分析(Alice 用 $\mathcal Z$ 基发送 $|0\rangle$,Eve 随机选基): - Eve 选 $\mathcal Z$(概率 $1/2$):测得 0,重发 $|0\rangle$——Bob(也用 $\mathcal Z$)读出 0,**无扰动**; - Eve 选 $\mathcal X$(概率 $1/2$):$|0\rangle$ 在 $\mathcal X$ 基下完全随机($|\langle\pm|0\rangle|^2 = 1/2$),她以 $1/2$ 概率发 $|+\rangle$、$1/2$ 概率发 $|-\rangle$;Bob 用 $\mathcal Z$ 测这两个态都以 $1/2$ 概率得到 1——**以 $1/4$ 的总概率给 Bob 引入错误比特**。 结论:Eve 每窃听一个筛后比特,就引入 $25\%$ 的条件误码率。反向使用:若实测 QBER 为 $q$,则 Eve 最多"安全"窃听约 $4q$ 比例的比特——第 5 步的隐私放大按此压缩即可把她挤出去。 **检测概率**:Eve 窃听 $m$ 个被抽检比特而不被发现的概率为 $(3/4)^m$——指数衰减。抽 100 个校验比特,她蒙混过关的概率约 $3\times10^{-13}$。 对一般攻击(相干攻击、最优集体攻击)的严格证明远比这复杂(Shor–Preskill 2001 给出 BB84 在"准备–测量"框架下的完整信息论安全证明,阈值 QBER $\approx 11\%$),但物理内核不变:**非正交态携带的信息,任何测量既不能完整读出、也不能不留痕迹**。 ## 4. 信息论视角:为什么"压缩"能杀死窃听者 隐私放大并非魔法,其内核是两条信息论事实: - **Holevo 界**:从 $n$ 个量子比特中,无论怎样测量,至多提取 $n$ 比特经典信息(一般远少于"振幅连续取值"的错觉)。更精确地,Eve 对系统的互信息被她的"可分辨子空间维度"卡死。 - **残嫡定理 / 通用散列**:若 Eve 关于 $n$ 比特串的互信息至多 $t$ 比特,则用通用散列把串压到 $n - t - s$ 比特后,Eve 关于输出的信息总量以 $O(2^{-s})$ 衰减。 两者相加:误码估计给出 $t$ 的上界(QBER 越高 $t$ 越大),散列压缩兑现"她不知道"。这就是"QBER 阈值"的来源——$q$ 太大时 $t$ 逼近 $n$,可提取密钥率 $r \approx 1 - 2h_2(q)$($h_2$ 为二元熵函数)降到零,大约在 $q \approx 11\%$ 处(渐近极限)。 **一个常见误解的澄清**:QKD 不传输消息、不做加密算法——它只生产对称密钥,加密仍由 OTP 或 AES 等完成;公开经典信道**必须认证**(否则中间人攻击成立),认证本身需要少量初始共享密钥,所以 QKD 严格说是"密钥增长"而非"从零建立信任"。 ## 5. 工程现实与现状 - **诱骗态 BB84 (decoy-state)**:真实系统用弱激光脉冲(含多光子分量)而非理想单光子源。Eve 可对多光子脉冲做"光子数分裂"攻击——无扰动地分走一个光子。诱骗态方法(随机切换脉冲强度)让 Alice/Bob 能估计并扣除这部分泄露,把安全距离推进到数百公里级。 - **器件不完美与侧信道**:探测器时序差、光源后门等催生了测量设备无关 QKD (MDI-QKD) 与设备无关 (DI) 方案——安全性不再假设"设备行为符合规格"。 - **网络与星地**:光纤 QKD(城域骨干,如京沪干线,2017)与卫星中继("墨子号"星地密钥分发,2017 年洲际视频通话加密演示)互补:光纤损耗指数增长,自由空间信道损耗多项式级,星地链路是全球组网的现实路径。 - **与后量子密码 (PQC) 的关系**:PQC(基于格等困难问题的经典算法,已进入标准化)与 QKD 是两条独立路线——计算假设 vs 物理保证——现实中常被部署为纵深防御的组合。 ## 本课总结 - QKD 用物理定律(no-cloning + 测量扰动)分发信息论安全的密钥材料,补上 OTP 的"密钥从哪来"缺口。 - BB84 五步:制备测量 → 筛除 → 误码估计 → 纠错 → 隐私放大;双基非正交是安全性的根。 - 截获–重发引入 25% 条件误码,检测概率随校验比特数指数上升;渐近安全阈值 QBER $\approx 11\%$。 - 安全性的信息论内核:Holevo 界限制窃听信息,通用散列(隐私放大)把残留不确定性兑换成 Eve 的无知。 - 工程层面:诱骗态、MDI/DI、光纤与卫星链路;QKD 与后量子密码互补而非互斥。 ## 习题 1. 手算走查:仿照第 2 节的表格,自己掷 12 轮"随机基+比特",完成筛除;若 Eve 在其中 4 轮截获重发,估计筛后序列中平均出现几个错误比特? 2. 证明 Eve 对 $|+\rangle$(Alice 用 $\mathcal X$ 基)做 $\mathcal Z$ 基测量并重发后,Bob 用 $\mathcal X$ 基测错的概率也是 $1/4$——即 25% 误码率对两组基对称。 3. 可提取密钥率 $r \approx 1 - 2h_2(q)$:计算 $q = 5\%$ 与 $q = 10\%$ 时的 $r$($h_2(q) = -q\log_2 q - (1-q)\log_2(1-q)$),并验证 $q \approx 11\%$ 处 $r \to 0$。 4. 思考题:BB84 需要 Alice–Bob 间经典信道**认证**。若没有认证,画出中间人攻击的完整流程(Eve 分别与 Alice、Bob 独立跑 BB84);由此说明为什么商用系统用少量预共享密钥做初始认证,再由 QKD 不断"续费"。 5. 进阶:比较 BB84(两组基)与六态协议(三组 Pauli 基)。直觉上六态暴露 Eve 的能力更强——查找或推导两者截获–重发误码率的差别($25\%$ vs $33\%$)。