ei = ki - mi (mod 26)
и
ei = mi - ki (mod 26)
соответственно. Шифр Бофора с периодом 1 называется обратным шифром Цезаря.
Повторное применение двух или более шифров Виженера будет называться составным шифром Виженера. Он имеет уравнение
ei = mi + ki + li + ... + si (mod 26),
где ki,li,...,si вообще говоря, имеют различные периоды. Период их суммы < >ki + li + ... + si, как и в составной транспозиции, будет наименьшим общим кратным отдельных периодов.
Если используется шифр Виженера с неограниченным неповторяющимся ключом, то мы имеем шифр Вернама, в котором
ei = mi + ki (mod 26),
и ki выбираются случайно и независимо среди чисел 0, 1,..., 25. Если ключом служит текст, имеющий смысл, то имеем шифр "бегущего ключа". Диграммная, триграммная и n-граммнная подстановки.
Вместо подстановки одной буквы можно использовать подстановку диграмм, триграмм и т.д. Для диграммной подстановки в общем виде требуется ключ, состоящий из перестановок 262 диграмм. Он может быть представлен с помощью таблицы, в которой ряд соответствует первой букве диграммы, а столбец - второй букве, причем клетки таблицы заполнены заменяющими символами (обычно также диграммами). Шифр Виженера с перемешанным один раз алфавитом.
Такой шифр представляет собой простую подстановку с последующим применением шифра Виженера
ei = f(mi) + ki,
mi = f -1(ei - ki).
"Обратным" к такому шифру является шифр Виженера с последующей простой подстановкой
ei = g(mi + ki),
mi = g-1(ei) - ki. Матричная система.
Имеется один метод подстановки n-грамм, который заключается в применении к последовательным n-граммам некоторой матрицы, имеющей обратную. Предполагается, что буквы занумерованы от 0 до 25 и рассматриваются как элементы некоторого алгебраического кольца. Если к n-грамме сообщения применить матрицу aij то получится n-грамма криптограммы
i = 1,...,n.
Матрица aij является ключом, и расшифровка выполняется с помощью обратной матрицы. Обратная матрица будет существовать тогда и только тогда, когда определитель |aij| имеет обратный элемент в нашем кольце. Шифр Плэйфер.
Этот шифр является частным видом диграммной подстановки, которая производится с помощью перемешанного алфавита из 25 букв, записанных в виде квадрата 55. (Буква J часто опускается при криптографической работе, так как она редко встречается, и в тех случаях, когда она встречается, ее можно заменить буквой I). Предположим, что ключевой квадрат записывается следующим образом:
L | Z | Q | C | P |
A | G | N | O | U |
R | D | M | I | F |
K | Y | H | V | S |
X | B | T | E | W |
В этом случае диграмма AC, например, заменяется на пару букв, расположенных в противоположных углах прямоугольника, определяемого буквами A и C, т.е. на LO, причем L взята первой, так как она выше А. Если буквы диграммы расположены на одной горизонтали, то используются стоящие справа от них буквы. Таким образом, RI заменяется на DF, RF заменяется на DR. Если буквы расположены на одной вертикали, то используются буквы, стоящие под ними. Таким образом, PS заменяется на UW. Если обе буквы диграммы совпадают, то можно использовать для их разделения нуль или же одну из букв опустить и т.п.. Перемешивание алфавита с помощью многократной подстановки.
В этом шифре используются последовательно d простых подстановок. Так, если d = 4, то
m1m2m3m4m5m6...
заменяется на
f(m1)f(m2)f(m3)f(m4)f(m5)f(m6)...
и т.д. Шифр с автоключом.
Шифр типа Виженера, в котором или само сообщение или результирующая криптограмма используются в качестве "ключа", называется шифром с автоключом. Шифрование начинается с помощью "первичного ключа" (который является настоящим ключом в нашем смысле) и продолжается с помощью сообщения или криптограммы, смещенной на длину первичного ключа, как в указанном ниже примере, где первичным ключом является набор букв COMET. В качестве "ключа" используется сообщение:
Сообщение | S | E | N | D | S | U | P | P | L | I | E | S | ... |
Ключ | C | O | M | E | T | S | E | N | D | S | U | P | ... |
Криптограмма | U | S | Z | H | L | M | T | C | O | A | Y | H | ... |
Если в качестве "ключа" использовать криптограмму, то получится
Сообщение | S | E | N | D | S | U | P | P | L | I | E | S | ... |
Ключ | C | O | M | E | T | U | S | Z | H | L | O | H | ... |
Криптограмма | U | S | Z | H | L | O | H | O | S | T | T | S | ... |
Дробные шифры.
В этих шифрах каждая буква сначала зашифровывается в две (или более) буквы или в два (или более) числа, затем полученные символы каким-либо способом перемешиваются (например, с помощью транспозиции), после чего их можно снова перевести в первоначальный алфавит. Таким образом, используя в качестве ключа перемешанный 25-буквенный алфавит, можно перевести буквы в двузначные пятеричные числа с помощью таблицы:
0 | 1 | 2 | 3 | 4 | |
0 | L | Z | Q | C | P |
1 | A | G | N | O | U |
2 | R | D | M | I | F |
3 | K | Y | H | V | S |
4 | X | B | T | E | W |
Например, букве B соответствует число 415. После того, как полученный ряд чисел подвергнут некоторой перестановке, его можно снова разбить на пары чисел и перейти к буквам. Коды.
В кодах слова (или иногда слоги) заменяются группами букв. Иногда затем применяется шифр того или иного вида.
5. Оценка секретных систем.
Имеется несколько различных критериев, которые можно было бы использовать для оценки качества предлагаемой секретной системы. Рассмотрим наиболее важные из этих критериев.
Количество секретности.
Некоторые секретные системы являются совершенными в том смысле, что положение противника не облегчается в результате перехвата любого количества сообщений. Другие системы, хотя и дают противнику некоторую информацию при перехвате очередной криптограммы, но не допускают единственного "решения". Системы, допускающие единственное решение, очень разнообразны как по затрате времени и сил, необходимых для получения этого решения, так и по количеству материала, который необходимо перехватить для получения единственного решения.
Объем ключа.
Ключ должен быть передан из передающего пункта в приемный пункт таким способом, чтобы его нельзя было перехватить. Иногда его нужно запомнить. Поэтому желательно иметь ключ настолько малый, насколько это возможно.
Сложность операции зашифрования и расшифрования.
Операции зашифрования и расшифрования должны быть, конечно, по возможности простыми. Если эти операции производятся вручную, то их сложность приводит к потере времени, появлению ошибок и т.д. Если они производятся механически, то сложность приводит к использованию больших и дорогих устройств.
Разрастание числа ошибок.
В некоторых типах шифров ошибка в одной букве, допущенная при шифровании или передаче, приводит к большому числу ошибок в расшифрованном тексте. Такие ошибки разрастаются в результате операции расшифрования, вызывая значительную потерю информации и часто требуя повторной передачи криптограммы. Естественно, желательно минимизировать это возрастание числа ошибок.
Увеличение объема сообщения.
В некоторых типах секретных систем объем сообщения увеличивается в результате операции шифрования. Этот нежелательный эффект можно наблюдать в системах, в которых делается попытка потопить статистику сообщения в массе добавляемых нулевых символов, или где используются многократные замены. Он имеет место также во многих системах типа "маскировки" (которые не являются обычными секретными системами в смысле нашего определения).
6. Алгебра секретных систем.
Если имеются две секретные системы Т и R, их часто можно комбинировать различными способами для получения новой секретной системы S. Если T и R имеют одну и ту же область (пространство сообщений), то можно образовать своего рода "взвешенную сумму"
S = рТ + qR,
где p + q = 1. Эта операция состоит, во-первых, из предварительного выбора систем T или R с вероятностями p и q. Этот выбор является частью ключа S. После того, как этот выбор сделан, системы T или R применяются в соответствии с их определениями. Полный ключ S должен указывать, какая из систем T или R выбрана и с каким ключом используется выбранная система.