3. 后处理流水线总览

QKD 后处理不是单一算法,而是一条由多个阶段串联而成的流水线。原始密钥(raw key)在物理层完成探测与时间标记后,仍带有三类“杂质”:探测事件中混入的暗计数与错误匹配、信道与器件引入的比特翻转、以及 Eve 可能掌握的部分信息。后处理的目标,就是把一份“看起来像密钥”的原始比特串,变成一份长度更短、但可证明安全且双方一致的最终密钥。理解这条流水线,关键是看清每个阶段“输入什么、输出什么、接口如何衔接、失败时如何回退”。

整条流水线可概括为五个阶段:筛选(sifting)、误码估计(parameter estimation / error estimation)、纠错(error correction / reconciliation)、验证(verification)、隐私放大(privacy amplification)。它们并非彼此独立,而是通过共享的随机性、公开信道和长度参数紧密耦合。下图给出各阶段的任务、输入输出与关键接口关系。

① 筛选 Sifting 比对基矢/时间标记 丢弃不匹配事件 输出:筛选密钥 sifted key ② 误码估计 抽样公开比对 估计 QBER 与相位错误 输出:QBER、样本消耗 ③ 纠错 Cascade / LDPC 协商 公开校验子,翻转错误 输出:一致密钥 + leak_EC ④ 验证 哈希比对确认一致 失败则丢弃/重来 输出:确认/中止信号 ⑤ 隐私放大 压缩至安全长度 消除 Eve 信息 输出:最终密钥 公开认证信道(经典信道):基矢比对、抽样公布、校验子、哈希标签、随机种子 验证失败 → 回退/丢弃 密钥长度演化(示意) n_raw → n_sift → n_est → n_EC → n_PA(逐级缩短) 关键接口参数 • QBER:误码率,决定纠错与隐私放大开销 • leak_EC:纠错公开泄露比特数 • n_est:误码估计消耗的样本数 • 安全参数 ε:决定压缩量 阶段衔接与失败处理 • 筛选后双方密钥长度必须一致 • 误码估计样本不可再用于密钥 • 纠错失败 → 重协商或丢弃 • 验证失败 → 整块密钥作废

下面按阶段说明任务与接口。筛选阶段的任务是让 Alice 和 Bob 确认哪些探测事件是双方都“有效”的。以 BB84 为例,Alice 随机选择 Z 基或 X 基发送单光子态,Bob 也随机选择测量基。双方通过公开信道公布各自的基矢选择(不公布比特值),只保留基矢一致的事件。若使用诱骗态协议,还要保留信号态与诱骗态的分类标记,供后续误码估计使用。筛选的接口输出是两份长度相同、按时间对齐的比特串,以及每个比特对应的基矢和强度标签。此时双方密钥通常并不完全一致,QBER 可能在 1%~5% 量级(示例值,实际取决于信道与器件)。

误码估计阶段的任务是估计筛选密钥的误码率 QBER,并进一步估计相位错误率,为安全性参数和隐私放大压缩量提供依据。做法是从筛选密钥中随机抽取一部分比特(例如 10%),双方公开比对这部分比特值,统计不一致比例。抽样必须随机且公开可验证,抽样后的比特不能再进入最终密钥。接口上,误码估计输出 QBER 估计值、抽样消耗的比特数 n_est,以及(在诱骗态协议中)由不同强度组合推算出的相位错误率上界。若 QBER 超过协议阈值(例如 BB84 在典型参数下约 11%),则必须中止本轮,因为此时无法提取正的安全密钥率。

纠错阶段的任务是消除 Alice 与 Bob 密钥之间的比特翻转,使双方得到完全一致的比特串。常用算法包括 Cascade 和 LDPC。以 Cascade 为例,双方将密钥分成若干块,公开每块的奇偶校验值,发现奇偶不一致的块后通过二分查找定位并翻转错误比特,再经过多轮不同分块方式迭代,直到校验一致。LDPC 则通过稀疏校验矩阵和置信传播译码,在码长较长时效率更高。纠错阶段的关键接口是公开泄露比特数 leak_EC,它等于所有公开校验信息的总量。纠错完成后,双方密钥一致,但 Eve 可能通过公开校验信息获得了部分信息,因此还需要隐私放大。纠错效率通常用 f = leak_EC / (n · H(QBER)) 衡量,理想值接近 1,实际 Cascade 约 1.1~1.2,LDPC 可做到 1.05 左右(示例范围)。

验证阶段的任务是确认纠错后双方密钥确实完全一致,防止因纠错失败或信道攻击导致的不一致密钥进入最终输出。做法是双方对纠错后的密钥计算一个哈希值(如 SHA-256 或 Toeplitz 哈希),公开比对哈希标签。若标签一致,则以极高概率确认密钥相同;若不一致,则说明纠错未完成或存在异常,必须丢弃本轮密钥并重新执行后处理。验证阶段本身会消耗少量密钥比特作为哈希输入,但这是必要的安全开销。验证的接口输出是一个二值信号:确认或中止。

隐私放大阶段的任务是把 Eve 可能掌握部分信息的密钥,压缩成一段 Eve 信息量可忽略的最终密钥。核心思想是:即使 Eve 知道原始密钥的部分信息,只要压缩后的长度小于双方互信息与 Eve 信息量之差,Eve 对最终密钥的不确定性就接近最大。常用方法是 Toeplitz 矩阵哈希或通用哈希函数。压缩量由安全参数 ε 和 Eve 信息量上界决定,公式可写为:n_final = n_EC − leak_EC − n_est − Δ,其中 Δ 是安全裕量。隐私放大的接口输出是最终密钥及其长度,同时输出本轮的安全参数。若最终长度小于等于零,说明本轮无法提取安全密钥,应中止。

整条流水线的接口关系可以总结为:筛选输出对齐的原始比特串;误码估计输出 QBER 和样本消耗;纠错输出一致密钥和 leak_EC;验证输出确认信号;隐私放大输出最终密钥。每个阶段的输出都是下一阶段的输入,且所有公开信息都通过认证经典信道传输。实际实现中,这些阶段通常由后处理软件统一调度,维护一个状态机:若任一阶段失败,则回退到筛选或直接丢弃本轮,等待下一轮量子传输。理解这条流水线,是后续深入纠错算法、隐私放大证明和系统集成的基础。