[МУЗЫКА] Рассмотрим далее шифр простой перестановки и анализ подобных шифров.
Определяя шифр простой перестановки на основе ранее введенных элементов,
получим следующее описание: множество открытых текстов будет представлять
собой множество строк, символов алфавита открытого текста фиксированной длины,
равной так называемой длине блока (такой параметр нам потребуется).
Вообще говоря, такие строки чаще всего осмыслены, но опять же,
если мы говорим о передаче каких-то данных, то это требование необязательно.
Мы просто делим наш открытый текст на блоки определенной длины,
на порции по s символов.
Далее множество шифр-текстов будет представлять собой
множество строк-символов того же алфавита по s символов,
мы их просто переставляем в данном шифре, не заменяем, просто меняем их порядок.
Тогда множество ключей может быть описано как множество векторов перестановки
от 1 до s, а преобразование зашифрования и преобразование расшифрования это,
соответственно, смена порядка символов открытого текста или шифр-текста на основе
некоего выбранного ключа, k i-тое, то есть элемента множества всех ключей K.
Пример такого шифра перестановки вы сейчас видите на экране.
Он реализуется следующим образом.
Пусть у нас есть открытый текст представляющий собой просто слово
"криптография".
Длина блока у нас равна 4,
и тогда мы делим это слово на порции по четыре символа, на три блока.
Крип, тогр и афия.
Ключ, то есть перестановка, у нас будет представлен в виде вектора 4, 2, 1, 3.
То есть в каждом таком блоке мы на первое место ставим четвертый символ,
символ на втором месте остается на своем месте, на третье место встает
первый символ и на последнее место встает третий символ в каждом блоке.
Таким образом в каждом из этих блоков мы производим такую перестановку и
получаем шифр-текст ПРКИ, РОТГ, ЯФАИ.
Вот таким образом реализуется шифр простой или перестановки в блоки.
Он еще имеет ряд названий в литературе, но в данном случае мы говорим именно о нем.
Говоря "шифр перестановки без каких-то дополнений" или "простой
перестановки" мы имеем в виду именно такой шифр,
который реализует просто смену порядка символов в пределах некоего блока.
Неким усложнением или неким пожмножеством таких
шифров является шифр маршрутной перестановки.
Его множество x и y аналогичны,
а вот множество ключей представляет собой множество пар маршрутов,
по которым открытый текст вписывается в таблицу
вообще говоря произвольной формы, но как правило рассматрвиается
прямоугольная таблица размера A на B таким образом, чтобы произведение этих линейных
размеров таблицы давало бы им то самое значение s, то есть длину блока.
То есть весь блок вписывается в некую таблицу одним маршрутом,
а выписывается другим.
Тогда зашифрование заключается в том,
что вписали первым маршрутом, а выписали другим.
Например, вписали по строчкам, как обычно в книжках,
а выписали снизу вверх по каждому столбику.
Соответсвенно, преобразование, расшифрование заключается в том,
что маршруты применяются в обратном порядке.
Сначала вписали по столбикам снизу вверх, а читаем или выписываем
потом как обычно, по строчкам сверху вниз, как в книжках.
Примером такого шифра является шифр решетка Кардано автором которого
Джераломо Кардано, итальянский математик, и данный шифр основывается
на применении трафарета, то есть такой решетки с прорезями,
которая накладывается на квадратный листочек бумаги, на ту самую таблицу.
Не обязательно разграфленную на клеточки, но квадратную.
Далее за несколько приложений этой решетки в этот квадрат вписывается весь текст,
после чего он выписывается или читается как шифр-текст просто по строчкам,
слева направо и сверху вниз.
Рассмотрим пример как это происходит.
Пусть шифр-текст, который мы рассматриваем,
это текст "Поезд отходит в три".
Тогда мы применяем вот такую вот решетку, которая видна в правой части.
Зелеными квадратиками указаны прорези в ней.
Они только такие, других нет.
Ровно четверть всех возможных клеточек прорезается (сейчас вы поймете,
почему) и таким образом, прикладывая ее к листу бумаги, мы имеем четыре окошка,
в которые можно вписать буквы.
Вписываем мы по строчкам сверху вниз,
то есть сначала заполняем одну строку, затем следующую под ней и так далее вниз.
И вписываем четыре буквы открытого текст: П, О, Е, З.
Далее мы изменяем положение этого трафарета,
поворачивая его на произвольный угол, равный числу, кратному 90 градусов.
В классическом варианте решетка поворачивается либо по часовой,
либо против часовой стрелки на угол, но вообще говоря можно обобщить это правило
и разрешить в произвольном порядке решетку вращать.
В данном случае она просто поворачивается.
Мы прикладываем ее снова и вписываем следующие четыре буквы открытого
текста: Д, О, Т, Х.
И получаем вот такой итоговый вид листа бумаги.
Красным в нем обведены только что вписаные,
а прочие буквы обведены на предыдущем шаге.
Далее мы повторяем это действие еще раз, открываются новые четыре окошка,
в них мы вписываем следующие четыре буквы сообщения (О, Д, И, Т).
После того, как мы делаем это и в четвертый раз, получаем полностью
заполненный листок бумаги, на котором видим сообщение ПОВД, ДТОР, ОИТЕ, ИХЗТ.
Такое сообщение мы можем по каналу связи передать своему абоненту,
а ему для того, чтобы прочесть открытый текст, потребуется сначала вписать его
в таблицу или просто на листок бумаги в таком порядке, в каком оно получено, П, О,
В, Д и так далее, а затем, приложив точно такую же решетку как и та что
использовали мы для зашифрования, поворачивая ее на различные углы,
кратные 90 градусам последовательно прочесть открытый текст.
Поезд отходит в три.
Данный вид шифра, и просто перестановка, и маршрутная перестановка, которая
может быть сведена к простой перестановке тоже может быть достаточно просто взломан.
Атака на него достаточно проста и представляет собой следующую
последовательность действий: поскольку как мы узнаем далее из принципа исследования
шифров называемого принципом Кергофса, все параметры шифра кроме секретного ключа
не являются неизвестными для противника (напротив,
они являются известными), мы знаем, что длина блока равна четырем,
а для каждого блока применяется одинаковое правило перестановки.
Это означает, что перехватив несколько таких блоков мы можем
записать их в табличку один под другим как показано на слайде.
ПРКИ, РОТГ, ЯФАИ.
Далее мы разделяем эту табличку на отельные столбцы так,
чтобы мы могил их переставлять.
Поскольку правило зашифрования для каждого блока одинаковая, закономерности,
которые мы выявляем для одной строки справедливы и для всех прочих строк.
Например, если мы посмотрим на первую строку,
то мы увидим три согалсных и всего одну гласную.
Исходя из правил русского языка, маловероятно что три согласные идут подряд
(хотя такое и случается) но гораздо более вероятно,
что согласные как-то разделяются единственной гласной.
Поэтому четвертый столбец скорее всего не первый и не последний.
В третей строке наоборот мы видим три гласных и всего одну согласную.
Опять же, гораздо более вероятно, что согласная как-то разделяет
эти три гласных а не является первой или последней.
Далее остается совсем немного вариантов, которые можно перебрать,
находя в различных строках фрагменты осмысленного текста.
Можно таким образом постепенно восстановить порядок столбцов
[БЕЗ_ЗВУКА]