Основы классической криптологии. Секреты шифров и кодов — страница 9 из 44

При обращении к специалистам предстоит решить еще одну важную проблему, а именно проблему соотношения цены защищаемой информации, затрат на ее защиту и предполагаемых затрат на ее добывание. Современные средства связи, разработка, установка и эксплуатация средств защиты информации имеют сравнительно высокую стоимость. То же самое касается и средств перехвата защищаемой информации. Поэтому, прежде чем принимать решение о способах защиты той или иной информации, любой заинтересованный в этом человек, частное лицо, предприниматель, руководитель предприятия или общественной организации должен определить, является ли защищаемая информация более ценной, чем стоимость предполагаемой защиты, а также является ли эта информация для предполагаемого незаконного пользователя более ценной, чем стоимость атаки и возможного взлома защиты.

Поэтому при выборе шифра для защиты информации приведенные выше соображения, а также финансовые возможности владельцев этой информации и являются решающими.

1.5. Классические шифры

В настоящее время количество всевозможных шифров, используемых в различных сферах жизнедеятельности человека, подсчитать практически невозможно. Тем не менее в зависимости от используемого алгоритма шифрования все шифры условно можно разделить на несколько групп. Среди них в первую очередь необходимо отметить два классических алгоритма шифрования, использовавшихся с древних времен и успешно применяющихся и в наше время. Речь идет о шифрах перестановки и шифрах замены. Можно утверждать, что шифры этих двух типов, а также всевозможные их сочетания и комбинации образуют все многообразие используемых нашими современниками классических шифров.

Шифры перестановки

В классическом варианте шифр перестановки представляет собой шифр, при использовании которого все буквы открытого текста остаются без изменений, но перемещаются с занимаемой ими позиции на несколько позиций в одну или другую сторону. Другими словами, в шифрах перестановки преобразование открытого текста в шифрованный заключается в определенной перестановке букв открытого текста. Шифр перестановки имеет и другое название — анаграмма.

Довольно часто при использовании шифров перестановки открытый текст разбивается на отрезки равной длины, а затем каждый отрезок открытого текста преобразуется в отрезок шифрованого текста.

В качестве примера попробуем зашифровать с помощью простейшего шифра перестановки название легендарного русского дальневосточного порта и красивого города Владивосток.

Итак, исходный открытый текст, который нам предстоит зашифровать, выглядит так:

ВЛАДИВОСТОК

Разобьем открытый текст на группы букв, при этом количество букв в каждой группе выберем равным двум. Следует обратить внимание на то, что, поскольку в открытом тексте количество букв нечетное, последняя группа будет содержать всего одну букву.

ВЛ АД ИВ ОС ТО К

Теперь в каждой группе поменяем буквы местами:

ЛВ ДА ВИ СО ОТ К

В окончательном варианте шифрованный текст примет вот такой вид:

ЛВДАВИСООТК

Если же количество букв в каждой группе выбрать равным трем, то шифрограмма будет выглядеть иначе:

ВЛА ДИВ ОСТ ОК — " АЛ В ВИД ТСО КО-"

АЛВВИДТСОКО

Таким образом, для примененного шифра перестановки алгоритм шифрования заключается в следующем. Сначала открытый текст следует разбить на группы букв определенной длины, а затем в каждой группе буквы необходимо поменять местами слева направо или справа палево. При дешифровании текст криптограммы сначала следует также разбить на труппы букв определенной, заранее известной длины, после чего переставить буквы в группах в указанном порядке.

Ключом к рассмотренному шифру перестановки можно считать количество букв в группах, на которые разбивается текст сообщения.

Классическим примером шифра перестановки является шифр «Сцитала», применявшийся в древней Спарте. Более подробно об этом и других шифрах перестановки будет рассказано в следующих главах и разделах.

Шифры замены

Не менее знамениты и шифры замены, в которых, в отличие от шифров перемещения, наоборот, позиции букв в криптограмме остаются теми же, что и у открытого текста, но заменяются символы, обозначающие эти буквы. Другими словами, как видно из самого названия, при использовании шифра замены осуществляется преобразование замены букв или других частей открытого текста на аналогичные части шифрованого текста.

Классическим примером шифра замены является шифр римского императора Юлия Цезаря, получивший его имя. Алгоритм преобразования, применяемый в шифре Цезаря, заключается в том, что каждая буква открытого текста заменяется третьей после нее буквой в алфавите. При этом алфавит по умолчанию считается написанным по кругу. Это означает, что, например, в русскоязычном варианте после буквы «я» следует буква «а» и т. д.

