土法炼钢兴趣小组的算法知识备份

【密码学百科】量子密钥分发:BB84 协议、设备无关 QKD 与量子网络

文章导航

分类入口
cryptography
标签入口
#QKD#BB84#E91#MDI-QKD#device-independent#quantum-network#quantum-satellite#Micius#information-theoretic-security#photon

目录

在前面关于后量子密码(post-quantum cryptography, PQC)的系列文章中,我们讨论了如何利用新的数学困难问题来构建能抵抗量子计算机攻击的密码方案。然而,密码学界在应对量子威胁时其实存在两条截然不同的技术路线。第一条路线是 PQC,它仍然基于计算复杂性假设,只不过选择了被认为量子计算机也难以攻破的数学问题。第二条路线则完全跳出了计算复杂性的框架——它直接利用量子力学的基本定律来保障通信安全,其安全性不依赖于任何计算困难性假设,而是建立在物理学原理之上。这第二条路线就是量子密钥分发(quantum key distribution, QKD)。

QKD 的核心目标非常明确:让通信双方(传统上称为 Alice 和 Bob)通过量子信道和经典信道的协同使用,协商出一串只有他们双方知道的随机密钥。这一密钥协商过程具有信息论安全性(information-theoretic security),即即使窃听者(传统上称为 Eve)拥有无限的计算能力——包括未来任何可能出现的量子计算机——也无法获取关于密钥的任何有意义的信息。一旦密钥协商完成,Alice 和 Bob 就可以使用一次性密码本(one-time pad, OTP)对消息进行加密,从而实现端到端的信息论安全通信。

本文是密码学百科系列的第 60 篇。我们将从 QKD 的物理学基础出发,系统地讲解 BB84 协议、E91 协议、实际系统中的安全性挑战、测量设备无关 QKD(measurement-device-independent QKD, MDI-QKD)、设备无关 QKD(device-independent QKD, DI-QKD)、量子网络架构,以及以墨子号(Micius)卫星为代表的远距离 QKD 实验进展。最后,我们将客观地讨论 QKD 的局限性以及它与 PQC 之间的互补关系。

BB84 量子密钥分发协议:量子态编码与基矢筛选

一、QKD 的基本原理

先看一张图,把这一节的关键关系串起来。

graph LR
    A[Alice]
    Q[量子信道]
    B[Bob]
    E[Eve]
    C[经典信道]
    P[筛选/纠错/隐私放大]
    A --> Q --> B
    E -.窃听.-> Q
    A --> C --> B
    B --> C --> A
    B --> P

QKD 的安全性根植于量子力学的几条基本定律,这些定律是经过无数实验验证的物理事实,而非数学假设。理解这些原理是理解所有 QKD 协议的基础。

第一条关键原理是量子不可克隆定理(quantum no-cloning theorem)。该定理由 Wootters 和 Zurek 于 1982 年证明,它指出不存在一个通用的量子操作能够完美复制一个未知的量子态。具体来说,如果给定一个处于未知状态 |ψ⟩ 的量子比特,不可能制造出它的一个完美副本,同时保持原始量子比特的状态不变。这一结论直接源于量子力学的线性性(unitarity),其证明简洁而优美:假设存在一个克隆操作 U,使得 U|ψ⟩|0⟩ = |ψ⟩|ψ⟩ 对任意 |ψ⟩ 成立,那么对两个不同的非正交态 |ψ⟩ 和 |φ⟩ 分别应用此操作并取内积,会得到 ⟨ψ|φ⟩ = (⟨ψ|φ⟩)²,这要求 ⟨ψ|φ⟩ 只能为 0 或 1,即两个态必须正交或相同,与”任意态”的假设矛盾。不可克隆定理对 QKD 的意义是根本性的:窃听者 Eve 不能在不扰动量子态的情况下截获并复制 Alice 发送给 Bob 的量子信号。任何窃听尝试都会不可避免地在量子态上留下痕迹。

第二条关键原理与海森堡不确定性原理(Heisenberg uncertainty principle)密切相关,更准确地说是测量扰动原理。在量子力学中,对一个量子系统的测量通常会不可逆地改变该系统的状态。特别是,如果 Alice 用某个基(basis)制备了一个量子态,而 Eve 用一个不同的、与之不相容的基去测量它,那么 Eve 的测量会不可避免地扰动该量子态,使得 Bob 接收到的信息与 Alice 发送的信息之间出现差异。这种差异会以误码(error)的形式体现出来,而 Alice 和 Bob 可以通过比对部分数据来检测这些误码。如果误码率超过了正常信道噪声所能解释的水平,他们就知道有人在窃听。

第三条关键原理来自量子纠缠(quantum entanglement)和贝尔不等式(Bell inequality)。当两个量子比特处于纠缠态时,对其中一个量子比特的测量结果会与对另一个量子比特的测量结果呈现出经典物理学无法解释的强关联。贝尔不等式给出了任何经典局域隐变量理论所能达到的关联强度的上界,而量子纠缠可以违反这一上界。在基于纠缠的 QKD 协议(如 E91)中,贝尔不等式的违反被用作信道安全性的判据:如果 Alice 和 Bob 观测到的关联强度违反了贝尔不等式,则可以确信他们的量子态没有被第三方完全掌控。

窃听检测的基本思路可以这样概括:Alice 通过量子信道向 Bob 发送编码了随机信息的量子态;如果 Eve 试图在中途测量这些量子态以获取信息,量子力学的基本定律保证了她的测量会引入可检测的扰动;Alice 和 Bob 随后通过经典信道(该信道可以被窃听但不能被篡改——这是 QKD 对经典信道的基本假设,通常称为经认证的经典信道)比对部分数据来估算信道中的误码率;如果误码率低于安全阈值,他们就可以通过后处理步骤从剩余数据中提取出安全的密钥。

二、BB84 协议

BB84 协议是最早也是最经典的 QKD 协议,由 Charles Bennett 和 Gilles Brassard 于 1984 年提出。它使用单光子(single photon)的偏振态来编码信息,采用两组互不相容的测量基——直线基(rectilinear basis,通常记为 + 基)和对角基(diagonal basis,通常记为 × 基)。在 + 基中,|0⟩ 编码比特 0,|1⟩ 编码比特 1;在 × 基中,|+⟩ = (|0⟩ + |1⟩)/√2 编码比特 0,|−⟩ = (|0⟩ − |1⟩)/√2 编码比特 1。

