QKD 的安全性不靠"算不动",而靠"测了就变样"。最经典的 BB84 协议用光子的偏振态编码比特,通过"基不一致就丢弃"的机制,让通信双方只保留安全的那部分密钥。

| 步骤 | 关键动作 | 目的 |
|---|---|---|
| 编码 | Alice 用两组基随机编码比特 | 引入量子随机性 |
| 发送 | 偏振光子经光纤传输 | 量子态搬运 |
| 测量 | Bob 随机选基测量 | 半数基一致 |
| 基比对 | 经典信道公开基、保密比特 | 筛出一致子集 |
| 错误估计 | 抽查部分比特算误码率 | 判断有无窃听 |
| 提纯 | 纠错 + 隐私放大 | 抹除 Eve 可能信息 |
💡 两组基(如水平/垂直基 与 对角基)互为非正交,Eve 若用错基测量就会扰动光子,这是 BB84 能发现窃听的核心。
⚠️ 实际脉冲往往含多个光子,Eve 可截取多余光子而不影响主信号(光子数分离攻击)。工程上用诱骗态(decoy-state)随机混入不同强度的脉冲来堵这个漏洞。
BB84 的六步流程看似繁琐,其实每一步都对应一个明确的安全目的。随机基编码解决的是「如何用物理手段表达比特」:两个基(如直线基与对角基)互为非正交,Eve 无法用单个测量同时确定两组基下的取值;随机选基解决的是「如何让 Eve 没有捷径」:她猜基猜错就会扰动光子,且她自己也不知道错在哪,最终体现在 Alice 与 Bob 的误码率上。
公开基比对与保密比特要放在一起理解:Alice 与 Bob 只公开「用了哪个基」,不公开比特值本身,因此窃听者只能知道基的分布,拿不到比特内容。错误率估计是安全性的闸门——误码率超过阈值就说明有窃听或信道异常,直接放弃本轮密钥。最后的纠错与隐私放大则处理两种残留风险:信道噪声导致的比特错误,以及 Eve 可能已掌握的少量信息,通过隐私放大把密钥中与 Eve 相关的部分彻底压缩掉。
# BB84 四态与基的定义(供对照记忆) 基类型 两个偏振态 编码约定 直线基(+): 水平 |0> 垂直 |1> 0/1 各一个态 对角基(x): 对角 /45° 反对角 \135° 0/1 各一个态 一致基规则: 双方同基 -> 保留该比特 不同基 -> 丢弃 # 窃听检测的量化逻辑 Eve 猜中基(概率 1/2)-> 光子不变,Bob 无误码 Eve 猜错基(概率 1/2)-> 光子被扰动, Bob 用自己随机基测 -> 有一半概率得到错误值 合计:每窃听一个比特,引入错误率约 1/4 若实测误码率显著偏离本底噪声 -> 判定存在窃听 # 工程参数需要考虑的变量 光源:衰减到平均 0.1 光子/脉冲 以下(对抗光子数分离) 信道:光纤衰减率(如 0.2 dB/km)决定安全距离 探测器:暗计数与效率失配,决定本底误码率
这张对照表的价值在于把 BB84 从「六步流程图」变成「可计算的工程模型」:误码率是可测的、窃听概率是可算的、光源强度是可调的。理解了每一环的量化关系,才能真正把握 QKD 的安全性边界在哪里、工程调试该往哪个方向用力,而不是停留在「量子很神秘」的层面。
从教学角度看,BB84 的六步还蕴含了一个通用方法:把「安全属性」拆成「可检测的物理信号」。每一次对量子态的截获、测量、重发,都会在错误率、光子统计或时间分布上留下痕迹——这与经典密码学「攻击不改变密文统计」形成鲜明对比。这个「留痕」特性是 QKD 区别于一切计算安全方案的根本,也是后续 2.3 安全性分析的前提。
对工程实现者,还有一个参数需要牢记:BB84 的成码率远低于经典通信的比特率,因为基比对要丢弃约一半比特,后续纠错与隐私放大再扣除一部分。因此 QKD 链路的分发速率以 kbit/s 量级为常见,通常用作主密钥源再通过 AES 派生会话密钥,而不是直接承载大流量加密——理解这条「QKD 只供主密钥」的边界,才能设计出合理的应用架构。
这条边界也解释了 QKD 为何常与一次性密码本配合:一次性密码本要求密钥与数据等长,正好让 QKD 分发的短密钥直接加密短报文;而对大流量场景,QKD 密钥只作为种子经 AES 扩展,兼顾安全与速率。