Шифр вертикальной перестановки. Классические шифры перестановки

Шифр перестановки «скитала». В V в. до н.э. правители греческого государства Спарты имели хорошо отработанную систему секретной военной связи и шифровали свои послания с помощью скитала, первого простейшего криптографического устройства, реализующего метод простой перестановки (рис. 1.6).

Рис. 1.6.

Шифрование выполнялось следующим образом. На стержень цилиндрической формы, который назывался скитала, наматывали спиралью (виток к витку) полоску кожи и писали на ней вдоль стержня несколько строк текста сообщения. Затем снимали со стержня полоску - буквы на ней оказывались расположенными вразнобой.

Вестник обычно прятал сообщение, используя кожаную полосу как пояс, т.е. кроме шифрования применяли также и стеганографию. Чтобы получить исходное сообщение, полоску кожи надо намотать вокруг скиталы того же диаметра. Ключом этого шифра является диаметр стержн я - с к итал ы. Зная только вид шифра, но не имея ключа, расшифровать сообщение непросто. Шифр «скитала» многократно совершенствовался в последующие времена.

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

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

Запишем фразу «Терминатор прибывает седьмого в полночь» в таблицу размером 5x7 (рис. 1.7) но столбцам. Выписав текст из таблицы построчно, получим шифр: «тннвеглеарадонртиеьвомобтмнчирысооь».

Рис. 1.7.

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

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

Решетка Кардано. Решетка Кардано (поворотная решетка) - это прямоугольная или квадратная карточка с четным числом строк и столбцов 2k X 2т. В ней проделаны отверстия таким образом, что при последовательном отражении или поворачивании и заполнении открытых клеток карточки постепенно будут заполнены все клетки листа.

Карточку сначала отражают относительно вертикальной оси симметрии, затем - относительно горизонтальной оси, и снова - относительно вертикальной (рис. 1.8).

Если решетка Кардано - квадратная, то возможен и другой вариант ее преобразований - поворот на 90° (рис. 1.9).

Рис. 1.8.

Рис. 1.9.

При записи обычным способом (слева направо и сверху вниз) словосочетания «шифрование текста» (без пробелов) в свободные клетки поворотной решетки, изображенной на рис. 1.9, получим текст в виде таблицы (рис. 1.10), или, записав текст в одну строку, - «кшииоесвтафатрен».

Рис. 1.10.

Получатель должен знать трафарет и наложить его в той же последовательности, что и при шифровании. Ключом является выбранный тип перемещения решетки (отражение или поворот) и трафарет - расположение отверстий, которые для квадратной решетки размером х могут быть выбраны 4""* способами (с учетом начальной ориентации трафарета). В этом случае среди трафаретов, считающихся различными, будут встречаться такие, которые являются зеркальным отражением или поворотами других трафаретов, т.е. трафареты, различающиеся только начальным расположением (ориентацией). Если пренебречь начальным расположением трафарета, то, очевидно, различных трафаретов будет в 4 раза меньше - 4""*"

Например, для решеток размером 4X4 существует 256 возможных вариантов трафарета (с учетом начальной ориентации) или всего 64 различных трафаретов.

Несмотря на то, что число трафаретов для больших решеток достаточно велико (порядка 4 млн (4- 10 е)), оно все же существенно меньше, чем случайных перестановок элементов таблицы, число которых равно (2т? 2k).

Например, для таблицы размером 4x4 число случайных перестановок составляет порядка 2 ? 10 13 , а для таблиц размером 8x8 - около 10 89 .

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

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

Перевернутые группы

Для ознакомления с шифрованием методом перестановки упомянем один из простейших примеров. Алгоритм его заключается в разделение сообщения на n блоков, которые затем переворачиваются задом наперед и меняются местами. Рассмотрим пример.

  • "День уходил, и неба воздух темный".

Разделим это сообщение на группы. В данном случае n = 6.

  • "Деньух одили небав озд ухтем ный".

Теперь развернем группы, записав каждую с конца.

  • "хуьнед вабен дзо метху йын".

