Rasterschl?ssel 44

Одноразовый шифроблокнот, будучи идеальным шифром, который никто и никогда не сможет взломать — это очень хорошо, но весьма трудоемко и в докомпьютерную эпоху крайне избыточно. Однако чем его заменить?

Напомню, что если вам в голову пришла идея придумать свой шифр и вы не являетесь профессиональным криптографом, то это плохая идея. Вашу гениальную шифровку с большой вероятностью вскроет какой-нибудь клерк из «черных кабинетов» или средневековый математик (напомню, частотный анализ текста в реальной истории — это 9 век). Вдобавок большинство известных и популярных шифров из категории «карандаш и бумага» не менее трудоемки, чем тот же одноразовый шифроблокнот…

Однако шифр, удовлетворяющий одновременно требованиям и к стойкости в докомпьютерную эпоху и к простоте использования существует. Во время второй мировой войны он стал большой проблемой для союзников. Шифр, который вскрывался с большим трудом и только при наличии не менее 40 символов уже известного текста в шифровке. Шифр, требовавший всего лишь заполнить клетки специальной таблицы по горизонтали и прочитать по вертикали, без каких либо расчетов. Знакомьтесь: Rasterschlüssel 44.

Да, кстати, на всякий случай. Если вы сейчас захотите написать «да это ж говно, это ж поворотная решетка!», можете не трудиться. Данный шифр из совсем другой весовой категории.

Во-первых, имеется решетка из белых и черных квадратов, 24 строки на 25 колонок. В каждой строке в случайном порядке расположены 10 белых квадратов и 15 черных. Колонки и строки решетки обозначаются случайными и уникальными для каждой строки и колонки двухсимвольными обозначениями: aa, ab, ac, ad, ae, ba, bb и т.д.:

Во-вторых, к каждой решетке прилагается небольшая таблица для кодирования/декодирования этих обозначений, тоже из случайных наборов букв:

Цифры и пунктуация записываются словами. Сообщение должно быть не короче 60 символов и не длиннее 200. Если оно длиннее, то его надо разбить на две шифровки. Если сообщение короче 60 символов, то до него и после надо добавить случайных слов. Чтобы отличить случайные слова от шифровки, надо повторить последние две буквы в «заголовке» и первые две в «хвосте». Например: «поведениеторговлляяотступлениеввосемнадцатьнольнольллиимонад».

Берем тонкий лист бумаги и накладываем на решетку. Черные квадраты просвечивают сквозь бумагу, так, что видно, где надо писать. Вначале надо выбрать стартовую колонку и строку, ее надо выбрать случайным образом, после чего зачеркнуть на решетке (не на верхнем листе бумаги) их обозначения одной чертой наискосок. Если она зачеркнута один раз, то можно второй раз по другой диагонали, если колонка или строка зачеркнута уже крестиком, то ее использовать в качестве начальной НЕЛЬЗЯ.

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

Если у нас колонка bb и строка ae, то закодировать их данной таблицей можно например так: tuzd (два разных символа выбрали из колонки «b», один из колонки «a», один из колонки «e». По вертикали мы начнем с колонки ee, можно закодировать как ny. Время 17:21, используется таблица номер 64: «1721-64-tuzd-ny». Это начало шифровки.

Далее все просто: текст заполняется в белых клетках слева направо, начиная с выбранной начальной позиции, если текст доходит до конца листа, то продолжается с самого начала решетки сверху. Затем списывается шифровка по вертикали.

Расшифровка происходит обратным образном: вначале определяется начальная клетка. Затем отсчитывается по белым квадратам количество символов в шифровке и зачеркивается все остальное неиспользованное сообщением пространство, записывается по вертикали шифровка, а затем горизонтально читается сообщение. Все.

Любопытно, что данный шифр нельзя взять в лоб даже современными вычислительными мощностями. Он конечно не годится в качестве серьезного шифра на сегодняшний день, т.к. у него имеются определенные слабости, которые в принципе можно использовать — при наличии компьютера. Ну или при наличии 40 символов уже известного текста. Или если немцы сделают типичную ошибку, когда текст не удастся расшифровать, а передающая сторона тот же самый текст зашифрует еще раз той же решеткой. А решетку полагалось менять каждый день, ага. Как следствие, союзники расшифровывали только радиообмен полиции Берлина, чтобы понимать происходящее в самом конце войны.

А теперь самое интересное: в применении шифра немцы сильно налажали. Они сделали всего лишь 36 штампов для строк и просто их переставляли местами… Но даже в таком кастрированном варианте шифр оказался значительно более стоек, чем применявшиеся для серьезной переписки Энигма и Лоренц. Дело в том, что немцы еще до войны в борьбе за расово чистую математику фактически уничтожили свою математическую школу. Кто-то сбежал, кто-то попал в лагеря, кто-то просто перестал работать и у них не осталось серьезных математиков, способных указать на ошибки, не говоря уже о том, чтобы придумать что-либо свое — ведь даже этот шифр немцы получили в качестве трофея!

История же появления этого шифра у немцев не менее интересна и поучительна — шифр изобрел британский криптограф Джон Тилтман (впоследствии взломавший шифр немецкой машины Lorenz SZ, что позволило читать общение Гитлера с его генералами). Шифр был внедрен под названием «Cysquare» и британцы его попытались использовать. Все было бы замечательно, но исполнение подкачало. Вместо тонкой, полупрозрачной бумаги предлагалось писать карандашом сразу на решетке, а потом стирать ластиком и так много, много раз. В полевых условиях в Африке белые клетки быстро становились черными и шифровальщики наотрез отказались пользоваться этим шифром. А потом Роммель захватил вместе с трофеями и шифровки с инструкциями, в результате чего у немцев появился серьезный шифр. Который они так и не оценили по большому счету, да и внедрили к самому концу обеда.