Американская криптология. История спецсвязи
Шрифт:
Вокруг идеи, изложенной Вернамом в кругу коллег, моментально развернулась активная деятельность. Сначала Вернама заставили изложить эту идею в короткой записке, которая была датирована 17 декабря 1917 года. Компания «AT&T» сообщила об изобретении Вернама американскому военно-морскому ведомству, с которым она поддерживала тесное сотрудничество. 18 февраля 1918 года состоялось совещание, в котором приняли участие Вернам и другие инженеры телеграфного отделения компании «AT&T», с одной стороны, и военные моряки, с другой.
27 марта эти же инженеры встретились со своими коллегами
Нерешённым оставался только один вопрос – откуда брать «гамму». Сначала «гамма» для устройства Вернама представляла собой склеенные петлёй короткие перфоленты, на которых были набиты знаки, взятые наугад из разных открытых текстов. Инженеры компании «AT&T» почти сразу обратили внимание на существенные изъяны такого процесса «автоматического шифрования», связанные с недостаточной длиной «гаммы». Поэтому, чтобы усложнить криптоанализ, они сделали перфоленты с «гаммой» более длинными. Но тогда эти перфоленты стало слишком трудно использовать.
Вернам предложил суммировать две короткие, имеющие разную длину «гаммы» так, чтобы одна «гамма» шифровала другую. Полученная в результате так называемая «вторичная гамма», более длинная, чем две исходные «первичные гаммы», использованные для её генерации, была применена для зашифрования открытого текста. Например, если одна закольцованная лента имела 1000 знаков, а другая – 999, то данное расхождение в длинах всего в один знак давало 999 тысяч комбинаций, прежде чем результирующая последовательность повторялась.
Однако Моборн понимал, что даже усовершенствованная система Вернама очень уязвима для криптоанализа. В свои 36 лет будущий начальник войск связи Армии США Моборн был незаурядным криптоаналитиком. Он обстоятельно изучил криптоанализ в армейской школе связи и был хорошо знаком с последними достижениями в этой сфере. Более того, за несколько лет до описываемых событий Моборн сам принимал участие в одной научно-исследовательской работе, в ходе которой специалисты армейской школы связи сделали вывод о том, что единственной стойкой «гаммой» была та, которая сравнима по длине с самим сообщением. Любое повторение в «гамме» подвергало огромному риску полученные с её помощью криптограммы и, скорее всего, привели бы к их раскрытию.
Проведённый Моборном анализ системы «автоматического шифрования» ещё больше убедил его в этом. Он понял, что не имеет никакого значения, находятся ли повторения в пределах одной криптограммы или они распределены по нескольким, выходят ли они путём комбинации двух первичных «гамм»
Осознав это, Моборн объединил свойство хаотичности «гаммы», на что опирался Вернам в своей системе «автоматического шифрования», со свойством уникальности «гаммы», разработанным криптографами армейской школы связи, в системе шифрования, которую сейчас принято называть «одноразовым шифроблокнотом». Одноразовый шифроблокнот содержал случайную «гамму», которая использовалась только один раз. При этом для каждого знака открытого текста предусматривалось использование абсолютно нового непрогнозируемого знака «гаммы».
Это была стойкая шифросистема. Подавляющее большинство систем шифрования были абсолютно стойкими лишь на практике, поскольку криптоаналитик мог найти пути их раскрытия при наличии у него определённого количества шифротекста и достаточного времени для его исследования. Одноразовый же шифроблокнот был абсолютно стойким как в теории, так и на практике. Каким бы длинным не был перехваченный шифротекст, сколько бы много времени не уделялось на его исследование, криптоаналитик никогда не сможет раскрыть одноразовый шифроблокнот, использованный для получения этого шифротекста. И вот почему.
Раскрытие многоалфавитного шифра означало объединение всех букв, зашифрованных с помощью одного шифралфавита, в одну группу, которую можно изучать на предмет выявления её лингвистических особенностей. Методы такого объединения могли быть разными в зависимости от вида «гаммы». Так, метод Казиского заключался в выделении идентично «гаммированных» букв открытого текста при повторяемой «гамме». Связная «гамма» могла быть вскрыта путём взаимного восстановления открытого текста и «гаммы». А «гамма», использованная для зашифрования двух или больше сообщений, поддавалась раскрытию путем одновременного возобновления открытых текстов этих сообщений, причем правильность прочтения одного текста контролировалась читанием другого. Почти для всех разновидностей многоалфавитных шифров был разработан свой метод раскрытия, основанный на их отличительных чертах.
Совсем другой была ситуация с одноразовым шифроблокнотом. В этом случае криптоаналитик не имел отправную точку для своих исследований, поскольку в одноразовой шифросистеме «гамма» не содержала повторений, не использовалась более одного раза, не была связным текстом и не имела внутренние структурные закономерности. Поэтому все методы дешифровки, в той или иной степени основанные на этих характеристиках, не давали никаких результатов. Криптоаналитик заходил в тупик.
Оставался лишь метод тотального испытания. Ведь прямой перебор всех возможных ключей, в конечном счёте, обязательно приводил криптоаналитика к открытому тексту. Однако успех, достигнутый этим путём, был иллюзорным. Тотальное испытание действительно позволяло получить исходный открытый текст. Но оно также давало и каждый другой возможный текст той же длины, поэтому сказать, который из них является правильным, было невозможно.