Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Математические основы криптологии.-2

.pdf
Скачиваний:
11
Добавлен:
05.02.2023
Размер:
8.1 Mб
Скачать

51

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

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

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

начальные буквы криптограммы берутся из шестого (по счету слева) столбца, он – короткий

(так как первые три столбца – длинные), поэтому первые пять букв образуют шестой столбец. Следующие шесть букв образуют второй столбец (он – длинный). И так далее.

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

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

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

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

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

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

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

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

16

3

2

13

 

О

И

Р

М

5

10

11

8

 

Е

О

С

Ю

9

6

7

12

 

В

Т

А

Ь

4

15

14

1

 

Л

Г

О

П

Рис. 1.6. Пример магического квадрата 4 4 и его заполнения сообщением ПРИЛЕТАЮ ВОСЬМОГО

52

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

имеет вполне загадочный вид:

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

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

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

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

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

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

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

Свое название шифр Цезаря получил по имени римского императора Гая Юлия Цезаря,

который использовал этот шифр при переписке с Цицероном (около 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

 

 

 

 

 

 

 

53

 

 

 

 

 

 

 

 

 

 

H

 

K

 

Q

 

T

 

Z C

 

I

 

L

 

R

 

U

 

 

 

Например, послание Цезаря

VENI 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 – расшифрование.

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

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

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

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

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

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

54

Концепция, заложенная в систему шифрования Цезаря, оказалась весьма плодотворной, о

чем свидетельствуют ее многочисленные модификации. Несколько таких модификаций будут рассмотрены ниже.

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

Всистеме шифрования Цезаря использовалось только сложение по модулю 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.

Тогда процесс шифрования представляется в виде 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), получаем следующее соответствие между числовыми кодами букв:

55

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).

Недостатки аффинной системы аналогичны недостаткам системы шифрования Цезаря.

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

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

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

Выберем некоторое число 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

56

Теперь мы имеем подстановку для каждой буквы произвольного сообщения.

Исходное сообщение SEND MORE MONEY

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

Следует отметить, что требование о различии всех букв ключевого слова не обязательно.

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

Например, ключевая фраза КАК ДЫМ ОТЕЧЕСТВА НАМ СЛАДОК И ПРИЯТЕН

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

0

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Ъ

Э

Ю

Я

Ъ

Э

Ю

К

А

Д

Ы

М

О

Т

Е

Ч

С

В

Н

Л

И

П

Р

Я

Б

Г

Ж

З

Й

У

Ф

Х

Ц

Ш

Щ

Ь

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

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

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

Шифр Плейфейра, изобретенный в 1854 г., является наиболее известным биграммным шифром замены. Он применялся Великобританией во время первой мировой войны.

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

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

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

то такой подход упрощает процессы шифрования и расшифрования.

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

1.9).

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

Б

А

Н

Д

Е

Р

О

Л

Ь

В

Г

Ж

З

И

Й

К

М

П

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ы

Ъ

Э

Ю

Я

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

57

1.Открытый текст исходного сообщения разбивается на пары букв

(биграммы). Текст должен иметь четное количество букв и в нем не должно быть биграмм, содержащих две одинаковые буквы. Если эти требования не выполнены,

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

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

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

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

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

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

58

Если при этом буква открытого текста находится в крайнем правом столбце,

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

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

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

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

ГП ДУ ОВ ДЛ НУ ПД ДР ЦЫ ГА ЧТ При расшифровании применяется обратный порядок действий.

Криптоанализ шифра Плейфера опирается на частотный анализ биграмм, триграмм и четырехграмм шифртекста и особенности замены шифрвеличин на шифробозначения, свя-

занные с расположением алфавита в прямоугольнике.

Шифр Хилла

Шифр был назван по имени своего создателя Лестора Хилла.

Шифрвеличинами здесь являются n-граммы открытого текста (n 2), представленного

некоторым числовым кодом.

Правило зашифрования:

Имеется алфавит открытого текста, состоящий из m букв.

Ключ K – некоторая обратимая матрица размером [n n] над множеством Zm = {0, 1, 2,

…, m–1}.

