Введение

Шифр подстановки

Полиграфическая подстановка — это шифр, в котором выполняется однородная подстановка на блоках букв. Когда длина блока точно известна, используются более конкретные термины: например, шифр, в котором подставляются пары букв, называется биграфическим. Как концепция, полиграфическая подстановка противопоставляется моноалфавитным (или простым) подстановкам, в которых отдельные буквы подставляются единообразно, или полиалфавитным подстановкам, в которых отдельные буквы подставляются разными способами в зависимости от их позиции в тексте. Теоретически, в этих определениях существует некоторое пересечение; можно, например, рассматривать шифр Виженера с восьмибуквенным ключом как октографическую подстановку. Однако на практике это не полезное наблюдение, поскольку гораздо продуктивнее рассматривать его как полиалфавитный шифр подстановки.

Специфические шифры

В 1563 году Джамбатиста делла Порта разработал первую диграфическую подстановку. Однако это была лишь таблица символов. На практике её было бы практически невозможно запомнить, а ношение таблицы с собой несло риск попадания в руки противника. В 1854 году Чарльз Уитстоун предложил шифр Плейфера – систему, основанную на ключевом слове, которую можно было применять на бумаге непосредственно в полевых условиях. За следующие пятьдесят лет появились тесно связанные с ним шифры «четыре квадрата» и «два квадрата», которые несколько сложнее в использовании, но обеспечивают немного более высокую степень защиты. В 1929 году Лестер С. Хилл разработал шифр Хилла, использующий матричную алгебру для шифрования блоков любой желаемой длины. Однако ручное шифрование затруднительно для блоков достаточно большого размера, хотя его можно реализовать с помощью машин или компьютеров. Таким образом, этот шифр находится на рубеже между классической и современной криптографией.

Криптоанализ общих полиграфических замещений

Полиграфические системы обеспечивают значительное улучшение безопасности по сравнению с моноалфавитной подстановкой. Для отдельной буквы "E" в сообщении может быть использована любая из 52 инструкций в зависимости от её позиции и соседних букв, что позволяет эффективно маскировать частоту встречаемости отдельных букв. Однако прирост безопасности ограничен; хотя для взлома обычно требуется больший объем текста, это все еще возможно сделать вручную. Полиграфически зашифрованный текст можно идентифицировать, построив частотный график полиграмм, а не только отдельных букв. Эти графики можно сравнить с частотой встречаемости полиграмм в открытом английском тексте. Распределение диграмм проявляется еще более отчетливо, чем распределение отдельных букв. Например, шесть наиболее часто встречающихся букв в английском языке (23%) составляют примерно половину всего открытого текста, но для достижения аналогичного эффекта достаточно 8% наиболее часто встречающихся из 676 диграмм. Более того, даже в открытом тексте длиной в несколько тысяч символов можно ожидать, что почти половина диграмм либо не встретится вовсе, либо будет встречаться крайне редко. Кроме того, при анализе текста следует ожидать довольно равномерного распределения повторяющихся фрагментов, кратных длине блока, и относительно небольшого количества фрагментов, не являющихся кратными. Взлом кода, идентифицированного как полиграфический, аналогичен взлому общей моноалфавитной подстановки, за исключением большего размера "алфавита". Определяются наиболее часто встречающиеся полиграммы, экспериментируется с их заменой на распространенные полиграммы открытого текста и предпринимаются попытки восстановить общие слова, фразы и, в конечном итоге, смысл. Естественно, если в ходе расследования криптоаналитик заподозрил, что код относится к определенному типу, например, к шифру Плейфера или шифру Хилла второго порядка, он мог бы использовать более специализированную атаку.