4. 纠错编码基础与QKD适配性分析

信息协调的本质是让收发双方在存在误码和窃听者信息的信道上,通过公开讨论把不一致的原始密钥纠正为完全一致的比特串。纠错编码是这一过程的核心工具:它决定了需要泄露多少信息、消耗多少计算资源、引入多大延迟。本节从三类典型纠错码出发,分析它们在QKD场景下的适配性。

一、三类纠错码的基本原理

线性分组码把信息序列切成长度为 k 的块,通过生成矩阵映射为长度 n 的码字,码率 R = k/n。接收端用校验矩阵 H 计算伴随式 s = H·rᵀ,伴随式只与错误图样有关,与发送码字无关,因此可以据此定位并纠正错误。汉明码、BCH码、RS码都属于这一类。分组码结构规整、编译码逻辑清晰,但码长受代数结构约束,长码的构造和译码复杂度上升较快。

卷积码不按块处理,而是让输入比特流经移位寄存器与编码器状态相互作用,输出与当前输入及前 m 个历史输入相关,约束长度 K = m+1。译码常用维特比算法,在网格图上做最大似然路径搜索,复杂度随约束长度指数增长。卷积码适合流式处理、延迟低,但纠错能力在同等码率下通常弱于现代长码,且对突发错误需要交织配合。

LDPC码由稀疏校验矩阵定义,可用Tanner图表示变量节点与校验节点的连接关系。译码采用置信传播(BP)或和积算法,在稀疏图上迭代传递外信息,逼近香农限。LDPC码码长可以做到上万比特,性能随码长提升明显,但迭代译码需要多轮消息传递,存在吞吐与延迟的权衡,且稀疏矩阵的存储与并行调度对硬件提出要求。

三类纠错码的QKD适配性对比 对比维度 线性分组码 卷积码 LDPC码 典型码长 中短,受代数结构约束 流式,无固定块长 可长至上万比特 码率灵活性 离散取值,调整受限 可打孔,较灵活 码率可精细设计 译码延迟 块级等待,中等 流式,延迟低 迭代多轮,延迟较高 硬件实现 逻辑简单,易实现 维特比,状态存储大 并行调度,资源密集 QKD适配结论 适合短块、低复杂度场景 适合低延迟流式协调 长码高效率,主流选择

二、QKD场景对纠错码的特殊约束

QKD信息协调与普通通信纠错最大的区别在于:公开讨论信道对窃听者完全可见。纠错过程中泄露的校验信息会直接削减安全密钥量,因此码的效率不能只看纠错能力,还要看泄露信息是否接近理论下界。设原始误码率为 QBER,则二元熵 H₂(e) 给出了纠正该误码所需的最小信息量,实际泄露量与 H₂(e) 之比即协调效率 f,通常要求 f 控制在 1.1~1.3 之间。这意味着码的设计目标不是“纠得越多越好”,而是在给定QBER下用尽量少的泄露完成纠正。

码长方面,QKD原始密钥块通常只有 10⁴~10⁶ 比特量级,且受限于单次成码时间。码长过短,LDPC的迭代译码性能退化明显;码长过长,则需要等待更长的密钥积累,增加系统时延。工程上常把码长选在 10⁴~10⁵ 比特,兼顾性能与等待时间。

码率必须与实时QBER匹配。QBER随信道波动,固定码率会在误码升高时译码失败、误码降低时浪费泄露。因此实际系统多采用码率可调的方案,例如通过打孔或选择不同校验矩阵,按当前QBER估计值动态选取工作点。

译码延迟直接影响密钥生成速率。以一次成码 10⁵ 比特、目标吞吐 10 Mbps 为例,若LDPC迭代 50 轮、每轮处理需 20 μs,则单块译码约 1 ms,对应吞吐约 100 Mbps 量级,尚可接受;但若迭代轮数或块长翻倍,延迟会成比例上升。低延迟场景下卷积码或短码更有优势。

硬件实现方面,QKD设备常嵌入FPGA或专用ASIC,资源有限。LDPC的稀疏矩阵存储、消息量化位宽、并行度都需要在资源与吞吐间折中;分组码逻辑简单但长码译码器面积增长快;卷积码的维特比译码器状态存储随约束长度指数增长。实际选型要结合板卡资源、功耗和实时性综合判断。

三、选型与参数配置示例

下面给出一个面向QBER约 5%、块长 65536 比特的LDPC协调参数配置示例,用于说明各参数如何联动。以下数值为教学示例,非实测结果:

码类型        : 准循环LDPC (QC-LDPC)
码长 n        : 65536 bit
码率 R        : 0.80(可打孔至 0.75 / 0.70)
校验矩阵      : 基矩阵 16×64,扩展因子 Z=1024
译码算法      : 归一化最小和 (NMS),归一化因子 0.75
最大迭代      : 50 轮
量化位宽      : 消息 6 bit,信道LLR 8 bit
目标协调效率 f: ≤ 1.15
QBER估计      : 由抽样公开比较得到,滑动窗口 4096 bit

配置逻辑是:先由抽样估计当前QBER,据此计算 H₂(e) 并选定码率,使 R 略高于 1−H₂(e) 以保证可译;译码失败时回退到更低码率重试,成功则记录本次泄露量并更新 f 的统计。归一化因子和迭代上限通过离线仿真在目标QBER区间标定,量化位宽则根据FPGA的DSP资源确定。

判断一次协调是否达标,可同时观察三个量:译码是否收敛(伴随式归零或校验节点全部满足)、实际泄露比特数与 H₂(e)·n 的比值是否不超过设定上限、单块译码耗时是否满足吞吐要求。三者任一不满足,都应调整码率、迭代上限或块长后重试。

综合来看,线性分组码适合结构简单、块长较短的场合;卷积码在低延迟流式协调中有位置;LDPC码凭借长码下的高效率成为当前QKD信息协调的主流选择,但必须围绕QBER动态选码率、控制迭代延迟并做好硬件资源规划。码的选择从来不是孤立的性能比较,而是泄露量、延迟、资源三者与实时信道状态共同约束下的工程折中。