BB84 协议的执行过程分为以下几个阶段。

量子传输阶段(quantum transmission):Alice 对每一个要发送的比特,随机选择 + 基或 × 基中的一个,然后将该比特编码为对应基下的量子态,通过量子信道(例如光纤或自由空间光通信链路)发送给 Bob。Bob 接收到每个量子态后,也随机选择 + 基或 × 基中的一个进行测量。如果 Bob 选择的测量基恰好与 Alice 选择的制备基相同,则 Bob 的测量结果将确定性地与 Alice 的原始比特一致;如果两人选择的基不同,则 Bob 的测量结果是完全随机的,与 Alice 的比特没有关联。

基矢比对阶段(basis reconciliation,也称筛选阶段 sifting):量子传输完成后,Alice 和 Bob 通过经典信道公开宣布各自对每个量子态所使用的基(但不公开具体的测量结果或比特值)。他们丢弃所有基不匹配的数据,只保留基匹配的部分。由于每人独立等概率地选择两个基中的一个,基匹配的概率约为 50%,因此筛选后的数据量大约是原始数据量的一半。筛选后的数据在没有窃听的情况下应当完全一致——这就是初始密钥(sifted key)。

误码估计阶段(error estimation):Alice 和 Bob 从初始密钥中随机抽取一部分比特,通过经典信道公开比对。这些公开的比特不再用于最终密钥,但它们被用来估算量子比特误码率(quantum bit error rate, QBER)。在没有窃听者且量子信道完美的理想情况下,QBER 应该为零。在实际系统中,信道噪声和设备缺陷会引入少量误码,典型值在 1% 到几个百分点之间。关键在于:如果 Eve 在量子传输阶段进行了截获-测量-重发(intercept-resend)攻击,她有 50% 的概率选择了错误的测量基,而在这种情况下她重新发送的量子态会以 50% 的概率导致 Bob 的测量结果出错。综合起来,Eve 的截获-测量-重发攻击会引入约 25% 的 QBER。因此,如果 Alice 和 Bob 观测到的 QBER 显著高于正常水平,他们就可以判定存在窃听,并中止协议。

信息协调阶段(information reconciliation):即使没有窃听,实际信道噪声也会导致 Alice 和 Bob 的初始密钥之间存在少量差异。在此阶段,他们使用经典的纠错协议(例如 Cascade 协议或基于低密度奇偶校验码 LDPC 的方案)来纠正这些差异,使得双方持有完全相同的比特串。信息协调过程需要通过经典信道交换校验信息,这些信息对于窃听者也是可见的。

隐私放大阶段(privacy amplification):经过信息协调后,Alice 和 Bob 持有相同的比特串,但 Eve 可能通过窃听量子信道和经典信道的信息协调过程获得了关于该比特串的部分信息。隐私放大的目的是将这个较长的、Eve 可能持有部分信息的比特串压缩为一个较短的、Eve 几乎没有任何信息的最终密钥。这通常通过使用通用哈希函数(universal hash function)来实现。隐私放大后得到的密钥的长度取决于 Eve 可能获得的信息量的上界估计——QBER 越高,Eve 可能获得的信息越多,最终密钥就越短。当 QBER 超过约 11%(对于 BB84 协议的理论阈值)时,无法再提取出任何安全密钥。

BB84 协议的安全性在理论上已经被严格证明。2000 年,Shor 和 Preskill 给出了一个基于量子纠错码和纠缠蒸馏的优雅安全性证明,将 BB84 的安全性归结为量子力学的基本原理。此后,多位研究者进一步完善了安全性证明,考虑了有限密钥长度效应和各种实际设备缺陷。

以下 Python 代码模拟了 BB84 协议的核心流程,包括基的随机选择、筛选、以及窃听者引入误码的检测:

"""BB84 协议模拟:演示量子密钥分发与窃听检测"""

import random

def bb84_simulation(n_bits: int = 256, eve_present: bool = False) -> dict:
    """
    模拟 BB84 协议的完整流程。

    参数:
        n_bits: Alice 发送的量子比特数量
        eve_present: 是否存在窃听者 Eve

    返回:
        包含协议各阶段统计信息的字典
    """
    # 0 表示 + 基(直线基),1 表示 × 基(对角基)
    alice_bits = [random.randint(0, 1) for _ in range(n_bits)]
    alice_bases = [random.randint(0, 1) for _ in range(n_bits)]

    # Eve 的截获-测量-重发攻击
    if eve_present:
        eve_bases = [random.randint(0, 1) for _ in range(n_bits)]
        # Eve 用自己选择的基测量,得到测量结果
        eve_results = []
        for i in range(n_bits):
            if eve_bases[i] == alice_bases[i]:
                # Eve 选对了基,得到正确比特
                eve_results.append(alice_bits[i])
            else:
                # Eve 选错了基,得到随机结果
                eve_results.append(random.randint(0, 1))
        # Eve 用自己测量的结果重新制备量子态发送给 Bob
        # 此时 Bob 接收到的态是由 Eve 的测量结果和 Eve 的基决定的
        intercepted_bits = eve_results
        intercepted_bases = eve_bases
    else:
        intercepted_bits = alice_bits
        intercepted_bases = alice_bases

    # Bob 随机选择测量基并测量
    bob_bases = [random.randint(0, 1) for _ in range(n_bits)]
    bob_results = []
    for i in range(n_bits):
        if bob_bases[i] == intercepted_bases[i]:
            # Bob 的基与(Eve 重发的或 Alice 原始的)制备基匹配
            bob_results.append(intercepted_bits[i])
        else:
            # 基不匹配,结果随机
            bob_results.append(random.randint(0, 1))

    # 基矢比对(筛选):保留 Alice 和 Bob 基相同的位
    sifted_alice = []
    sifted_bob = []
    for i in range(n_bits):
        if alice_bases[i] == bob_bases[i]:
            sifted_alice.append(alice_bits[i])
            sifted_bob.append(bob_results[i])

    sifted_length = len(sifted_alice)

    # 误码估计:使用一半的筛选后比特进行比对
    sample_size = sifted_length // 2
    sample_indices = random.sample(range(sifted_length), sample_size)
    sample_indices_set = set(sample_indices)

    errors = sum(
        1 for i in sample_indices if sifted_alice[i] != sifted_bob[i]
    )
    qber = errors / sample_size if sample_size > 0 else 0.0

    # 剩余比特作为最终密钥(实际系统还需信息协调和隐私放大)
    final_key_alice = [
        sifted_alice[i] for i in range(sifted_length)
        if i not in sample_indices_set
    ]
    final_key_bob = [
        sifted_bob[i] for i in range(sifted_length)
        if i not in sample_indices_set
    ]

    key_match = final_key_alice == final_key_bob
    # BB84 理论安全阈值约为 11%
    eavesdropping_detected = qber > 0.11

    return {
        "n_bits": n_bits,
        "eve_present": eve_present,
        "sifted_length": sifted_length,
        "sample_size": sample_size,
        "errors_in_sample": errors,
        "qber": qber,
        "final_key_length": len(final_key_alice),
        "keys_match": key_match,
        "eavesdropping_detected": eavesdropping_detected,
    }

