codebreaking spy
codebreaking logo

The One Time Pad

The One Time Pad

The One Time Pad (OTP) – also known as the Vernam cipher - is theoretically the only unbreakable cipher. It is a system for encoding numbers that was invented by Major Joseph Mauborgne and Gilbert Vernam in 1917. It uses a disposable ‘pad’ to encrypt the data, originally small booklets of gummer paper, but now powerful computers are used to generate random numbers used to encode messages. The OTP is a symmetric cipher, in that it uses the same key for encryption and decryption. This symmetry also means that the sender must transmit the key to the recipient via some secure method, normally by face to face interaction.

How Does it Work?

The randomised OTP key is exactly the same length as the message to be sent. The code itself is very simple. Firstly the sender must convert their message into numerical form using a preagreed rule, such as the ASCII system, or binary information. Then, using a randomly generated key or ‘pad’ of the same length as the new numerical message, each part of the message is then combined with the respective part of the key. The adding process usually discards anything carried over, so that in binary 1 + 1 = 0 (and not 2)

0 + 0 = 0

0 + 1 = 1 + 0 = 1

1 +1 = 0

The resultant cryptogram is a completely random string of numerical code, and the plaintext can only be discovered by using the correct key. No amount of brute force analysis by cryptographers would break it. However, there are two main drawbacks with OTPs. Firstly, the pad must be truly randomised, or it will be open to attack. This is more complicated than it sounds, and even a kind of computer called a Cryptographically Strong Pseudo-Random Number Generator (CSPRNG), are not totally secure for modern code breakers. Moreover, no portion of the key may ever be used again, or the key may be cracked. Secondly, and perhaps more practically, the key(s) have to be agreed and sent by an extremely secure channel in advance.