Documentation

CsdLean4.Empirical.QM.Crypto.B92

Empirical/QM: B92 quantum-key-distribution security (two-state protocol) #

Category: 3-Local (QM-validity content, no CSD ontology).

B92 (Bennett 1992) is the minimal QKD protocol: Alice encodes each bit in one of just two non-orthogonal states,

and Bob performs unambiguous state discrimination. Because the two encodings are non-orthogonal they cannot be perfectly cloned or distinguished, so an eavesdropper cannot copy the signal without disturbance — the security root is exactly no-cloning, reused verbatim from Empirical/QM/NoCloning.lean (the two B92 encoding states are the Wiesner pair |0⟩, |+⟩).

Bob's discrimination is error-free on conclusive events thanks to two zero-overlaps:

A conclusive click occurs, per matched round, with Born probability ½ (bornProb |1⟩ |+⟩ = ½, bornProb |−⟩ |0⟩ = ½); the complementary events are inconclusive and discarded, never wrong.

This module reuses the Born layer of Crypto/BB84.lean (ket0, ket1, ketPlus, ketMinus, bornProb, bornProb_comm, and the proved transition values). The only new inner product it establishes is the X-basis orthogonality ⟨−|+⟩ = 0, which BB84 did not need.

What this delivers (all Born-grounded) #

Honest scope #

This proves the B92 unambiguous-discrimination structure (error-free conclusive events + ½ conclusive rates) and the no-cloning security root, all Born-grounded via ‖⟨a|b⟩‖². The conclusive events are modelled as Born zero-overlaps; no measurement-update / collapse operator is used.

The full composable finite-key security — phrased via a measurement-update (collapse) operator turning an unambiguous-discrimination POVM into a sifted key with a min-entropy accounting — stays out of scope, the same LF5 gate noted in Crypto/BB84.lean and Empirical/QM/Resources/Teleportation.lean. Nothing beyond the unambiguous-discrimination model and no-cloning is claimed here.

References #

The B92 encoding map #

The B92 encoding map. Alice encodes bit false as |0⟩ and bit true as |+⟩; the two encodings are non-orthogonal (b92_nonorthogonal).

Equations
Instances For

    Supporting facts on the two encoding states #

    theorem CSD.Empirical.B92.half :
    (↑2)⁻¹ * (↑2)⁻¹ = 1 / 2

    (√2⁻¹)² = ½, the only nonalgebraic fact used below.

    ‖|0⟩‖ = 1 (from BB84's ⟨0|0⟩ = 1).

    ⟨+|+⟩ = 1, used to get ‖|+⟩‖ = 1.

    X-basis orthogonality ⟨−|+⟩ = 0. Not needed by BB84; it is the second zero-overlap that makes a |−⟩ click conclusive for bit 0.

    The B92 encoding pair is non-orthogonal and not equal up to phase: ⟨0|+⟩ ∉ {0, 1}. This is the witness that drives b92_no_perfect_eavesdrop.

    The B92 security theorems #

    The non-orthogonality resource. The two B92 encoding states are non-orthogonal, ⟨0|+⟩ ≠ 0 (reuses BB84). This is why Bob's discrimination is only ever conclusive with probability < 1, and why Eve cannot clone.

    Conclusive detection of bit 1 is error-free. A |1⟩ (Z) click is impossible from the bit-0 state |0⟩: bornProb |1⟩ |0⟩ = 0. So whenever Bob reads |1⟩ he conclusively knows Alice sent bit 1.

    Conclusive detection of bit 0 is error-free. A |−⟩ (X) click is impossible from the bit-1 state |+⟩: bornProb |−⟩ |+⟩ = 0. So whenever Bob reads |−⟩ he conclusively knows Alice sent bit 0.

    Matched-round conclusive rate for bit 1. When Alice sends bit 1 (|+⟩) and Bob measures Z, he gets the conclusive |1⟩ click with Born probability ½: bornProb |1⟩ |+⟩ = ½.

    Matched-round conclusive rate for bit 0. When Alice sends bit 0 (|0⟩) and Bob measures X, he gets the conclusive |−⟩ click with Born probability ½: bornProb |−⟩ |0⟩ = ½.

    theorem CSD.Empirical.B92.b92_no_perfect_eavesdrop {Htensor : Type u_1} [NormedAddCommGroup Htensor] [InnerProductSpace Htensor] (tensor : EuclideanSpace (Fin 2)EuclideanSpace (Fin 2)Htensor) (h_tensor_inner : ∀ (a b c d : EuclideanSpace (Fin 2)), inner (tensor a b) (tensor c d) = inner a c * inner b d) (e0 : EuclideanSpace (Fin 2)) (he0 : e0 = 1) :
    ¬∃ (U : HtensorHtensor), (∀ (x y : Htensor), inner (U x) (U y) = inner x y) U (tensor BB84.ket0 e0) = tensor BB84.ket0 BB84.ket0 U (tensor BB84.ketPlus e0) = tensor BB84.ketPlus BB84.ketPlus

    B92 no-perfect-eavesdropping (security capstone). Over any tensor structure with the inner-product factorisation ⟨tensor a b, tensor c d⟩ = ⟨a,c⟩·⟨b,d⟩ and a fixed unit blank e0, no isometry can clone both B92 encoding states |0⟩ and |+⟩ against the same blank. Because the two encodings are non-orthogonal (b92_encoding_witness), Eve cannot copy Alice's signal — she cannot eavesdrop without disturbance. An exact instance of NoCloning.no_universal_cloner_of_witness, the same shape as quantum_money_unforgeable.