Search code examples
encryptionrandomcryptographyinformation-hidinginformation-theory

Can information encoded with a one time pad be distinguished from random noise?


I understand that the cyphertext from a properly used one time pad cypher reveals absolutely no data about the encrypted message.

Does this mean that there is no way to distinguish a message encrypted with a one time pad from completely random noise? Or is there some theoretical way to determine that there is a message, even though you can't learn anything about it?


Solution

  • There is no way to determine if a string has been encrypted with a OTP. You can produce any string of the same size by choosing an appropriate key.

    For example (from the Wikipedia One Time Pad article), the plaintext "HELLO" can be encrypted with the key "XMCKL", giving ciphertext "EQNVZ". But it is possible to find keys which produce any 5 character plaintext, such as "LATER". There is no way to determine the original plaintext without the original key.

    A OTP can be 'broken' if it is reused (and therefore is no longer a one time pad). The Venona Project is an example of what can happen when OTPs are reused.

    A major drawback to OTPs is that you must securely distribute a key equal in size to the plaintext to be encoded.