Найти тему
pacific war

Дела эфирные: 2. Немного теории

Содержание: Радиоперехват | Немного теории | Шифр JN-25

Начнём с терминов, так как, если в массовом сознании словá «код» и «шифр» являются практически синонимами, то в крип­то­гра­фии они означают очень разные понятия. И то, и другое – это замена буквы, цифры, слова, словосочетания и т. д. каким-либо другим символом или комбинацией символов, но принципиальная разница состоит в том, что в случае кода эта замена присходит на регулярной основе, тогда как в случае шифра один и тот же символ может заменяться каждый раз по-другому.

Наиболее известный пример кода – «азбука Морзе», где каждой букве или цифре всегда соответствует одно и то же сочетание точек и тире. Если вы не знаете азбуки Морзе, то поначалу не сможете извлечь никакой информации из этой хаотичной, на первый взгляд, последовательности звуков, но как только у вас накопится достаточный объём переданной данным кодом информации — появится возможность использовать так называемый статистический анализ. Основы этой методики известны настолько давно, что неоднократно описаны ещё в XIX веке даже в художественной литературе (например, у Эдгара Алана По в рассказе «Золотой Жук» или в рассказе Артура Конан-Дойла «Пляшущие человечки»).

Кодированная записка из рассказа Эдгара Алана По «Золотой Жук» (1843 г.)
Кодированная записка из рассказа Эдгара Алана По «Золотой Жук» (1843 г.)

Выглядит это примерно следующим образом: Для начала считаем сколько раз в наших «перехватах» встречается та или иная комбинация точек и тире. Далее предположим, что исходное сообщение было на английском языке, в котором наиболее часто используется буква «е», она же, кроме того, входит в состав наиболее часто употребляемого слова — определённого артикля «the» (подобные таблицы частоты употребления букв и слов достаточно давно разработаны для всех основных языков мира, так что если не сработает английская таблица, – мы просто возьмём следующюю из списка «кандидатов»).

Теперь берём наши радиоперехваты и заменяем наиболее часто встречающююся комбинацию точек и тире буквой «е». Далее смотрим, имеются ли участки где нашей условной «е» предшествуют две пока неизвесвестные нам, но тоже повторяющиееся комбинации точек и тире. Да, имеются. Мы только начали, но уже знаем очень много: мы выяснили на каком языке было написано исходное сообщение – скорей всего, на английском, кроме того мы, вероятно, уже знаем целых три буквы этого кода – «e», «t» и «h». Теперь подставляем их вместо остальных аналогичных сочетаний точек и тире и думаем дальше…

Кодированная записка в рукописи рассказа Артура Конан-Дойла «Пляшущие человечки» (1903 г.)
Кодированная записка в рукописи рассказа Артура Конан-Дойла «Пляшущие человечки» (1903 г.)

На практике, конечно же, всё не настолько быстро и просто, но основной принцип остаётся тем же: любой код, основанный на регулярной замене, абсолютно беззащитен против методики, известной, как минимум, с XVII века. Данный пример я привёл лишь для того, чтобы продемонстрировать, что кажущиеся на первый взгляд неразрешимыми проблемы с кодами и шиф­ра­ми докомпьютерной эры – на самом деле вполне решаемы, по крайней мере, в большинстве случаев.

Конечно же, взлом шифров (основанных уже на нерегулярной замене) требует гораздо бóльших усилий. Существует даже целая категория шиф­ров, взлом которых невозможен даже теоретически. Это шифры, основанные на так называемых одноразовых шифротаблицах, когда исходный текст шифруется с помощью таблиц, существующих лишь в двух экземпярах – у отправителя и получателя, и использующихся, как следует даже из названия, лишь один раз, что исключает возможность статистического анализа.

Пример реального одноразового шифроблакнота.
Пример реального одноразового шифроблакнота.

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

То есть замены, основанные пусть на чрезвычайно сложных, но на алгоритмах. А там где алгоритмы – там и математика. И тут проблема взлома шифра из области гадания на кофейной гуще плавно перетекает в область решаемых (по крайней мере, в принципе) задач. Всё упирается лишь в наличие адекватных математических наработок и мощностей, плюс в вопрос времени. А если повезёт, то и в потенциальное слабое звено, что может обнаружиться во вражеском шифре. Самое время опять вернуться к нашим баранам. В нашем случае это печально знаменитый «Японский военно-морской код общего назначения».

Содержание: Радиоперехват | Немного теории | Шифр JN-25