О чем говорят пингвины

Можно ли понять зашифрованный текст, если не понятно, как он должен выглядеть.
О чем говорят пингвины

«В школе мой учитель физики задал вопрос: сможет ли человек наладить телевизор, если никогда не видел его работающим и не знает его цели? И сам же ответил — нет, потому что не сможет понять, что результат достигнут». TIMUR0 опровергает это утверждение и рассуждает, можно ли понять любую систему знаков, не зная «ключа» к ней.

TIMUR0:

В школе мой учитель физики задал вопрос: сможет ли человек наладить телевизор, если никогда не видел его работающим и не знает его цели? И сам же ответил — нет, потому что не сможет понять, что результат достигнут. Я тогда не нашелся чем возразить, но и сейчас считаю, что он неправ — если на экране вместо беспорядочного мельтешения вдруг появится осмысленное изображение, что наверняка это то самое, что и требовалось. Мы не знаем, для чего именно эта штука нужна, но если она нечто упорядочивает — наверняка это оно.

У нас есть зашифрованный текст (исходно на русском языке, к примеру) и программа для расшифровки, надо только ввести правильный ключ. Если неправильный — мусор на выходе. Мы начинаем перебирать все ключи подряд (так называемый брутфорс). Как мы поймем, что расшифровали текст?

Разумеется, прочтем и увидим, есть ли в нем смысл (или хотя бы его прочесть-то можно?). Но читать текст человеком — долго, как обучить этому компьютер? Есть два варианта. Первый: догадаться, какие в тексте могут быть слова, это можно сделать по контексту («Штирлиц, Мюллер, фюрер»), и если в расшифрованном тексте что-то из них встречается — это повод взглянуть уже человеку. Тот самый случай, когда мы должны представлять, о чем могут говорить пингвины. Другое дело, что по внешнему их поведению тему их разговора может и не вычислишь: для примера взгляните на людей в офисе — по их виду вы сможете догадаться, что они говорят о футболе?

Второй вариант машине понять, что она расшифровала текст (т. е. стоит показать результат человеку) — это оценить статистические характеристики расшифрованного текста. Текст на русском языке обладает определенной частотностью букв — это простейшая статистика; также можно подсчитать частоты пар букв — ясно, что «ая» или «ие» будет встречаться часто, а «ъъ» — никогда (не считая опечаток).

Так что если расшифрованный текст обладает сходным набором статхарактеристик — с большой вероятностью мы расшифровали успешно.

А если мы не знаем на каком языке написан исходный текст? Все равно не все потеряно — любой человеческий язык обладает каким-то набором статхарактеристик, и что важно — они существенно отличны от статхарактеристик случайной последовательности букв. То есть если в расшифрованном тексте мы видим, что какие-то буквы/пары букв встречаются аномально часто, а какие-то аномально редко, то с большой вероятностью мы текст расшифровали — даже если он на неизвестном нам человеческом языке.

Этот же принцип используется чтобы понять, перед нами осмысленный текст или бессмысленная подделка — см. Кодекс Войнича (1, 2, 3).

Последний рассмотренный вариант — прямая аналогия с наладкой телевизора мастером, впервые увидевшим телевизор. Снижение энтропии и там и там — и в четкости изображения, и в статистической неравномерности текста.

Комментарии
Комментарии