Метод гриль (Польский : metoda rusztu), в криптология была методом, который в основном использовался еще до появления циклометра криптологами Польского бюро шифровальщиков (Biuro Szyfrów ) в расшифровка немецкой машины Enigma шифрование. Роторная шифровальная машина Enigma изменяет символы открытого текста на зашифрованный текст, используя различную перестановку для каждого символа, и таким образом реализует полиалфавитный заменяющий шифр.
Немецкий флот начал использовать машины Enigma в 1926 году; он назывался Funkschlüssel C («Радиошифр C»). К 15 июля 1928 года немецкая армия (Reichswehr ) представила свою собственную версию Enigma - Enigma G; переработанная Enigma I (с коммутационной панелью ) появилась в июне 1930 года. Enigma I, использовала немецкие военные в 1930-х годах, была 3-роторной машиной. Первоначально было всего три ротора с маркировкой I, II и III, но их можно было расположить в любом порядке при установке в машину. Реевский определил перестановки ротора буквами L, M и N; шифрование, производимое роторами, изменялось при шифровании каждого символа. Самая правая перестановка (N) изменяется с каждым символом. Кроме того, была коммутационная панель, которая выполняла дополнительное шифрование.
Количество применяемых схем подключения ротора:
Число потенциальных проводов отражателя составляет:
Возможно, более интуитивный способ получить эту цифру - это Учтите, что 1 букву можно связать с любой из 25. Осталось 24 буквы для подключения. Следующая выбранная буква может соединиться с любым из 23. И так далее.
Количество различных соединений коммутационной панели (для шести кабелей):
Для шифрования или дешифрования настройки оператор сделал следующее ключ машины:
В начале 1930-х годов немцы распространяли секретный ежемесячный список всех ежедневных настроек машины. Немцы знали, что было бы глупо шифровать дневной трафик одним и тем же ключом, поэтому каждое сообщение имело свой собственный «ключ сообщения». Этот ключ сообщения был выбранным отправителем начальным положением ротора (например, ДА). Ключ сообщения должен быть передан оператору-получателю, поэтому немцы решили зашифровать его заранее, заданные суточные наземные настройки дня (Grundstellung). Получатель будет использовать ежедневные настройки машины для всех сообщений. Он установил начальное положение ротора Энигмы в положение «земля» и расшифровал ключ сообщения. Затем получатель установит начальное положение ротора для ключа сообщения и расшифрует тело сообщения.
Enigma использовалась для радиосвязи, поэтому письма иногда искажались во время передачи или приема. Если у получателя не было правильного ключа сообщения, то получатель не мог расшифровать сообщение. Немцы решили отправить трехбуквенный ключ дважды, чтобы не допустить ошибок передачи. Вместо того, чтобы один раз зашифровать ключ сообщения «YEK» и дважды послать зашифрованный ключ, немцы удвоили ключ сообщения до «YEKYEK» («удвоенный ключ»), зашифровали удвоенный ключ с помощью наземных настроек и отправили зашифрованный двойной ключ. После этого мог распознать неправильный ключ сообщения и по-прежнему расшифровать сообщение. Например, если получатель получил и расшифровал удвоенный ключ как «YEKYEN», то получатель может попробовать оба ключа сообщения «YEK» и «YEN»; один будет выдавать желаемое сообщение, а другой - тарабарщину.
Зашифрованный двойной ключ был огромной криптографической ошибкой, потому что он позволяет криптоаналитикам знать два шифрования одной и той же буквы, разнесенные на три места, для каждой из трех букв. Польские дешифровщики использовали эту ошибку способами. Мариан Реевски использовал сдвоенный ключ и некоторые известные ежедневные ключи, полученные шпионом, для определения проводки трех роторов и отражателя. Кроме того, клерки кода часто не выбирают безопасные случайные ключи, а вместо этого выбирают слабые ключи, такие как «AAA», «ABC» и «SSS». Позже поляки использовали сдвоенные слабые ключи, чтобы найти неизвестные ежедневные ключи. Метод гриля был ранним использованием двойного ключа для восстановления части ежедневных настроек. циклометр и bomba kryptologiczna были более поздними разработками двойного ключа.
Фроде Вейруд предоставляет секретные настройки и результаты, которые использовались в немецком техническом руководстве 1930 года. 33>
Ежедневные настройки (общий секрет): Порядок колес: II I III Ringstellung: 24 13 22 (XMV) Отражатель: A Plugboard: AM, FI, NV, PS, TU, WZ Grundstellung: 06 15 12 (FOL) Ключ сообщения, выбранный оператором: ABL Зашифрованное, начиная с FOL: PKPJXI Сообщение для отправки и результирующие 5-буквенные группы открытого текста: Feindliche Infanteriekolonne beobachtet. Anfang Südausgang Bärwalde. Ende 3 km ostwärts Neustadt. Feind LIQEI NFANT ERIEK OLONN EBEOB AQTET XANFA NGSUE DAUSG ANGBA ERWAL DEXEN DEDRE IKMOS TWAER TSNEU STADT Результирующее сообщение: 1035 - 90 - 341 - PKPJX IGCDS EAHUG WTQGR KVLFG XUCAL XVYMI GMMNM FDXTG NVHVR MMEVO UYFZS LRHDR RXFJW CFHUH Münze FRDIS IKBGP MYVXU Z
Первая строка сообщения не зашифрована. «1035» - это время, «90» - это количество символов, зашифрованных с помощью ключа сообщения, а «341» - это системный индикатор, который сообщает получателю, как было зашифровано сообщение (то есть с помощью Enigma с определенным ежедневным ключом). Первые буквы в теле («PKPJXI») предоставляющий собой удвоенный ключ («ABLABL»), зашифрованный с использованием шести настроек ключа и запуск шифрование в наземной настройке / Grundstellung «FOL». Получатель расшифрует первые шесть букв, чтобы восстановить ключ сообщения («ABL»); Затем он устанавливал роторы машины на «ABL» и расшифровывал оставшиеся 90 символов. Обратите внимание, что в Enigma нет цифр, знаков препинания или умляутов. Числа были прописаны. Большинство пробелов игнорировалось; "X" использовался для периода. Умлауты использовали свое альтернативное написание с буквой «е». Были использованы некоторые сокращения: «Q» использовалось для «CH».
Когда Реевский начал свою атаку в 1932 году, он обнаружил очевидным, что первые шесть букв были зашифрованы двойным ключом.
Ежедневные настройки ключа и основные настройки будут переставлять символы сообщения по-разному. Это можно показать, зашифровав шесть одинаковых букв для всех 26 букв:
AAAAAA ->PUUJJN BBBBBB ->TKYWXV.19 ->KZMVVY DDDDDD ->XMSRQK EEEEEE ->RYZOLZ FFFFFF ->ZXNSTU GGHHIIQGH II ->WNOZPL JJJJJJ ->MQVAAX KKKKKK ->CBTTSD LLLLLL ->OWPQEI MMMMMM ->JDCXUO NNNNNN ->YIFPGA OOOOOO ->LPIEZM PPPPPRDR ->AOLNIW QQQGGQQ ->AOLNIW QQJGGQQ ->AOLNIW QQJGGQQ VAAGMF VVVVVV ->UTJCCB WWWWWW ->ILHBRP XXXXXX ->DFRMBJ YYYYYY ->NEBHHC ZZZZZZ ->FCEIOE
Из этой информации можно найти шесть вариантов для каждого ключа. Обозначьте каждую перестановку A B C D E F. Эти перестановки секретны: противник не должен их знать.
Обратите внимание, что перестановки - это непересекающиеся транспозиции. Для перестановки A он не только изменяет «A» на «P», но также меняет «P» на «A». Это позволяет машине шифровать и расшифровывать сообщения.
Огюстен-Луи Коши ввел двухстрочную нотацию в 1815 году и нотацию <цикла114>в 1844 году.
Реевского сделал невероятное открытие. Не зная настроек коммутационной панели, положения ротора, настройки кольца или настройки грунта, он мог найти все ключи ежедневных сообщений. Все, что ему нужно, это достаточно сообщений и несколько клерков, использующих неслучайные ключи сообщений.
Длина клавиш составляет три символа, поэтому длина двойных клавиш составляет шесть символов. Реевский обозначил перестановки для следующих друг за другом символов ключа сообщения ABCDE F. Он не знал, что это были перестановки, но он знал, что перестановки A и D зашифровали одну и ту же букву ключа сообщения, что B и E зашифровали одну и ту же букву и что C и F зашифровали одну и ту же букву. Если p i - (неизвестные) буквы открытого текста ключа сообщения, а c i - соответствующие (известные) буквы зашифрованного текста, то
Уравнения можно затем умножить на D, E и F соответственно, чтобы упростить правые части:
Значени я открытого текста неизвестны, поэтому эти термины просто отбрасываются, чтобы оставить:
Приведенные выше уравнения описывают путь через перестановки. Если c 1 передается через обратный к A, то получается p 1. Если этот символ проходит через D, то c 4.
Реевски также знал, что перестановки Enigma были самообращенными: шифрование и дешифрование Enigma были идентичны. Это означает, что A A = I, где I - тождественная перестановка. Следовательно, A = A. Таким образом:
Вышеупомянутые уравнения взаимосвязь между сдвоенными ключевыми символами. Хотя Реевски не знал индивидуальных перестановок A B C D E F, в одном сообщении ему рассказывалось, как символы переставляются составными перестановками AD, BE и CF.
Из множества сообщений Реевский мог полностью определить составные перестановки. На практике для определения перестановок требовалось около 60 сообщений.
Реевский записал три перестановки с помощью циклической записи, которую он назвал характеристикой. Реевский (1981, стр. 217) приводит пример:
В этой записи первого цикла перестановки AD будет отображать d в v, v в p, p в f,..., y в o, а o будет переходить в d.
Маркс и Вейруд приводят пример из Алана Тьюринга, который показывает, что эти циклы могут быть завершены, когда некоторая информация неполной.
Кроме того, перестановки Enigma были простыми транспозициями, что означало каждую перестановку ABCDEF только транспонирует пары символов. Эти пары символов должны были происходить из разных циклов одинаковой длины. Более того, любая пара между двумя циклами определяет все остальные пары в этих циклах. Следовательно, перестановки A и D должны быть переставлены, поскольку что (a) и (s) - единственные циклы длины один, и есть только один способ их спарить. Есть два способа сопоставить (bc) и (rw), потому что b должен сочетаться с r или w. Точно так же есть десять способов сопоставить оставшиеся десятисимвольные циклы. Другими словами, Реевский теперь знал, что существует только двадцать возможностей для перестановок A и D. Точно так же было 27 кандидатов на B и E и 13 кандидатов на C и F.
На этом этапе поляки использовали бы слабые места в выборе ключей сообщений клерками, чтобы определить какие из кандидатов были правильными. Если бы поляки могли правильно угадать ключ для конкретных сообщений, тогда это закрепило два цикла в каждой из трех характеристик.
Поляки перехватили много сообщений; им потребуется около 60 сообщений в одном и том же ежедневном ключе для определения характеристик, но у них может быть намного больше. С самого начала Реевский определил шесть символов, составляющих ключ сообщения. Если бы клерки кода выбирали случайные ключи сообщений, то нельзя было бы ожидать увидеть большую корреляцию в зашифрованных шести символах. Однако некоторые клерки были ленивы. Что, если из ста сообщений было пять сообщений от разных станций (то есть пять разных клерков), которые все один один и тот же ключ «PUUJJN»? То, что все они придумали один и тот же ключ, предполагает, что они использовали очень простой или очень общий ключ. Поляки отслеживали разные станции и то, как эти станции выбирали ключи сообщений. Вначале клерки часто использовали простые ключи, такие как «AAA» или «BBB».
Конечным результатом было то, что, не зная настроек коммутационной панели Enigma, положения ротора или кольца, Реевски определил каждый из перестановки ABCDEF, и, следовательно, все ключи дневных сообщений.
Первоначально Реевски использовал знание перестановок ABCDEF (и руководство, полученное французским шпионом), чтобы определить проводку ротора. Изучив проводку ротора, поляки использовали перестановки, чтобы определить порядок ротора, соединения коммутационной панели и настройки кольца на дальнейших этапах методов гриля.
Используя ежедневный ключ в техническом опыте 1930 года выше, тогда (с достаточным количеством возможностей) Реевский мог найти следующие характеристики:
Хотя теоретически существует 7 триллионов возможностей для каждой из перестановок ABCDEF, приведенные выше характеристики сузили перестановки A и D до 13 вариантов, B. и E всего 30 возможностей, а C и F всего 20 возможностей. Характеристика CF имеет два одноэлементных цикла: (e)и (z). Эти одноэлементные циклы должны объединяться в отдельные перестановки, поэтому характеристика для CF подразумевает, что «E» и «Z» обмениваются как в перестановках C, так и F.
Пара "E" и "Z" может быть проверена в исходных (секретных) перестановках, приведенных выше.
Реевски теперь знал, что индикаторы с шаблоном «..E..E» были из ключа сообщения «..Z»; аналогично индикатор «..Z..Z» был от ключа сообщения «..E». В дневном трафике он может найти такие индикаторы, как «PKZJXZ» или «RYZOLZ»; может ли один из этих индикаторов быть общим (ленивым) ключом сообщений «EEE»? Характеристика ограничивает количество перестановок небольшое число, что позволяет выполнять простые проверки. «PKZJXZ» не может быть «EEE», потому что для этого требуются «K» и «E» для обмена в B, но и «K», и «E» являются частью одного и того же цикла в BE: (kxtcoigweh). Перестановочные буквы должны происходить из разных циклов одинаковой длины. Повторяющийся ключ также может быть подтвержден, потому что он может раскрыть другие повторяющиеся ключи.
Индикатор «RYZOLZ» является кандидатом для ключей сообщения «EEE», и он немедленно определит обе перестановки A и D. Например, в AD предполагаемый ключ сообщения «EEE» требует, чтобы «E» и «R» поменялись местами в A и чтобы «E» и «O» поменялись местами в D.
Если "E" заменяется на "R" в A (обратите внимание, что один символ пришел из первого цикла в AD, а другой - из второго цикла), тогда буква, следующая за "E" (т. е. " D ") поменяется местами с буквой, предшествующей" R "( т.е." X ").
Это можно продолжить, чтобы получить все символы для обеих перестановок.
Это характерное обозначение эквивалентно выражениям, данным для перестановок A и D 1930 года, приведенным выше, путем сортировки циклов так, чтобы самая ранняя буква была первой.
Предполагаемый ключ сообщения индикатора «RYZOLZ», создающего «EEE», также будет определять соединение 10-ти длинных циклов в перестановке BE.
Это определяет большую часть B и E, и останется только три возможных варианта этой пары (ujd)и (mqa). Есть еще 20 возможных вариантов для C и F. На данный момент поляки могут расшифровать все первые и четвертые буквы ежедневных ключей; они также могли расшифровать 20 из 26 второй и пятой букв. Веру поляков в эти перестановки можно было проверить, посмотрев на другие ключи и посмотрев, были ли они типичными ключами, используемыми клерками кодов.
Обладая этой информацией, они могли бы искать и находить другие вероятные слабые ключи сообщений, которые будут определять остальные перестановки A B C D E F. Например, если бы у поляков был индикатор «TKYWXV», они могли бы расшифровать его как «BB.BB.»; проверка циклов для CF покажет, что индикатор соответствует ключу сообщения «BBB».
Реевски смоделировал машину как перестановку, сделанную из перестановок коммутационной панели (S), проводки от клавиатуры / ламп к роторам (H), трем роторам (LMN), и отражатель (R). Перестановка для каждой позиции сдвоенного ключа была разной, но они были связаны перестановкой P, которая представляла один шаг ротора (P известен). Реевский предположил, что левый и средний роторы не двигались при шифровании сдвоенного ключа. Шесть букв сдвоенного ключа, соответственно, видят перестановки ABCDEF:
Упрощенный Реевский d эти уравнения, создав Q как составной отражатель, сделанный из реального отражателя и двух крайних левых роторов:
Замена дает:
Результатом являются шесть уравнений с четырьмя неизвестными (SHNQ). У Реевского была коммерческая машина Enigma, и он сначала думал, что H будет такой же. Другими словами, Реевский догадался, что