Это не официальный сайт wikipedia.org 01.01.2023

Rasterschlüssel 44 — Википедия

Rasterschlüssel 44

Rasterschlüssel 44 (RS44) (от нем. Raster — сетка, растр и Schlüssel — ключ) — ручная техника шифрования, заменившая применявшийся прежде шифр «двойной квадрат» (нем. Doppelkastenschlüssel, также известный как шифр Уитстона)[1][2]. RS 44 использовался вооружёнными силами нацистской Германии, начиная с марта 1944 года[3][4][5].

ИсторияПравить

Шифр использовался низшим командованием вермахта, ввиду того, что оно не имело в распоряжении никакой шифровальной машины, в отличие от среднего и высшего командования (штабы дивизий и выше), которое пользовалось Энигмой[6]. Для низшего командования, включавшего в себя штабы рот и батальонов и находящегося в основном на командно-наблюдательных пунктах, было необходимо применять технику шифрования текста вручную — «карандашом на бумаге». С 1941 года в сухопутных войсках стали применять шифровальную технику двойных квадратов. Ввиду постоянно угрожающей опасности вторжения с Запада, укрепляющегося осознания угрозы и необходимости иметь возможность обмениваться секретными сведениями с командно-наблюдательными пунктами, по приказу Шифровального Центра вермахта 27 марта 1944 года в сухопутных и воздушных войсках был внедрён RS 44. Начиная с 18 октября того же года, был внедрён упрощённый RS 44. Процедура была необходимой в силу того, что прежние инструкции толковались двояко, служащие допускали слишком много ошибок при шифровании, а радисты — при передаче сообщения[4][7].

Над взломом шифра в Блетчли-парке работало в разное время до 150 человек. В нём криптоаналитик Джон Тилтман прочитал десятидневный курс об уязвимостях и подходах к дешифрованию RS44. Так, по захваченным шаблонам британцам требовалось не больше часа, чтобы найти начальную клетку, оставшаяся часть расшифровывалась по рассказанному алгоритму. В августе 1944 года пришел первый успех: удалось восстановить однодневный шаблон и дешифровать 30 сообщений, присланных за сутки. Однако не всегда получалось уложиться в требуемые сроки, и информация теряла свою актуальность. В среднем, было необходимо две недели на успешную дешифровку сообщения. Американские коллеги выделили 20 служащих для взлома RS44, что было недостаточно для потока из тысячи сообщений в сутки[8]. Таким образом считалось, что шифр нельзя взломать, пока передающая сторона не допустит ошибки, снижающей его криптостойкость[9].

Описание RS44Править

ЗаголовокПравить

Заголовок зашифрованного сообщения содержал в себе время отправления в формате ЧЧ:ММ, затем шло количество символов в сообщении — от 60 до 200, и завершал заголовок индикатор, то есть четыре неповторяющихся буквы латинского алфавита[10][11].

В случае превышения лимита символов, сообщение полагалось разбить на два независимых зашифрованных сообщения. Если же сообщение содержало меньше 60 символов, в него добавляли случайное слово (Wahlwort) или несколько слов. Чтобы отделить это слово от содержательной части послания, две последних буквы в предшествующем слове и две первых буквы в последующем по отдельности дублировались. Например, Tanneenn Das ist die geheime Nachricht ggeehen, где строка Das ist die geheime Nachricht была секретным сообщением, Tannen и gehen — случайными словами, которые перешли в Tanneenn и ggeehen соответственно.

Четыре буквы в конце заголовка являлись двумя зашифрованными и случайно выбранными биграммами, составленными из букв a, b, c, d, e. Биграммы шифровались при помощи вспомогательной таблички под решеткой (см. таблицу 1)[12][13].

Таблица 1 (биграммная)
a b c d e
y v f x g
q u j r c
s k t b w
p h d n a
m o i l e

Каждая буква из биграммы заменялась на любую из пяти, стоящих в соответствующем столбце. Если буквы в биграммах повторялись, по тем же правилам бралась другая буква, отличная от уже взятой. На самом деле, при шифровании биграмм caeb можно взять fpgu, равно как и jmwv. Если необходимо зашифровать bddd, то можно выбрать uxln или hbrx и т. д.[источник не указан 2211 дней]

