В шифрах средних веков часто использовались таблицы, с помощью которых выполнялись простые процедуры шифрования, основанные на перестановке букв в сообщении. Ключом в данном случае является размеры таблицы. Например, сообщение “Неясное становится еще более непонятным” записывается в таблицу из 5 строк и 7 столбцов по столбцам:
Н | О | Н | С | Б | Н | Я |
Е | Е | О | Я | О | Е | Т |
Я | С | В | Е | Л | П | Н |
С | Т | И | Щ | Е | О | Ы |
Н | А | Т | Е | Е | Н | М |
Для получения шифрованного сообщения текст считывается по строкам и группируется по 5 букв:
НОНСБ НЯЕЕО ЯОЕТЯ СВЕЛП НСТИЩ ЕОЫНА ТЕЕНМ
Несколько большей стойкостью к раскрытию обладает метод одиночной перестановки по ключу. Он отличается от предыдущего тем, что столбцы таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы. Используя в качестве ключа слово «ЛУНАТИК», получим следующую таблицу:
Л | У | Н | А | Т | И | К | А | И | К | Л | Н | Т | У | ||
Н | О | Н | С | Б | Н | Я | С | Н | Я | Н | Н | Б | О | ||
Е | Е | О | Я | О | Е | Т | Я | Е | Т | Е | О | О | Е | ||
Я | С | В | Е | Л | П | Н | Е | П | Н | Я | В | Л | С | ||
С | Т | И | Щ | Е | О | Ы | Щ | О | Ы | С | И | Е | Т | ||
Н | А | Т | Е | Е | Н | М | Е | Н | М | Н | Т | Е | А |
До перестановки После перестановки
|
|
В верхней строке левой таблицы записан ключ, а номера под буквами ключа определены в соответствии с естественным порядком соответствующих букв ключа в алфавите. Если в ключе встретились бы одинаковые буквы, они бы нумеровались слева направо. Получается шифровка:
СНЯНН БОЯЕТ ЕООЕЕ ПНЯВЛ СЩОЫС ИЕТЕН МНТЕА
Для обеспечения дополнительной скрытности можно повторно шифровать сообщение, которое уже было зашифровано. Для этого размер второй таблицы подбирают так, чтобы длины ее строк и столбцов отличались от длин строк и столбцов первой таблицы. Лучше всего, если они будут взаимно простыми.
Кроме алгоритмов одиночных перестановок применяются алгоритмы двойных перестановок. Сначала в таблицу записывается текст сообщения, а потом поочередно переставляются столбцы, а затем строки. При расшифровке перестановки проводятся в обратном порядке. Например, сообщение “Приезжаю_шестого” можно зашифровать следующим образом:
П | Р | И | Е | И | П | Е | Р | А | З | Ю | Ж | |||||
З | Ж | А | Ю | А | Ю | Ж | Е | _ | С | Ш | ||||||
_ | Ш | Е | С | Е. | _ | С | Ш | Г | Т | О | О | |||||
Т | О | Г | О | Г | Т | О | О | И | П | Е | Р |
Двойная перестановка столбцов и строк
|
|
В результате перестановки получена шифровка АЗЮЖЕ_СШГТООИПЕР. Ключом к шифру служат номера столбцов 2413 и номера строк 4123 исходной таблицы.
Число вариантов двойной перестановки достаточно быстро возрастает с увеличением размера таблицы: для таблицы 3 х 3 их 36, для 4 х 4 их 576, а для 5*5 их 14400.
В средние века для шифрования применялись и магические квадраты. Магическими квадратами называются квадратные таблицы с вписанными в их клетки последовательными натуральными числами, начиная с единицы, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число. Для шифрования необходимо вписать исходный текст по приведенной в квадрате нумерации и затем переписать содержимое таблицы по строкам. В результате получается шифротекст, сформированный благодаря перестановке букв исходного сообщения.
О | И | Р | Т | ||||||
З | Ш | Е | Ю | ||||||
_ | Ж | А | С | ||||||
Е | Г | О | П |
П | Р | И | Е | З | Ж | А | Ю | _ | Ш | Е | С | Т | О | Г | О |
Число магических квадратов очень резко возрастает с увеличением размера его сторон: для таблицы 3*3 таких квадратов -1; для таблицы 4*4 - 880; а для таблицы 5*5-250000.