def main():
    random.seed(42)

    print("=" * 60)
    print("场景一:无窃听者")
    print("=" * 60)
    result = bb84_simulation(n_bits=1000, eve_present=False)
    print(f"  发送量子比特数: {result['n_bits']}")
    print(f"  筛选后比特数:   {result['sifted_length']}")
    print(f"  误码估计样本数: {result['sample_size']}")
    print(f"  样本中误码数:   {result['errors_in_sample']}")
    print(f"  QBER:           {result['qber']:.4f}")
    print(f"  最终密钥长度:   {result['final_key_length']}")
    print(f"  双方密钥一致:   {result['keys_match']}")
    print(f"  检测到窃听:     {result['eavesdropping_detected']}")

    print()
    print("=" * 60)
    print("场景二:Eve 执行截获-测量-重发攻击")
    print("=" * 60)
    result = bb84_simulation(n_bits=1000, eve_present=True)
    print(f"  发送量子比特数: {result['n_bits']}")
    print(f"  筛选后比特数:   {result['sifted_length']}")
    print(f"  误码估计样本数: {result['sample_size']}")
    print(f"  样本中误码数:   {result['errors_in_sample']}")
    print(f"  QBER:           {result['qber']:.4f}")
    print(f"  最终密钥长度:   {result['final_key_length']}")
    print(f"  双方密钥一致:   {result['keys_match']}")
    print(f"  检测到窃听:     {result['eavesdropping_detected']}")

if __name__ == "__main__":
    main()

运行上述代码可以清楚地看到:在没有窃听者的情况下,QBER 为零,Alice 和 Bob 的密钥完全一致;而当 Eve 执行截获-测量-重发攻击时,QBER 约为 25%,远超 11% 的安全阈值,窃听行为被成功检测。

三、E91 协议

E91 协议由 Artur Ekert 于 1991 年提出,它从完全不同的角度实现了 QKD——基于量子纠缠(entanglement)而非单光子的制备与测量。E91 协议的核心洞察在于将贝尔不等式的违反作为信道安全性的直接判据,从而在概念上将 QKD 的安全性与量子力学最深刻的非经典特征联系在一起。

在 E91 协议中,一个纠缠光子对源(entangled photon pair source)持续产生处于贝尔态 |Φ⁺⟩ = (|00⟩ + |11⟩)/√2 的光子对,并将每对中的一个光子发送给 Alice,另一个发送给 Bob。该光子对源可以由 Alice 控制、由 Bob 控制,甚至可以由不受信任的第三方控制——协议的安全性不依赖于光子源的可信性。

Alice 和 Bob 各自从预定义的一组测量基中随机选择一个基来测量自己收到的光子。在 Ekert 的原始提案中,Alice 从三个测量方向中选择(0 度、π/8、π/4),Bob 也从三个测量方向中选择(0 度、π/8、−π/8)。当 Alice 和 Bob 选择了相同的测量方向时(都选择 0 度或都选择 π/8),量子纠缠保证他们的测量结果完全相关——这些相关的比特被用作密钥材料。当他们选择了不同的测量方向时,这些数据不被用作密钥,而是被用来评估 CHSH 不等式(Clauser-Horne-Shimony-Holt inequality,贝尔不等式的一种实验友好形式)的 S 值。

CHSH 不等式规定,任何满足局域实在论(local realism)的物理理论所能给出的 S 值不超过 2。而量子力学预测,对于最大纠缠态,S 值可以达到 2√2 ≈ 2.83,这就是所谓的 Tsirelson 界(Tsirelson bound)。如果 Alice 和 Bob 从实验数据中计算出的 S 值接近 2√2,则说明他们共享的量子态确实是高质量的纠缠态,且没有被窃听者显著扰动。相反,如果 Eve 试图对纠缠光子进行测量或克隆操作,她的干预会破坏纠缠的质量,导致 S 值下降。当 S 值降低到 2 以下,即不再违反 CHSH 不等式时,Alice 和 Bob 就知道信道已经不安全,应当中止协议。

E91 协议在概念上的优雅之处在于它将安全性检验与量子力学最基本的非经典预测——贝尔不等式的违反——直接关联。这一思路后来被发展为设备无关 QKD 的核心框架。不过在实际实现中,由于纠缠光子对的产生和探测效率仍然有限,E91 协议的实际部署面临着比 BB84 更大的技术挑战。Bennett、Brassard 和 Mermin 在 1992 年提出的 BBM92 协议可以看作是 E91 的简化版本,它仍然使用纠缠光子对,但只使用两个测量基(与 BB84 相同),并省略了贝尔不等式检验环节,从而在实现上更加简洁。

四、实际 QKD 系统的安全性

从理论协议到实际系统,QKD 面临着一系列严峻的安全性挑战。理论安全性证明通常基于理想化的假设——完美的单光子源、完美的探测器、无噪声的量子信道——而现实中的设备总是存在各种缺陷。攻击者正是利用理论模型与实际设备之间的差距来发动所谓的侧信道攻击(side-channel attack)。

光子数分裂攻击(photon number splitting attack, PNS attack)是最经典的实际攻击之一。理想的 BB84 协议要求 Alice 发送精确的单光子脉冲,但实际系统中最常用的光源是衰减激光器(attenuated laser),它产生的是弱相干态(weak coherent state),其光子数服从泊松分布。这意味着每个脉冲中有一定概率包含两个或更多光子。Eve 可以利用这一点执行 PNS 攻击:当她检测到一个多光子脉冲时,她提取其中一个光子保留下来,将剩余的光子无扰动地转发给 Bob;待基信息公开后,她用正确的基测量保留的光子,从而获得对应的密钥比特,而不引入任何额外误码。对于长距离传输(信道衰减大)的情况,PNS 攻击尤其危险,因为 Eve 可以选择性地只阻断单光子脉冲(将其归因于信道损耗),而完整转发多光子脉冲,从而在不引起怀疑的情况下获取大量密钥信息。

