<< Пред. стр. 23 (из 32) След. >>
фамилию жены или воспользоваться поддельными бумагами...) и хоть бынесколько - свой облик (прической, бородой, усами, наличием и типом
очков...);
- в серьезных случаях возможны пластическая (лицо...) плюс
хирургическая (походка...) операции, а также гипнотические воздействия
для устранения старых и обретения новых привычек);
- не надо забывать, что современные методики (к примеру,
генетическая...) идентификации способны в любом случае установить
истину; вопрос лишь в том, сочтут ли нужным сим заниматься или
привычно ограничатся стандартными расспросами вкупе с исследованием
документов и фотографий.
3. Обеспечение тайны посланий
Сохранность тайны некоторых сведений всегда являет серьезную
проблему, решить которую пытаются самыми различными путями, и в
частности - задействуя стеганографию и криптографию. Знать хоть бы
минимум подобных методик позволит Вам не только применять их для себя,
но и с успехом распознать попытки других персон скрыть что-либо важное
от окружающих.
А. Криптография
Искусство криптографии имеет дело с "затуманиванием" какой-то
информации. Задачи криптографии просты: сделать понятное (т.е.
"открытое") сообщение всецело непонятным (т.е. "закрытым") для
непосвященного. Подобный трюк осуществляется при помощи кодирования и
шифрования, а то, что получается в итоге - зовется криптограммой.
Любое шифрование производится с использованием какого-либо
алгоритма (т.е. последовательности действий) и некоторых данных
(обычно, разнодлительного ряда определенных символов, к примеру, букв
и чисел), известных под названием ключа и специфичных для конкретного
сообщения. Расшифровать сокрытое послание играючи может лишь тот, кто
знает алгоритм и ключ для данной криптограммы.
Противодействующая искусству криптографии наука носит название
криптоанализа. Она пытается помочь раскрыть шифр или код без
предварительного знания конкретного ключа и алгоритма. Такой процесс
известен как дешифрование.
(1). Кодирование
Кодированием называется замена слова, группы слов, а также целых
фраз каким-либо условным словом или знаком, группой символов. Открытые
слова здесь называются кодовеличинами, а их закрытые эквиваленты -
кодообозначениями.
Набор кодовых символов обычно составляет кодовый алфавит
(словарь), причем в таблицах кодирования в алфавитном порядке стоят
кодовеличины, а в таблицах раскодирования - кодобозначения.
Для избежания повторов в тексте и усреднения частот встречаемости
одному кодовому обозначению нередко соответствуют несколько
кодовеличин, а одной кодовеличине (если она слишком часто
применяется...) несколько (2-5) кодообозначений.
Если при кодировании желательного слова в таблице не оказывается,
то оное кодируется побуквенно, причем каждая буква рассматривается как
некая самостоятельная кодовеличина.
Для затруднения декодирования обычно используют так называемые
"пустышки", т.е. кодообозначения, которые разбрасываются по тексту
криптограммы, но не имеют никаковского значения. Другой мерой
предосторожности является последуюшее зашифровывание (обычно шифрами
перестановки) уже закодированного сообщения.
Важнейшие кодовые соответствия полезно хранить в памяти, вкрапляя
их при необходимости в открытый текст, а также иной раз использовать
простейший акрокод - чтение первых букв слов, строк или каких-то там
частей (скажем, глаголов...) предложений (к примеру, фраза "надобно
еще тренироваться" читается как "нет"). В отличие от истинного кода,
защита в акрокоде минимальна.
Для маскировки цифр и дат нередко применяется так называемый
примитивный код, в котором буквы ключевого слова четко привязываются к
конкретным цифрам. К примеру, если слово-ключ
"КНИГОИЗДАТЕЛЬСТВО",
12345 67890,...
то дата 03.06.97. запишется как "ЕИЬЕЗСТДВ".
При декодировании кодовых посланий используется логика догадок,
основанная на анализе того, чем занимаются пославшие, и что они могут
сказать о своем сообщении. При этом иной раз используют ловушки с
подкидыванием какой-то информации, которую та сторона конечно же
захочет передать. Рассматривая кодограмму, стараются понять структуру
ее текста, определив кодообозначения для знаков препинания;
учитываются также повторы и общепринятые выражения.
Короткое кодированное сообщение без обладания кодовой таблицей
вскрыть очень трудно, а порой и невозможно.
Б. Шифрование
Под шифрованием имеется в виду переиначивание открытого дотоле
текста в закрытый шифротекст посредством применения вполне
определенных правил (алгоритмов).
Известны две классических системы шифрования: шифры перестановки
и замены, - которые при этом очень часто сочетаются.
(1). Шифры перестановки
В шифрах перестановки буквы (или другие символы) исходного
сообщения нисколько не меняются, а лишь переставляются по некоему
закону, делая весь текст стандартно нечитаемым.
Известно множество программ подобных шифрований, но мы рассмотрим
характерный шифр двойной перестановки столбцов и строк.
Такие шифры хороши для подстраховки закодированного текста или
отдельных криптограмм многоалфавитного шифрования.
Для зашифровывания двойной перестановкой необходимо:
r241.tif
r242.tif
- построить некую таблицу, форматы каковой определяются размерами
двух ключевых слов (скажем, "гевара" и "риск"), которые выписываются
при этом сверху и сбоку таблицы;
- в таблицу по определенному маршруту (к примеру, "а") заносится
исходный текст (таблица А), а неиспользованные места полностью
заполняются любыми, но лучше всего часто встречающимися буквами
(здесь: "с", "в", "и");
- переместить столбцы в порядке, соответствующем расположению
букв у верхнего ключа ("гевара") в обычном алфавите (таблица Б);
- переместить все строки в соответствий с последовательностью
букв второго ключевого слова ("риск") в алфавите (таблица В);
- выписать последовательно буквы из получившейся таблицы,
стандартно разбивая их на пятизнаковые группы, причем если последняя
из них окажется неполной, она дописывается любыми часто встречающимися
буквами (отсутствие дописки может позволить выявить размер таблицы,
тогда как использование распространенных букв немного затруднит
дешифрование). Наш шифротекст: "ПЕААН РСИЕС ВСЕМЕ ЕЖНМИ.)
При расшифровывании криптограммы следует действовать как бы с
конца:
- шифровка вписывается в таблицу определяемого длинами ключей
размера; столбцы и строки в ней последовательно нумеруются, а избыток
букв отбрасывается (так получается таблица В);
- строки располагают в соответствии с порядком номеров букв
бокового ключевого слова (так получается таблица Б);
- столбцы переставляются согласно нумерации букв верхнего ключа
(так получается таблица А);
- буквы выписываются в строку, следуя обговоренному маршруту
заполнения-чтения.
Для дешифрирования шифра такого типа необходимо:
- предположить, что здесь использован обычный шифр перестановки в
его табличном варианте;
- попробовать чтение через фиксированное или скользящее число
букв, пытаясь выявить какие-то закономерности;
- прикинуть допускаемый размер таблицы, ориентируясь, к примеру,
на количество букв в тексте;
- выявить знаки характерных биграмм (ст, мс...) и сопоставить все
имеющиеся расстояния между их составляющими в закрытом шифротексте; те
расстояния, которые особо выделяются, равняются числу строк в шифровой
таблице;
- учитывая маловероятность сочетания отдельных букв, можно
попробовать найти реальную последовательность столбцов;
- теперь нетрудно правильно расставить все строки, ориентируясь
по смыслу появляющихся фрагментов текста.
Шифры перестановки не сложны для опытного дешифровщика (а тем
более для ЭВМ!), хотя при кратких текстах возможно и неправильное
(анаграммное) осмысленное прочтение.
(2). Шифры замены
В подобных шифрах каждая из букв в открытом тексте подменивается
какой-то другой буквой или символом, причем порядок самих букв при
этом не меняется.
Замена может быть как однозначной (в шифрах простой замены, где
каждой букве соответствует лишь один символ), так и многозначной (в
шифрах многоалфавитной замены, где каждой букве соответствуют
несколько символов); как однобуквенной (поочередная замена буквы на
букву), так и многобуквенной (системы с зашифровыванием одновременно
двух и более букв).
Шифры простой замены легко дешифруются при длительности текста не
менее двух-трех алфавитов путем анализа частот встречаемости букв и
через знание типичных сдвоенных знаков, сочетаний и окончаний.
Шифры со сдвигом алфавита на некоторое фиксированное число букв
("шифр Цезаря") читаются предельно просто, используя, к примеру, метод
полосок, на каждой из которых нанесен стандартный алфавит. Полоски
здесь прикладывают друг к другу так, чтобы вышло слово из
криптограммы, после чего двигаясь вдоль них находят осмысленное
прочтение, определяя таким образом величину намеренного сдвига.
На практике имеет смысл использовать многоалфавитное шифрование с
так называемым "текучим" алфавитом, задействуя какую-либо книгу, или
микрокалькулятор (МК).
*а) При шифровании с применением книги обычно действуют следующим
образом*:
- берется экземпляр определенной книги и раскрывается на ключевой
странице (подобный ключ может привязываться к дате, суммируемой с
неким числом, указываться где-нибудь в шифровке либо передаваться
другим путем);
- идут расчеты с отметкой номера строчки и номера требуемой буквы
в этой строке (каждая буква таким образом кодируется вечно меняющимся
четырехзначным числом, учитывая ноль у однозначных);
- полученные числа группируются в пятерки;
- для некоторого усложнения шифра можно начинать считать не с
первой, а совсем с другой (обговоренной, разумеется...) строки;
- для облегчения нахождения строк используют бумажную полоску,
прикладываемую вертикально к левому краю листа с проставленной в ней
нумерацией всех строчек.
*б) Использование при шифровании микрокалькулятора* основано на
получении с его помощью последовательности случайных чисел, тогда как
процедура зашифровывания проводится по принципу системы одноразовых
шифроблокнотов. Действуют здесь по стандарту так:
- открытый текст выписывается в строку, и ниже каждой буквы
помещается ее двузначный номер в порядке алфавита (А-01, Б-02, В-03 и
т.д.);
- под цифровым эквивалентом последовательно записываются все
знаки некоей случайной числовой последовательности, взятой из
шифроблокнота либо полученной каким-то другим образом;
- числа из верхней (открытой) и нижней (случайной)
последовательностей складываются по модулю 10 (т.е. без переноса
единицы; скажем, 17+25=32);
- полученный сложением шифротекст стандартно разбивается на
пятизнаковые группы;
- числа обычно не шифруются, а отделяются от буквенного текста
каким-либо алфавитным значком (скажем, "/");
- для обретения нечитаемости уже использовавшийся кусок
числопоследовательности ни в коем разе не задействуется вторично.
*При процедуре расшифровывания все операции проводятся в обратной
очередности*:
- весь шифротекст расписывается на пары чисел;
- под ними тщательно выписываются все знаки ключевой
числопоследовательности, аналогичной применявшейся при зашифровывании;
- из знаков шифротекста попарно вычитаются (по модулю 10) знаки
случайной ключевой последовательности;
- полученные пары чисел переводятся в их буквенный эквивалент.
Для получения случайной (точнее сказать "псевдослучайной")
последовательности посредством микрокалькулятора можно использовать
различные приемы, вроде классических таких:
- берут какое-либо четырехзначное число (скажем, 5997), возводят
его микрокалькулятором в квадрат (35964009), а из полученного
результата (35964009) выписывают средние цифры (9640), рассматривая их
как случайные; теперь уже эти "случайные" возводят в квадрат и снова
выделяют из полученного результата середину и т.д. (построенная так
последовательность через десятки или сотни знаков - в зависимости от
исходного числа - ключа - обычно повторяется, но при коротких текстах
вполне может рассматриваться как случайная);
- используют МК с функцией генерирования псевдослучайной числовой
последовательности (к примеру, "Электронику МК-61"...); в регистры
калькулятора здесь вводят комбинацию каких-то восьмизначных чисел (это
- ключ шифра!), после чего при нажимании нужной клавиши на индикаторе
высвечиваются знаки долгопериодной псевдослучайной числовой
последовательности.
В. Дешифровка
Прочитывание зашифрованного текста без представления каким
образом он зашифрован, требует железной логики, интуиции, знания
лингвистической статистики. Отдельные нюансы дешифрирования конкретных
шифров упоминались нами ранее, а теперь мы приведем несколько
дополнительных соображений.
Систему шифра (перестановка, замена...) пытаются определить
методикой частотного анализа, выявляя сравнительную частоту
присутствия различных букв и сравнивая ее с известным эталоном (см.
таблицу 1).
Значительную помощь в расшифровывании дают таблицы по
встречаемости двух букв (биграмм), а также знания о встречаемости
отдельных букв в началах и в концах различных слов (к примеру, буква
"П" часто имеется в началах слов, но редка в их окончаниях, тогда как
"Ы", наоборот, любит конец и крайне редко может быть в начале...).
Полезен будет и словарь для предугадывания слов по их известному
началу.
Весьма используем прием с попыткой просто угадать какое-либо
(подпись, термин...) слово в криптограмме, в особенности, если лексика
послания известна. Затем через вычитание предполагаемого слова (или
фразы) из шифротекста, можно попробовать найти ключ к шифру
многоалфавитной замены.
Дешифрование систем шифроблокнотов и МК возможно при повторном
применении какого-либо из участков случайной числовой
последовательности (грубейшая ошибка!). При этом вычтя из одной
шифропоследовательности другую, можно освободиться от ключа, имея в
результате разность двух совершенно незакрытых текстов. Предположив в
одном из них какое-либо вероятное слово, последнее пытаются "сложить"
с имеющейся "разностью". При правильном угадывании в этом случае
становится читабельным и второй текст.
Атака на различные сложные шифры довольно часто завершается
вскрытием шифра простой замены, а этот шифр не очень сложен в
расшифровывании ввиду избыточности текста.
Опыт, приобретаемый при расшифровывании одной системы обычно
слабо помогает при дешифрировании другой, и здесь лучше
воспользоваться ЭВМ, хотя при слишком большой длительности ключа
машина может выдать и случайные осмысленные, хотя совсем не истинные
куски якобы дешифрированного текста.
Г. Стеганография
В основе этого искусства лежит попытка скрыть само существование
секретного сообщения, а потому его приемы заслуживают самого широкого
употребления. Здесь могут быть использованы: "подкладочное письмо",
когда запись сокрыта какой-либо защитной оболочкой, "хоббийное
кодирование", с использованием кроссвордов, музыкальных нот и
шахматных партий, "жаргонные шифры", в которых вроде бы невинные слова
имеют совершенно другой смысл...
*Ориентирующими примерами данных методик (оставив в стороне
возможности, даваемые электроникой...) могут служить*:
- запись наколом букв в конкретном месте некой книги или газеты
(концы слов отмечаются при этом наколом между буквами);
- сообщение каких-то данных (набор товаров, оптовые цены...) в
определенном порядке;
- письмо посредством узелков, где каждая из букв кодируется
размером в сантиметрах (А-1 см, Б-2 см...) или в диаметрах мизинца и
отмечается отдельным узелком на нитке или на обвязывающем сверток
шпагате; читают текст наматывая нитку на палец;
- запись на боковой поверхности колоды карт, подобранных в
конкретном порядке (колода после этого тасуется);