Введение

Циклометр – криптологическое устройство, разработанное, "вероятно, в 1934 или 1935 году", Марианом Реевским из немецкого отдела Польского бюро шифров (BS 4) для составления каталога циклической структуры перестановок машины Энигма, что облегчало расшифровку немецких зашифрованных сообщений, созданных с помощью Энигмы. В дальнейшем, вместе с криптологической бомбой Реевского, циклометр можно рассматривать как предшественника бомбы, использовавшейся для взлома шифров Энигмы во время войны в Блетчли-Парке (Англия). На основе чертежей Реевского Хэл Эванс и Тим Флэк из Департамента инженерии Кембриджского университета в 2019 году построили действующую модель циклометра.

Мариан Реевски

Во время обучения Мариана Реевского математике в Познаньском университете, Польское бюро шифров завербовало его и нескольких других студентов-математиков, включая Джержи Рожицкого и Генрика Зигальского, для прохождения курса криптологии, финансируемого бюро. Позже бюро наняло некоторых студентов для работы неполный рабочий день во временном местном офисе бюро. После окончания Познаньского университета Реевский в Геттингенском университете завершил первый год двухлетнего курса актуарной статистики, а затем вернулся в Познань. В сентябре 1932 года он, Рожицкий и Зигальский отправились в Варшаву для работы в Бюро шифров на полный рабочий день. В декабре 1932 года Бюро шифров поручило Реевскому заняться немецкой шифровальной машиной «Энигма». Бюро пыталось, но не смогло её взломать. В течение нескольких недель Реевскому удалось реконструировать машину. В немецких процедурах передачи сообщений «Энигмы» использовались общие, секретные ежедневные настройки машины, но также требовалось, чтобы шифровальщик выбирал индивидуальный трехбуквенный ключ сообщения. Например, шифровальщик мог выбрать «ABL» в качестве ключа сообщения. Этот ключ использовался для установки начального положения роторов при шифровании или дешифровании сообщения. Выбор индивидуального ключа сообщения был мерой безопасности: он предотвращал отправку всех сообщений за день с использованием одного и того же полиалфавитного ключа, что делало бы сообщения уязвимыми для полиалфавитной атаки. Однако отправитель должен был сообщить ключ сообщения получателю, чтобы тот мог его дешифровать. Сначала ключ сообщения шифровался с использованием дневного Grundstellung (секретное начальное положение роторов «Энигмы», например, «FOL»). Иногда сообщения искажались, и если ключ сообщения искажался, получатель не мог бы дешифровать сообщение. Поэтому немцы приняли предосторожность и отправляли ключ сообщения дважды; если возникала ошибка, получатель должен был иметь возможность найти ключ сообщения. Здесь немцы допустили критическую ошибку. Вместо того чтобы дважды отправлять зашифрованный ключ сообщения (например, «PKP») для получения «PKP PKP», они удваивали ключ сообщения (например, «ABL ABL»), шифровали удвоенный ключ для получения («PKP JXI») и отправляли зашифрованный удвоенный ключ. Эта ошибка позволила Реевскому определить шесть последовательных перестановок «Энигмы» и использовать знание того, что они шифровали один и тот же ключ сообщения. С помощью коммерческой машины «Энигма», немецких материалов, полученных французским шпионом Хансом Тило Шмидтом, и немецких шифровальщиков, выбиравших слабые ключи, Реевскому удалось восстановить схему соединения роторов и отражателя «Энигмы». Затем Бюро шифров построило несколько польских дубликатов «Энигмы», которые можно было использовать для дешифровки немецких сообщений.

Метод гриля

Реевский мог использовать эту информацию о циклах и некоторые небрежные привычки шифровальщиков, чтобы определить индивидуальные перестановки A B C D E F методом "гриля", но этот метод был трудоемким. После применения "гриля" поляки узнавали положение крайнего правого ротора, соединения коммутационной панели и величину Q (перестановку отражателя и двух других роторов). Для получения суточного ключа полякам все еще предстояло выполнить большой объем работы, который мог включать перебор всех возможных порядков и положений двух левых роторов для нахождения положения Grundstellung. Поляки начали использовать каталог Q, чтобы упростить часть процесса, связанного с методом "гриля"; этот каталог содержал 4056 записей (26 × 26 × 6). Для определения настроек колец методом "гриля" могло потребоваться перебрать 17 576 вариантов. Метод "гриля" успешно применялся до 1 октября 1936 года, когда немцы отказались от использования шести штекеров (соединений коммутационной панели) и перешли на использование от пяти до восьми штекеров. Увеличение количества штекеров затрудняло применение метода "гриля".

Длина цикла

Вместо индексации каталога по самим циклам, поляки догадались до индексации каталога по длине циклов. Хотя штекерная панель меняла соответствие букв в перестановке, она не меняла длины циклов. Оказалось, существует 101 возможный шаблон для длин циклов индикаторной перестановки. С тремя перестановками в характеристике, получается около миллиона возможных комбинаций длин циклов. Следовательно, длины циклов можно было использовать как хеш-функцию для хеш-таблицы из 105 456 возможных комбинаций. Поляки анализировали дневной трафик, восстанавливали характеристику индикатора, а затем искали в картотеке. Вероятность была высока, что только одна (или, возможно, несколько) карточка содержала бы такие длины циклов. В результате можно было относительно легко определить правильный порядок роторов и положение всех роторов. Этот метод был проще метода "гриль" и работал даже при большом количестве штекеров.

Создание каталога

Циклометр использовался для составления каталога длины и числа циклов в "характеристиках" для всех 17 576 положений роторов для заданной последовательности роторов. Поскольку таких возможных последовательностей было шесть, итоговый "каталог характеристик", или "карточный каталог", содержал в общей сложности (6) (17 576) = 105 456 записей. Полезность карточного каталога, как пишет Реевский, не зависела от числа штекерных соединений, используемых немцами в их машинах "Энигма" (и от восстановления ключей сообщений). Подготовка каталога "была трудоемкой и заняла больше года, но когда он был готов, суточные ключи [могли быть получены] примерно за пятнадцать минут". Однако 1 ноября 1937 года немцы изменили "реверсивный барабан", или "отражатель". Это вынудило Шифровальное бюро начать работу над новым карточным каталогом, "задача, которая, - пишет Реевский, - благодаря нашему большему опыту, вероятно, заняла несколько меньше года". Но затем, 15 сентября 1938 года, немцы полностью изменили процедуру шифрования ключей сообщений, и в результате метод карточного каталога стал полностью бесполезным.