При декодировании по вспомогательной табличке биграммы однозначно восстанавливаются. Таким образом, заголовок мог представлять собой строку 1804 — 113 — fpgu, что обозначало время отправки сообщения (18:04), количество символов в шифрограмме (113), тип зашифрованной биграммы (caeb).

Подготовка исходного текстаПравить

Прежде чем шифровать текст непосредственно решёткой, нужно было его преобразовать. Определённые слова и символы шифровались следующим образом:

Буквосочетания «ck» и «ch» заменялись на «q», умлауты тоже заменялись: ä — «ae», Ö — «oe», Ü — «ue», ß — «sz».

Цифры записывались полными немецкими словами, за исключением 2 — «zwo», а не «zwei».

Римские цифры обозначились приставкой «roem». Например, IV — «roemeinsfuenf».

Числительные назывались по цифре, исключения составляли следующие числа:

10, 11, 20, 30, 40, 50, 60 ,70 ,80, 90, 100, 1000 — писались в соответствии с оговорёнными правилами написания букв и буквосочетаний.

12 уже писалось как «eins zwo», 0850 — «nullaqtfuenfnull».

Если стояло больше одного нуля подряд, то происходила замена 00 — «zenta», 000 — «mille», 0000 — «miria». Например, 800 000 — «aqtzentamille или aqtmillezenta».

Знаки пунктуации следовало заменять следующими словами:

  • кавычки (Klammer) — «klam»;
  • вопросительный знак (Fragezeichen) — «fraq»;
  • запятая (Komma) — «koma»;
  • точка (Punkt) — «stop».

Пробел — «x» — использовался только в целях однозначно определить написанное или при необходимости записать время. В этом случае следовало разделять часы и минуты символом «x». Во всех остальных случаях текст шифровался без промежутков.

Географические названия реальных мест необходимо было шифровать при помощи специальной прилагаемой таблички, где каждой исходной букве ставилась в соответствие буква из таблицы, аналогично шифрованию биграммы. В шифрованном тексте перед названием ставилось «aa», а после «ee». Для исключения ошибок зашифрованный текст повторялся дважды[14].

Шифрование сообщенияПравить

Выбор начальной клеткиПравить

Первым шагом необходимо было выбрать начальную клетку. Это делалось случайным образом, а начальная клетка записывалась в заголовок сообщения двумя зашифрованными биграммами. Так как трафарет выдавался на сутки[15], а передавать за это время требовалось более одного сообщения, то были приняты следующие ограничения на выбор начальной клетки: в первый раз клетка выбиралась произвольно, а биграммы, указывающие на эту клетку, вычеркивались на трафарете косой чертой слева направо и снизу вверх. Последующие начальные клетки обязывали аналогично вычеркивать соответствующие им биграммы. В случае, если выбранная строка или столбец уже содержала перечеркнутую биграмму, эти буквы перечёркивались вновь, и в следующий раз эту позицию использовать было запрещено. Когда все пары букв были дважды зачеркнуты, разрешалось взять любую биграмму в качестве определяющей первую клетку[13].

Структура трафаретаПравить

Служащие, которые должны были шифровать текст, получали шаблонный трафарет, который заменяли ежедневно[4][6]. Трафареты выдавались партиями по 31-32 штуки на следующий месяц в середине текущего, однако напрямую служащим они попадали в руки в день (в крайнем случае за день до) отправки сообщения[16]. Трафарет состоял из 25 столбцов и 24 строк[17]. Каждая строчка должна была содержать ровно 10 пустых клеток, расположенных случайно. Строчки нельзя было повторять, равно как и столбцы. Оставшиеся клетки полностью закрашивались[18][19][12]. Подготовленный текст сообщения вписывался только в белые клетки, слева направо. Начальная клетка была зашифрована в биграмме заголовка сообщения. В случае, если начальная клетка оказывалась чёрной, запись начинались с ближайшей правой белой клетки трафарета. Если текст сообщения доходил до конца трафарета, то его продолжение нужно было писать начиная с самой первой пустой клетки сверху[11].

Составление итоговой шифрограммыПравить

