Страница 9 из 12
Сложение, по современной терминологии, осуществляется «по модулю 2» («0» означает знак «—», а 1 – «+»): 0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 0. Пусть, например, знак «гаммы» имеет вид: «+—+–» (10100). Тогда буква «А» – «++—» (11000) при шифровании переходит в двоичную комбинацию «– ++—»: (01100) = (11000) х (10100). При дешифровке ту же операцию необходимо повторить в обратном порядке: (01100) х (10100) = (11000) – «++—» – буква «А».
Чтобы складывать электроимпульсы при шифровании, Вернам сконструировал специальное устройство, которое состояло из магнитов, реле и токосъёмных пластин. А поскольку процедура дешифровки была аналогична процедуре шифрования, этот же прибор мог быть использован и при дешифровке. Импульсы поступали в устройство сложения из двух счётчиков: один считывал «гамму», а другой – открытый текст. «Плюсы» и «минусы», которые получали на выходе, можно было передавать как обычное телетайпное сообщение. На приёмном конце устройство, изобретённое Вернамом, добавляло импульсы, считываемые с идентичной ленты с «гаммой», и восстанавливало исходные импульсы открытого текста.
Важность изобретения Вернама заключалась в том, что больше не нужно было осуществлять шифрование и дешифровку секретных сообщений в виде отдельных операций. Открытый текст поступал в аппарат, находившийся у отправителя сообщения, и такой же открытый текст выходил из аппарата, который находился у получателя этого сообщения. А если кто-нибудь перехватывал это сообщение по пути прохождения от отправителя к получателю, то в его распоряжении оказывалась ничего не значащая последовательность «плюсов» и «минусов». Теперь, чтобы зашифровать, передать, принять и расшифровать сообщение, было нужно приложить не намного больше усилий, чем при отправлении сообщения открытым текстом.
Основное преимущество изобретённого Вернамом метода засекречивания сообщений заключалось в отсутствии механического шифровании открытого текста со следующей печатью результата на бумаге, осуществлённое ещё в начале 1870-х годов французами Эмилем Винеем (Emil Viney) и Жозефом Госсеном (Josef Gossen). Вернам впервые сумел совместить два процесса – шифрование и передачу сообщения. Он создал то, что впоследствии назвали линейным шифрованием, чтобы отличать его от традиционного предварительного шифрования. Вернам освободил процесс шифрования от уз времени и ошибок, исключив из этого процесса человека. Выдающийся вклад, сделанный Вернамом в практику шифрования, заключается именно в том, что он привнёс в шифровальное дело автоматизацию, которая уже успела к началу XX века послужить людям во многих сферах их деятельности.
Вокруг идеи, изложенной Вернамом в кругу коллег, моментально развернулась активная деятельность. Сначала Вернама заставили изложить эту идею в короткой записке, которая была датирована 17 декабря 1917 года. Компания «AT&T» сообщила об изобретении Вернама американскому военно-морскому ведомству, с которым она поддерживала тесное сотрудничество. 18 февраля 1918 года состоялось совещание, в котором приняли участие Вернам и другие инженеры телеграфного отделения компании «AT&T», с одной стороны, и военные моряки, с другой.
27 марта эти же инженеры встретились со своими коллегами из американской компании «Вестерн Электрик», производственного филиала «AT&T», и договорились с ними об изготовлении первых двух линейных шифраторов с использованием как можно большего количества стандартных деталей. В лаборатории «Вестерн Электрик» изготовленные шифраторы были присоединены к телетайпам и осуществлены первые испытания процесса, которые назвали «автоматическим шифрованием». Все устройства, входившие в его состав, работали без сбоев. Компания «AT&T» проинформировала об этом факте майора Джозефа Моборна (Joseph Mauborgne) (1881–1971), занимавшего тогда должность начальника отдела научно-исследовательских и конструкторских разработок войск связи Армии США.
Нерешённым оставался только один вопрос – откуда брать «гамму». Сначала «гамма» для устройства Вернама представляла собой склеенные петлёй короткие перфоленты, на которых были набиты знаки, взятые наугад из разных открытых текстов. Инженеры компании «AT&T» почти сразу обратили внимание на существенные изъяны такого процесса «автоматического шифрования», связанные с недостаточной длиной «гаммы». Поэтому, чтобы усложнить криптоанализ, они сделали перфоленты с «гаммой» более длинными. Но тогда эти перфоленты стало слишком трудно использовать.
Вернам предложил суммировать две короткие, имеющие разную длину «гаммы» так, чтобы одна «гамма» шифровала другую. Полученная в результате так называемая «вторичная гамма», более длинная, чем две исходные «первичные гаммы», использованные для её генерации, была применена для зашифрования открытого текста. Например, если одна закольцованная лента имела 1000 знаков, а другая – 999, то данное расхождение в длинах всего в один знак давало 999 тысяч комбинаций, прежде чем результирующая последовательность повторялась.
Однако Моборн понимал, что даже усовершенствованная система Вернама очень уязвима для криптоанализа. В свои 36 лет будущий начальник войск связи Армии США Моборн был незаурядным криптоаналитиком. Он обстоятельно изучил криптоанализ в армейской школе связи и был хорошо знаком с последними достижениями в этой сфере. Более того, за несколько лет до описываемых событий Моборн сам принимал участие в одной научно-исследовательской работе, в ходе которой специалисты армейской школы связи сделали вывод о том, что единственной стойкой «гаммой» была та, которая сравнима по длине с самим сообщением. Любое повторение в «гамме» подвергало огромному риску полученные с её помощью криптограммы и, скорее всего, привели бы к их раскрытию.
Проведённый Моборном анализ системы «автоматического шифрования» ещё больше убедил его в этом. Он понял, что не имеет никакого значения, находятся ли повторения в пределах одной криптограммы или они распределены по нескольким, выходят ли они путём комбинации двух первичных «гамм» или в результате простого повторения в единственной длине «гаммы». Важным было то, что повторений в «гамме» не должно быть ни при каких условиях. Необходимо, чтобы она была совсем уникальна и максимально хаотична.
Осознав это, Моборн объединил свойство хаотичности «гаммы», на что опирался Вернам в своей системе «автоматического шифрования», со свойством уникальности «гаммы», разработанным криптографами армейской школы связи, в системе шифрования, которую сейчас принято называть «одноразовым шифроблокнотом». Одноразовый шифроблокнот содержал случайную «гамму», которая использовалась только один раз. При этом для каждого знака открытого текста предусматривалось использование абсолютно нового непрогнозируемого знака «гаммы».
Это была стойкая шифросистема. Подавляющее большинство систем шифрования были абсолютно стойкими лишь на практике, поскольку криптоаналитик мог найти пути их раскрытия при наличии у него определённого количества шифротекста и достаточного времени для его исследования. Одноразовый же шифроблокнот был абсолютно стойким как в теории, так и на практике. Каким бы длинным не был перехваченный шифротекст, сколько бы много времени не уделялось на его исследование, криптоаналитик никогда не сможет раскрыть одноразовый шифроблокнот, использованный для получения этого шифротекста. И вот почему.
Раскрытие многоалфавитного шифра означало объединение всех букв, зашифрованных с помощью одного шифралфавита, в одну группу, которую можно изучать на предмет выявления её лингвистических особенностей. Методы такого объединения могли быть разными в зависимости от вида «гаммы». Так, метод Казиского заключался в выделении идентично «гаммированных» букв открытого текста при повторяемой «гамме». Связная «гамма» могла быть вскрыта путём взаимного восстановления открытого текста и «гаммы». А «гамма», использованная для зашифрования двух или больше сообщений, поддавалась раскрытию путем одновременного возобновления открытых текстов этих сообщений, причем правильность прочтения одного текста контролировалась читанием другого. Почти для всех разновидностей многоалфавитных шифров был разработан свой метод раскрытия, основанный на их отличительных чертах.