КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Роторные машины. Принципы и математическое описание работы роторной машины.
роторные машины – электромеханические устройства, автоматизирующие процесс шифрования. Принцип работы таких машин основан на многоалфавитной замене символов исходного текста по длинному ключу согласно версии шифра Вижинера.
Главной деталью роторной машины является ротор (или колесо) с проволочными перемычками внутри. Ротор представляет собой небольшой диск, на каждой стороне которого расположены равномерно по окружности m электрических контактов, где m - число знаков алфавита. Каждый контакт на передней стороне диска соединен с одним из контактов на задней стороне. В результате электрический сигнал, представляющий знак, будет переставлен в соответствии с тем, как он проходит через ротор от передней стороны к задней. Например, на рис. 9 буква «А» в первом роторе преобразуется в букву «Е».
Рис. 9. Пример работы банка роторов
Роторы объединяют в банк роторов таким образом, чтобы выходные контакты одного ротора касались входных контактов следующего ротора. При этом электрический импульс от нажатой клавиши с буквой исходного текста, входящий с одного конца банка роторов, будет переставляться каждым из роторов, до тех пор, пока не покинет банк. Например, если роторы установлены без сдвигов, то есть контакты на передней стороне всех дисков соответствуют символам алфавита, то возможна замена буквы «А» на букву «М», представленная на рис. 9. Сначала входной сигнал, соответствующий букве «А», попадет на входной контакт диска соответствующий букве «А», затем по проволочной связи импульс придет в контакт «Е», откуда перейдет в соответствующий контакт второго диска и так далее до последнего ротора, который заменит сигнал буквы «Б» на выходной сигнал, соответствующий позиции буквы «М» (рис. 9). Подобная статическая система роторов обеспечивает всего одну замену для каждого символа, однако если хотя бы один диск начинает вращаться, то число возможных замен каждого символа увеличивается до числа знаков в алфавите (m). Если вращаются все диски, то максимальный период замен роторной машины составит mn, где n – число роторов. Например, если m=32 и n=6, то повтор порядка замен роторной машины произойдет только после шифрования ≈10 6 символов.
При повороте ротора из одного положения в другое замена, которую он осуществляет, будет изменяться. В общем случае порядок проведения этой замены можно записать в виде C -j , π, C j, где π - подстановка, реализуемая ротором в его начальном положении; C j – циклический сдвиг на j позиций вперед по алфавиту; C -j – циклический сдвиг на j позиций назад по алфавиту.
Например, если начальная подстановка первого ротора π (Ю) = «О» (рис. 10) и ротор сдвигается на две позиции (j = 2), то буква открытого текста «А» будет против того контакта ротора, который используется для представления символа «Ю», а буква «О», заменяющая в роторе букву «Ю», окажется против того контакта, который используется для представления шифрованного символа «Р». Таким образом, результирующая подстановка Т(А) = «Р» при j = 2. Для этого же сдвига ротора буквы открытого текста «Б», «В», «Г», «Д», «Е» будут зашифрованы соответственно буквами «Ю», «З», «П», «Т», «Й» (рис. 10). Преобразование импульсов во втором и последующих дисках роторной машины производится аналогично.
Положение контактов в начальном положении (без сдвига)
| Входной сигнал
| А
| Б
| В
| Г
| Д
| Е
| Ж
| З
| И
| Й
| …
| Ю
| Я
| Подстановка без сдвига (π)
| Е
| Н
| Р
| З
| Я
| П
| Ш
| А
| Б
| Ф
| …
| О
| Ь
| Положение контактов после сдвига на 2 позиции (j=2)
| Входной контакт (результат операции C -2)
| Ю
| Я
| А
| Б
| В
| Г
| Д
| Е
| Ж
| З
| И
| Й
| …
| Выходной контакт (результат операции π)
| О
| Ь
| Е
| Н
| Р
| З
| Я
| П
| Ш
| А
| Б
| Ф
| …
| Выходной сигнал (результат операции C 2)
| Р
| Ю
| З
| П
| Т
| Й
| Б
| С
| Ъ
| В
| Г
| Ц
| …
| Рис. 10. Схема формирования подстановки при сдвиге ротора (j =2)
Для получения сильной криптографической системы расположение роторов должно меняться при переходе от знака к знаку сообщения.
Простейшее из возможных движений ротора – это движение по принципу одометра, которое использовалось в немецкой машине Enigma во время второй мировой войны. При шифровании одного знака последний диск поворачивается на одну позицию. Когда этот (или любой другой) диск переместится на m позиций и совершит полный оборот, колесо, расположенное перед ним (по ходу сигнала), передвинется на одну позицию, и процесс будет повторяться.
Улучшение движения по принципу одометра можно получить, если поворачивать каждый ротор более чем на одну позицию. Если смещения каждого ротора не имеют общих множителей с размером алфавита m, то период останется максимальным. Усложнить движение роторов можно также с помощью путем введения запрещенных остановочных мест (позиций) для каждого колеса. При этом период роторной машины сократится, но шифртекст станет более непредсказуемым для криптоаналитика.
Таким образом, роторная машина может быть настроена по ключу изменением любых ее переменных: внутренней структуры роторов, порядка их расположения, числа разрешенных (или запрещенных) мест остановки каждого диска, характера движения и т.д.
|