Начальная колонка (пронумерованный столбец в трафарете) служила индикатором того, откуда после нанесения текста на трафарет следовало начинать списывать символы в итоговое сообщение[чего?]. За её номер отвечали две цифры часов отправки сообщения. Возьмём указанный ранее заголовок:

1804—113 — fpgu

Очевидно, номер начальной колонки — 18. Далее необходимо отсчитать вправо от указанного столбца количество столбцов, равное следующей сумме: это сумма цифр минут и количества символов сообщения. Для упомянутого заголовка посчитаем: (0+4) + (1+1+3) = 9. Двигаемся от 18 колонки на 9 позиций вправо, учитывая, что 18-я колонка отвечает за «раз». Таким образом, попадаем в колонку 24, и с этого столбца списываем сверху вниз буквы. Так и списывается, сначала 24-я колонка, потом 25-я, а затем пишется с 1-й по 23-ю.

Итоговое зашифрованное сообщение составлялось из блоков по пять букв.

После изменений от 18 октября 1944 года, вместо числа, отвечающего за часы отправки, в качестве определяющего начальную колонку стали использовать дополнительную. Она записывалась в конце заголовка[20].

КриптостойкостьПравить

Шифр считался вычислительно стойким в годы войны[21]. Статистика тех лет показала, что за апрель 1945 года из 12 000 полученных сообщений только 3 500 удалось прочесть, что составляет 29 %, в то время как аналогичные показатели для Энигмы были равны 79 %[22].

К факторам уязвимости можно отнести следующие:

  • Человеческий фактор: ошибки во время шифрования приводили к тому, что исправленное сообщение приходилось посылать снова с использованием того же шаблона. Послание отличалось от предыдущего всего несколькими символами. Менялась только начальная клетка[23].
  • Захват шаблонов: в случае попадания ключа в руки союзников, все сообщения расшифровывались по описанному алгоритму с использованием захваченного образца, пока передающая сторона не меняла его на новый.
  • Ограниченность ресурсов: для изготовления шаблона использовалось 36 различных готовых шаблонных рядов с 10 пустыми клетками в каждом. Из них было необходимо изготовить трафарет, состоящий из 24 строчек. Это приводило к повторам в новых экземплярах шаблонов[24][25].

Считалось, что для успешной дешифровки сообщения нужно было знать минимум 30-40 символов исходного текста. Для сравнения, 8-20 букв было достаточно для взлома Энигмы при помощи Turing Bombe[26][8].

ПримечанияПравить

  1. Friedrich L. Bauer, 2000, с. 68.
  2. Cowan, 2004, с. 124.
  3. 1 2 Friedrich L. Bauer, 2000, с. 102..
  4. 1 2 3 Cowan, 2004, с. 119.
  5. 1 2 OKW, 1944, с. 12.
  6. 1 2 Beckh, 2005, с. 200.
  7. Schmeh, 2008, с. 47.
  8. 1 2 Schmeh, 2008, с. 46.
  9. Clabby, 2007, с. 43.
  10. OKW, 1944, с. 4.
  11. 1 2 OKW, 1944, с. 9.
  12. 1 2 OKW, 1944, с. 8.
  13. 1 2 OKW, 1944, с. 10.
  14. OKW, 1944, с. 5-7.
  15. Tiltman, 1957—1965, с. 103.
  16. Cowan, 2004, с. 122.
  17. Schmeh, 2008, с. 42.
  18. Ulbricht, 2005, с. 44.
  19. Cowan, 2004, с. 117.
  20. OKW, 1944, с. 21.
  21. Cowan, 2004, с. 133.
  22. Cowan, 2004, с. 130.
  23. Schmeh, 2008, с. 45.
  24. Cowan, 2004, с. 125.
  25. Schmeh, 2008, с. 44.
  26. Cowan, 2004, с. 134.
  27. Cowan, 2004, с. 135-139.

ЛитератураПравить

  • Klaus Schmeh. Codeknacker gegen Codemacher. Die faszinierende Geschichte der Verschlüsselung. — 2-e изд. — Herdecke: W3L-Verlag, 2008. — ISBN 978-3-937137-89-6.
  • Joachim Beckh. Blitz & Anker: Informationstechnik — Geschichte und Hintergründe, том 2. — BoD GmbH, 2005. — ISBN 978-3833429972.