logo
Коды и шифры

Шифрование при помощи шифрмашины "Хагелин"

Каждое из колес шифрмашины "Хагелин" имело набор штифтов, часть из которых выступала слева, а оставшиеся - справа. В начале каждого периода действия ключей машины операторам сообщали, с какой стороны следует установить каждый из штифтов. Это была довольно трудоемкая работа, поскольку общее число штифтов было равно

26+25+23+21+19+17=131.

Штифт, выступающий с левой стороны колеса, не влиял на выработку знака гаммы и поэтому назывался неактивным; штифт, выступающий справа, увеличивал (в машине без перекрытий) значение гаммы на число выступов, стоящих в барабане напротив данного колеса, то есть на величину "зацепления" этого колеса. Такой штифт назывался активным. В идеале на каждом колесе должно было быть примерно равное число активных и неактивных штифтов: подходящим было бы соотношение примерно от 40% до 60% активных.

В начале каждого периода действия ключей машины операторам необходимо было сдвигать выступы на каждой из 27 реек, чтобы напротив каждого колеса находилось нужное их количество, при этом в случае машины "без перекрытий" надо было следить за тем, чтобы на каждой рейке напротив колеса стояло не более одного выступа, а второй был оставлен в одном из нейтральных положений.

После того, как вводимая буква была установлена напротив стрелки, оператор поворачивал ручку, и барабан вращался. При этом у каждого из колес один из штифтов оказывался расположенным напротив части выступов; при этом, если штифт располагался слева от колеса, выступы проворачиваются мимо него, но если штифт располагался справа, то он сдвигал выступы, а те, в свою очередь, смещали рейки, на которых они располагались. Каждая такая сдвижка поворачивала печатающее колесо на одну позицию. Таким образом, если напротив 26-штифтового колеса расположены 9 выступов, то печатающее колесо будет либо повернуто на 9 позиций, если напротив барабана стоит активный штифт, либо будет оставлено неподвижным, если штифт неактивный. Как только барабан совершит полный оборот, все колёса сдвигаются на одну позицию, и положение напротив выступов барабана занимает другая комбинация штифтов.

Пример 10.1

В таблице 10.1 показана типичная последовательность знаков гаммы, которую может дать барабан (4, 1, 9, 6, 5, 2) из вышеприведенного примера.

Таблица 10.1

Штифтовое число

26

4

0

4

4

0

0

0

4

0

4

0

4

4

4

0

4

0

0

0

4

25

0

1

1

0

0

0

1

1

0

1

1

1

1

0

0

0

1

0

1

0

23

9

9

9

0

0

9

0

0

0

9

0

9

9

0

9

9

0

0

9

9

21

6

0

6

6

0

0

0

0

6

6

6

0

6

6

0

0

0

6

6

0

19

0

5

5

5

0

5

0

0

5

0

5

5

0

0

0

5

0

5

0

0

17

2

0

2

0

2

2

0

2

2

0

0

0

2

2

0

0

2

2

0

2

Гамма

21

15

27

15

2

16

1

7

13

20

12

19

22

12

9

18

3

13

16

15

Заметим, что за время выработки 20 элементов последовательности знаков гаммы колёса с 19-ю и 17-ю штифтами успели совершить полный оборот, и их вклад в суммарную гамму начал повторяться, на что указывают подчеркнутые числа. Заметим также, что поскольку последовательность знаков гаммы приводится печатающим колесом по модулю 26, то третий элемент последовательности знаков гаммы, равный 27, в результате оказывается равен 1.

Пример 10.2

Используя 20 знаков гаммы из предыдущего примера, зашифруем методом, реализованным в "Хагелине", следующий текст:

HááAááGááEááLááIááNááXááEááNááCááIááPááHááEááRááMááEááNááT

Сначала преобразуем текст в числа:

HááAááGááEááLááIááNááXááEááNááCááIááPááHááEááRááMááEááNááT

7áá0áá6áá4á11áá8á13á23áá4á13áá2áá8á15áá7áá4á17á12áá4áá13á19

Затем вычтем эти числа по модулю 26 из соответствующих знаков гаммы:

Гамма 21 15 27 15  2 16  1  7 13 20 12 19 22 12  9 18  3 13 16 15

Открытый текст  7  0  6  4 11  8 13 23  4 13  2  8 15  7  4 17 12  4  13 19

Шифрованный текст 14 15 21 11 17  8 14 10  9  7 10 11  7  5  5  1 17  9   3 22

После преобразования текста в буквы и разбиения на пятизначные группы получается шифрованный текст, который был бы послан адресату:

OPVLRáIOKJHáKLHFFáBRJDW.