Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Математические основы криптологии..pdf
Скачиваний:
102
Добавлен:
05.02.2023
Размер:
6.01 Mб
Скачать

 

 

 

 

 

 

 

 

 

 

 

 

Шифры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шифры

 

 

 

 

 

 

Шифры

 

 

Композиционные

 

 

 

 

 

замены

 

 

 

 

 

перестановки

 

 

 

 

шифры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Однозначные

 

 

 

 

Многозначные

 

 

Маршрутные

 

 

 

 

 

 

 

замены

 

 

 

 

 

 

замены

 

 

перестановки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Столбцовые

 

 

 

 

 

 

 

 

Симметричные

 

 

Асимметричны

 

 

 

 

 

Решетки,

 

 

 

 

 

(строчные)

 

 

 

 

 

 

шифры

 

 

 

 

 

е шифры

 

 

 

 

лабиринты

 

 

 

 

 

 

 

 

 

 

перестановки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поточные

 

 

 

 

 

Блочные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шифры

 

 

 

 

 

шифры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Одноалфавитные

 

 

 

 

 

Многоалфавитные

 

 

 

Шифры

 

 

 

 

шифры

 

 

 

 

 

 

 

шифры

 

 

 

 

гаммирования

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1.5. Классификация шифров Прокомментируем приведенную схему. Подчеркнем, что стрелки, выходящие из любого

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

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

При шифровании перестановкой символы шифруемого текста переставляются по определенному правилу в пределах блока этого текста. Шифры перестановки являются самыми простыми и, вероятно, самыми древними шифрами.

50

Широкое применение получили так называемые маршрутные перестановки, основанные на некоторой геометрической фигуре. Отрезок открытого текста записывается в такую фигуру по некоторой траектории.

Вкачестве ключа в шифрующих таблицах используются:

1.размер таблицы;

2.слово или фраза, задающие перестановку;

Широкое распространение получила разновидность маршрутной перестановки, называемая вертикальной перестановкой: сообщение записывается в таблицу по строкам слева направо. Например, зашифруем фразу

ВОТ ПРИМЕР ШИФРА ВЕРТИКАЛЬНОЙ ПЕРЕСТАНОВКИ Запишем эту фразу в таблицу (таблица 1.5).

Таблица 1.5.

В

О

Т

П

Р

И

М

Е

Р

Ш

И

Ф

Р

А

В

Е

Р

Т

И

К

А

Л

Ь

Н

О

Й

П

Е

Р

Е

С

Т

А

Н

О

В

К

И

 

 

 

 

После заполнения таблицы текстом сообщения по строкам для формирования шифртекста считывают содержимое таблицы по столбцам. Получается такое шифрованное сообщение:

ВЕВЛРВОРЕЬЕКТШРНСИПИТОТРФИЙАИРКПНМААЕО Естественно, отправитель и получатель сообщения должны заранее условиться об общем

ключе в виде размера таблицы.

При расшифровании, в первую очередь, надо определить число длинных столбцов, то есть число букв в последней строке прямоугольника. Для этого нужно разделить число букв в сообщении на число столбцов таблицы. Ясно, что остаток от деления и будет искомым числом. В нашем примере 38 = 7 5 + 3, поэтому в заполненной таблице имеется 3 длинных и 4 коротких столбца. Когда это число определено, буквы криптограммы можно водворить на их собственные места, и сообщение будет прочитано естественным образом.

Несколько большей стойкостью к раскрытию обладает метод шифрования, называемый одиночной перестановкой по ключу. Этот метод отличается от предыдущего тем, что столбцы таблицы переставляются по ключевому слову, фразе или набору чисел длиной в строку таблицы.

51

Применим в качестве ключа, например, слово ПЕЛИКАН,

а текст сообщения возьмем из предыдущего примера (таблица 1.6).

Таблица 1.6

Ключ

П

Е

Л

И

К

А

Н

 

7

2

5

3

4

1

6

 

В

О

Т

П

Р

И

М

 

Е

Р

Ш

И

Ф

Р

А

 

В

Е

Р

Т

И

К

А

 

Л

Ь

Н

О

Й

П

Е

 

Р

Е

С

Т

А

Н

О

 

В

К

И

 

 

 

 

В верхней строке таблицы записан ключ, а номера под буквами ключа определены в соответствии с естественным порядком соответствующих букв ключа в алфавите. Если бы в ключе встретились одинаковые буквы, они бы были понумерованы слева направо.