Переставим определенным образом местами.

  • "илидо метху йын хуьнед вабен дзо".

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

Серединная вставка

Алгоритм данного шифрования немного сложнее перестановки:

  1. Разделить сообщение на группы с четным количеством символов.
  2. В середину каждой группы вставить дополнительные буквы.

Рассмотрим на примере.

    "Земные твари уводил ко сну".

    "Земн ыетв ариу води лкосну".

    "Зеамн ыеабтв араиу воабди лкоасну".

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

Шифрограмма "Сэндвич"

Еще один занимательный и простой пример шифрования методом перестановки. Для его использования нужно открытый текст разделить на 2 половины и одну из них посимвольно вписать между букв другой. Покажем на примере.

  • "От их трудов; лишь я один, бездомный".

Разделим на половины с равным количеством букв.

  • "Отихтрудовлишь яодинбездомный".

Теперь запишем первую половину сообщения с большим интервалом между буквами.

  • "О т и х т р у д о в л и ш ь".

И в этих промежутках разместим буквы второй половины.

  • "Оятоидхитнрбуедзодволминшыьй".

Наконец сгруппируем буквы в своего рода слова (необязательная операция).

  • "Оятои дхи тнрбуе дзодвол миншыьй".

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

Перестановки по "маршруту"

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

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

    "Приготовлялся выдержать войну".

Будем записывать сообщение в таблицу размерами 3x9 клеток. Размерность таблицы можно определить, исходя из длины сообщения, или использовать некоторую фиксированную таблицу несколько раз.

Шифр будем составлять, начиная с правого верхнего угла таблицы.

  • "Ляунлвосйоятоввьыгидтаерпрж".

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

Вертикальные перестановки

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

    "И с тягостным путем, и с состраданьем"

Используем таблицу размерностью 4х8 клеток и запишем в нее наше сообщение обычным образом. А для шифровки используем ключ 85241673.

Теперь, используя ключ в качестве указания на порядок следования, выпишем столбцы в строку.

  • "Гусетмснтмаяпоьсысаоттмсеринид".

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

Обратная расшифровка вертикальной перестановки

Вертикальная перестановка представляет интерес тем, что расшифровка сообщения не является простым следованием алгоритму от обратного. Тому, кто знает ключ, известно, сколько в таблице столбцов. Чтобы дешифровать сообщение, нужно определить число длинных и коротких строк в таблице. Это позволит определить начало, откуда начинать записывать шифрограмму в таблицу, чтобы прочитать открытый текст. Для этого разделим длину сообщения на длину ключа и получим 30/8=3 и 6 в остатке.

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

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

Трафарет Кардано изготавливается по следующему принципу: вырезанные ячейки при повороте на 90° не должны перекрывать друг друга. То есть после 4 поворотов трафарета вокруг своей оси прорези в нем не должны совпадать ни разу.

Используем для примера простую решетку Кардано (на рисунке ниже).

Используя этот трафарет, зашифруем фразу "О Музы, к вам я обращусь с воззваньем".

- О - М - -
У
З Ы
К
В А
М

Заполняем ячейки трафарета буквами по правилу: сначала справа налево, а затем сверху вниз. Когда ячейки кончатся, поворачиваем трафарет на 90° по часовой стрелке. Таким способом получаем следующую таблицу.

И последний поворот.

- - М - - -

После объединения 4 таблиц в одну получаем итоговое зашифрованное послание.

Я О М М Г С
В О У Б О Р
Г З А З Щ Ы
В Г К Г А У
Г В Г Н Г А
М С Ь Ь Е Г

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

  • "ЯВГВГМ ООЗГВС МУАКГЬ МБЗГНЬ ГОЩАГЕ СРЫУАГ"

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

Анализ шифров перестановки

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

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

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

Шифрование простой перестановкой (вертикальной перестановкой) осуществляется следующим образом:

1) выбирается ключевое слово с неповторяющимися символами;

2) шифруемый текст записывается последовательными строками под символами ключевого слова;

