Книга шифров. Тайная история шифров и их расшифровки - Сингх Саймон. Страница 35
Рис. 35 При добавлении второго шифратора комбинации зашифрованных символов не будут повторяться до тех пор, пока не будут зашифрованы все 36 букв, то есть пока оба шифратора не вернутся в исходное положение. Для простоты шифраторы представлены на диаграмме в двухмерном виде: здесь, вместо поворота на один шаг шифратора, на одну позицию вниз смещается распайка. Хотя создается впечатление, что провод (или провода) сверху или снизу шифратора обрывается, но на самом деле его продолжением служит соответствующий провод снизу или сверху этого шифратора. В (а) b зашифровывается как D. После зашифровывания первый шифратор поворачивается на одну позицию, заставляя при этом повернуться на одну позицию и второй шифратор; это происходит только раз за один полный оборот первого ротора. Это новое положение показано на (b), где b зашифровывается как F. После зашифровывания первый шифратор поворачивается на один шаг, но второй шифратор при этом остается неподвижным. Это новое положение показано на (с), где b зашифровывается как В.
Преимущество добавления второго шифратора заключается в том, что комбинации символов не будут повторяться до тех пор, пока второй шифратор не вернется в начальное положение, что потребует шести полных оборотов первого шифратора, то есть зашифровывания 6x6, или 36 букв. Другими словами, существует 36 различных положений шифратора, которые эквивалентны переходам между 36 шифралфавитами. Если же взять полный алфавит, состоящий из 26 букв, то шифровальная машина будет переключаться между 26 х 26, или 676 шифралфавитами. Поэтому объединяя несколько шифраторов (которые иногда называются роторами), можно создать шифровальную машину, которая будет постоянно выполнять переход между различными шифралфавитами.
Оператор набирает определенную букву и, в зависимости от положения шифратора, она может быть зашифрована с помощью любого из сотен шифралфавитов. После этого положение шифратора меняется, так что когда в машину вводится следующая буква, она зашифровывается уже с помощью другого шифралфавита. К тому же все это производится исключительно эффективно и точно благодаря автоматическому перемещению шифраторов и высокой скорости электричества.
Прежде чем приступить к подробному объяснению, как Шербиус предполагал применять свою шифровальную машину, необходимо рассказать еще о двух элементах «Энигмы», которые показаны на рисунке 36. Во-первых, в стандартной шифровальной машине Шербиуса в целях увеличения стойкости использовался третий шифратор; для полного алфавита из 26 букв эти три шифратора дают 26 х 26 х 26, или 17 576 различных положений шифраторов. Во вторых, Шербиус добавил отражатель. Отражатель, как и шифратор, также представляет собой резиновый диск с проводами внутри, но его отличие от шифратора состоит в том, что он не вращается, а провода входят с одной стороны и затем выходят с той же стороны. Когда отражатель установлен, оператор вводит букву, посылая электрический сигнал через три шифратора. Поступающий в отражатель сигнал отражается и идет обратно через те же три шифратора, но уже по другому пути. Например, для приведенной на рисунке 36 схемы, при вводе с клавиатуры буквы b сигнал пройдет через три шифратора, попадет в отражатель, отразится и вернется назад к букве D. На самом деле сигнал попадает не в клавиатуру, как это могло бы показаться из рисунка 36, а поступает на панель с лампочками.
Рис. 36 Конструкция «Энигмы» Шербиуса с третьим шифратором и отражателем, который направляет ток обратно через шифраторы. Для данного расположения ввод с клавиатуры буквы b приведет к загоранию D на панели с лампочками, которая показана рядом с клавиатурой.
На первый взгляд кажется бессмысленным добавлять к машине неподвижный отражатель, который не приводит к увеличению количества шифралфавитов. Однако польза от него станет ясна, когда мы будем рассматривать, как же в действительности используется эта машина для шифрования и расшифрования сообщения.
Допустим, оператор хочет отправить криптограмму. Прежде чем приступить к шифрованию, оператор должен вначале повернуть шифраторы, установив их в определенное начальное положение. Существует 17 576 возможных расположений и, соответственно, 17 576 возможных начальных установок. Начальные положения шифраторов будут определять, каким образом зашифровывается сообщение. Мы можем рассматривать «Энигму» как обобщенную шифрсистему, в которой способ зашифровывания определяется начальными установками. Другими словами, начальные установки обуславливают ключ. Начальные установки обычно задаются в шифровальной книге, в которой указаны ключи на каждый день и которая имеется у всех в коммуникационной сети. Для распространения шифровальных книг требуется время и усилия, но поскольку в день нужен только один ключ, то можно, например, предусмотреть рассылку шифровальных книг, содержащих 28 ключей, только один раз в четыре недели. Для сравнения, если бы в войсках пришлось бы применять одноразовые шифрблокноты, то для каждого сообщения требовался бы новый ключ, и задача распределения ключей оказалась бы несоизмеримо сложнее. Как только шифраторы будут установлены в положения, задаваемые ключом текущего дня из шифровальной книги, отправитель может начинать зашифровывание. Он вводит с клавиатуры первую букву сообщения, смотрит, какая буква высвечивается на панели с лампочками, и записывает ее как первую букву шифртекста. Затем, как только первый шифратор автоматически повернется на одну позицию, отправитель вводит вторую букву сообщения и так далее. После того как шифртекст будет полностью подготовлен, он вручается радисту, который передает его получателю сообщения.
Чтобы расшифровать сообщение, получателю необходимо иметь другую «Энигму» и копию шифровальной книги, в которой указаны начальные положения шифраторов на текущий день. Получатель устанавливает машину в соответствии с книгой, набирает букву за буквой шифртекст, и на панели с лампочками считывает открытый текст. Другими словами, отправитель набирал открытый текст, чтобы получить шифртекст, а здесь получатель набирает шифртекст, чтобы получить открытый текст, то есть зашифровывание и расшифровывание являются зеркальными процессами. Простота расшифровывания обеспечивается благодаря отражателю. Из рисунка 36 можно видеть, что вводя с клавиатуры Ь и двигаясь далее по электрической цепи, мы окажемся у В. Но точно так же, вводя с клавиатуры d двигаясь далее по электрической цепи, мы вернемся к В.
Машина зашифровывает букву открытого текста в букву шифртекста, и до тех пор, пока машина находится в этом же положении, она будет преобразовывать в процессе расшифровывания эту букву шифртекста в первоначальную букву открытого текста.
Ясно, что ни ключ, ни шифровальная книга, в которой он содержится, ни при каких обстоятельствах не должны попасть в руки противника. Вполне может случиться, что противник сумеет заполучить «Энигму», но не зная начальных установок, используемых для зашифровывания, он не сможет дешифровать перехваченное сообщение. Без шифровальной книги криптоаналитик противника должен проверять все возможные ключи, что означает перебор всех 17 576 возможных начальных установок шифраторов. Доведенный до отчаяния криптоаналитик должен будет установить шифраторы на захваченной «Энигме» в некотором положении, ввести короткий фрагмент шифртекста, и посмотреть, будет ли на выходе какой-нибудь осмысленный текст. Если нет, то он должен изменить положение шифраторов и повторить попытку еще раз. Если криптоаналитик смог бы проверять одно положение шифраторов в минуту и работать круглосуточно, то ему потребовалось бы почти две недели, чтобы проверить все установки. Это — средний уровень стойкости. Но если бы противник усадил за проверку дюжину людей, то все положения шифраторов можно было бы проверить за день. Поэтому Шербиус решил повысить стойкость своего изобретения, увеличив число начальных установок и, тем самым, количество возможных ключей.