Отметим, что нецелесообразно заполнять последнюю строку прямоугольника "нерабочими" буквами, так как это дало бы противнику, получившему в свое распоряжение данную криптограмму, сведения о длине числового ключа. В самом деле, в этом случае длину ключа следовало бы искать среди делителей длины сообщения.

При считывании содержимого таблицы по столбцам в порядке, указанном числовым ключом, получим шифрованное сообщение:

ИРКПН ОРЕЬЕК ПИТОТ РФИЙА ТШРНСИ МААЕО ВЕВЛРВ При расшифровании, аналогично предыдущему примеру, в первую очередь, надо

определить число длинных столбцов. В нашем примере 38 = 7 5 + 3, поэтому в заполненной таблице имеется 3 длинных и 4 коротких столбца. Согласно числовому ключу, начальные буквы криптограммы берутся из шестого (по счету слева) столбца, он – короткий (так как первые три столбца – длинные), поэтому первые пять букв образуют шестой столбец. Следующие шесть букв образуют второй столбец (он – длинный). И так далее.

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

Для обеспечения дополнительной скрытности можно повторно зашифровать сообщение, которое уже прошло шифрование. Такой метод шифрования называется двойной перестановкой. В случае двойной перестановки столбцов и строк таблицы перестановки оп-

52

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

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

последовательными натуральными числами, начиная от 1, которые дают в сумме по каждому столбцу, каждой строке и каждой диагонали одно и то же число.

Шифруемый текст вписывали в магические квадраты в соответствии с нумерацией их клеток. Если затем выписать содержимое такой таблицы по строкам, то получится шифртекст, сформированный благодаря перестановке букв исходного сообщения. В те времена считалось, что созданные с помощью магических квадратов шифртексты охраняет

не только ключ, но и магическая сила.

 

 

 

 

 

 

 

 

Пример магического квадрата и его заполнения сообщением

 

 

 

 

 

ПРИЛЕТАЮ ВОСЬМОГО

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16

3

2

13

О

И

 

Р

М

 

5

10

11

8

 

Е

О

 

С

Ю

 

 

9

6

7

12

 

В

Т

 

А

Ь

 

Рис. 1.6. Пример

4

15

14

1

 

Л

Г

 

О

П

 

магического квадрата 4 4 и его заполнения сообщением ПРИЛЕТАЮ

 

 

 

 

ВОСЬМОГО

 

 

 

 

 

Шифртекст, получаемый при считывании содержимого правой таблицы по строкам, имеет вполне загадочный вид:

ОИРМ ЕОСЮ ВТАЬ ЛГОП Число магических квадратов быстро возрастает с увеличением размера квадрата.

Существует только один магический квадрат размером 3 3 (если не учитывать его повороты). Количество магических квадратов 4 4 составляет уже 880, а количество магических квадратов 5 5 – около 250000.

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

Шифры простой замены

При шифровании заменой (подстановкой) символы шифруемого текста заменяются символами того же или другого алфавита с заранее установленным правилом замены.

53

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

Система шифрования Цезаря

Свое название шифр Цезаря получил по имени римского императора Гая Юлия Цезаря, который использовал этот шифр при переписке с Цицероном (около 50 г.до н.э.).

При шифровании исходного текста каждая буква заменялась на другую букву того же алфавита по следующему правилу. Заменяющая буква определялась путем смещения по алфавиту от исходной буквы на k букв. При достижении конца алфавита выполнялся циклический переход к его началу. Цезарь использовал шифр замены при смещении k = 3. Такой шифр замены можно задать таблицей подстановок, содержащей соответствующие пары букв открытого текста и шифртекста. Совокупность возможных подстановок для k = 3 показана в таблице 1.7.

Таблица 1.7. Одноалфавитные подстановки (k = 3, m = 26)

A

 

D

J

 

M

S

 

V

B

 

E

K

 

N),ключи).В

T

 

W

C

 

F

L

 

O

U

 

X

D

 

G

M

 

P

V

 

Y

E

 

H

N),ключи).В

 

Q

W

 

Z

F

 

I

O

 

R

X

 

A

G

 

J

P

 

S

Y

 

B

H

 

K

Q

 

T

Z

 

C

I

 

L

R

 

U

 

 

 

Например, послание Цезаря VEN),ключи).ВI VIDI VICI

(в переводе на русский означает "Пришел, Увидел, Победил"), направленное его другу Аминтию после победы над понтийским царем Фарнаком, сыном Митридата, выглядело бы в зашифрованном виде так:

YHQL YLGL YLFL