3) зашифрованный текст выписывается колонками в той последовательности, в которой располагаются в алфавите буквы ключа (или в порядке следования цифр в натуральном ряду, если ключ цифровой).

В качестве иллюстрации приведем пример шифрования способом простой перестановки сообщения: «БУДЬТЕ ОСТОРОЖНЫ С ПРЕДСТАВИТЕЛЕМ ФИРМЫ "ФЕНИКС". При этом применим цифровой ключ 5 – 8 – 1 – 3 – 7 – 4 – 6 – 2. В исходном тексте вместо пробелов используется буква а.

Б У Д Ь Т Е а О
С Т О Р О Ж Н Ы
А С а П Р Е Д С
Т А В И Т Е Л Е
М а Ф И Р М Ы а
Ф Е Н И К С а а

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

ДО ВФ НОЫСЕ ЬРП ИИИЕЖ ЕЕМСБ С ТМФ НДЛЫ TOPT РКУТС A E .

Расшифрование выполняется в следующем порядке:

1) подсчитываем число знаков в зашифрованном тексте и делим на число знаков ключа;

2) выписываем ключевое слово и под его знаками в соответствующей последовательности выписываем символы зашифрованного текста в определенном выше количестве;

3) по строкам таблицы читаем исходный текст.

Число ключей не более m!, где m - число столбцов таблицы.

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

Для получения и запоминания числового ключа существуют различные методы. Один из самых распространенных состоит в том, чтобы приписывать буквам числа в соответствии с алфавитным порядком букв. Возьмем, например, слово ПЕРЕСТАНОВКА. Присутствующая в нем буква А получает №1. Если какая-то буква входит несколько раз, то ее появления нумеруются последовательно слева направо. Поэтому второе вхождение буквы А получает №2. Буквы Б в этом слове нет, то буква В получает №3, и т.д.:

П Е Р Е С Т А Н О В К А

Усложнение перестановки по таблице заключается в том, что для записи символов шифруемого текста используется специальная таблица, в которую введены некоторые усложняющие элементы. Усложнение состоит в том, что определенное число клеток таблицы не используется (на рисунке они пусты). Количество и расположение неиспользуемых элементов является дополнительным ключом шифрования. Шифруемый текст блоками по m х n – s элементов (m х n – размеры таблицы,s – число неиспользуемых элементов) записывается в таблицу. Далее шифрование аналогична простой перестановке.

Б У Д Ь Т Е а О С
Т О Р О Ж Н Ы а
С а О Р Е Д С Т А
В И Т Е Л Е М а Ф
И Р М Ы а Ф Е Н И
К С а а а а А а а

Зашифрованный текст будет выглядеть так: ДОПР БСВИК РРТМ ОЫ Н ЕНСЕФ УТ И СС АФ И ЬОЕ ЕЫ Т МЕ ТЖ ДЛ .

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

Еще один вариант - шифр "Поворотная решетка" . предназначен для сообщений длины 4mk. Берется трафарет размером 2m*2k клеток, вырезается m*k клеток так, что при наложении его на лист бумаги того же размера 4 различными способами (поворачивая на 90°) его вырезы полностью покрывают всю площадь листа. Буквы сообщения последовательно вписываются в вырезы трафарета по строкам, в каждой строке слева направо, при каждом из 4-х его возможных положений в заранее установленном порядке. Число возможных трафаретов, т.е. количество ключей этого шифра составляет 4 mk (при размере трафарета 8*8 число вариантов превосходит 4 миллиарда).

