B-21 (шифровальная машина)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

B-21 - переносная шифровальная машинка, использовавшаяся для шифрования и расшифрования секретных сообщений на стратегическом уровне во время Второй Мировой Войны.

Cipher machine B-21
Cipher machine B-21

История[править | править код]

Первый прототип машинки В-21

В 1925 году Шведский генеральный штаб купил несколько экземпляров Энигмы для её изучения. Борис Хагелин, узнав об этом от Эммануила Нобеля (на тот момент активно сотрудничавшего с Генштабом), обратился с предложением разработать шифровальную машину, которая возможно будет превосходить Энигму. Требовалось, чтобы шифровальная машина была того же размера, что и Энигма, и работала аналогичным способом. На разработку новой машины Нобелем было выделено шесть месяцев и 500 крон. Хагелин к тому моменту имел опыт разработки 10 лет в компании AB Cryptograph. Основой для разработки B-21 послужила машина Electrocrypto B-18, созданная Арвидом Даммом – основателем компании AB Cryptograph. [1][2]

Описание[править | править код]

Внешнее устройство[править | править код]

На первый взгляд В-21 напоминает немецкую шифрмашинку Энигма - имеет компактный корпус, клавиатуру, питается от батареи и использует панель ламп для вывода. В более поздних модиифкациях

Принцип работы[править | править код]

Pinwheels&Half-rotors

Машинка обладает двумя коммутационными панелями (матрицами) размерности 5х5 (о них будет сказано ниже). С их помощью можно зашифровать / расшифровать 25 символов. В разных версиях машинки (например, для французской армии), была опущена одна из редко встречающихся букв K, J, W или Z. Символы алфавита располагаются в наиболее популярной латинской раскладке QWERTY, за исключением символов, не используемых в шифровании.

Первая коммутационная панель представляет собой сеть электрических контактов под клавиатурой. При нажатии кнопки, замыкаются 2 электрические цепи, указывая соответственно строку и столбец буквы в матрице, и информация передаётся на 2 отдельных канала. Каждое из полученных значений (строковое/столбцовое) кодируется раздельно - то есть передаётся на штифтовые колёса, которые в свою очередь управляют движением роторов. После поворота роторов сигналы подаются на вторую коммутационную панель (матрицу) аналогичной размерности (5 x 5) и устройства, откуда получается значение строчной и столбцовой координаты для вывода на плату ламп. Матричное строение платы ламп и клавиатуры идентично (QERTY).

Принципиальное внутреннее устройство
Схема внутреннего устройства В-21

Сеть электрических контактов под ней образует электрические контуры. Под клавиатурой расположены 4 штифтовых колеса (англ. pinwheels) и два ротора (англ. Half-rotor). Левый ротор управляется двумя левыми штифтовыми колёсами - с 23 и 21 штифтами, правый - колёсами с 19 и 17. Роторы могут двигаться(и генерировать новые перестановки соответственно) на каждой зашифрованной букве. При этом ротор двигается, если активен управляющий контакт 1 из 2 управляющих им штифтовых колёс (между двумя штифтами двух колёс стоит функция - OR, соответственно ротор двигается на 1 шаг если результат 1). Кардинальное отличие от Энигмы заключается  в том, что шаг смещения штифтовых (то есть кодирующих) колёс не регулярен, что делает работу машинки намного менее предсказуемой, тогда как большинство вариантов немецкой машинки отличалось регулярным шагом.

Ключи[править | править код]

Для успешного шифрования и расшифрования секретных сообщений принимающая и передающая сторона заранее договаривается о ключах сообщений.

Базовый ключ зависит от соединения контактов на роторах и строения электрических контуров под клавиатурой.

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

Внешний ключ состоит из начального положения роторов - буквы от 'A' до 'K' (ABCDEFGHIK) и колёс

  • Колесо с 23 штифтами - буква из набора: 'ABCDEFGHIKLMNOPQRSTUVXY'
  • Колесо с 21 штифтом - буква из набора: 'ABCDEFGHIKLMNOPQRSTUV'
  • Колесо с 19 штифтами - буква из набора : 'ABCDEFGHIKLMNOPQRST'
  • Колесо с 17 штифтами - буква из набора: 'ABCDEFGHIKLMNOPQR'

Пример работы[править | править код]

Базовый ключ

Коммутационная матрица (5x5):
     L N R S T (согласные)
(v)  0 1 2 3 4
A 0  L M Y F X
E 1  O J B R S
I 2  P U G C W
O 3  K N T D Q
U 4  I H V E A
Коммутационные панели: AEIOU и LNRST
Роторы:
Левый ротор:  Правый ротор:
  A   01243     A   23104
  B   32410     B   34201
  C   12304     C   12043
  D   43021     D   23140
  E   23410     E   01432
  F   04132     F   12034
  G   34021     G   40321
  H   10243     H   01423
  I   40132     I   34210
  K   21304     K   40312

Внутренний ключ