Формализуем шифр Цезаря. Введем следующие обозначения: m – число букв в алфавите (мощность алфавита);

(x0, x1, …) – открытый текст;

(y0, y1, …) – шифртекст (закрытый текст); k – ключ, 0 k < m.

Тогда процесс шифрования можно представить в виде yi = Ek(xi) = (xi + k) mod m – зашифрование,

xi = Dk(yi) = (yi + 26 – k) mod m – расшифрование.

54

Для шифра Цезаря k = 3.

Достоинством системы шифрования Цезаря является простота шифрования и расшифрования. К недостаткам системы Цезаря следует отнести следующие:

подстановки, выполняемые в соответствии с системой Цезаря, не маскируют частот появления различных букв исходного открытого текста. Шифр Цезаря легко вскрывается на основе анализа частот появления букв в шифртексте

сохраняется алфавитный порядок в последовательности заменяющих букв; при изменении значения k изменяются только начальные позиции такой последовательности;

число возможных ключей k мало;

Криптоаналитическая атака против системы одноалфавитной замены начинается с подсчета частот появления символов: определяется число появлений каждой буквы в шифртексте. Затем полученное распределение частот букв в шифртексте сравнивается с распределением частот букв в алфавите исходных сообщений, например в английском. Буква с наивысшей частотой появления в шифртексте заменяется на букву с наивысшей частотой появления в английском языке и т.д. Вероятность успешного вскрытия системы шифрования повышается с увеличением длины шифртекста.

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

Аффинная система подстановок Цезаря

Всистеме шифрования Цезаря использовалось только сложение по модулю m. Применяя одновременно операции сложения и умножения по модулю m над элементами множества Zm

={0, 1, 2, …, m–1}, можно получить систему подстановок, которую называют аффинной системой подстановок Цезаря.

Введем следующие обозначения:

m – число букв в алфавите (мощность алфавита); (x0, x1, …) – открытый текст;

(y0, y1, …) – шифртекст (закрытый текст);

Вкачестве ключа используется пара чисел k = (a, b), где a, b – целые числа, 0 < a < m, 0 b < m. Числа a и m должны быть взаимно простыми, т.е. наибольший общий делитель НОД (a, m) = 1.

Тогда процесс шифрования представляется в виде

55

yi = Ea,b(xi) = (axi + b) mod m – зашифрование,

xi = Da,b(yi) = a–1 (yi + 26 – b) mod m – расшифрование, где a–1 – обратный a элемент.

Если числа a и m взаимно просты, то существует число a–1, удовлетворяющее сравнению a a–1 1 mod m.

Число a–1 называют обратным к a по модулю m. Наприме, 3–1 = 9, т.е. 3 9 27 mod m 1 mod m.

Зашифруем слово HOPE с помощью аффинного шифра, полагая k = (3, 5).

Для удобства вычисления заменим буквы латинского алфавита на их порядковые номера (Таблица 1.8):

Таблица 1.8/

A B C D E F G H I J K L M

0

1

2

3

4

5

6

7

8

9

10

11

12

N),ключи).В

O

P

Q

R

S

T

U V W X Y Z

13

14

15

16

17

18

19

20

21

22

23

24

25

Используя аффинный шифр с ключом k = (3,5), получаем следующее соответствие между числовыми кодами букв:

t

0

1

2

3

4

5

6

7

8

9

10

11

12

3t + 5

5

8

11

14

17

20

23

0

3

6

9

12

15

t

13

14

15

16

17

18

19

20

21

22

23

24

25

3t + 5

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

F I L

O R U X A D G J M P

N),ключи).В

O

P

Q

R

S

T

U

V

W

X

Y

Z

S

V

Y B

E

H

K

N),ключи).В

Q

T

W

Z

C

Исходное сообщение НОРЕ преобразуется в шифртекст AVYR.

Достоинством аффинной системы является удобное управление ключами – ключи шифрования и расшифрования представляются в компактной форме в виде пары чисел (a, b). Недостатки аффинной системы аналогичны недостаткам системы шифрования Цезаря.

56

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

Система Цезаря с ключевым словом

Система шифрования Цезаря с ключевым словом является одноалфавитной системой подстановки. Особенностью этой системы является использование ключевого слова для смещения и изменения порядка символов в алфавите подстановки.

Выберем некоторое число k, 0 k < 26, и слово или короткую фразу в качестве ключевого слова. Желательно, чтобы все буквы ключевого слова были различными. Пусть выбраны слово DIPLOMAT в качестве ключевого слова и число k = 5.

