Send Close Add comments: (status displays here)
Got it!  This site uses cookies. You consent to this by clicking on "Got it!" or by continuing to use this website.nbsp; Note: This appears on each machine/browser from which this site is accessed.
One-time pads


1. One-time pads
A one-time pad is a cipher system that uses the cipher key one time only, and for short messages (key is longer than the message).

The most secure keys are one-time pads of random, but agreed-on keys. It is impossible to break a one-time pad. But, if the key is ever reused, then it becomes almost trivial to break that one-time pad.

That is why it is called a one-time pad. It can only (securely) be used one time.

The one-time pad was first described in 1882 and re-discovered in 1917.

2. History
This is the only known secure system for communication. Other message security systems are typically based on this system.

The problem with the one time pad is that of key distribution.

3. Brute force attack
Given a sequence of random bits, the problem reduces to guessing that sequence of random bits.

This is not possible, since a brute force attack is not possible (for more than a line of text) and such an attack would generate every possible random message and every possible meaningful message.

4. One-time pad proof
Expression tree for ((m ^ k) ^ k ) = m
  • m is the message
  • k is the key


  • The proof is for one random bit and one bit of the message. Repeat for a longer message (always using a new random bit).
    k m | ( ( m ^ k ) ^ k ) = m --------------------------- 0 0 | ( ( 0 0 0 ) 0 0 ) 1 0 0 1 | ( ( 1 1 0 ) 1 0 ) 1 1 1 0 | ( ( 0 1 1 ) 0 1 ) 1 0 1 1 | ( ( 1 0 1 ) 1 1 ) 1 1


    5. Re-order and re-name the variables
    Expression tree for p = ( q ^ ( q ^ p ))
  • p is the message
  • q is the key


  • The proof is for one random bit and one bit of the message. Repeat for a longer message (always using a new random bit).
    p q | p = ( q ^ ( q ^ p ) ) --------------------------- 0 0 | 0 1 ( 0 0 ( 0 0 0 ) ) 0 1 | 0 1 ( 1 0 ( 1 1 0 ) ) 1 0 | 1 1 ( 0 1 ( 0 1 1 ) ) 1 1 | 1 1 ( 1 1 ( 1 0 1 ) )


    6. End of page