诱骗态协议(decoy state protocol)是应对 PNS 攻击的关键技术,由 Hwang 于 2003 年提出,后经 Lo、Ma 和 Chen 等人进一步完善。其基本思想是:Alice 在发送信号脉冲的同时,随机插入一些强度不同的”诱骗”脉冲(例如真空态和弱诱骗态)。由于不同强度的脉冲具有不同的光子数统计分布,而 Eve 在量子传输阶段无法区分信号脉冲和诱骗脉冲(它们的量子态在单光子子空间上是相同的),因此 Eve 对不同类型脉冲的攻击行为会在统计上留下可检测的痕迹。Alice 和 Bob 在基矢比对后,分别统计信号脉冲和各种诱骗脉冲的探测率和误码率,通过比较可以精确估算出单光子脉冲的贡献和安全性。诱骗态协议使得 BB84 协议即使使用不完美的弱相干光源也能达到接近理想单光子源的安全密钥生成率,这对实际部署具有里程碑式的意义。

除 PNS 攻击外,探测器侧信道攻击是另一类严重的安全威胁。其中最著名的是致盲攻击(blinding attack):Eve 向 Bob 的单光子探测器发射强激光脉冲,使探测器从单光子灵敏的盖革模式(Geiger mode)转变为线性探测模式;在这种模式下,Eve 可以通过控制发送给 Bob 的光脉冲来完全决定 Bob 的探测结果,从而在不引入任何误码的情况下获取全部密钥信息。这类攻击已经在多个实际 QKD 系统上被实验演示成功,引发了学界对实际 QKD 安全性的广泛关注。其他已知的侧信道攻击还包括时间信息泄露攻击(利用探测器的时间响应差异)、后脉冲攻击(利用雪崩光电二极管的余辉效应)、特洛伊木马攻击(Eve 向 Alice 或 Bob 的设备发送探测光来获取内部状态信息)等。

应对这些侧信道攻击的策略大致有三类。第一类是”打补丁”式的,即针对每种已知攻击设计相应的对策(例如对致盲攻击可以增加探测器监控电路),但这种方法无法防御尚未发现的攻击。第二类是测量设备无关 QKD(MDI-QKD),它从协议层面消除了所有探测器侧的漏洞。第三类是设备无关 QKD(DI-QKD),它更进一步,连发送端设备的详细特性也不需要信任。

五、MDI-QKD

测量设备无关 QKD(measurement-device-independent QKD, MDI-QKD)由 Lo、Curty 和 Qi 于 2012 年提出,是解决探测器侧信道攻击问题的一个巧妙方案。MDI-QKD 的核心思想是完全翻转了通常的”Alice 发送、Bob 接收”的范式——在 MDI-QKD 中,Alice 和 Bob 都是发送方,而测量由一个可能完全不受信任的第三方(通常称为 Charlie 或中继节点)来执行。

具体来说,Alice 和 Bob 各自独立地随机选择比特和基,将编码后的量子态(弱相干脉冲)同时发送给位于他们之间的 Charlie。Charlie 对接收到的两个光子执行贝尔态测量(Bell state measurement, BSM),并通过经典信道公开宣布测量结果——即他检测到了哪种贝尔态(或者没有检测到,即双光子符合事件未发生)。Alice 和 Bob 根据 Charlie 公布的贝尔态测量结果以及各自的编码信息来协商密钥。

MDI-QKD 的安全性关键在于:Charlie 的角色仅仅是执行测量并公布结果,他不需要被信任。即使 Charlie 完全被 Eve 控制——Eve 可以任意操纵 Charlie 的测量设备或伪造测量结果——协议的安全性也不受影响。这是因为 Charlie 的测量结果只用于帮助 Alice 和 Bob 确定哪些数据应被保留(成功的贝尔态投影事件),而密钥信息完全由 Alice 和 Bob 各自的编码选择决定。如果 Charlie(Eve)试图作弊,最坏的结果只是降低了有效的密钥生成率(因为他可以故意不报告成功事件),但无法获得关于密钥的任何信息。

从技术角度看,MDI-QKD 的实现面临的主要挑战是贝尔态测量的效率。使用线性光学元件,贝尔态测量的成功概率上限为 50%(因为四种贝尔态中只有两种可以用线性光学区分)。此外,来自 Alice 和 Bob 的两个光子必须在 Charlie 处实现精确的时间和空间重叠(Hong-Ou-Mandel 干涉),这对光源的波长稳定性、脉冲时序同步和光纤长度匹配都提出了很高的要求。尽管如此,MDI-QKD 已经在多个实验室和现场试验中成功演示,传输距离不断刷新纪录。2023 年,基于双场 QKD(twin-field QKD, TF-QKD)——一种与 MDI-QKD 思想一脉相承的协议变体——的实验已经实现了超过 800 公里光纤的密钥分发,突破了传统 QKD 方案在没有量子中继的情况下的距离极限。

MDI-QKD 彻底解决了探测器侧信道攻击问题,但它仍然假设 Alice 和 Bob 的光源设备是可信的。如果光源也存在侧信道(例如 Alice 的激光器可能通过后向反射泄露编码信息),MDI-QKD 也无法防御。这一局限引出了更强大的安全框架——设备无关 QKD。

六、设备无关 QKD

设备无关 QKD(device-independent QKD, DI-QKD)代表了 QKD 安全性的最高理想。在 DI-QKD 框架中,Alice 和 Bob 的设备被视为完全不受信任的”黑盒”——它们可能是由不可信的制造商提供的,甚至可能是由 Eve 自己制造并植入了后门的。DI-QKD 的安全性仅仅依赖于一个可观测的统计量——贝尔不等式的违反程度——而不依赖于设备内部工作原理的任何细节。

