一个面向教学/演示的 BB84 量子密钥分发(QKD)互动可视化应用。重点在“直观理解”而非严谨复现与后处理。
- 安装依赖:
pip install -r requirements.txt- 启动应用:
streamlit run app/main.py- 浏览器打开提示的本地地址(默认
http://localhost:8501)。
提示:如未自动打开浏览器,可手动访问 http://localhost:8501;若端口占用,使用 --server.port 8502。
- 交互式查看 BB84 流程:Preparation → Measurement → Sifting → Sampling/QBER → Decision。
- 切换是否引入窃听者 Eve,直观看到 QBER 的上升与是否“拒绝本次密钥交换”。
- 可调参数(侧边栏):Number of bits、Sampling ratio、QBER threshold、Channel noise、Eve strategy、Random seed、是否使用 Qiskit。
- 可视化:
- Basis match heatmap(同基高亮)
- Measurement comparison(Alice/Bob 逐位对比)
- Sifting highlight(保留/丢弃位置)
- QBER gauge(阈值 vs 当前误码率)
- Sifted key length(剩余密钥长度)
- 导出本次运行摘要(不泄露最终密钥位)。
本项目以 MIT License 授权发布。详情请查阅 LICENSE 文件。