Полиалфавитный шифр — это подстановка , использующая несколько алфавитов подстановки. Шифр Виженера , вероятно, является самым известным примером полиалфавитного шифра, хотя это упрощенный частный случай. Машина Enigma более сложна, но по сути все еще является полиалфавитным шифром подстановки.
Работа Аль-Калькашанди (1355–1418), основанная на более ранней работе Ибн ад-Дурайхима (1312–1359), содержала первое опубликованное обсуждение замены и транспозиции шифров, а также первое описание полиалфавитного шифра, в котором каждой букве открытого текста назначается более одной замены. [1] Однако утверждалось, что полиалфавитные шифры могли быть разработаны арабским криптологом Аль-Кинди (801–873) столетиями ранее. [2]
Шифр Альберти Леона Баттисты Альберти около 1467 года был ранним полиалфавитным шифром. Альберти использовал смешанный алфавит для шифрования сообщения, но всякий раз, когда он хотел, он переключался на другой алфавит, указывая, что он сделал это, включая заглавную букву или цифру в криптограмму. Для этого шифрования Альберти использовал декодирующее устройство, свой шифровальный диск , который реализовал полиалфавитную замену со смешанными алфавитами.
Иоганнес Тритемий — в своей книге Polygraphiae libri sex (Шесть книг полиграфии), которая была опубликована в 1518 году после его смерти — изобрел прогрессивный ключевой полиалфавитный шифр, названный шифром Тритемия . [3] В отличие от шифра Альберти, который менял алфавиты через случайные интервалы, Тритемий менял алфавиты для каждой буквы сообщения. Он начал с tabula recta , квадрата с 26 буквами в нем (хотя Тритемий, писавший на латыни , использовал 24 буквы). Каждый алфавит был сдвинут на одну букву влево от того, который находился над ним, и начинался снова с A после достижения Z (см. таблицу).
Идея Тритемия заключалась в том, чтобы зашифровать первую букву сообщения, используя первый сдвинутый алфавит, так что A становилась B, B становилась C и т. д. Вторая буква сообщения была зашифрована с использованием второго сдвинутого алфавита и т. д. Шифровальный диск Альберти реализовал ту же схему. Он имел два алфавита, один на фиксированном внешнем кольце, а другой на вращающемся диске. Буква шифруется путем поиска этой буквы на внешнем кольце и кодирования ее как буквы под ней на диске. Диск начинался с A под B, и пользователь поворачивал диск на одну букву после шифрования каждой буквы.
Шифр было легко взломать, а реализация машины Альберти была не намного сложнее. Ключевая прогрессия в обоих случаях была плохо скрыта от злоумышленников. Даже реализация Альберти его полиалфавитного шифра была довольно легко взломана (заглавная буква является главной подсказкой для криптоаналитика). В течение большей части следующих нескольких сотен лет важность использования нескольких алфавитов замены была упущена почти всеми. Разработчики полиалфавитных шифров замены, похоже, сосредоточились на сокрытии выбора нескольких таких алфавитов (повторяя по мере необходимости), а не на повышении безопасности, возможном за счет использования многих и никогда не повторяя ни одного.
Принцип (особенно неограниченные дополнительные подстановочные алфавиты Альберти) был крупным достижением — самым значительным за несколько сотен лет с момента разработки частотного анализа . Разумную реализацию было бы (и, когда она была наконец достигнута, то была) гораздо сложнее взломать. Только в середине 19-го века (в секретной работе Бэббиджа во время Крымской войны и в целом эквивалентном публичном раскрытии Фридриха Касиски несколько лет спустя) криптоанализ хорошо реализованных полиалфавитных шифров вообще сдвинулся с места. См. исследование Касиски .
Абрамо Колорни описал многоалфавитные шифры в своей работе 1593 года «Скотография» . [4]