Исходный текст разбивается на блоки по n букв (n-граммы), каждую из которых можно

представить в виде вектора x j = (x1j, x2j, …, xnj), где j – номер блока.

y j = (y1j, y2j, …, ynj) – n-грамма шифртекста.

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

y j

= K x j

(mod m) – зашифрование,

x j

= K–1 y

j

(mod m) – расшифрование,

 

 

 

Рассмотрим пример.

59

Алфавит: латинский, m = 26.

Открытый текст: PAY MORE MONEY.

3

3

Ключ: K

.

2

5

n = 2, т.е. разбиение открытого текста производится на биграммы.

Разобьем открытый текст на биграммы и заменим каждую букву ее числовым эквивалентом.

 

 

 

 

 

 

 

PA

 

 

 

15 0

 

 

 

 

 

 

 

 

YM

 

 

 

24 12

 

 

 

 

 

 

 

 

OR

 

 

 

14 17

 

 

 

 

 

 

 

 

EM

 

 

 

4 12

 

 

 

 

 

 

 

 

ON

 

 

 

14 13

 

 

 

 

 

 

 

 

EY

 

 

 

4 24

 

Преобразуем биграммы открытого текста x j

в биграммы шифртекста y j .

 

3

3 15

45

 

19

 

 

y1

 

 

 

mod 26

mod 26

4

 

,

 

 

2

5

0

30

 

 

 

 

 

 

3

3

24

4

 

 

 

 

 

 

y 2

 

 

 

mod 26

,

 

 

 

 

 

 

 

2

5

12

4

 

 

 

 

 

 

 

3

3

14

15

 

 

 

 

 

 

y3

 

 

 

mod 26

 

,

 

 

 

 

 

 

2

5

17

 

9

 

 

 

 

 

 

 

3

3

 

4

22

 

 

 

 

 

 

y 4

 

 

 

mod 26

 

,

 

 

 

 

 

 

2

5

12

16

 

 

 

 

 

 

 

3

3

14

 

3

 

 

 

 

 

 

y5

 

 

 

mod 26

 

,

 

 

 

 

 

 

2

5

13

15

 

 

 

 

 

 

 

3

3

 

4

 

6

 

 

 

 

 

 

y

 

 

 

mod 26

.

 

 

 

 

 

 

2

5

24

24

 

 

 

 

 

 

Заменяя в биграммах шифртекста числа на соответствующие буквы согласно таблице

3.4, получаем 12-грамму шифртекста ТЕ ЕЕ PJ WQ DP GY

Для расшифрования биграмм y j , шифртекста и восстановления биграмм x j открытого текста необходимо выполнить обратное преобразование K–1 согласно уравнению

x j K 1 y j .

60

В рассмотренном примере матрицы преобразования имели размер 2 2 и шифровались биграммы (пары) букв. Хотя буква Е может быть зашифрована по-разному в различных парах исходного сообщения, одна и та же пара, например ЕМ, будет шифроваться всегда одинаково на протяжении всего исходного текста.

Увеличение значности шифрвеличин (n) резко усложняет попытки вскрытия открытого текста по известному тексту криптограммы.

Шифры сложной замены

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

Правила замены при r-алфавитной подстановке:

символ х0 исходного сообщения заменяется символом у0 из алфавита B0,

символ x1 заменяется символом y1 из алфавита B1, и так далее,

символ xr–1 заменяется символом уr–1 из алфавита Вr–1,

символ хr заменяется символом уr снова из алфавита В0, и т.д.

Общая схема многоалфавитной подстановки для случая r = 4 показана на в таблице 1.10.

Таблица 1.10. Схема r-алфавитной подстановки для случая r = 4

Входной символ:

X0

X1

X2

X3

X4

X5

X6

X7

X8

X9

Алфавит подстановки:

B0

B1

B2

B3

B0

B1

B2

B3

B0

B1

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

Одной из старейших и наиболее известных многоалфавитных систем является система шифрования Виженера.

Шифр "двойной квадрат" Уитстона

В 1854 г. англичанин Чарльз Уитстон разработал новый метод шифрования биграммами,

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