Можно ли отличить информацию, закодированную одноразовым блокнотом, от случайного шума?

StackOverflow https://stackoverflow.com/questions/2510480

Вопрос

Я понимаю, что зашифрованный текст из правильно использованного одноразового шифра не раскрывает абсолютно никаких данных о зашифрованном сообщении.

Означает ли это, что невозможно отличить сообщение, зашифрованное одноразовым блокнотом, от совершенно случайного шума?Или есть какой-то теоретический способ определить, что сообщение существует, даже если вы ничего о нем не можете узнать?

Это было полезно?

Решение

Невозможно определить, была ли строка зашифрована с помощью OTP.Вы можете создать любую строку одинакового размера, выбрав соответствующий ключ.

Например (из Википедия Одноразовый блокнот статье), открытый текст «HELLO» можно зашифровать с помощью ключа «XMCKL», получив зашифрованный текст «EQNVZ».Но можно найти ключи, которые создают любой открытый текст из 5 символов, например «ПОЗЖЕ».Невозможно определить исходный открытый текст без исходного ключа.

OTP может быть «сломан», если он используется повторно (и, следовательно, больше не является один раз подушка).А Проект Венона является примером того, что может произойти при повторном использовании OTP.

Основным недостатком OTP является то, что вы должны безопасно распространять ключ, равный по размеру открытому тексту, который нужно закодировать.

Другие советы

Если ваш одноразовый блокнот полностью случайный, то все, что связано с ним с помощью XOR (при условии, что ваше сообщение не имеет или имеет низкую корреляцию с содержимым одноразового блокнота).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top