DI-QKD 的安全性论证基于以下深刻的物理洞察:贝尔不等式的违反是量子纠缠存在的”设备无关”见证。如果 Alice 和 Bob 在各自的黑盒上观测到了足够强的贝尔不等式违反(S 值足够接近 Tsirelson 界 2√2),那么无论这些黑盒的内部构造如何,都可以从信息论的角度证明 Eve 关于最终密钥的信息量是有上界的。这一论证的核心工具是所谓的熵不确定性关系(entropic uncertainty relation)在设备无关场景下的推广。直觉上,贝尔不等式的强烈违反意味着 Alice 和 Bob 的测量结果具有强烈的非经典关联,而这种关联在量子力学的框架下只能来源于真正的量子纠缠——不可能被任何经典策略或预共享信息所模拟。而如果 Eve 对纠缠态的信息量很少,那么她对 Alice 和 Bob 的测量结果的信息量也受到严格的限制。

然而,DI-QKD 的实际实现面临着极其严峻的技术挑战。首先,贝尔测试必须是无漏洞的(loophole-free)。经典贝尔实验中存在两个主要漏洞:探测效率漏洞(detection efficiency loophole,如果探测效率太低,可以构造局域隐变量模型来模拟量子关联)和局域性漏洞(locality loophole,如果 Alice 和 Bob 的测量事件之间存在因果联系的可能,则无法排除经典通信的解释)。对于 DI-QKD 而言,探测效率漏洞是更大的障碍:理论分析表明,要从贝尔不等式违反中提取安全密钥,总体探测效率(包括光子传输效率和探测器效率)必须超过约 82.8% 的阈值(对于 CHSH 不等式)。而在实际的光纤 QKD 系统中,光子在长距离传输中的损耗使得端到端效率远低于这一要求——例如 100 公里标准光纤的传输效率仅约 1%。

2022 年,三个独立的实验团队几乎同时实现了里程碑式的突破:在实验室环境下成功演示了 DI-QKD 密钥生成。这些实验使用了被困离子(trapped ion)或氮空位中心(nitrogen-vacancy center)等物质量子比特来关闭探测效率漏洞(因为物质量子比特的测量效率可以接近 100%),并通过量子态到光子的转换实现远距离纠缠分发。不过,这些演示的距离仅限于数百米到几公里,密钥生成率极低(每秒不到一个比特),距离实际应用仍有很长的路要走。

DI-QKD 目前仍然主要停留在原理验证阶段。从实验演示到实用化部署,需要在量子态产生与测量的效率、系统稳定性、以及密钥生成率等方面取得数量级的提升。但它在理论上代表了 QKD 安全性的终极形态,也持续推动着量子信息实验技术的前沿发展。

七、QKD 网络架构

单链路的点对点 QKD 系统只能服务于两个用户之间的密钥协商。要将 QKD 扩展为能够服务于大量用户的网络基础设施,需要解决网络架构和远距离传输两大核心问题。

最直接的网络化方案是可信中继(trusted node)架构。在这种方案中,长距离的量子信道被分割为多段较短的链路,每段链路的两端各有一个 QKD 节点。相邻节点之间运行 QKD 协议生成密钥,然后通过逐段的密钥”异或”(XOR)接力来实现远距离密钥分发。例如,如果 Alice 与中继节点 R 共享密钥 k₁,R 与 Bob 共享密钥 k₂,那么 R 可以将 k₁ ⊕ k₂ 发送给 Bob(或 Alice),从而让 Alice 和 Bob 共享密钥 k₁(Bob 计算 (k₁ ⊕ k₂) ⊕ k₂ = k₁)。这种方案的致命弱点在于:每个中继节点都必须被完全信任,因为密钥在中继节点处是以明文形式存在的。任何一个中继节点的安全妥协都会导致整条链路上的密钥泄露。尽管存在这一根本性的信任假设,可信中继架构由于技术门槛相对较低,已经在多个实际 QKD 网络中得到部署,包括中国的京沪干线(Beijing-Shanghai backbone,全长约 2000 公里,包含 32 个可信中继节点)和欧洲的多个城域 QKD 网络。

从长远来看,消除对中继节点信任依赖的技术路线是量子中继器(quantum repeater)。量子中继器的核心思想是利用纠缠交换(entanglement swapping)和纠缠纯化(entanglement purification/distillation)来实现远距离的高质量纠缠分发,而无需在中间节点处将量子信息转化为经典信息。

纠缠交换的原理如下:假设 Alice 与中继节点 R 共享一对纠缠光子 (A, R₁),同时 R 与 Bob 共享另一对纠缠光子 (R₂, B)。R 对自己持有的两个光子 R₁ 和 R₂ 执行贝尔态测量,并将测量结果告知 Alice 和 Bob。测量完成后,Alice 的光子 A 和 Bob 的光子 B 就会进入纠缠态——尽管它们从未直接交互过。通过级联纠缠交换,可以在任意远距离的两端建立纠缠。

然而,由于每一段链路中的光子损耗和操作噪声,经过多次纠缠交换后的纠缠态质量会严重退化。纠缠纯化技术通过消耗多对低质量纠缠态来蒸馏出少量高质量纠缠态。纠缠纯化需要将纠缠态保存在量子存储器(quantum memory)中,等待多轮蒸馏操作的完成。量子存储器是量子中继器的关键使能技术,它需要在足够长的时间内(通常是毫秒到秒量级,取决于链路长度和通信轮次)保持量子态的相干性。目前,量子存储器的保真度和存储时间虽然在持续改进,但距离支持实用化量子中继器仍有很大差距。

量子中继器的研究通常被分为三代。第一代量子中继器基于纠缠纯化和量子存储,需要双向经典通信来协调各段链路的操作,密钥率受限于经典通信延迟。第二代量子中继器利用量子纠错码来替代纠缠纯化,可以在单向通信中完成纠错,提高了密钥生成效率。第三代量子中继器则将量子纠错应用于整个传输过程,实现全量子的中继操作,但对硬件要求最高。截至目前,实验上仅实现了第一代量子中继器的部分关键技术演示,距离完整的实用化量子中继器仍需多年甚至十余年的技术攻关。

八、量子卫星与远距离 QKD

光纤传输面临一个基本物理限制:光子在光纤中的指数衰减使得直接传输的距离上限约为几百公里(取决于光纤损耗系数和探测器灵敏度)。在没有量子中继器的情况下,突破这一距离限制的另一条路径是利用卫星作为中继平台——因为光子在自由空间(真空或高层大气)中的损耗远小于在光纤中的损耗。

2016 年 8 月,中国发射了世界上第一颗量子科学实验卫星”墨子号”(Micius),这是量子通信领域的标志性事件。墨子号卫星搭载了纠缠光子对源和量子密钥分发终端,在距地面约 500 公里的太阳同步轨道上运行。在随后的一系列实验中,墨子号团队实现了多项世界首次:

