Решетка Кардано — это первая известная в истории шифровальная решетка, являющаяся трафаретом, который использовался для шифрования и дешифрования.
Общие сведения о решетке Кардано
Решеткой Кардано – это довольно сложная шифровальная система, в которой был использован специальный трафарет определенной формы. Название данного шифра происходит от имени его создателя, известного итальянского математика и философа Джероламо Кардано. Именно он в 1566-ом году в одном из своих трудов представил изобретенную им новую систему шифра.
Основой самой простой решетки Кардано является трафарет, исполненный в виде квадратной таблицы. Причем ячейки в данном трафарете должны быть вырезаны таким образом, чтобы буквы, которые записаны в ячейках на подложенном под трафаретом листе бумаги, после того как будет осуществлен поворот трафарета вокруг центральной оси, не перекрывались. Иными словами, если выполнить четыре поворота трафарета на девяносто градусов, то ячейки, должны перекрыть все клетки таблицы и при этом ни разу не оказаться в одном и том же месте.
Решетка Кардано в своей изначальной форме больше служила источником литературного, нежели криптографического интереса. К примеру, рукопись Войнича, являющаяся поддельной шифровкой шестнадцатого века, вероятно, могла быть сформирована при помощи решетки Кардано, использованной, для того чтобы создать псевдослучайную бессмыслицу из раньше существовавшего текста.
Этот метод считается медленным и несовершенным, но самое главное, что любой такой «шифровальный аппарат» можно потерять, он может быть украден или конфискован. Это означает, что с потерей одной решетки можно потерять возможность прочтения всей секретной переписки, которая была зашифрована при помощи данной решетки.
История решетки Кардано и принцип работы с ней
Джероламо Кардано изобрел простую решетку, предназначенную для того чтобы шифровать сообщения. Однако, есть мнение, что эти решетки мог изобрести и не сам Кардано, тем не менее, шифры, которые были реализованы с применением картонных решеток, все-таки называют его именем.
Живший в одно время с Кардано (1585-1642) кардинал Ришелье часто применял такую решетку для шифрования своих личных и деловых посланий. В конце семнадцатого века решетки Кардано уже практически не применялись для шифрования серьезных документов и превратились некое интеллектуальное развлечение.
Решетка обладает отверстиями для отдельных букв, а само послание должно быть заполнено совокупностью символов или цифр и является, по существу, криптограммой, в то время как Кардано предполагал сформировать стеганограмму.
Рассмотрим алгоритм шифрования при помощи решетки Кардано. Прежде всего необходимо выбрать число k, а затем построить квадрат со стороной, имеющей длину k, и заполнить его клетки числами от единицы до $k^2$:
Рисунок 1. Квадрат. Автор24 — интернет-биржа студенческих работ
Далее следует повернуть квадрат на девяносто градусов в направлении по часовой стрелке и приписать справа от исходного квадрата. Затем следует поворачивать квадрат на девяносто градусов в направлении по часовой стрелки и добавлять полученный квадрат вначале снизу, а далее слева от предыдущего. В итоге должен получиться такой квадрат, имеющий стороны, равные 2k.
Рисунок 2. Квадрат. Автор24 — интернет-биржа студенческих работ
В данном квадрате следует закрасить произвольным образом все цифры, при этом каждую цифру можно закрасит всего один раз. К примеру, так:
Рисунок 3. Квадрат. Автор24 — интернет-биржа студенческих работ
В результате получилась решетка, предназначенная для шифрования. Кодом для шифрования является очередность k цифр от единицы до четырех, а i-тая цифра должна обозначать в каком под квадрате, которые получают номера в порядке создания, следует закрасить число i. К примеру, для данной таблицы код решетки будет иметь следующий вид:
$242431134$
Открытый текст необходимо разбить на блоки, имеющие длину $4k^2$. Каждый блок следует разбить на подстроки, имеющие длину $k^2$. Затем решетку следует наложить на чистый лист бумаги и вырезать закрашиваемые клетки. Для первой подстроки ее i-ая буква должна быть записана в вырезанное i-ое число решетки. Затем следует повторить эту операцию еще три раза, поворачивая каждый раз решетку на девяносто градусов в направлении по часовой стрелке. В итоге будет получена таблица, составленная из букв открытого текста. Криптограмма из такой таблицы может быть получена путем построчного выписывания букв или использованием методов маршрутного шифрования.
Приведем конкретный пример. Имеется открытый текст:
ТЕКСТ ПОСЛЕ ШИФРОВАНИЯ СТАНЕТ НЕПОНЯТНЫМ
Будем использовать кодирующую решетку, приведенную выше. В итоге отображение первого блока (ТЕКСТПОСЛ) будет записано при помощи решетки следующим образом:
Рисунок 4. Квадрат. Автор24 — интернет-биржа студенческих работ
Далее необходимо повторить данную процедуру для остальных трех блоков, поворачивая перед каждой процедурой решетку на девяносто градусов в направлении по часовой стрелке. В результате получится следующая итоговая таблица.
Рисунок 5. Таблица. Автор24 — интернет-биржа студенческих работ
Из такой таблицы криптограмма может быть получена путем выписывания букв по любому маршруту.
Необходимо отметить, что использование решеток Кардано способно обеспечить относительно высокий уровень защиты и уменьшить вероятность того, что сообщение сможет прочитать неподготовленный незаконный пользователь. Тем не менее, для специалиста взломать такой шифр не составит особого труда.