Содержание: Радиоперехват | Немного теории | Шифр JN-25
Начнём с терминов, так как, если в массовом сознании словá «код» и «шифр» являются практически синонимами, то в криптографии они означают очень разные понятия. И то, и другое – это замена буквы, цифры, слова, словосочетания и т. д. каким-либо другим символом или комбинацией символов, но принципиальная разница состоит в том, что в случае кода эта замена присходит на регулярной основе, тогда как в случае шифра один и тот же символ может заменяться каждый раз по-другому.
Наиболее известный пример кода – «азбука Морзе», где каждой букве или цифре всегда соответствует одно и то же сочетание точек и тире. Если вы не знаете азбуки Морзе, то поначалу не сможете извлечь никакой информации из этой хаотичной, на первый взгляд, последовательности звуков, но как только у вас накопится достаточный объём переданной данным кодом информации — появится возможность использовать так называемый статистический анализ. Основы этой методики известны настолько давно, что неоднократно описаны ещё в XIX веке даже в художественной литературе (например, у Эдгара Алана По в рассказе «Золотой Жук» или в рассказе Артура Конан-Дойла «Пляшущие человечки»).
Выглядит это примерно следующим образом: Для начала считаем сколько раз в наших «перехватах» встречается та или иная комбинация точек и тире. Далее предположим, что исходное сообщение было на английском языке, в котором наиболее часто используется буква «е», она же, кроме того, входит в состав наиболее часто употребляемого слова — определённого артикля «the» (подобные таблицы частоты употребления букв и слов достаточно давно разработаны для всех основных языков мира, так что если не сработает английская таблица, – мы просто возьмём следующюю из списка «кандидатов»).
Теперь берём наши радиоперехваты и заменяем наиболее часто встречающююся комбинацию точек и тире буквой «е». Далее смотрим, имеются ли участки где нашей условной «е» предшествуют две пока неизвесвестные нам, но тоже повторяющиееся комбинации точек и тире. Да, имеются. Мы только начали, но уже знаем очень много: мы выяснили на каком языке было написано исходное сообщение – скорей всего, на английском, кроме того мы, вероятно, уже знаем целых три буквы этого кода – «e», «t» и «h». Теперь подставляем их вместо остальных аналогичных сочетаний точек и тире и думаем дальше…
На практике, конечно же, всё не настолько быстро и просто, но основной принцип остаётся тем же: любой код, основанный на регулярной замене, абсолютно беззащитен против методики, известной, как минимум, с XVII века. Данный пример я привёл лишь для того, чтобы продемонстрировать, что кажущиеся на первый взгляд неразрешимыми проблемы с кодами и шифрами докомпьютерной эры – на самом деле вполне решаемы, по крайней мере, в большинстве случаев.
Конечно же, взлом шифров (основанных уже на нерегулярной замене) требует гораздо бóльших усилий. Существует даже целая категория шифров, взлом которых невозможен даже теоретически. Это шифры, основанные на так называемых одноразовых шифротаблицах, когда исходный текст шифруется с помощью таблиц, существующих лишь в двух экземпярах – у отправителя и получателя, и использующихся, как следует даже из названия, лишь один раз, что исключает возможность статистического анализа.
Но, к счастью (для криптоаналитиков, конечно), эта методика нерегулярной замены символов при помощи действительно случайных комбинаций идеально подходит лишь для коротких эпизодических сообщений и малопригодна для шифрования интенсивного радиообмена. В частности, для радиобмена между сотнями кораблей крупного военно-морского флота. В подобных случаях вместо действительно случайных приходится использовать так называемые псевдослучайные замены.
То есть замены, основанные пусть на чрезвычайно сложных, но на алгоритмах. А там где алгоритмы – там и математика. И тут проблема взлома шифра из области гадания на кофейной гуще плавно перетекает в область решаемых (по крайней мере, в принципе) задач. Всё упирается лишь в наличие адекватных математических наработок и мощностей, плюс в вопрос времени. А если повезёт, то и в потенциальное слабое звено, что может обнаружиться во вражеском шифре. Самое время опять вернуться к нашим баранам. В нашем случае это печально знаменитый «Японский военно-морской код общего назначения».
Содержание: Радиоперехват | Немного теории | Шифр JN-25