第一,星地量子密钥分发。墨子号与地面站之间成功完成了 BB84 协议的密钥分发,最远距离达到约 1200 公里(卫星到地面站的斜距)。卫星向地面站发送编码量子态的单光子脉冲,地面站使用大口径望远镜接收和测量。由于卫星轨道的大部分路径处于真空或极稀薄大气中,光子仅在穿过低层大气时遭受散射和湍流扰动,总体损耗远小于等距光纤传输。实验实现的密钥生成率约为每秒数千比特到数万比特。

第二,千公里级纠缠分发。墨子号上的纠缠光子对源产生纠缠光子对,分别发送到两个相距约 1200 公里的地面站。实验结果证实,即使经过如此远距离的传输,光子对仍然保持着高质量的纠缠——CHSH 不等式的违反程度远超经典极限。这一实验为基于纠缠的远距离 QKD 和未来的量子网络奠定了实验基础。

第三,洲际量子密钥分发。2017 年,利用墨子号卫星作为可信中继,中国和奥地利之间首次实现了洲际量子密钥分发——卫星分别与位于兴隆和格拉茨(Graz)的地面站建立 QKD 链路,然后通过卫星上的密钥接力,实现了北京与维也纳之间的安全视频通话演示。需要指出的是,在这一方案中,卫星扮演了可信中继的角色——密钥在卫星上是以明文形式存在的——因此其安全性依赖于卫星平台本身的物理安全。

墨子号的成功推动了量子卫星通信的国际竞赛。欧洲、日本、新加坡等多个国家和地区相继启动了自己的量子卫星计划。中国也在规划下一代量子通信卫星网络,目标是建立覆盖全球的量子安全通信基础设施。未来的方向包括:高轨卫星以延长可用通信时间窗口、白天量子密钥分发以突破当前仅限夜间工作的限制(因为白天背景光子噪声很大)、以及卫星间量子链路以实现更灵活的网络拓扑。

从更长远的角度来看,量子卫星与地面光纤量子网络的融合是构建全球量子互联网(quantum internet)的关键路径。在这一愿景中,城域范围内通过光纤 QKD 网络实现高速密钥分发,城市之间通过光纤骨干网(配合可信中继或未来的量子中继器)连接,洲际之间则通过量子卫星链路桥接。最终目标是形成一个多层次、多介质融合的全球量子通信网络,为各类安全通信需求提供信息论安全的密钥服务。

九、QKD 的局限与争议

尽管 QKD 在理论上提供了无条件安全性这一令人瞩目的承诺,它在实际应用中的价值和前景在密码学界和信息安全界一直存在激烈的争议。客观地审视 QKD 的局限性是全面理解这一技术的必要环节——甚至可以说,理解 QKD 不能做什么,比理解它能做什么更为重要

QKD 不适合什么——一份反向清单

对 QKD 能力的过度宣传已经在业界造成了显著的认知偏差。以下逐项列出 QKD 在原理层面就无法解决的问题和不适合部署的场景,每一条都附有不可绕过的技术理由。

第一,QKD 不提供身份认证。 这是最根本、也最常被忽视的限制。所有 QKD 协议都假设 Alice 和 Bob 之间存在一条经认证的经典信道(authenticated classical channel)——即该信道上的消息不可被篡改。没有这条经认证信道,中间人(man-in-the-middle)攻击将彻底击溃 QKD:Eve 可以分别与 Alice 和 Bob 各自独立地执行 QKD 协议,双方都以为自己在和对方通信,实际上密钥完全被 Eve 掌控。而要建立经认证信道,通信双方必须预先共享认证密钥(pre-shared key),或者依赖经典的公钥认证机制(如 PQC 签名)。换言之,QKD 无法自举(bootstrap)——它的安全运行从第一步起就依赖经典密码学。这一循环依赖从根本上削弱了”QKD 不依赖任何计算假设”这一宣传话术的说服力。

第二,距离限制是物理硬约束。 光纤中光子损耗服从 Beer-Lambert 定律,标准单模光纤在 1550 nm 波长下的衰减系数约为 0.2 dB/km。这意味着 100 km 光纤后光子到达概率仅约 1%,200 km 后降至 0.01%。没有量子中继器的点对点 QKD,在标准 BB84 协议下实用距离上限约为 100 km;即使使用 TF-QKD 等先进协议,当前实验记录约 830 km,但此时密钥生成率已降至每秒不足 1 比特,不具备实用价值。要跨越更远距离,唯一的工程手段是可信中继节点——而每个可信中继节点都以明文持有密钥,每增加一个节点就增加一个必须在物理和人员层面完全信任的攻击面。京沪干线的 32 个可信中继节点意味着 32 个潜在的密钥泄露点。量子中继器在理论上可以消除这一信任假设,但截至 2025 年,实用化量子中继器仍停留在实验室原理验证阶段,最乐观的估计也需要十年以上才可能部署。

第三,密钥生成率随距离指数衰减。 QKD 的密钥生成率与信道透过率直接相关。下表给出了典型参数下的估算(基于标准 BB84 + 诱骗态协议,1 GHz 脉冲重复率,InGaAs 单光子探测器):

光纤距离 信道衰减 估算安全密钥率
10 km 2 dB ~1 Mbps
50 km 10 dB ~100 kbps
100 km 20 dB ~1 kbps
200 km 40 dB ~0.1 bps
300 km 60 dB 基本为零

作为参照,一次 AES-256 密钥交换仅需 256 比特,一个 ML-KEM-1024 密钥封装操作在普通 CPU 上耗时不到 1 毫秒。QKD 在 100 km 处每秒仅能生成大约 4 个 AES-256 密钥——这对于需要高频密钥轮换的场景(如高吞吐量 VPN)是完全不够的。

第四,硬件成本构成部署壁垒。 当前商用 QKD 系统的典型成本结构如下:每对节点的 QKD 发射机和接收机硬件约 10 万至 50 万美元;专用暗光纤(dark fiber)每公里每年租赁费约 1000-3000 美元;超导纳米线单光子探测器(SNSPD)需要低温制冷系统(运行在 ~2 K),单台成本 5 万美元以上,年度维护费用显著。一条 50 km 的 QKD 链路的五年总拥有成本(TCO)轻松超过 100 万美元。相比之下,PQC 是纯软件升级:OpenSSL 更新、TLS 库替换,边际成本趋近于零。