Весьма высокую стойкость шифрования можно обеспечить усложнением перестановок по маршрутам типа гамильтоновских. При этом для записи символов шифруемого текста используются вершины некоторого гиперкуба, а знаки зашифрованного текста считываются по маршрутам Гамильтона, причем используется несколько различных маршрутов. Для примера рассмотрим шифрование по маршругам Гамильтона при n =3. Структура и три маршрута показаны на Рис. 7, а пример шифрования – на Рис. 8.объемной (многомерной) перестановки . В 1992 – 94 гг. идея применения объемной перестановки для шифрования открытого текста получила дальнейшее развитие. Усовершенствованная схема перестановок по принципу кубика Рубика, в которой наряду с открытым текстом перестановке подвергаются и функциональные элементы самого алгоритма шифрования, легла в основу системы «Рубикон». В качестве прообразов пространственных многомерных структур, на основании объемных преобразований которых осуществляются перестановки, в ней используются трехмерный куб и тетраэдр.

(см. также )

Большое влияние на развитие криптографии оказали появившиеся в середине XX века работы американского математика Клода Шеннона. В этих работах были заложены основы теории информации, а также был разработан математический аппарат для исследований во многих областях науки, связанных с информацией. Более того, принято считать, что теория информации как наука родилась в 1948 году после публикации работы К. Шеннона "Математическая теория связи".

В своей работе "Теория связи в секретных системах" Клод Шеннон обобщил накопленный до него опыт разработки шифров. Оказалось, что даже в очень сложных шифрах в качестве типичных компонентов можно выделить такие простые шифры как шифры замены, шифры перестановки или их сочетания .

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


Рис. 6.1.

Всевозможные такие композиции различных шифров приводят к третьему классу шифров, которые обычно называют композиционными шифрами . Заметим, что композиционный шифр может не входить ни в класс шифров замены, ни в класс шифров перестановки ( рис. 6.1).

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

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

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

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

6.3.1 Шифр столбцовой перестановки

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

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

Таблица 6.1. Сочетаемость букв русского языка
Г С Слева Справа Г С
3 97 л, д, к, т, в, р, н А л, н, с, т, р, в, к, м 12 88
80 20 я, е, у, и, а, о Б о, ы, е, а, р, у 81 19
68 32 я, т, а, е, и, о В о, а, и, ы, с, н, л, р 60 40
78 22 р, у, а, и, е, о Г о, а, р, л, и, в 69 31
72 28 р, я, у, а, и, е, о Д е, а, и, о, н, у, р, в 68 32
19 81 м, и, л, д, т, р, н Е н, т, р, с, л, в, м, и 12 88
83 17 р, е, и, а, у, о Ж е, и, д, а, н 71 29
89 11 о, е, а, и 3 а, н, в, о, м, д 51 49
27 73 р, т, м, и, о, л, н И с, н, в, и, е, м, к, з 25 75
55 45 ь, в, е, о, а, и, с К о, а, и, р, у, т, л, е 73 27
77 23 г, в, ы, и, е, о, а Л и, е, о, а, ь, я, ю, у 75 25
80 20 я, ы, а, и, е, о М и, е, о, у, а, н, п, ы 73 27
55 45 д, ь, н, о, а, и, е Н о, а, и, е, ы, н, у 80 20
11 89 р, п, к, в, т, н О в, с, т, р, и, д, н, м 15 85
65 35 в, с, у, а, и, е, о П о, р, е, а, у, и, л 68 32
55 45 и, к, т, а, п, о, е Р а, е, о, и, у, я,ы, н 80 20
69 31 с, т, в, а, е, и, о С т, к, о, я, е, ь, с, н 32 68
57 43 ч, у, и, а, е, о, с Т о, а, е, и, ь, в, р, с 63 37
15 85 п, т, к, д, н, м, р У т, п, с, д, н, ю, ж 16 84
70 30 н, а, е, о, и Ф и, е, о, а, е, о, а 81 19
90 10 у, е, о, а, ы, и X о, и, с, н, в, п, р 43 57
69 31 е, ю, н, а, и Ц и, е, а, ы 93 7
82 18 е, а, у, и, о Ч е, и, т, н 66 34
67 33 ь, у, ы, е, о, а, и, в Ш е, и, н, а, о, л 68 32
84 16 е, б, а, я, ю Щ е, и, а 97 3
0 100 м, р, т, с, б, в, н Ы Л, х, е, м, и, в, с, н 56 44
0 100 н, с, т, л Ь н, к, в, п, с, е, о, и 24 76
14 86 с, ы, м, л, д, т, р, н Э н, т, р, с, к 0 100
58 42 ь, о, а, и, л, у Ю д, т, щ, ц, н, п 11 89
43 57 о, н, р, л, а, и, с Я в, с, т, п, д, к, м, л 16 84

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