Ключевое слово записывается под буквами алфавита, начиная с буквы, числовой код которой совпадает с выбранным числом k:

0

1

2

3

4

5

 

 

 

 

10

 

15

20

25

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

 

 

 

 

 

D

I

P

L

O

M

A

T

 

 

Оставшиеся буквы алфавита подстановки записываются после ключевого слова в алфавитном порядке:

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

V

W

X

Y

Z

D

I

P

L

O

M

A

T

B

C

E

F

G

H

J

K

N),ключи).В

Q

R

S

U

Теперь мы имеем подстановку для каждой буквы произвольного сообщения. Исходное сообщение SEN),ключи).ВD MORE MON),ключи).ВEY

шифруется как HZBY TCGZ TCBZS

Следует отметить, что требование о различии всех букв ключевого слова не обязательно. Можно просто записать ключевое слово (или фразу) без повторения одинаковых букв. Например, ключевая фраза

КАК ДЫМ ОТЕЧЕСТВА НАМ СЛАДОК И ПРИЯТЕН

и число k = 3 порождают следующую таблицу подстановок:

0

3

 

А Б В Г

Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ь Ы Ъ Э Ю Я

Ъ Э Ю К А Д Ы М О Т Е Ч С В Н Л И П Р Я Б Г Ж З Й У Ф Х Ц Ш Щ Ь

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

57

Биграммный шифр Плейфейра

Биграммными называются шифры, позволяющие шифровать сразу по 2 буквы.

Шифр Плейфейра, изобретенный в 1854 г., является наиболее известным биграммным шифром замены. Он применялся Великобританией во время первой мировой войны. Основой шифра Плейфейра является шифрующая таблица со случайно расположенными буквами алфавита исходных сообщений.

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

Поясним этот метод шифрования на примере. Для русского алфавита шифрующая таблица может иметь размер 4 8. Выберем в качестве ключа слово БАНДЕРОЛЬ (таблица 1.9).

Таблица 1.9. Шифрующая таблица с ключевым словом БАНДЕРОЛЬ

Б

А

Н

Д

Е

Р

О

Л

Ь

В

Г

Ж

З

И

Й

К

М

П

С

Т

У

Ф

Х

Ц

ЧШ Щ Ы Ъ Э Ю Я

Процедура шифрования включает следующие шаги:

1.Открытый текст исходного сообщения разбивается на пары букв (биграммы). Текст должен иметь четное количество букв и в нем не должно быть биграмм, содержащих две одинаковые буквы. Если эти требования не выполнены, то в текст добавляются “пустышки”. “Пустышкой” является некоторая редкая для данного типа текста буква (или знак), которая вставляется между одинакоывми буквами биграммы или добавляется в текст для того, чтобы его длина стала четной.

2.Последовательность биграмм открытого текста преобразуется с помощью шифрующей таблицы в последовательность биграмм шифртекста по следующим правилам:

a)Если обе буквы биграммы открытого текста не попадают на одну строку или столбец (как, например, буквы А и Й в таблице 3.5), тогда находят буквы в углах прямоугольника, определяемого данной парой букв. (В нашем примере пара букв АЙ отображается в пару ОВ.)

58

b) Если обе буквы биграммы открытого текста принадлежат одному столбцу таблицы, то буквами шифртекста считаются буквы, которые лежат под ними. (Например, биграмма НС дает биграмму шифртекста ГЩ.)

Если при этом буква открытого текста находится в нижней строке, то для шифртекста берется соответствующая буква из верхней строки того же столбца. (Например, биграмма ВШ дает биграмму шифртекста ПА.)

c) Если обе буквы биграммы открытого текста принадлежат одной строке таблицы, то буквами шифртекста считаются буквы, которые лежат справа от них. (Например, биграмма НО дает биграмму шифртекста ДЛ.)

Если при этом буква открытого текста находится в крайнем правом столбце, то для шифра берут соответствующую букву из левого столбца в той же строке. (Например, биграмма ФЦ дает биграмму шифртекста ХМ.)

Зашифруем текст ВСЕ ТАЙНОЕ СТАНЕТ ЯВНЫМ

Разбиение этого текста на биграммы дает ВС ЕТ АЙ НО ЕС ТА НЕ ТЯ ВН ЫМ

Данная последовательность биграмм открытого текста преобразуется с помощью шифрующей таблицы (таблица 3.5) в следующую последовательность биграмм шифртекста:

ГП ДУ ОВ ДЛ НУ ПД ДР ЦЫ ГА ЧТ

59