logo
Коды и шифры

Шифрование в машине sz42

Алгоритм шифрования в машине SZ42 в корне отличается от алгоритма шифрования в машине "Хагелин". Прежде всего, алфавит состоял из 32 знаков, а не из 26. Эти 32 знака представляли собой алфавит Международного Телеграфного Кода (МТК), который идеально подходил для вывода на пятиразрядную перфоленту, и состоял из 26 латинских букв и 6 служебных знаков, таких как "пробел" и "возврат каретки". Поскольку 32=25, эти 32 знака могут быть записаны комбинациями из пяти нулей и единиц, то есть в виде пятерки битов. Полный алфавит МТК содержится во многих книгах (например, [11.1], [11.2]). Для наших целей нам достаточно заметить, что, к примеру,

A - это 11000

B - это 10011

...

P - это 01101

Q - это 11101

...

Z - это 10001

(явной связи между записью соседних букв латинского алфавита нет).

Хотя 61- и 37-штифтовые колеса управляли движением колес в группе C, они, тем не менее, непосредственно в зашифровании не участвовали. Результат зашифрования зависел только от пяти двоичных составляющих буквы открытого текста, текущей пятерки штифтов группы A и текущей пятерки штифтов группы C.

Схематическая диаграмма управления движением в шифрмашине SZ42 показана на Рис. 11.1*) .

Шифрование буквы в машине SZ42 осуществлялось следующим образом:

  1. буква открытого текста (P) заменялась на свое пятиразрядное двоичное представление в коде МТК;

  2. каждый из пяти разрядов представления буквы P шифровался по отдельности;

  3. каждый двоичный разряд представления суммировался (по модулю 2) со значением текущего штифта на одном из колес группы A; это значение равнялось нулю для неактивного штифта, и единице для активного;

  4. пять двоичных разрядов, полученные на шаге (3), суммировались по отдельности (по модулю 2) со значением текущего штифта на одном из колес группы C, причем это значение равнялось нулю или единице, как и для шага (3);

  5. результирующий пятиразрядный символ (Z) преобразовывался согласно коду МТК обратно в буквы;

  6. все колёса сдвигались в соответствии с механизмом управления движением.

Результат зашифрования каждой из пяти двоичных последовательностей зависел только от двух из десяти колес: от одного колеса из группы A и одного колеса из группы C. Например, первая последовательность шифровалась 41-штифтовым колесом из группы A и 43-штифтовым колесом из группы C, а пятая последовательность шифровалась 23‑штифтовым колесом из группы A и 59-штифтовым колесом из группы C.

На Рис. 11.2 дана схематическая диаграмма процесса шифрования в машине SZ42*) .

Поскольку при шифровании применялось только поразрядное (по модулю 2) сложение букв открытого текста с гаммой, то процедуры расшифрования и зашифрования были идентичны, так как операции сложения и вычитания по модулю 2 выполняются одинаково.

Для иллюстрации процесса зашифрования приведем

Пример 11.1

Пусть текущие штифтовые значения колес таковы:

Группа A 0 1 0 1 1

Группа С 1 0 0 1 0,

а буква открытого текста равна S (=10100 в коде МТК). Какой будет буква шифрованного текста? Подтвердите, что в результате расшифрования получается исходная буква открытого текста.

Решение

Буква открытого текста(S) 1á0á1á0á0

Штифтовые значения группы A 0á1á0á1á1

Сумма по модулю 2 1á1á1á1á1

Штифтовые значения группы C 1á0á0á1á0

Сумма по модулю 2 0á1á1á0á1 = P.

Таким образом, получаем букву шифрованного текста P. Если теперь мы начнем с буквы шифрованного текста P, то при тех же значениях штифтов в результате расшифрования получим:

Буква шифрованного текста(P) 0á1á1á0á1

Штифтовые значения группы A 0á1á0á1á1

Сумма по модулю 2 0á0á1á1á0

Штифтовые значения группы C 1á0á0á1á0

Сумма по модулю 2 1á0á1á0á0 = S,

и снова получаем исходную букву открытого текста.