Систематически вопрос о зависимости букв алфавита в открытом тексте от предыдущих букв исследовался известным русским математиком А.А. Марковым (1856-1922). Он доказал, что появления букв в открытом тексте нельзя считать независимыми друг от друга. В связи с этим А.А. Марковым отмечена еще одна устойчивая закономерность открытых текстов, связанная с чередованием гласных и согласных букв. Им были подсчитаны частоты встречаемости биграмм вида гласная-гласная (г, г ), гласная-согласная (г, с ), согласная-гласная (с, г ), согласная-согласная (с, с ) в русском тексте длиной в знаков. Результаты подсчета отражены в следующей таблице:

Таблица 6.2. Чередование гласных и согласных
Г С Всего
Г 6588 38310 44898
С 38296 16806 55102

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

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

Д В Ы Т
Г О Е Р О
У Ь Д У Б
М М Я Ы Р П

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

Составим таблицу:

1 2 3 4 5 6
1 Х
2 Х
3 Х
4 Х
5 Х
6 Х

Клетка (, ) в этой таблице означает, что столбец с номером следует за столбцом с номером . Знаком "Х" отметим невозможные случаи.

Сочетания столбцов 1, 2 и 5, 2 невозможны, так как гласная не может находиться перед мягким знаком. Невозможны и следования столбцов 2, 1 и 2, 5. Теперь из третьей строки следует, что 1, 5 и 5, 1 невозможны, так как УУ - нехарактерная для русского языка биграмма. Далее, два пробела подряд не могут быть в тексте, значит, ставим "Х" в клетках 3, 4 и 4, 3. Снова обратимся к третьей строке. Если бы столбец 2 следовал за столбцом 4, то слово начиналось бы с мягкого знака. Ставим "Х" в клетке 4, 2. Из первой строки: невозможна комбинация 4, 5, невозможна и 3, 5. Итог наших рассуждений представлен в таблице:

1 2 3 4 5 6
1 Х Х Х
2 Х Х Х
3 Х Х Х
4 Х Х Х Х
5 Х Х Х
6 Х

Итак, после столбца 6 обязательно следует столбец 5. Но тогда поставим "Х" в клетке 6, 2 и получим: столбец 2 следует за столбцом 3. Далее, мы вычеркнули 5, 1 и 2, 1, следовательно, надо проверить варианты: ...6532... и...65432... . Но (4, 3) вычеркнуто ранее. Итак, остались варианты расположения столбцов:

  • 1, 6, 5, 3, 2, 4
  • 6, 5, 3, 2, 4, 1
  • 4, 1, 6, 5, 3, 2
  • 1, 4, 6, 5, 3, 2

Запишем 6, 5, 3, 2 столбцы подряд:

6 5 3 2
т ы - в
о р о г
б у д ь
п р я м

Попытка поставить столбец 1 перед столбцом 6 приведет к биграмме МП в последней строке и сочетанию ДТЫ в первой. Остались варианты: 653241, 146532.

Ответ: 653241 - ключ, открытый текст: ты\_в\_дороге\_будь\_упрямым (строка из популярной в 1970-е годы песни).

Приведем еще один пример криптоанализа шифра столбцовой перестановки.

Пример 6.3 Расшифровать: СВПООЗЛУЙЬСТЬ\_ЕДПСОКОКАЙЗО

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

Блочные шифры

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

Одноключевые блочные шифры подразделяются на 3 группы:

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

Шифры замены (подстановки)

Составные шифры.

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

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

Пример простейшего шифра перестановки представлен на рис. 5.5.

Рис. 5.5. Простейший шифр перестановки.

