Communication

Quantum Steganography

Hides a secret bit in the phase of a Bell pair. Bob decodes with the cover key. The reduced state Eve sees does not reveal s.

Qubits 2 Cost O(1) Default s = 1, cover key θ = 0.35, eve = none

Alice and Bob share |Φ+⟩. Alice applies P((θ+s)π) on her qubit. Bob applies P(−θπ), then Bell-decodes with CX and H. The secret bit appears on q0 in the computational basis.

Function form: Stego(s, theta, eve, a, b) with defaults Stego(1, 0.35, "none", 0, 1). Eve modes: "none", "measure_z", "wrong_key".

Default call Stego(): s = 1, θ = 0.35. Alice encodes with angle 1.35 (π-multiples), Bob subtracts 0.35. Eve intercepting one qubit sees a completely mixed reduced density matrix independent of s. Measuring that qubit collapses the pair and randomizes the decode.

How it works

  1. 1
    Cover channel

    H 0; CX [0,1] prepare |Φ+⟩.

  2. 2
    Embed

    P 0 1.35 writes (θ+s)π.

  3. 3
    Decode

    P 0 -0.35 cancels θ. CX [0,1]; H 0. q0 reads s.

Default Qubi (static)
H 0
CX [0,1]
P 0 1.35
P 0 -0.35
CX [0,1]
H 0

Function form: Stego()

Circuit
q0q1HP1.35P-0.35H
Expected result

State. |01⟩ (q1 = 0, q0 = 1). The secret is q0.

P(q0 = 1) = 1. After a clean Bell decode q1 is |0⟩, so P(01) = 1.

BasisAmplitudeProbability
|01⟩ 1
100%

Notes

  • Wrong-key decode uses θ+0.25 and yields a mixed, non-deterministic bit. Call Stego(1, 0.35, "wrong_key").
  • Active Z intercept: Stego(1, 0.35, "measure_z") measures Alice before Bob decodes. Bob then sees 50/50 noise.

Change parameters

The write-up above is for the default circuit. Use this control to generate other variants and load them in the simulator.