Дела эфирные
Когда в большинстве исследований, посвящённых сражению при Мидуэе, повествование перемещается с японских планов на ответные действия ВМС США, то в качестве вступления обычно ограничиваются чем-то вроде «но американцы, взломавшие японские шифры, уже знали планы противника». При этом у читателя, зачастую, создаётся впечатление, что японский военно-морской радиообмен был для американской разведки просто открытой книгой. Да и само знание японских шифров представляется неким подарком, автоматически дарованным небесами, но никак не результатом многолетней работы как в организации системы радиоперехвата, так и в области, собственно, криптоанализа.
Действительность же была гораздо менее лучезарной. Начать с того, что многие японские шифры союзникам так и не удалось взломать вообще… Что же касается ситуации с разведданными на основе радиоперехватов непосредственно весной 1942 года, то командующий Тихоокеанским флотом США адмирал Честер У. Нимиц охарактеризовал её тогда следующим образом:
Имеющаяся у нас разведка способна более или менее декодировать до 40 процентов перехваченных сообщений, при том, что перехватываются от силы 60 процентов всех сообщений.
Другими словами, даже по очень оптимистичным оценкам расшифровывалось не более четверти японского военно-морского радиотрафика. Теперь по порядку.
Радиоперехват
Чтобы расшифровать сообщения, их надо для начала перехватить. И это при том, что на весну 1942 года Императорский флот насчитывал более 220 боевых кораблей (от эсминца и выше) и подводных лодок. Не считая более лёгких кораблей, танкеров, транспортов, судов снабжения, мобилизованных в качестве сторожевиков рыбацких шхун, сейнеров, катеров и т. д., а также тысяч самолётов. И это только военно-морские силы, а ещё Японская империя имела на тот момент воюющую сухопутную армию, каждое подразделение которой – от северных Курил до Новой Гвинеи – также имело обыкновение вести зашифрованный радиообмен как с вышестоящими штабами, так и с «соседями».
Тысячи японских передатчиков ежедневно выдавали в эфир многие тысячи сообщений. От сводок погоды и количества больных малярией солдат на каком-нибудь тихоокеанском островке, до оперативных приказов по Объединённому Флоту. Так что, для начала, нужно было прослушивать все частоты, на которых шёл радиообмен – задача сама по себе далеко не простая. Для её реализации ВМС США в межвоенный период создали на Тихом океане целую сеть станций радиоперехвата и радиопеленгации.
А в местах расположения основных штабов – при Генштабе ВМС в столице, в Пёрл-Харборе при штабе Тихоокеанского и на Филиппинах при штабе Азиатского флота находились подразделения, занимавшиеся обработкой полученной этими станциями информации, то есть собственно радиоразведкой или «разведкой на линиях связи», как это именуется в Штатах. После потери Филиппин тамошнее подразделение было эвакуировано в австралийский Брисбен и продолжило работу уже оттуда.
На этих станциях и осуществлялся собственно «перехват», то есть банальная запись (от руки или на специальной пишущей машинке, такую техническую новинку, как магнитофоны для этих целей привлекут гораздо позже) услышанных сообщений. Здесь нужно, на всякий случай, сделать маленькое отступление. Описанной С. Переслегиным в известной книге «Тихоокеанская премьера» душераздирающей картины – «речь шла о записи „с голоса“ чуть слышной тарабарщины на чужом языке» – при этом, конечно же, не наблюдалось, и наблюдаться не могло.
По одной простой причине – ни один из сотен занимавшихся перехватом американских радистов попросту не знал японского языка. Зато они знали «Код вабун» – вариант азбуки Морзе, приспособленный к японскому фонетическому (точней, слоговому) алфавиту катакана – который и использовался для подавляющего числа японских радиосообщений. И дело было не столько в большей помехозащищённости бинарного кода, или его большей приспособленности для передачи шифрованного текста, представлявшего собой бессмысленный набор цифр или букв, а в особенностях радиотехники.
Один и тот же радиопередатчик в режиме радиотелеграфа (то есть «азбукой Морзе») способен выдать на антенну гораздо бóльшую мощность, чем в режиме радиотелефона (голосовая передача), а бóльшая мощность означает бóльшую дальность. Поэтому, передачи в голосовом режиме применялись только на небольших расстояниях.
Те, кому интересны физические причины этого – про типы модуляции радиосигнала обычно знают и так, поэтому просто приведём пример: радиостанция обр. 96 «Ку» Мод. 2, стоявшая в том числе на торпедоносцах «Накадзима» B5N2, выдавала на антенну 27 Ватт в режиме радиотелеграфа, и лишь 9 Ватт в режиме радиотелефона. Так что, знаменитый сигнал «то-ра», начавший атаку на Пёрл-Харбор, на самом деле звучал следующим образом: · · − · · · · ·
Часто, сосредоточиваясь на теме дешифровки сообщений, забывают о том, что любой радиообмен уже сам по себе является источником большого количества важной информации, даже если его содержание не может быть прочитано. Во-первых, при наличии нескольких разнесённых станций перехвата можно с помощью пеленгации достаточно точно определить координаты источника радиосигнала путём триангуляции. Во-вторых, каждый радист, работающий на радиотелеграфном ключе, обладает своим неповторимым «почерком», по которому его (а следовательно, и его подразделение или корабль) достаточно просто опознать, хотя, эта особенность часто использовалась и для дезинформации. И, наконец, анализ радиообмена, в том числе и статистическими методами.
Так, например, корабли подразделений гораздо чаще ведут радиобмен со своим флагманом, чем друг с другом, то же происходит и на уровне соединений, что позволят определить организационную структуру, а значит и примерный состав этих подразделений или соединений, и даже идентифицировать отдельные корабли. Метки срочности и приоритетности сообщений, их длина, частота обмена сообщениями, внезапное прекращение или, наоборот, повышение активности радиообмена, смена позывных и т. д.
Всё это даёт гораздо больше полезной информации, чем может показаться на первый взгляд. В частности, по оценкам самих сотрудников подразделения радиоразведки, «вычисливших» Мидуэйские планы японцев, – до 30 процентов информации об этих планах было получено именно с помощью анализа трафика.
Но вернёмся к нашим баранам. «Черновой перехват» поступает в центры радиоразведки, одна копия уходит в их отделы анализа трафика, где с ней начинают работать описанными выше методами, а другую опознают и сортируют по типу применяемой шифросистемы. Затем (во многом, на основании «чутья» аналитиков), их сортируют уже по уровню их потенциальной значимости. И только после этого можно приступить к собственно дешифровке.
Немного теории
Начнём с терминов, так как если в массовом сознании словá «код» и «шифр» являются практически синонимами, то в криптографии они означают разные понятия. И то и другое – это замена буквы, цифры, слова, словосочетания и т. д. каким-либо другим символом или комбинацией символов, но принципиальная разница состоит в том, что в случае кода эта замена присходит на регулярной основе, тогда как в случае шифра один и тот же символ может заменяться каждый раз по-другому.
Наиболее известный пример кода – «азбука Морзе», где каждой букве или цифре всегда соответствует одно и то же сочетание точек и тире. Если вы не знаете этой азбуки, то поначалу не сможете извлечь никакой информации из этой хаотичной, на первый взгляд, последовательности звуков, но как только у вас накопится достаточный объём переданной данным кодом информации – появится возможность использовать так называемый статистический анализ. Основы этой методики известны настолько давно, что неоднократно описаны ещё в XIX веке даже в художественной литературе (например, у Эдгара Алана По в рассказе «Золотой Жук» или в рассказе Артура Конан-Дойла «Пляшущие человечки»).
Выглядит это примерно следующим образом. Для начала считаем сколько раз в наших перехватах встречается та или иная комбинация точек и тире. Далее предположим, что исходное сообщение было на английском языке, в котором наиболее часто используется буква «е», она же, кроме того, входит в состав наиболее часто употребляемого слова – определённого артикля «the» (подобные таблицы частоты употребления букв и слов достаточно давно разработаны для всех основных языков мира, так что если не сработает английская таблица, – мы просто возьмём следующую из списка «кандидатов»).
Теперь берём наши радиоперехваты и заменяем наиболее часто встречающуюся комбинацию точек и тире буквой «е». Далее смотрим, имеются ли участки, где нашей условной «е» предшествуют две пока неизвестные нам, но тоже повторяющиеся комбинации точек и тире. Да, имеются. Мы только начали, но уже знаем довольно много: выяснили на каком языке было написано исходное сообщение – скорей всего, на английском – а кроме того, вероятно, уже знаем целых три буквы этого кода: «e», «t» и «h». Теперь подставляем их вместо остальных аналогичных сочетаний точек и тире и думаем дальше…
На практике, конечно же, всё не настолько быстро и просто, но основной принцип остаётся тем же: любой код, основанный на регулярной замене, абсолютно беззащитен против данной методики, известной, как минимум, с XVII века. Данный пример был лишь для того, чтобы продемонстрировать, что кажущиеся на первый взгляд неразрешимыми проблемы с кодами и шифрами – на самом деле вполне решаемы, по крайней мере, в большинстве случаев.
Конечно же, взлом серьёзных шифров (то есть основанных уже на нерегулярной замене) требует гораздо больших усилий. Существует даже целая категория шифров, взлом которых невозможен даже теоретически. Это шифры, основанные на так называемых одноразовых шифротаблицах, когда исходный текст шифруется с помощью таблиц, существующих лишь в двух экземплярах – у отправителя и получателя, и использующихся, как следует даже из названия, лишь один раз, что практически исключает возможность какого бы то ни было статистического анализа.
Но, к счастью (для криптоаналитиков, конечно), эта методика нерегулярной замены символов при помощи действительно случайных комбинаций идеально подходит лишь для коротких эпизодических сообщений и малопригодна для шифрования интенсивного радиообмена. В том числе и для радиообмена между сотнями кораблей крупного военно-морского флота.
В подобных случаях вместо действительно случайных приходится использовать так называемые псевдослучайные замены. То есть замены, основанные пусть на чрезвычайно сложных, но алгоритмах. А там, где алгоритмы – там и математика. И тут проблема взлома шифра из области гадания на кофейной гуще плавно перетекает в область решаемых (по крайней мере в принципе) задач. Всё упирается лишь в наличие адекватных математических наработок и мощностей, плюс в вопрос времени. А если повезёт, то и в потенциальное слабое звено, что может обнаружиться во вражеском шифре.
Самое время вернуться к нашим баранам. В нашем случае это печально знаменитый «Японский военно-морской код общего назначения».
Шифр JN-25
Новая японская шифросистема 海軍暗号書D (кайгун анго сё D – военно-морская кодовая книга D), названная американцами сначала просто «пятизначной», а затем получившая рабочее обозначение «JN-25» (то есть «25-й японский военно-морской») была введена в Императорском японском флоте 1 июня 1939 года и представляла собой двухуровневый шифр, где исходный текст сначала кодировался, а затем шифровался. При работе с этой шифросистемой использовались две основные книги:
- Кодовая книга. Своего рода словарь из около 27,5 тысяч значимых слов, специальных терминов и словосочетаний, каждому из которых соответствовала произвольно выбранная группа из пяти цифр. Книга была структурирована как обычный «двусторонний» словарь – в первой её части (предназначенной для кодирования) находились слова и фразы, записанные уже не с помощью фонетического алфавита катакана, как в японском телеграфном коде, а нормальным образом – иероглифами кандзи, хотя иноязычные термины – имена кораблей и географические названия – писались как катаканой, так и латинскими буквами. Они располагались в принятом для японских словарей порядке. Во второй части (предназначенной уже для декодирования) всё было наоборот, сначала пятизначные группы цифр – просто в порядке увеличения – а напротив их значения.
- Книга шифротаблиц. Набор расположенных в случайном порядке пятизначных групп цифр, помещённых на каждой странице в таблицы, с пронумерованными строками и столбцами.
Практическое использование шифросистемы выглядело следующим образом. Шифровальщик брал исходный текст сообщения и заменял слова на соответствующие им группы из пяти цифр из кодовой книги, записывая их в ряд. Когда строка заполнялась, две следующие строки пропускались и запись продолжалась. Далее начиналось собственно шифрование – шифровальщик брал уже шифротаблицы и с места, определяемого инструкцией по применению шифра (например, для данного дня это была страница 23, строка 7, столбец 4), начинал под каждой пятизначной комбинацией кода выписывать группы также из пяти цифр, взятые из шифротаблицы.
После чего оставалось лишь сложить «в столбик» цифры, что находились друг над другом, выкидывая «лишние» десятки (в криптографии это называется ложным сложением) – и текст зашифрован. К готовой шифрограмме добавлялся «ключ», метка, позволяющая получателю определить, с какой страницы, строки и столбца шифротаблицы нужно начинать брать цифры, что следует уже вычитать из принятых пятизначных групп (соответственно, теперь уже с помощью ложного вычитания, когда «недостающие» десятки берутся «из воздуха»), чтобы получить кодированный текст, который с помощью той же кодовой книги (теперь уже второй её части) опять превращался в осмысленное сообщение.
Кроме того, такие важные элементы сообщений как географические координаты уже на уровне исходного текста указывались не в градусах и минутах, а «по сетке» – специальными сочетаниями из трёх символов катакана и двузначного числа. Затем каждый из символов кодировался уже обычным порядком с помощью кодовой книги. Примерно так же обстояло дело с географическими наименованиями, а также датами и временем. В результате, наиболее критичная информация перед шифрованием подвергалась двойному кодированию, то есть, местами шифросистема превращалась уже в трёхуровневую:
В целом, это была неплохая для того времени шифросистема. Но у неё имелся существенный недостаток: разработчики шифра не могли не учитывать несовершенство тогдашнего радиооборудования (плюс Япония 1940-х годов была очень далека от своего нынешнего положения в этой области), а также «человеческий фактор», поэтому они решили встроить механизм проверки правильности приёма сообщения в саму шифросистему.
Людям, хотя бы поверхностно знакомым с современными технологиями передачи данных, известен термин checksum – проверка контрольной суммы. В шифре JN-25 эта процедура была встроена в каждую пятизначную группу, причём очень простым и надёжным образом – сумма всех пяти цифр каждой «правильной» группы кодированного текста обязана была делиться на три без остатка.
Но это не только значительно сократило количество пятизначных цифровых групп, которые можно было использовать в кодовой книге (ровно в три раза, со 100 000 до 33 334), но и, что самое неприятное, этот механизм проверки был унаследован JN-25 от более ранних и гораздо более примитивных японских шифросистем, давно взломанных американскими криптоаналитиками.
Другой недостаток был скорей административным. Когда сотни кораблей, подводных лодок, вспомогательных судов и военно-морских баз разбросаны по огромному пространству, смена шифров становится не самой простой задачей – надо ведь не только составить и отпечатать новые шифровальные книги, но и доставить их всем «абонентам», причём с соблюдением серьёзных мер безопасности, так как попадание в руки противника даже одного экземпляра делает бессмысленной всю эту операцию.
А подобные замены жизненно необходимы – хотя в случае шифров статистический анализ и не является столь же быстрым и сокрушительным оружием, как в случае «просто» кодов, но общее правило остаётся всё тем же: чем больше времени и материала для анализа, тем выше вероятность, что шифр в конце концов будет взломан.
Продолжение следует…
Подкинуть автору на кофе и сигареты можно здесь.