Как видно из рис. 5.5, для того чтобы зашифровать сообщение «ЮСТАС АЛЕКСУ ВСТРЕЧАЙТЕ СВЯЗНОГО», последнее необходимо записать в виде таблицы, состоящей, например, их 5 строк и 6 столбцов. Текст сообщения записы­вается по столбцам, исключая пробелы. Если последний стол­бец оказывается неполным, он заполняется произвольно лю­быми буквами. Для получения зашифрованного сообщения ис­ходный текст считывается по­строчно (слева направо) и за­писывается группами, напри­мер, по 5 цифр. Последняя

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

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

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



«ЗАСЕДАНИЕ СОСТОИТСЯ ЗАВТРА ЮСТАС».

Для шифрования этого открытого текста запишем его без пробелов (уча­стие последних в процедуре шифрования, из-за их высокой частоты повто­рения, значительно ослабляет криптостойкость шифра) и выберем ключ шифрования, например, 245 136. Согласно этому ключу, состоящему из 6 цифр, поделим все информационное сообщение на блоки, каждый из кото­рых будет содержать по 6 букв текста. После деления на блоки у нас полу­чилось 4 блока, содержащих по 6 букв в каждом, и 1 блок - по 5 букв. В таких случаях последняя группа букв исходного сообщения произвольно дополняется различными символами до получения полного блока. В на­шем случае не достает только одной буквы, поэтому выбираем любую букву, например Ъ, и добавляем ее в конце пятого блока.

Рис. 5.6. Шифр простой перестановки

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

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

Для упрощения запоминания ключа обычно используется ключевое слово. В данном случае - это слово «КОРЕНЬ». В нем цифре 1 ключа соответ­ствует буква Е, так как она первой из всех букв этого слова встречается в нашем алфавите, цифре 2 - буква К (по той же причине) и т. д.

То же сообщение можно зашифровать с использованием таблицы, состоя­щей, например, из 5 строк и 6 столбцов (по длине ключевого слова). Исход­ный текст записывается по столбцам и образует таблицу (рис. 5.7). Ключевое слово задает правило перестановки столбцов. Если в ключевом слове встре­чаются одинаковые буквы, то они нумеруются по порядку слева направо. По­лученный второй шифротекст, как это видно из рис. 5.7, совершенно не похож на первый.

Рис. 5.7. Шифрование с помощью таблицы

Основным недостатком данного шифра является его невысокая криптостойкость. Разложив зашифрованный текст на множители (не так уж мно­го получается вариантов), можно легко определить вероятную длину кодо­вого слова, которое использовалось при шифровании.

Для повышения криптостойкости полученного выше шифрованного тек­ста можно попробовать зашифровать его еще раз. Этот способ шифрования известен под названием двойная перестановка. Суть этого способа заключа­ется в следующем. Полученный после первого шифрования текст шифрует­ся вторично с использованием таблицы с другой размерностью (длины строк и столбцов подбираются другими). Кроме того, в одной таблице можно пе­реставлять строки, а в другой столбцы. Заполнять таблицу исходным тек­стом можно разными способами: зигзагом, змейкой, по спирали и т. п.

Шифр простой перестановки с использованием свойств таблиц, назы­ваемых магическими квадратами (рис. 5.8), использовался еще в средние века. Магическими квадратами называются равносторонние таблицы, все клетки которых заполнены натуральными числами, начиная от 1. При­чем эти числа в сумме дают по каждому столбцу, по каждой строке и по диагоналям магического квадрата одно и тоже число (в нашем случае - это число 34). Исходный текст - ЖДУ ВСТРЕЧИ ЮСТАС, при заполне­нии магического квадрата, вписывается по порядку следования натураль­ных чисел, например, число 1 заменялось 1 буквой исходного текста (Ж), число 12 - 12 буквой сообщения (С) и т.п. После записи открытого тек­ста содержимое таблицы считывается по строкам в результате чего и получался шифротскст с перестановкой букв.

Рис. 5.8. Магический квадрат