3. E91协议核心流程拆解
E91协议(Ekert 1991)与BB84最本质的区别在于:它不直接发送单光子偏振态,而是利用纠缠粒子对之间的量子关联来生成密钥。理解E91的关键,不是记住几个步骤名称,而是看清“纠缠源—测量—基比对—筛选—检测”这条链路上,每一步的输入是什么、输出是什么、仿真时需要建模哪些对象。本节按协议真实执行顺序拆解,并给出可落地的仿真需求。
第一步:纠缠源分发——产生并分配纠缠对
E91的起点是一个纠缠源,典型输出为Bell态 |Φ⁺⟩ = (|00⟩+|11⟩)/√2。源把一对粒子分别发给Alice和Bob,二者各持一个粒子。这一步的输入是纠缠源参数(态类型、保真度、产生速率),输出是分发给双方的粒子序列以及它们之间的关联关系。
仿真时不能只写“生成纠缠对”一句话,而要明确建模:纠缠态用哪个Bell态、信道是否引入退相干(如去极化噪声使保真度从1降到0.95)、粒子编号如何与双方序列对齐。例如可设定每轮产生N=1000对粒子,编号i从0到999,Alice持有粒子A_i,Bob持有粒子B_i,二者通过编号索引保持配对关系。保真度F=0.95意味着有5%的概率态被噪声破坏,这会直接抬高后续误码率,是窃听检测必须考虑的基线。
第二步:双方独立测量——随机选基
Alice和Bob各自独立、随机地为每个粒子选择测量基。E91常用两组基:Z基({|0⟩,|1⟩})和X基({|+⟩,|−⟩})。输入是各自的粒子序列和随机数发生器,输出是每轮的测量基选择(Z或X)与测量结果(0或1)。
仿真实现上,可用伪随机数生成器为每轮各产生一个基选择比特:0代表Z基,1代表X基。测量结果由纠缠关联和所选基共同决定——当双方选同一基时,结果完全相关(同基下|Φ⁺⟩给出相同比特);选不同基时,单次结果看似随机,但统计上仍受纠缠约束。这一步的仿真需求是:记录每轮的(i, 基A, 基B, 结果A, 结果B)五元组,作为后续比对与筛选的原始数据。
第三步:公开基比对——只公布基,不公布结果
测量完成后,双方通过经典信道公开各自每轮使用的测量基,但绝不公开测量结果。输入是双方的基序列,输出是“基是否一致”的标记序列。这一步是E91安全性的关键:窃听者Eve即使截获基信息,也无法反推结果,因为基公布发生在测量之后。
仿真中,基比对就是对每轮判断基A_i是否等于基B_i,生成一个布尔标记match_i。约定:match_i=1表示同基,进入密钥筛选;match_i=0表示异基,其数据不用于生成密钥,但可用于CHSH类关联检验(进阶内容,本节先聚焦密钥链路)。需要强调参照约定:本文统一以“0=Z基、1=X基”编码,全文与图示保持一致。
第四步:密钥筛选——保留同基结果
筛选规则很直接:只保留match_i=1的那些轮次,Alice取结果A_i、Bob取结果B_i组成候选密钥串。输入是原始五元组和match标记,输出是双方各自的候选密钥序列。若N=1000轮、基随机独立选择,则同基比例期望约50%,即约500轮进入候选集。
仿真时要注意:筛选后双方序列必须仍按同一顺序排列,否则后续误码统计会错位。实际实现中通常保留原始索引列表,筛选即“按索引取子集”,而不是重新压缩编号。这一步的输出还应包含候选密钥长度,作为密钥率的分子基础。
第五步:窃听检测——抽样估计误码率
双方从候选密钥中随机抽取一部分(如10%)公开比对结果,计算量子误码率QBER。输入是抽样位置上的双方比特,输出是QBER估计值及“是否安全”的判断。判据通常取阈值约11%(对应BB84类安全性界,E91在理想条件下同样适用该量级)。若QBER低于阈值,剩余90%候选比特经纠错与隐私放大后成为最终密钥;若超阈值,判定存在窃听,丢弃本轮密钥。
仿真需求在这里最集中:需要实现抽样比例、误码统计、阈值比较和分支判断。例如500比特候选、抽50比特比对,若其中6比特不一致,QBER=12%,超过11%阈值,则应触发“丢弃并告警”。这个示例数值属于教学假设,用于说明判断逻辑,并非实测结果。
把五步串成可运行的仿真主线
从仿真工程角度看,上述五步可以组织为一条数据流水线:先生成N轮配对粒子与基选择,再逐轮产生测量结果,然后做基比对与筛选,最后抽样统计QBER并分支。关键数据结构就是每轮一条记录,字段为索引i、基A、基B、结果A、结果B、match标记。所有后续统计都从这张表派生,避免重复生成随机数导致前后不一致。
需要提醒的是,E91的完整安全性论证还涉及CHSH不等式检验——用异基轮次估计关联强度S,理想纠缠下|S|可达2√2≈2.828,经典界限为2。本节聚焦密钥生成主链路,把CHSH检验留作进阶内容;但在仿真设计上应预留异基数据的存储,否则后续无法补做关联检验。这也是“明确每步输入输出”的实际价值:输入输出定义清楚了,仿真模块才能解耦、可复用、可验证。