第五,QKD 无法保护静态数据。 QKD 仅在密钥生成的那一刻提供安全保障——它保护的是”传输中的数据”(data in transit),准确地说,是密钥传输过程本身。对于已经存储在磁盘、数据库或备份系统中的加密数据(data at rest),QKD 无能为力。如果存储数据使用的对称密钥本身被泄露(无论通过何种途径),QKD 不能追溯性地修复这一泄露。而”先存储后解密”(harvest now, decrypt later)威胁恰恰针对的是存储数据——PQC 通过直接升级加密算法来应对此威胁,不需要任何专用硬件。

第六,QKD 不能修复软件和协议层的安全缺陷。 实际安全事故的绝大多数根因是软件漏洞(缓冲区溢出、注入攻击、逻辑错误)、协议设计缺陷(降级攻击、重放攻击)、配置错误和人为失误。QKD 仅保护密钥交换这一个环节,对上述问题毫无帮助。一个使用 QKD 分发密钥但运行着有漏洞 TLS 实现的系统,其整体安全性不会比使用经典密钥交换的同一系统更高。安全工程界有一句老话:攻击者不会攻击你最强的环节。将巨额预算投入 QKD 而忽视软件安全加固,是资源配置的严重错误。

第七,QKD 不适合互联网规模通信。 QKD 需要点对点的专用量子信道,无法在多跳、动态路由的互联网拓扑上工作。保护 TLS 会话、电子邮件加密、即时通信等互联网应用时,PQC 是唯一可行的选择。

第八,QKD 不适合移动设备和物联网。 QKD 终端需要精密光学设备(单光子探测器、偏振控制器等),无法集成到手机、笔记本电脑或传感器节点中。任何需要端到端保护用户设备通信的场景都不适合 QKD。

第九,QKD 对拒绝服务攻击高度脆弱。 攻击者无需破解任何密码——只需向量子信道注入噪声光子或物理切断光纤,就能使 QBER 超过安全阈值,迫使协议中止。这意味着 QKD 系统的可用性(availability)远低于经典系统。在需要高可用性的关键基础设施中,这一脆弱性可能比密码学安全性本身更为致命。

权威机构的立场与技术理由

QKD 的商业推广者常常强调”无条件安全”这一理论优势,但全球主要国家安全机构在经过独立技术评估后,几乎一致地对 QKD 的实用价值持怀疑立场。以下是三家最具影响力的机构的正式立场,值得逐一审视。

美国 NSA(国家安全局) 在 2020 年发布的《量子计算和后量子密码学》(Quantum Computing and Post-Quantum Cryptography)分析文件中,明确将 QKD 列为”不推荐用于国家安全系统”(not recommended)的技术。NSA 给出的核心技术理由包括:(1)QKD 仅解决密钥分发这一个孤立问题,而国家安全系统需要完整的密码功能套件(加密、签名、认证、密钥封装);(2)QKD 的安全性证明依赖于对量子信道物理特性的精确建模,而实际部署中设备的制造公差、老化、环境变化等因素可能导致设备行为偏离安全性证明所假设的理论模型,从而无声地破坏安全保证;(3)QKD 无法保护存储中的数据(data at rest),仅保护传输中的数据——而国家安全系统需要对静态数据提供长期保护(通常要求 50 年以上);(4)NSA 将 CNSA 2.0 套件(ML-KEM、ML-DSA、SLH-DSA 等 PQC 算法)确定为联邦系统的唯一推荐量子抗性解决方案,并为各类系统设定了 2030-2035 年的迁移时间表。NSA 的立场可以概括为一句话:PQC 足够好,且可以在现有基础设施上部署;QKD 不够好,且需要全新的基础设施——选择显而易见。

英国 NCSC(国家网络安全中心) 的立场更为直接。NCSC 在 2020 年首次发布、2023 年更新的白皮书中明确表示”不推荐将 QKD 用于任何政府或关键基础设施应用”,并给出了七项技术理由,其中最具杀伤力的三条是:(1)QKD 的安全性证明与实际实现之间存在”根本性的鸿沟”(fundamental gap)——理论证明了理想设备的安全性,但没有人能证明实际设备忠实地实现了理论模型,且目前不存在能够对 QKD 硬件进行全面安全评估的方法论(不同于软件可以进行代码审计和形式化验证);(2)QKD 需要专用硬件基础设施,而 PQC 只需软件升级——在”密码敏捷性”(crypto-agility)这一当代安全架构的核心原则上,QKD 处于根本劣势;(3)NCSC 认为 PQC 算法(特别是 NIST 标准化的方案)已经能够提供充分的量子抗性保护,且与现有网络架构完全兼容。NCSC 特别指出,用于保护 QKD 经典信道的认证机制本身需要抗量子能力——这意味着部署 QKD 的前提是先部署 PQC,那么为何不直接使用 PQC 完成全部工作?

法国 ANSSI(国家信息系统安全局) 2022 年发布的技术意见书立场相对平衡,但同样划出了清晰的边界。ANSSI 明确指出:(1)PQC 是应对量子威胁的”首选且优先”(premier choix)方案,应当立即开始迁移规划;(2)QKD 在”特定的高安全性点对点固定链路”上可以作为 PQC 之上的附加纵深防御层,但绝不应被视为 PQC 的替代品;(3)QKD 的部署决策必须基于严格的风险评估,考虑可信中继节点引入的额外攻击面、硬件供应链安全、以及运维复杂度带来的人为错误风险。ANSSI 的核心技术关切在于,QKD 将安全性的信任基础从可审计的数学证明转移到了难以全面验证的物理设备上——而法国密码学传统向来更信任数学而非工程

三家机构的共识可以归结为一个尖锐的判断:QKD 以极高的成本和复杂度解决了一个大多数用户并不实际面临的问题(信息论安全的密钥分发),同时引入了一系列经典密码学不存在的全新问题(专用硬件依赖、DoS 脆弱性、不可审计的设备信任、功能不完备、认证循环依赖)。在 PQC 标准已经成熟并开始大规模部署的 2025 年,QKD 作为通用安全解决方案的论据已经站不住脚。

QKD 的真正价值定位

尽管上述批评严厉且有充分的技术依据,全盘否定 QKD 同样不够诚实。QKD 与 PQC 的本质区别在于安全性假设的层次:PQC 的安全性建立在数学困难问题之上(如 LWE),这些假设原则上可能被未来的算法突破推翻(正如 Shor 算法推翻了大整数分解的困难性);QKD 的安全性则建立在量子力学基本定律之上,除非物理学本身需要修正,否则 QKD 的理论安全性不会被”算法突破”所动摇。

