---
title: "BB84 密钥分发互动实验｜Sandbox Physics"
description: "BB84 里，双方公开比对之后，哪些比特能留作密钥？只剩双方恰好用了同一个基的那些比特。"
canonical_url: "https://sandboxphysics.com/zh/labs/bb84-key-distribution/"
language: "zh-CN"
page_type: "lab"
alternate_languages:
  en: "https://sandboxphysics.com/labs/bb84-key-distribution/"
last_modified: "2026-10-27"
---

Q044 · 制备 / 筛选 / 公开检验

# BB84 密钥分发

**BB84 里，双方公开比对之后，哪些比特能留作密钥？** 只剩双方恰好用了同一个基的那些比特。其中还要随机挑一部分公开，用来估计误码率，这部分也得扔掉。误码率偏高，可能有人窃听。之后纠错和隐私放大还会把密钥再缩短一截。

让四种态的信号穿过通信线路，可以选择加入截获后重发的窃听者。保留基相同的比特，随机公开一部分作检验，再看一个简化的奇偶筛选和二进制哈希。每个留下或丢掉的比特，都能追溯到当初发送的记录。

> 交互仿真：在浏览器中打开本页，即可调整参数并运行模型。

协议按单个量子比特逐个模拟。各方独立、均匀地选基，损失与测量结果无关，Bob 的读出可能翻转。假定经典通道已经认证。后处理演示成对奇偶剔除，以及公开的 Toeplitz 哈希，把字符串压缩到随意选定的一半长度；这并不能给出安全密钥长度。所有导出的比特都是教学数据，不能当作真实秘密使用。

记录的证据与资源成本

模拟试次

## 比特去了哪里

检验错误只统计随机公开的那部分比特。逐点 95% Wilson 区间描述这个模型的检验错误概率，不是剩余比特的安全界。损失与比特取值和测量基都无关。

公开检验错误 / 95% 范围

$\text{—}$

未公开的同基比特

$\text{—}$

发送 / 探测信号

$\text{—}$

物理教程

## 沿着公开记录逐步检查

**背景** Alice 随机选一个比特，再从两种基中选一种；Bob 独立选自己的基。传完之后，双方公开比对基，只保留被探测到、而且基相同的事件。

**为什么值得理解** 公开检验要用掉一部分筛选后的比特。后处理必须算上公开出去的信息和剩下的错误，不能把留下来的比特都当成秘密。

先抓重点

- **核心问题**: 公开检验一个错误都没有，就能保证没公开的那部分字符串吗？
- **一句话直觉**: 有限次检验只能在一定假设下估计错误率。它认不出具体是哪种攻击，单靠它也证明不了安全密钥能有多长。

### 核心数学模型

#### 四种信号态

$$
|0\rangle,\ |1\rangle,\ |+\rangle=\frac{|0\rangle+|1\rangle}{\sqrt2},\ |-\rangle=\frac{|0\rangle-|1\rangle}{\sqrt2}
$$

每个信号都是一个量子比特。用同一组基测量，结果是确定的；用另一组基测量，两种结果各占一半。

#### 线路的理论参考值

$$
P(\mathrm{sifted})=\eta/2,\qquad Q=q+(1-2q)f/4
$$

被截获的那部分信号，Eve 均匀随机地选基测量，再重发出去。探测彼此独立，读出翻转发生在 Bob 一侧。这个公式只是单独的参考，不是从记录估计出来的。

#### 公开检验估计

$$
\widehat Q=\frac{N_{\mathrm{test,error}}}{N_{\mathrm{test}}}
$$

每个筛选后的试次都事先独立地随机标记是否用于检验，公开时不会重新抽取。Wilson 范围是针对这个独立同分布概率的逐点区间，不是有限密钥的安全界。

#### 成对奇偶剔除

$$
p_A=a_1\oplus a_2,\quad p_B=b_1\oplus b_2
$$

每对比特，双方各公开一个奇偶值。不一致就整对丢掉，一致就只留第一位。同一对里出现两个错误时，可能查不出来。最后落单的那一位直接丢弃。

#### Toeplitz 演示

$$
y_i=\bigoplus_{j=0}^{n-1}T_{ij}x_j,\quad T_{ij}=s_{n-1-j+i}
$$

矩阵由一个公开、可复现的二进制种子确定，双方的字符串都被哈希压缩到剩余长度的一半。这个压缩比是随意定的，不是从熵界推出来的，因此不算经过认证的隐私放大。

### 常见难点

#### 损失与扰动

**容易误解** 信号丢了，错误率自然就会上升。

**正确理解** 在这里的独立损失模型中，损失只让样本变少，被探测比特的期望错误率不变。

#### 识别攻击

**容易误解** 任何不一致都证明 Eve 存在。

**正确理解** 读出噪声同样造成错误；反过来，有限样本未见错误也不能排除截获。

#### 这不是真密钥

**容易误解** 最后哈希出来的字符串可以用来加密真实消息。

**正确理解** 这里没有密码学随机源，没有实现认证通道，没有有限密钥熵分析，也没有最后验证双方密钥相等。完整的教学记录还把私有值都暴露了。

### 动手实验

1. 01

   #### 发送

   用干净线路发送一组，查看收到的信号。

   **你会看到：** 没有噪声时，同基结果一致；基不同时，即使没有窃听者，结果也是随机的。

2. 02

   #### 筛选与公开

   推进至同基筛选和公开检验。

   **你会看到：** 检验比特会从候选字符串里删掉。公开的比例越大，用掉的比特越多，检验数据也越多。

3. 03

   #### 加入窃听者

   截获全部信号，重新发送并公开检验。

   **你会看到：** 没有其他噪声时，筛选后的理论错误率是四分之一；有限样本会在它附近波动。

4. 04

   #### 检查后处理

   推进至末步，导出奇偶与哈希审计。

   **你会看到：** 看一看公开的奇偶值、矩阵种子和双方的输出。两边输出相同，也不能证明它们是保密的。

物理结论

留下的每个比特都有代价。认证、误差估计、信息协调和隐私放大，各自都需要单独的依据。

量子与场 · 入门路径

## 从一次测量开始

先预测结果，再数一数实际测到了什么。从一个量子比特出发，一路走到波包、束缚态和双光子干涉。

[从这里开始 → **量子态与 Born 测量** 先预测一个概率，转动分析器，再拿预测和多次测量得到的频率比一比。 观察 · 15 分钟](https://sandboxphysics.com/zh/labs/qubit-state/)

1. [1 量子态与 Born 测量](https://sandboxphysics.com/zh/labs/qubit-state/)
2. [2 Stern–Gerlach 顺序测量台](https://sandboxphysics.com/zh/labs/stern-gerlach-sequence/)
3. [3 波包传播与不确定性](https://sandboxphysics.com/zh/labs/wave-packet-uncertainty/)
4. [4 量子谐振子态工作台](https://sandboxphysics.com/zh/labs/quantum-harmonic-oscillator/)
5. [5 路径标记与量子擦除](https://sandboxphysics.com/zh/labs/quantum-eraser/)
6. [6 Hong–Ou–Mandel 两光子干涉](https://sandboxphysics.com/zh/labs/hong-ou-mandel/)

[查看完整路径 →](https://sandboxphysics.com/zh/topics/quantum/#starter-path)
