logo
Криптографическая защита информации

4.4.1. Поточные шифры простой замены

Наибольшее распространение получили поточные шифры простой замены, множества шифрвеличин и шифробозначений которых совпадают с алфавитом открытого текста. Как указывалось в главе 2, ключом такого шифра является подстановка k на множестве А, верхняя строка которой представляет собой естественную последовательность букв алфавита, а нижняя – систематически перемешанную или случайную последовательность букв из А.

Помимо явного задания (в виде двустрочной записи) ключ может быть задан некоторой формулой, как, например, для определяемого ниже шифра Цезаря (который иногда называют также сдвиговым шифром) и аффинного шифра. При использовании этих шифров буквы алфавита А удобно ото­ждествлять с их порядковыми номерами, так что, например, для латинского алфавита

а0, b1,..., z25.

Шифр Цезаря

K=Z26.

Для x=(x1,..,xl), y=(y1,...,yl),

k К полагаем

у = Еk(х) =(x1 +k,..., xl +k),

х = Dk(у) = (у1 + (26 – k),..., уl + (26 – k)),

где + и • – операции кольца вычетов Z26.

Аффинный шифр

K=Z*26 x Z26. Для k=(,) K, a 0,

x=(x1,..,xl), y=(y1,...,yl), полагаем

у = Еk(х) =(x1 +,...,xl +),

х = Dk(у) =((у1 + (26 – )) -1,..., (уl + (26 – )) -1),

где + и • – операции кольца Z , а -1 – элемент из муль­типликативной группы Z*26 , обратный к а.

Пример

Зашифруем слово CRYPTOGRAPHY с помощью аффин­ного шифра, полагая k=(3,5). Данный ключ индуцирует следующую подстановку на Z :

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

5 8 11 14 17 20 23 0 3 6 9 12 15 18 21 24 1 4 7 10 13 16 19 22 25 2

Если декодировать числа в буквы, то получим следующее соответствие для букв:

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(х), исходя из ее определения:

у= Еk(х)=(32+5, 317+5, 324+5, 315+5, 319+5, 314+5, 39+5, 317+5, 30+5, 315+5, 37+5, 324+5)=(11,4,25,24,10,21,23,4,5,24,0,25).

В буквенном эквиваленте у совпадает с полученным ранее шифрованным текстом.

Для расшифрования у следует вычислить 3-1 в группе Z*26. Очевидно, что 3-1 =9. Теперь расшифруем у в соответствии с определением правила расшифрования:

х = Dk(у) =((11+21)•9, (4+21)•9, (25+21)•9, (24+21)•9, (10+21)9, (21+21)9, (23+21) 9, (4+21) 9,(5+21) 9, (24 + 21)•9, (0 + 21)•9, (25 + 21)•9)= =(2,17,24,15,19,14,6,17,0,15,7,24).

Здесь мы воспользовались определением операций сло­жения и умножения в кольце Z26, заменяя результат обычных целочисленных вычислений остатком от деления на 26.

В связи с рассмотрением аффинного шифра полезно на­помнить один хорошо известный алгебраический результат.

Теорема. Отображение f : Zn—> Zn определяемое для фиксированных a,bZn формулой f(x) = а x + b(mod n), является биективным тогда и только тогда, когда (а,п)=1.

До сих пор мы предполагали, что шифробозначениями являются отдельные знаки алфавита. Однако это вовсе не обязательное условие. Как отмечалось выше, имеются шиф­ры равнозначной замены и шифры разнозначной замены. В первом случае все шифробозначения имеют одинаковые значности, например один, два и т. д. Во втором – разные значности, например, некоторые шифробозначения могут быть отдельными знаками, другие – состоять из пары или большего числа знаков. По соображениям экономии и скоро­сти шифрования значность шифробозначений не должна быть большой. В большинстве известных примеров разнозначных шифров значность шифробозначений не превосходит двух. Приведем один из таких примеров.

Пример (шифра простой неравнозначной замены)

Рассматривается прямоугольник размером 4 х 7, в кото­рый записан систематически перемешанный английский ал­фавит (расширенный символами "." и знаком раздела "/"), построенный на основе ключевого слова INCITATUS:

Шифры замены

I

N

С

Т

А

U

S

0

1

86

3

5

94

6

В

D

Е

F

G

Н

J

80

83

2

89

91

95

98

К

L

М

0

Р

Q

R

81

84

87

4

92

96

7

V

W

X

Y

Z

.

/

82

85

88

90

93

97

99

Нумерация букв алфавита произведена по столбцам (сверху вниз), при этом восемь самых частых букв (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

-

-

8

В

К

V

D

L

W

С

M

X

F

9

Y

G

Р

Z

U

H

Q

.

J

/

При зашифровании открытый текст записывается со зна­ком пробела между словами. Точка, встретившаяся в тексте, считается отдельным словом. После этого производится за­мена шифрвеличин на шифробозначения согласно таблице, при этом цифровые данные не изменяются.