在满足以下全部条件的极少数场景中,QKD 可以提供 PQC 无法替代的价值:(1)数据敏感度极高,要求信息论安全而非计算安全;(2)通信双方之间存在固定的物理链路且距离在 QKD 有效范围内;(3)预算充足,能够承担专用硬件和运维成本;(4)已经部署了 PQC 作为基础层,QKD 作为附加的纵深防御。在这种”PQC + QKD”的混合架构中,即使 PQC 方案在未来某一天被攻破,QKD 层仍然提供安全保障;即使 QKD 设备存在未知的侧信道漏洞,PQC 层也提供后备保护。

从更宏大的视角来看,QKD 及其背后的量子通信技术并不仅仅是一种密钥分发手段——它是正在构建中的量子信息网络的核心组成部分。未来的量子互联网不仅能传输量子密钥,还能传输量子态本身,支持分布式量子计算、量子传感器网络、盲量子计算(blind quantum computation)等全新的应用范式。但这一愿景的实现时间跨度以数十年计,不应成为今天高估 QKD 实用价值的理由。

十、QKD、PQC 与混合方案决策对照

能力边界对比

下表从威胁模型、部署约束和工程成熟度等维度系统对比 QKD、PQC 和混合方案的能力边界,供安全架构师进行技术选型时参考。

维度 QKD(量子密钥分发) PQC(后量子密码) 混合方案(QKD + PQC)
威胁模型 防御拥有无限算力的攻击者(信息论安全);但不防御 DoS、侧信道、供应链攻击 防御拥有量子计算机的攻击者(计算安全);安全性取决于数学假设持续成立 同时覆盖信息论安全和计算安全;需要物理定律与数学假设同时失效才能被攻破
部署成本 极高——每链路 10-50 万美元硬件 + 专用光纤 + 低温系统运维;五年 TCO > 100 万美元/链路 极低——软件库升级,边际硬件成本为零;主要成本是工程人力和兼容性测试 高——承担 QKD 全部硬件成本 + PQC 软件集成成本
距离约束 点对点约 100 km 实用上限(标准协议);TF-QKD ~300 km(密钥率极低);超远距离依赖可信中继或量子卫星 无限制——基于 IP 网络,可在任意拓扑和任意距离上工作 受 QKD 组件约束;QKD 覆盖范围外回退为纯 PQC
认证需求 自身不提供认证——必须依赖预共享密钥或 PQC 签名来认证经典信道 完整支持——ML-DSA、SLH-DSA 等签名方案提供量子抗性身份认证 PQC 层提供认证;QKD 层消费认证服务
吞吐量 低——100 km 处约 kbps 量级;10 km 处约 Mbps 量级;随距离指数下降 高——ML-KEM 密钥封装 <1 ms/次;可支持 Gbps 级加密通信 受 QKD 密钥率瓶颈限制(若要求全部使用 QKD 密钥)
成熟度 商用产品存在但市场极小;实际部署仅限少数政府/金融专网 NIST FIPS 203/204/205 已发布(2024);主流 TLS/SSH 库已集成;大规模部署进行中 概念验证和试点阶段;少数专网有实际部署
标准化状态 ETSI QKD ISG 标准族;ITU-T Y.3800 系列;无全球互操作标准 NIST 正式标准(FIPS 203/204/205);IETF TLS/IKEv2/X.509 集成草案推进中 IETF draft-ietf-tls-hybrid-design 等混合模式草案;实践先于标准
功能完备性 仅对称密钥分发——不提供签名、密钥封装、不可否认性 完备——加密、签名、密钥封装、密钥交换全覆盖 完备——继承 PQC 全部功能
推荐用例 超高安全等级的点对点固定链路(政府绝密通信、数据中心互联、金融核心网),且已有光纤基础设施 通用场景——互联网 TLS、VPN、电子邮件、移动设备、IoT、云服务、软件签名 过渡期纵深防御,或对冲”PQC 算法未来被攻破”风险的最高安全等级场景

场景化决策流程

实际选型时,建议按以下决策树进行判断——注意大多数组织在第一步就应选择 PQC:

决策问题 如果”是” 如果”否”
是否需要信息论安全(而非计算安全)? 继续评估 → 下一问题 直接使用 PQC → 选型结束(适用于 99% 的组织)
通信双方是否有固定物理链路(专线光纤或视距链路),且距离 < 100 km? QKD 在物理上可行 → 下一问题 QKD 不可行 → 使用 PQC
预算是否支持每链路 50 万美元以上初始投资 + 每年 10 万美元运维? 成本可承受 → 下一问题 使用 PQC(成本效益远优)
是否已经部署或正在部署 PQC 作为基础认证和加密层? 可以叠加 QKD → 下一问题 先完成 PQC 迁移——QKD 无法独立提供认证
是否有能力管理 QKD 硬件的物理安全、供应链审计和侧信道防护? 部署 QKD + PQC 混合方案作为纵深防御 QKD 的安全增益可能被实现风险抵消 → 使用 PQC

笔者认为,QKD 与 PQC 之争的深层本质,是对”我们更信任物理学还是数学”这一根本问题的不同回答。PQC 的安全性建立在数学困难问题之上——我们相信某些问题(如 LWE)即使对量子计算机也是困难的,但这终究是一个计算复杂性假设,原则上可以被未来的算法突破推翻(正如 Shor 算法推翻了大整数分解的困难性)。QKD 的安全性则建立在量子力学的基本定律之上——不可克隆定理和海森堡不确定性原理——如果这些物理定律是正确的,那么 QKD 的安全性就是绝对的。但这里有一个微妙的逻辑陷阱:QKD 的”信息论安全”是针对理想化设备模型的证明,而真实设备总是存在偏离理想模型的可能。从工程实践来看,我们实际上是在”信任数学假设不会被算法突破”和”信任物理设备忠实地实现了理论模型”之间做选择——两者都不是绝对可靠的。这正是混合方案的价值所在:它不要求我们在物理与数学之间做出非此即彼的选择,而是让两层防御互为后备,将安全性建立在”物理定律和数学假设同时失效”这一极不可能的事件之上。


密码学百科系列 · 第 60 篇

← 上一篇:哈希基签名 | 系列目录 | 下一篇:不可区分混淆

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。


By .