Also known as: OTP, Vernam cipher
The one-time pad (OTP) encrypts a message by combining it (usually by XOR) with a key that is truly random, at least as long as the message, and used only once — making it the only cipher proven to be information-theoretically unbreakable.1
How it works
Each bit (or byte) of plaintext is XORed with the matching bit of the pad. Because every pad bit is uniformly random and independent, the ciphertext is also uniformly random: for any given ciphertext, every plaintext of that length is equally likely, so the ciphertext reveals nothing about the message. Decryption is the same XOR with the same pad. This is the ideal that a practical stream cipher approximates by replacing the random pad with a keystream.
Three conditions are mandatory, and all three are what make the proof hold:
- the key is truly random, not pseudo-random;
- the key is at least as long as the message;
- the key is used only once — hence the name.
Break any one and the guarantee collapses. Reusing a pad is the classic failure: XOR two ciphertexts encrypted under the same pad and the pad cancels, leaving the XOR of the two plaintexts open to analysis. A pseudo-random “pad” from a linear-feedback shift register is not random and can be solved for, so it is not a one-time pad.
Relevance to SDR
The one-time pad rarely appears on the air — distributing message-length random keys is impractical for routine radio traffic — but it is the conceptual yardstick for everything GopherTrunk sees. Practical voice encryption such as P25’s AES or DES key-stream modes is a finite-key approximation of the pad: a short key drives a long pseudo-random keystream. The pad’s “never reuse” rule is exactly why those modes use per-transmission message indicators, and why keystream reuse (a real-world misconfiguration) is a recoverable weakness rather than a theoretical one.
Sources
-
One-time pad — Wikipedia, for perfect secrecy, the three key conditions, and the key-reuse failure. ↩