Наибольшее распространение получили поточные шифры простой замены, множества шифрвеличин и шифробозначений которых совпадают с алфавитом открытого текста. Как указывалось в главе 2, ключом такого шифра является подстановка k на множестве А, верхняя строка которой представляет собой естественную последовательность букв алфавита, а нижняя – систематически перемешанную или случайную последовательность букв из А.
Помимо явного задания (в виде двустрочной записи) ключ может быть задан некоторой формулой, как, например, для определяемого ниже шифра Цезаря (который иногда называют также сдвиговым шифром) и аффинного шифра. При использовании этих шифров буквы алфавита А удобно отождествлять с их порядковыми номерами, так что, например, для латинского алфавита
Если декодировать числа в буквы, то получим следующее соответствие для букв:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
F I L O R U X A D G J M P S V Y B E H K N Q T W Z C
Слову CRYPTOGRAPHY соответствует числовая последовательность х=(2,17,24,15,19,14,9,17,0,15,7,24). Зашифровать открытый текст мы можем двумя способами. Во-первых, можно воспользоваться полученной подстановкой, заменяя каждую букву слова (найденную в верхней строке) ее образом в нижней строке: LEZYKVXEFYAZ. Во-вторых, можно вычислить значение функции зашифрования Еk(х), исходя из ее определения:
В буквенном эквиваленте у совпадает с полученным ранее шифрованным текстом.
Для расшифрования у следует вычислить 3-1 в группе Z*26. Очевидно, что 3-1 =9. Теперь расшифруем у в соответствии с определением правила расшифрования:
Здесь мы воспользовались определением операций сложения и умножения в кольце Z26, заменяя результат обычных целочисленных вычислений остатком от деления на 26.
В связи с рассмотрением аффинного шифра полезно напомнить один хорошо известный алгебраический результат.
Теорема. Отображение f : Zn—> Zn определяемое для фиксированных a,bÎZn формулой f(x) = а x + b(mod n), является биективным тогда и только тогда, когда (а,п)=1.
До сих пор мы предполагали, что шифробозначениями являются отдельные знаки алфавита. Однако это вовсе не обязательное условие. Как отмечалось выше, имеются шифры равнозначной замены и шифры разнозначной замены. В первом случае все шифробозначения имеют одинаковые значности, например один, два и т. д. Во втором – разные значности, например, некоторые шифробозначения могут быть отдельными знаками, другие – состоять из пары или большего числа знаков. По соображениям экономии и скорости шифрования значность шифробозначений не должна быть большой. В большинстве известных примеров разнозначных шифров значность шифробозначений не превосходит двух. Приведем один из таких примеров.
Пример(шифра простой неравнозначной замены)
Рассматривается прямоугольник размером 4 х 7, в который записан систематически перемешанный английский алфавит (расширенный символами "." и знаком раздела "/"), построенный на основе ключевого слова INCITATUS:
Шифры замены
I
N
С
Т
А
U
S
В
D
Е
F
G
Н
J
К
L
М
Р
Q
R
V
W
X
Y
Z
.
/
Нумерация букв алфавита произведена по столбцам (сверху вниз), при этом восемь самых частых букв (A,E,I,N,0,R,S,T) занумерованы числами от 0 до 7, а остальные – двузначными числами от 80 до 99. Такую таблицу легко запомнить. Работать же удобнее с эквивалентной таблицей:
0 1 2 3 4 5 6 7 8 9
I
N
Е
Т
О
A
S
R
-
-
В
К
V
D
L
W
С
M
X
F
Y
G
Р
Z
U
H
Q
.
J
/
При зашифровании открытый текст записывается со знаком пробела между словами. Точка, встретившаяся в тексте, считается отдельным словом. После этого производится замена шифрвеличин на шифробозначения согласно таблице, при этом цифровые данные не изменяются.