Добавим конкретики в старую тему.
Тут много махали руками относительно того, что и как применяется в военном и агентурном шифровании. Благодаря распаду Варшавского договора, появилась возможность увидеть, как оно было устроено в реальности. По крайней мере на примере одного широко распространенного в СССР и всем восточном блоке шифра. А именно - небезызвестная шифрмашина М-125 "Фиалка".
Некоторое количество этих машин принадлежавших армиям и спецслужбам восточноевропейских стран в полной исправности и комплектности попало не только в соответствующие спецслужбы, но и в музеи и даже - к частным коллекционерам. Их фото и полные технические описания, даже с таблицами разводки, разошлись по всему интернету и доступны любому желающему.
Итак: вот сама шифрмашина с принадлежностями
Она же - с открытым кожухом
Легко увидеть, что эта шифрмашина базируется, как бы кому ни показалось странным, на принципе успешно взломанной немецкой "Энигмы".
Криптограф Ральф Симпсон продемонстрировал, как работает «Энигма» (опубликовало CNET).
«Эни́гма» (от др.-греч. αἴνιγμα — загадка) — переносная шифровальная машина, использовавшаяся для шифрования и расшифрования секретных сообщений. Более точно, «Энигма» — целое семейство электромеханических роторных машин, применявшихся с 20-х годов XX века.
«Энигма» использовалась в коммерческих целях, а также в военных и государственных службах во многих странах мира, но наибольшее распространение получила в нацистской Германии во время Второй мировой войны.
// Дальше — ru.wikipedia.org
То есть - это роторная электромеханическая машина. Каждый ротор реализует элементарную замену одной буквы на другую. Сигнал проходит сначала через все роторы в одном направлении, затем, через рефлектор, возвращается в какую-то другую позицию последнего ротора и проходит через все роторы в обратном направлении, высвечивая букву шифртекста.
На этом сходство заканчивается. Советские криптографы, взяв саму идею, основательно допилили ее напильником, существенно увеличив сложность шифра.
Во-первых, в Фиалке не 3, и даже не 4, рабочих роторов, а 10. Обозначаются они буквами кириллицы от А до К (АБВГДЕЖЗИК). Их можно нанизывать на ось в любом порядке. Это одна из частей суточного ключа. Если у немцев в наборе было больше роторов, чем использовала шифрмашина: у них их, кажется было 5-7, а вставлялось в машину по суточному ключу 3 или 4 из них, то в Фиалке неиспользуемых роторов не было. Все 10 роторов набора всегда использовались. Менялся лишь их порядок на оси. По крайней мере утверждают, что так было в восточноевропейских странах.
Кстати наборы роторов для каждой страны были разные. И разводка роторов шифрмашин поставляемых, например в Польшу не совпадала с разводкой роторов восточногерманских или советских шифрмашин. Номер набора проставлялся на самих роторах. Например "6К" - это набор роторов для Чехословакии, "4К" - для ГДР. Утверждают что "1К" - набор для СССР. Так что передача шифровок между восточноевропейскими странами напрямую была невозможна. Их можно было передать только через СССР, где имелись наборы роторов всех стран ОВД.
Утверждают, что был общий для всех стран ОВД набор "0К", который не использовался и скорее всего даже не высылался в части в мирное время и был предназначен для прямого общения между армиями стран ОВД в случае войны.
Открытые источники утверждают, что образцов роторов серий "0К" и "1К" так и не удалось добыть. Но я думаю, что у западных спецслужб они скорее всего есть. Из республик бывшего СССР должно было что-то к ним попасть.
Вот, собственно блок роторов, уже нанизанных на ось, и пенал для хранения блока роторов, если он не был установлен в машину.
На отдельно лежащем роторе можно прочесть его идентификатор(К) и номер набора роторов, к которому он относится: 5К. Это, как утверждают западные спецы, - Венгрия.
Так же идентификатор ротора можно было прочесть на его ободе: буква соответствующая идентификатору ротора отличается цветом от остальных.
Собственно к машине полагалось два идентичных набора роторов: основной и запасной, если вдруг роторы засбоят или с ними еще что-то случится, ну или чтоб следующий шифр можно было набрать не вырубая машину. Один набор использовался в машине, другой, уже нанизанный на ось, хранился в пенале, для которого было предусмотрено место под кожухом машины. У одного набора буквы на ободе были черные, кроме одной красной идентифицирующей ротор, у другого набора наоборот - все красные кроме одной черной.
Идем далее. Следующее отличие - в принципе вращения колес. Если на Энигме все колеса вращались в одну сторону, то в Фиалке - следующим образом:
То есть - через одно в разных направлениях. На ободе каждого ротора, как и на Энигме, в определенных позициях были выступы. Если выступ на ободе ведущего колеса оказывался напротив собачки задающего механизма, то ведомое колесо на этом шаге шифрования не прокручивалось. Если напротив собачки штыря не было, то ведомое колесо на данном шаге шифрования прокручивалось на один шаг. Основными ведущими колесами, для каждого, соответственно, направления движения, были второе и девятое на оси. Они при каждом шаге шифрования прокручивались на один шаг. Ну а далее, как видно по рисунку, второе управляло движением четвертого, а четвертое - шестым, ну и так далее по цепочки. Ну и соответственно - от девятого так же.
Вот здесь на фото напротив букв Х т и М видны эти самые блокирующие движение ведомого колеса штыри
Кстати если присмотреться, то можно заметить, что внешний тонкий обод ротора с нанесенными на нем буквами - это отдельная деталь и обод может вращаться относительно штырей. Это еще одна часть суточного ключа. Впрочем, и штыри, и вращающийся обод колеса были и на Энигме.
А вот чего на ней не было:
Это ключевая перфокарта. Еще одна часть суточного ключа. По сути - это еще одно, правда неподвижное, одиннадцатое колесо, которое каждые сутки имеет разную, определяемую дырочками на перфокарте, разводку.
Следующее различие - это рефлектор.
Если на Энигме - это тупо коммутационная панель, возвращающая сигнал из одного вывода в другой, то советские криптографы сделали хитрее. Как нетрудно заметить, у Энигмы есть один нехороший ньюанс: буква открытого текста шифруется в любую другую букву, но никогда - в саму себя. Это дает достаточно неприятную зацепку вражеским криптоаналитикам. Поэтому рефлектор Фиалки выглядит следующим образом:
То есть если сигнал приходит на 13ый вывод рефлектора, то буква открытого текста будет принудительно зашифрована сама в себя. Но тогда надо придумать, что делать с оставшимся без пары выводом рефлектора. И советские криптографы придумали "магическую схему", которая перекидывает сигналы трех выводов рефлектора следующим образом:
Как видно из рисунка, из-за этой "магической схемы" процедуры шифрования и дешифрования, в отличие от Энигмы, не являются идентичными и соответствующий режим нужно переключать переключателем на шифрмашине
Но это еще не все, что придумали хитроумные советские криптографы. Спустя какое-то время появилась модификация М-125-3, на которой придумали совершенно простую, но сильно усложняющую противнику вещь: ротор сделали разборным. Коммутационную плату ротора которая собственно реализует замену буквы, можно снять, поставить на другой ротор, при этом повернув в любое из 30 положений относительно ротора, а можно еще и перевернуть, поставив плату на ротор другой стороной. То есть плату ротора А можно поставить, например, на ротор Ж, повернув плату в положение Д, да еще и перевернув обратной стороной.
К2 означает что это плата К, вторая сторона.
Полная суточная ключевая таблица на М-125-3, соответственно, выглядела следующим образом
ИДЖЗА ВКБГЕ 14
OCAHE PTБВЕ
БДВИА ГЕЗКЖ
2II22 I22I2
КУЛКЮ ЫХВУГ
АЛДРЖ РРПДЖ
Цифра 14 - это число месяца, на которое действовала таблица
Первая строка определяет порядок самих роторов на оси. То есть первым берем ротор "И".
Вторая строка - установки подвижных колец-ободов с буквами. То есть обод на роторе "И" вращаем относительно остального тела ротора в позицию "О"
Третья строка - это какие платы на какие роторы устанавливать. То есть на ротор "К" ставим плату Б.
Четвертая строка показывает какой стороной устанавливать плату на ротор. В данном случае - второй стороной.
Пятая строка - в какое положение относительно ротора должна быть повернута плата при установке. То есть - в положение К.
Ну и последняя часть ключа - начальное положение роторов машины перед началом шифрования. На Энигме это обычно было сеансовым ключом.
Ну и плюс перфокарта.
Перфокарта и суточная ключевая таблица печатались на бумаге и уничтожались после использования.
Все фото и описания взяты отсюда
Спецсвязь — вещь весьма непростая. И роль шифровальщика очень важна для сохранения тайны. Везде, даже там, где кипит океан, скрывая подводные лодки, пошлёт...
// habrahabr.ru
Фиалка (М-125) — шифровальная машина, разработанная в СССР вскоре после Второй мировой войны. Использовалась странами Варшавского договора до 1990-х годов. Большая часть машин после распада СССР была разобрана или уничтожена. Несколько экземпляров хранятся в частных коллекциях и музеях. Работающая модель представлена в Музее компьютерной истории (Computer History Museum) в США и Блетчли-Парке (Bletchley Park) в Великобритании. В истории криптографии мало что известно о Фиалке, до 2005 года вся информация об устройстве держалась в секрете.
// Дальше — ru.wikipedia.org
А вот здесь можно даже скачать неплохой эмулятор Фиалки с реальной, как утверждают, разводкой чешского и ГДРовского наборов, и покрутить собственными руками, как все устроено