При шифровании перестановкой символы шифруемого текста переставляются по определенному правилу в пределах блока этого текста. Шифры перестановки являются самыми простыми и, вероятно, самыми древними шифрами.
Первым простейшим криптографическим устройством, реализующим шифр перестановки, является древний шифр "сцитала". Для дешифрования такого шифра нужно не только знать правило шифрования, но и обладать ключом в виде стержня определенного диаметра. Идея этого шифра в последующие времена получила развитие в методах шифрования с помощью специальных таблиц.
С начала эпохи Возрождения (конец XIV столетия) начала возрождаться и криптография. В разработанных шифрах перестановки того времени применяются шифрующие таблицы, которые, в сущности, задают правила перестановки букв в сообщении. В качестве ключа в шифрующих таблицах используются:
• размер таблицы;
• слово или фраза, задающие перестановку;
• особенности структуры таблицы.
Одним из самых примитивных табличных шифров перестановки является простая перестановка, для которой ключом служит размер таблицы. Исходный текст сообщения записывается в таблицу по столбцам. Для получения шифртекста содержимое таблицы считывают по строкам. При дешифровании действия выполняют в обратном порядке. Ключом шифра является размер таблицы – количество строк и столбцов. Если текст не помещается в таблицу целиком, его разбивают на блоки длиной, равной количеству ячеек таблицы, добавляя при необходимости нужное количество символов. Поскольку количество вариантов различных ключей относительно невелико, стойкость такого алгоритма шифрования невысока.
|
|
Несколько большей стойкостью к раскрытию обладает метод шифрования, называемый одиночной перестановкой по ключу. Этот метод отличается от предыдущего тем, что столбцы таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы.
В верхней строке таблицы до перестановки записывается ключ, а номера под буквами ключа определены в соответствии с естественным порядком соответствующих букв ключа в алфавите. В правой таблице столбцы переставлены в соответствии с упорядоченными номерами букв ключа.
Пример. Зашифруем сообщение:
ТЕРМИНАТОР ПРИБЫВАЕТ СЕДЬМОГО В ПОЛНОЧЬ
с помощью таблицы 5х7 и ключевого слова «ПЕЛИКАН»:
П | Е | Л | И | К | А | Н | А | Е | И | К | Л | Н | П | |
7 | 2 | 5 | 3 | 4 | 1 | 6 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
Т | Н | П | В | Е | Г | Л | Г | Н | В | Е | П | Л | Т | |
Е | А | Р | А | Д | О | Н | О | А | А | Д | Р | Н | Е | |
Р | Т | И | Е | Ь | В | О | В | Т | Е | Ь | И | О | Р | |
М | О | Б | Т | М | П | Ч | П | О | Т | М | Б | Ч | М | |
И | Р | Ы | С | О | О | Ь | О | Р | С | О | Ы | Ь | И |
При считывании содержимого правой таблицы по строкам и записи шифртекста группами по пять букв получим шифрованное сообщение:
|
|
ГНВЕП ЛТООА ДРНЕВ ТЕЬИО РПОТМ БЧМОР СОЫЬИ
Особенности структуры таблицы используются в качестве ключевой информации в магических квадратах, которые также применялись в средние века. Магическими квадратами называют квадратные таблицы с вписанными в их клетки последовательными натуральными числами, начиная от 1, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число.
Шифруемый текст вписывали в магические квадраты в соответствии с нумерацией их клеток. Если затем выписать содержимое такой таблицы по строкам, то получится шифртекст, сформированный благодаря перестановке букв исходного сообщения. В те времена считалось, что созданные с помощью магических квадратов шифртексты охраняет не только ключ, но и магическая сила.
Пример. Ниже приведен один из вариантов магического квадрата размером 4х4. Зашифруем с его помощью сообщение:
ПРИЛЕТАЮ ВОСЬМОГО
16 | 3 | 2 | 13 | О | И | Р | М | |
5 | 10 | 11 | 8 | Е | О | С | Ю | |
9 | 6 | 7 | 12 | В | Т | А | Ь | |
4 | 15 | 14 | 1 | Л | Г | О | П |
Шифртекст, получаемый при считывании содержим правой таблицы по строкам, имеет вполне загадочный вид:
ОИРМ ЕОСЮ ВТАЬ ЛГОП.
Число магических квадратовбыстро возрастает с увеличением размера квадрата. Существует только один магический квадрат размером 3х3 (если не учитывать его повороты). Количество магических квадратов 4х4 составляет уже 880, а количество магических квадратов 5х5 – около 250000. Магические квадраты средних и больших размеров могли служить хорошей базой для обеспечения нужд шифрования того времени, поскольку практически нереально выполнить вручную пepe6op всех вариантов для такого шифра.
Для обеспечения дополнительной стойкости можно повторно зашифровать сообщение, которое уже прошло шифрование. Такой метод шифрования называется двойной перестановкой. В случае двойной перестановки столбцов и строк таблицы перестановки определяются отдельно для столбцов и отдельно для строк. Сначала в таблицу записывается текст сообщения, а потом поочередно переставляются столбцы, а затем строки. При дешифровании порядок перестановок должен быть обратным.
Число вариантов двойной перестановки быстро возрастает при увеличении размера таблицы. Однако и двойная перестановка не отличается высокой стойкостью и сравнительно просто "взламывается" при любом размере таблицы шифрования.
Вывод: Шифрование перестановкой заключается в том, что символы шифруемого текста переставляются по определенному правилу в пределах некоторого блока этого текста. При достаточной длине блока, в пределах которого осуществляется перестановка, и сложном неповторяющемся порядке перестановки можно достигнуть приемлемой для простых практических приложений стойкости шифра.
К шифрам перестановки относится и шифр Кардано. В середине ХVI века итальянским математиком Кардано была выдвинута идея использования части самого передаваемого открытого текста в качестве ключа и новый способ шифрования, получивший название «решетка Кардано». Для ее изготовления берется квадратный кусок картона, в котором по специальным правилам прорезаются «окна». При шифровании решетка накладывалась на лист бумаги, и открытый текст вписывался в окна. Затем решетка поворачивалась на 90 градусов, и вновь вписывался текст, всего 4 раза.
Главное требование к «решетке Кардано» – при всех поворотах окна не должны попадать на одно и то же место бумаги. Пустые места заполнялись произвольными буквами, затем шифрограмма выписывалась построчно. Решетка Кардано позволяет осуществлять перестановку букв достаточно быстро.
|
|
Как математик, Кардано сумел вычислить количество квадратов-решеток (ключей) заданного размера N x N. Если N – четное число, то это количество равно . При N =10 оно имеет порядок десять в пятнадцатой степени.