Материал: 3865

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

6

Шифрование методом замены

В шифрах замены отдельные части открытого текста: буквы, слова, числа, блоки при шифровании заменяются другими буквами, символами, знаками. Обратные преобразования при дешифрировании однозначно должны приводить к исходному тексту. Шифры замены подразделяются на шифры моноалфавитной (простой) замены, многоалфавитной замены, многозначной замены. Шифры замены использовались с древнейших времён – шифр Цезаря (I век до н. э.), диск Энея, полибианский квадрат, шифры дипломата Виженера и аббата Трисемиуса (эпоха Возрождения). На основе этой идеи работали механические (роторные) шифровальные машины в Первую и Вторую мировые войны – немецкие Enigma, американские Sigaba, английские Typex, японские Purple. Таблицы подстановок (замены) являются обязательным элементом современных стандартов шифрования.

Рассмотрим шифр простой моноалфавитной замены, известный под названием «Шифр Цезаря».

Для шифрования текста каждая его буква заменяется другой, отстоящей после неё в используемом для записи сообщений алфавите на определённое число позиций. Это число является ключом шифра. Символы алфавита записываются циклически (по кругу). Для дешифрирования сообщения каждая его буква заменяется буквой, стоящей перед ней в алфавите со сдвигом на число позиций, которое использовалось в качестве ключа при шифровании. Шифр Цезаря имеет низкую криптостойкость – повторяемость символов алфавита в больших текстах различна и характеризуется определённой закономерностью.

Зашифруем сообщение «АУДИТ» шифром Цезаря со сдвигом на три символа, используя алфавит из 33 русских букв (таблица 1). Получим шифрограмму «ГЦЖЛХ». Дешифрируя шифрограмму «ШЁГАТ» с помощью того же ключа, получим исходное сообщение «ХГАЭП».

Таблица 1. Алфавит из 33 русских букв

№ п/п

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

26

27

28

29

30

31

32

33

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Буква

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

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

Задание 2. Используя алфавит из 33 русских букв (таблица 1), дешифрируйте шифрограмму (Приложение 1) шифром Цезаря (пробелы между словами не используются).

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

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

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

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

Пример шифрования с помощью метода вертикальной перестановки показан на рисунке 1 . Ключом шифра является слово «БАНАН», для записи сообщений и шифрограмм используются 33 русские буквы и пробел, обозначенный символом « _ » (подчерк). Исходное сообщение «ФАКУЛЬТЕТ_АУДИТОР» преобразуется в шифрограмму «АТУРУТИРФЬАОКЕДКЛ_ТФ» (рисунок 1)

8

Ключ

Б

А

Н

А

Н

 

 

 

 

 

 

Номера столбцов

3

1

4

2

5

 

 

 

 

 

 

Исходное

Ф

А

К

У

Л

сообщение

 

 

 

 

 

Ь

Т

Е

Т

_

 

 

 

 

 

 

 

А

У

Д

И

Т

 

 

 

 

 

 

 

О

Р

К

Р

Ф

 

 

 

 

 

 

Шифрограмма

Рисунок 1 – Схема шифрования методом вертикальной перестановки

Пример дешифрирования методом вертикальной перестановки показан на рисунке 2. Ключом шифра также является слово «БАНАН». Исходя из шифро-

граммы «ИЯНАОЭМЛМАОКР_ОАВКИН» получаем сообщение «МИРОВАЯ ЭКО-

НОМИКА» (рисунок 2).

 

Шифрограмма

 

 

 

 

 

 

 

 

Ключ

Б

А

Н

А

Н

 

 

 

 

 

 

 

 

Номера столбцов

3

1

4

2

5

 

 

 

 

 

 

 

 

 

М

И

Р

О

В

Дешифри-

 

 

 

 

 

 

рованное

 

А

Я

_

Э

К

 

 

 

 

 

 

сообщение

 

О

Н

О

М

И

 

 

 

 

 

 

 

 

К

А

А

Л