Таким образом, в самом простом случае алгоритм или правило шифрования открытого текста с помощью шифра замены предусматривает использование двух алфавитов, состоящих из одинакового числа символов. При этом один алфавит предназначен для записи открытого текста, а другой — для шифрограммы.

В качестве примера попробуем зашифровать с помощью простейшего шифра перестановки, а именно шифра Цезаря, название русского порта Владивосток.

Итак, исходный открытый текст, который нам предстоит зашифровать, выглядит так

ВЛАДИВОСТОК

В соответствии с алгоритмом шифрования шифра Цезаря необходимо каждую букву открытого текста заменить третьей после нее буквой в алфавите. Букву В следует заменить на букву Е, букву Л — на букву О, букву А — на Г и т. д.

В-Е Л-0 А-Г Д-3 И-Л В-Е О-С С-Ф Т-Х О-С К-Н

В окончательном варианте шифрованный текст примет вот такой вид:

ЕОГЗЛЕСФХСН

Таким образом, для примененного шифра замены алгоритм шифрования достаточно прост и заключается в следующем. Каждую букву открытого текста следует заменить третьей после нее буквой в алфавите. Для дешифрования криптограммы достаточно каждую букву зашифрованного текста заменить буквой, которая в алфавите расположена на третьей позиции перед ней.

Ключом к рассмотренному шифру замены можно считать номер позиции буквы шифрованного текста по отношению к букве открытого текста. В приведенном примере ключом является число три. Однако можно использовать и другие значения ключей.

ГЛАВА 2История кодов — знаки и время

Историю появления и развития кодов следует рассматривать в неразрывной связи с историей появления и развития письменности. В предыдущей главе данной книги неоднократно говорилось о том, что кодом можно считать язык, который представляет собой совокупность звуковых сигналов и графических символов, а также является средством общения для людей, владеющих этим языком. Поэтому любая письменность, использовавшаяся в различное время в разных уголках земли, является своеобразным кодом. При этом не имеет значения, пользовались ли этой письменностью многомиллионные цивилизации или малочисленные племена.

Помимо этого, в зависимости от различных условий с течением времени появлялась потребность в других специальных системах условных знаков и сигналов, которые придумывались, успешно использовались, а затем не менее успешно забывались ввиду того, что необходимость их применения исчезала. Некоторые же системы условных знаков, придуманные несколько веков назад, используются и в наше время.

Конечно же, подробное изложение даже самых знаменательных событий из истории появления и развития кодов заняло бы не один многостраничный том. Поэтому ограниченный объем предлагаемого вниманию читателей издания позволяет рассказать лишь о некоторых исторических событиях, связанных с древними языками и их разгадкой, а также о появлении некоторых кодов, как уже забытых, так и используемых в наше время.

2.1. Первые знаки — первые коды

Многие специалисты связывают появление кодов с появлением письменности. Однако, по мнению автора, первыми кодами можно считать и первые наскальные рисунки. В любом случае, ни у кого не вызывает сомнения тот факт, что люди объясняются с помощью кодов с незапамятных времен.

В далеком прошлом для записи событий и сообщений использовали простые знаки, рисунки или пиктограммы. При этом речь не шла о том, чтобы они были тайными, скорее наоборот, делалось все для того, чтобы эти знаки были понятными соплеменникам.

Каждая цивилизация применяла в качестве средства общения свои собственные коды. С течением времени их значение часто терялось или забывалось, а глазу современного человека записи на древних, давно забытых языках кажутся настолько непонятными, что их могут расшифровать только самые опытные и талантливые расшифровщики. В новейшей истории можно найти немало примеров того, как разгадывались тайны древних языков. О разгадке, например, письменности Древнего Египта будет рассказано в одном из следующих разделов.

С большой степенью вероятности можно предположить, что многие языки нашей цивилизации, на которых общаются сотни миллионов наших современников, в далеком будущем будут такой же загадкой для наших потомков, как для нас — языки древних народов. Аналогичная судьба, без сомнения, ожидает и используемые нами разнообразные коды, которых, скорее всего, в отдаленном будущем ожидает та же участь.

Однако не будем заглядывать в далекое будущее, а посмотрим, что происходило с некоторыми кодами в прошлом и что происходит в настоящем.

Рисунки, пиктограммы, клинопись

Использование картинок в качестве кодов для сообщения информации не является чем-то новым. За тысячи лет до нашей эры люди рисовали в пещерах картинки и оставляли послания потомкам в виде простых рисованных символов, поскольку алфавиты в том виде, в каком мы их знаем сейчас, в то время еще не существовали. Следует отметить, что использование таких рисунков было намного действеннее и эффективнее, чем может показаться с первого взгляда, поскольку даже одна картинка может нести огромное количество информации.