Коммутационные панели: OIAUE:LRNTS    (32041:02143)
Колесо 23: _B_D_F_H_K___OP___T_V__
Колесо 21: A_C_E__HIK_M___QR__U_
Колесо 19: _B_D___H_K_MN__Q__T
Колесо 17: _BC__F__I_L_N_P__
ПРЕДУПРЕЖДЕНИЕ: при очевидной настройке штыревых колёс АААА эффективной будет являться  GFHG.
Примечание: положение колёс и роторов настраивается до операции шифрования.

Внешний ключ: AAAAAA (выбранные штифты: GFHG)

Изначальный текст : HASTE MAKES WASTE
Зашифрованный текст: QBVPD TUBAD VAPUT
1     2   3   4   5    6 7   8 9   0 1   2 3   14    
H  :H 1 G 0 I 0 H 0  : B A ! U N - A S - O T :  Q
A  :I 0 H 1 K 1 I 1  : C B ! U T - U N - E R :  B
S  :K 1 I 1 L 0 K 0  : D B ! E T - O N - U R :  V
T  :L 0 K 1 M 1 L 1  : E C ! O R - E L - I L :  P
E  :M 0 L 0 N 1 M 0  : E D ! U S - A T - O S :  D
M  :N 0 M 1 O 0 N 1  : F E ! A N - A N - O R :  T
A  :O 1 N 0 P 0 O 0  : G E ! U T - E R - I N :  U
K  :P 1 O 0 Q 1 P 1  : H F ! O L - U N - E R :  B
E  :Q 0 P 0 R 0 Q 0  : H F ! U S - O S - U T :  A
S  :R 0 Q 1 S 0 R 0  : I F ! E T - A T - O S :  D
W  :S 0 R 1 T 1 A 0  : K G ! I T - O N - U R :  V
A  :T 1 S 0 A 0 B 1  : A H ! U T - O S - U T :  A
S  :U 0 T 0 B 1 C 1  : A I ! E T - E L - I L :  P
T  :V 1 U 1 C 0 D 0  : B I ! O R - E R - I N :  U
E  :X 0 V 0 D 1 E 0  : B K ! U S - A N - O R :  T
Примечание: Внешний ключ после шифрования: BK QQQQ (активные контакты: XVDE)

Описание столбцов приведённой таблицы:

  1. Входная буква (шифруемая или расшифровываемая)
  2. Текущий штифт колеса с 23 штифтами [1 = активный, 0 = неактивный]
  3. Текущий штифт колеса 21
  4. Текущий штифт колеса 19
  5. Текущий штифт колеса 17
  6. Положение первого ротора
  7. Положение второго ротора
  8. Строковая координата(в режиме шифрования)
  9. Столбцовая координата
  10. Шифрование строковой компоненты первым ротором (в режиме шифрования)
  11. Шифрование столбцовой компоненты вторым ротором
  12. Строковая компонента после прохождения коммутационной панели
  13. Столбцовая компонента после прохождения коммутационной панели
  14. Выходная буква (зашифрованная или расшифрованная)

Модификации[править | править код]

В-211[править | править код]

В-211 - модификация, разработанная по заказу Французской армии. В отличие от родоначальной В-21, имела, согласно требованиям французов встроенный принтер и батарею - была полностью автономной. Также отличие было в том, что оператор мог работать не только с буквами, но и некоторыми символами - например, -, +, %.

В-211 имела две версии - М1 (имеет 2 ротора, как и B-21) и М2 (имеет 4 ротора, в отличие от B-21). Первая партия в 500 машинок была произведена Ericsson в 1939 году.

Дальнейшее развитие конструкции привело к созданию С-35/36.

К-37 Кристалл[править | править код]

Хагелин был вынужден передать документацию на В-21 в СССР шведской армией. Но при этом К-37 не является точной копией, в частности, используется клавитура размерности 6 x 5.

Криптоанализ B-21[править | править код]

Арн Бёрлинг из шведского бюро шифрования взломал алгоритм работы в 1931 году менее чем за 24 часа[3] - он был достаточно хорош для своего времени, и это была первая коммерчески успешная машина Хагелина.

Интересные факты[править | править код]

В первоначальном патенте описывается машина, имеющая коммутационную матрицу 4х5, но машинка фактически имеет матрицу 5х5,[4] что позволило использовать 25 букв на клавиатуре.

Примечания[править | править код]

  1. Boris Hagelin. Memoires of Boris Hagelin (German). — Crypto Hauszeitung Nr. 11,: Crypto A.G.,, September 1992.
  2. Boris Hagelin. The Story of the HAGELIN-CRYPTOS. — Zug: CRYPTO AG, 1981. — С. 17.
  3. Bengt Beckman. Arne Beurling and the Swedish crypto program during WWII. — American Methematical Society (English translation), 2002. — 31-32 с. — ISBN 0-8218-2889-4.
  4. German Patent DE430599. — Stockholm: Aktiebolaget Cryptograph, 24 July 1925.