Своя разведка
Шрифт:
Для маскировки цифр и дат нередко применяется так называемый примитивный код, в котором буквы ключевого слова четко привязываются к конкретным цифрам. К примеру, если слово-ключ
«КНИГОИЗДАТЕЛЬСТВО»,
12345 67890,…
то дата 03.06.97. запишется как «ЕИЬЕЗСТДВ».
При декодировании кодовых посланий используется логика догадок, основанная на анализе того, чем занимаются пославшие, и что они могут сказать о своем сообщении. При этом иной раз используют ловушки с подкидыванием какой-то информации,
Короткое кодированное сообщение без обладания кодовой таблицей вскрыть очень трудно, а порой и невозможно.
Б. Шифрование
Под шифрованием имеется в виду переиначивание открытого дотоле текста в закрытый шифротекст посредством применения вполне определенных правил (алгоритмов).
Известны две классических системы шифрования: шифры перестановки и замены, – которые при этом очень часто сочетаются.
В шифрах перестановки буквы (или другие символы) исходного сообщения нисколько не меняются, а лишь переставляются по некоему закону, делая весь текст стандартно нечитаемым.
Известно множество программ подобных шифрований, но мы рассмотрим характерный шифр двойной перестановки столбцов и строк.
Такие шифры хороши для подстраховки закодированного текста или отдельных криптограмм многоалфавитного шифрования.
Для зашифровывания двойной перестановкой необходимо:
– построить некую таблицу, форматы каковой определяются размерами двух ключевых слов (скажем, «гевара» и «риск»), которые выписываются при этом сверху и сбоку таблицы;
– в таблицу по определенному маршруту (к примеру, «а») заносится исходный текст (таблица А), а неиспользованные места полностью заполняются любыми, но лучше всего часто встречающимися буквами (здесь: «с», «в», «и»);
– переместить столбцы в порядке, соответствующем расположению букв у верхнего ключа («гевара») в обычном алфавите (таблица Б);
– переместить все строки в соответствий с последовательностью букв второго ключевого слова («риск») в алфавите (таблица В);
– выписать последовательно буквы из получившейся таблицы, стандартно разбивая их на пятизнаковые группы, причем если последняя из них окажется неполной, она дописывается любыми часто встречающимися буквами (отсутствие дописки может позволить выявить размер таблицы, тогда как использование распространенных букв немного затруднит дешифрование). Наш шифротекст: «ПЕААН РСИЕС ВСЕМЕ ЕЖНМИ.)
При расшифровывании криптограммы следует действовать как бы с конца:
– шифровка вписывается в таблицу определяемого длинами ключей размера; столбцы и строки в ней последовательно нумеруются, а избыток букв отбрасывается (так получается таблица В);
– строки располагают в соответствии с порядком номеров букв бокового ключевого слова (так получается таблица Б);
– столбцы переставляются согласно нумерации букв верхнего ключа (так получается таблица А);
– буквы выписываются в строку, следуя обговоренному маршруту заполнения-чтения.
Для дешифрирования шифра такого типа необходимо:
– предположить, что здесь использован обычный шифр перестановки в его табличном варианте;
– попробовать чтение через фиксированное или скользящее число букв, пытаясь выявить какие-то закономерности;
– прикинуть допускаемый размер таблицы, ориентируясь, к примеру, на количество букв в тексте;
– выявить знаки характерных биграмм (ст, мс…) и сопоставить все имеющиеся расстояния между их составляющими в закрытом шифротексте; те расстояния, которые особо выделяются, равняются числу строк в шифровой таблице;
– учитывая маловероятность сочетания отдельных букв, можно попробовать найти реальную последовательность столбцов;
– теперь нетрудно правильно расставить все строки, ориентируясь по смыслу появляющихся фрагментов текста.
Шифры перестановки не сложны для опытного дешифровщика (а тем более для ЭВМ!), хотя при кратких текстах возможно и неправильное (анаграммное) осмысленное прочтение.
В подобных шифрах каждая из букв в открытом тексте подменивается какой-то другой буквой или символом, причем порядок самих букв при этом не меняется.
Замена может быть как однозначной (в шифрах простой замены, где каждой букве соответствует лишь один символ), так и многозначной (в шифрах многоалфавитной замены, где каждой букве соответствуют несколько символов); как однобуквенной (поочередная замена буквы на букву), так и многобуквенной (системы с зашифровыванием одновременно двух и более букв).
Шифры простой замены легко дешифруются при длительности текста не менее двух-трех алфавитов путем анализа частот встречаемости букв и через знание типичных сдвоенных знаков, сочетаний и окончаний.
Шифры со сдвигом алфавита на некоторое фиксированное число букв («шифр Цезаря») читаются предельно просто, используя, к примеру, метод полосок, на каждой из которых нанесен стандартный алфавит. Полоски здесь прикладывают друг к другу так, чтобы вышло слово из криптограммы, после чего двигаясь вдоль них находят осмысленное прочтение, определяя таким образом величину намеренного сдвига.
На практике имеет смысл использовать многоалфавитное шифрование с так называемым «текучим» алфавитом, задействуя какую-либо книгу, или микрокалькулятор (МК).