Н

 

 

 

 

 

 

 

 

Рисунок 2 – Схема дешифрирования методом вертикальной перестановки

Задание 3. Используя 33 русские буквы и пробел, зашифруйте сообщение (Приложение 2) шифром вертикальной перестановки.

Задание 4. Используя 33 русские буквы и пробел, дешифрируйте шифрограмму (Приложение 3) методом вертикальной перестановки.

9

Шифрование методом гаммирования

Метод гаммирования предусматривает выполнение нескольких последовательных этапов.

Для шифрования исходного сообщения реализуются следующие действия.

1.Символы сообщения заменяются числами в соответствии с некоторой таблицей кодировки (например, таблицей 2). Обозначим количество уникальных символов в таблице кодировки N (в рассматриваемом примере N = 44).

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

чисел, цифры числа и т. д.

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

Ci=(Ti+Gi) mod N,

где Ci , Ti , Gi – числовые значения i–х символов зашифрованного сообщения, исходного сообщения и гаммы соответственно (операция mod представляет собой вычисление остатка от целочисленного деления, например, 8 mod 3 = 2, 11 mod 4 = 3). В ситуациях, когда сумма равна числу N, она сохраняет своё значение, а не приводится к нулю.

4. Рассчитанные в итоге для каждого символа числовые значения преобразуются в шифрограмму с помощью таблицы кодировки (таблица 2).

Таблица 2. Таблица кодировки для русских букв, пробела и цифр (44 символа)

Символ

А

Б

В

 

Г

Д

Е

 

Ё

Ж

З

И

 

Й

 

К

Л

М

Н

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код

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

26

27

 

28

29

30

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Символ

 

Э

Ю

Я

пробел

0

1

2

 

3

 

4

 

5

 

6

7

8

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код

 

31

32

33

 

 

34

 

35

36

37

38

39

40

41

42

43

44

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Примечание: цифры 0, 3, 4, похожие по начертанию на русские буквы О, З, Ч, подчёркнуты.

10

Зашифруем сообщение «2009 ГОД», используя приведённую ранее таблицу кодировки (таблица 2) и гамму в виде слова «КИТ». Получена шифрограмма «ДАЙК9ЦЪН» (рисунок 3).

Сообщение

2

0

0

9

_

Г

О

Д

Гамма

К

И

Т

К

И

Т

К

И

Ti

37

35

35

44

34

4

16

5

Gi

12

10

20

12

10

20

12

10

Ti+Gi

49

45

55

56

44

24

28

15

Ci

5

1

11

12

44

24

28

15

Шифрограмма

Д

А

Й

К

9

Ц

Ъ

Н

Примечание: пробелы между словами обозначены символами подчёркивания.

Рисунок 3 – Схема шифрования методом гаммирования

При дешифрировании шифрограмм выполняются обратные действия.

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

2.Из полученных чисел вычитаются соответствующие им числовые значения гаммы. Если при этом для некоторых символов получаются нулевые или отрицательные числа, к ним прибавляется число N. Решить данную задачу можно с помощью стандартной программы операционной системы Microsoft Windows Калькулятор – расчёты выполняются по формуле

Ti =(Ci – Gi + N) mod N.

3. Рассчитанные закодированные числовые значения преобразуются в исходное сообщение с помощью таблицы кодировки.

Дешифрируем шифрограмму «Ш6ИКБ», применяя гамму «КИТ» и используя таблицу 2. Получаем сообщение «МЭ_91» (рисунок 4).

Шифрограмма

Ш

6

И

К

Б

Гамма

К

И

Т

К

И

Ci

26

41

10

12

2

Gi

12

10

20

12

10

Ci–Gi

14

31

–10

0

–8

Ti

14

31

34

44

36

Сообщение

М

Э

_

9

1

Примечание: пробелы между словами обозначены символами подчёркивания.

Рисунок 4 – Схема дешифрирования методом гаммирования

Источник: https://studfile.net/preview/16711773/