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