A One-Time Pad (often abbreviated OTP
) is a process/algorithm for encryption
. One of the earliest forms of a One-Time Pad used the Vigenère Square
with a random key
that is as long as the plaintext
message being encrypted. The key is chosen in this way to avoid any repetition of the key or within the key that may provide a cryptanalyst
a hint to crack
it. Repetition is the secret to Breaking the Vigenère Square
Is the One-time Pad truly unbreakable? Yes and no. You can brute force it and decrypt the message for every possible key of the same length as the message. But you are then left with every possible message that is of the same length. Which one is the real one? There is no way to tell. Even if you know a word that will be in the message and even if you know exactly where it is in the message then you are still left with every possible message that has that word in that place. You really haven't learned anything, because you already knew that word. So it is effectively unbreakable because of all the possible false decryptions.
"Wow", you say, "then why doesn't everybody use it?" There are many problems related to the One-time Pad. It suffers from problems of key generation, key distribution, and insuring keys are not reused. First you have to generate a key of random letters (or whatever is in the cipher alphabet) that is at least the length of the message to be decrypted. This is an expensive process and true random-ness is difficult to obtain. Next you have to get everybody that needs to decrypt your messages the keys and you have to make sure everybody is using the same key at the same time. Finally you have to make sure keys are never reused. Because if you reuse a key you've made the codebreakers job much easier.
Because of these problems One-time pads are very susceptable to social engineering and espionage to obtain the keys rather then breaking the cipher.
Most implementation of a One-Time Pad in computers use XOR on the bits instead of the Vigenère Square on the characters. The same principles still apply because I think the Vigenère Square works as a sort of alphabetical XOR. For another version, which was used during WWII, see One Time Pad.