Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matematika-Uch_posob_dlya_SE.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
9.17 Mб
Скачать

Раздел IV. Основные способы и методы защиты информации Глава 9. Основы криптографической защиты информации

9.1. Принципы и основные понятия криптографической защиты информации

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

Изложение основ криптографии начнем с описания типовой ситуации, а именно, передачи секретных сообщений некоторым отправителем получателю. Отправителями сообщений и их получателями могут быть физические лица, организации, технические системы. Из методических соображений удобно абстрактных участников обмена сообщениями отождествить с героями фильма «Семнадцать мгновений весны». Отправитель – это Юстас, а получатель – Алекс.

Сообщения передаются по открытой системе коммуникации, в которой они в принципе доступны для перехвата лицами, отличными от получателя. Сегодня массово используется такая система коммуникации, как сеть Интернет. Она, наряду с несомненными достоинствами, оказывается уязвимой для несанкционированного доступа к сообщениям третьих лиц. В Интернете легко реализуется не только перехват, но и подмена сообщений (вредоносная их модификация). Таким образом, в криптографии у Юстаса и Алекса есть противник – старина Мюллер, который может перехватывать сообщения, передаваемые по открытому каналу. Он владеет методами криптоанализа, в основе которых лежит формально-логический аппарат для снятия секретности с перехваченных сообщений. В его распоряжении имеются самые мощные из современных вычислительных ресурсов. Мюллер может вносить в перехваченную криптограмму вредоносные изменения. В результате принятое Алексом сообщение может не совпадать с исходным.

Группа 358 На рис. 9.1 показана классическая система коммуникации для передачи секретных сообщений.

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

Таблица 9.1

m

Am

An

n

0

А

Г

3

1

Б

Д

4

2

В

Е

5

3

Г

Ж

6

4

Д

З

7

5

Е

И

8

6

Ж

Й

9

7

З

К

10

8

И

Л

11

9

Й

М

12

10

К

Н

13

11

Л

О

14

12

М

П

15

13

Н

Р

16

14

О

С

17

15

П

Т

18

16

Р

У

19

17

С

Ф

20

18

Т

Х

21

19

У

Ц

22

20

Ф

Ч

23

21

Х

Ш

24

22

Ц

Щ

25

23

Ч

Ъ

26

24

Ш

Ы

27

25

Щ

Ь

28

26

Ъ

Э

29

27

Ы

Ю

30

28

Ь

Я

31

29

Э

А

0

30

Ю

Б

1

31

Я

В

2

Важно, что ключ передается от Юстаса к Алексу по специальному закрытому каналу связи, недоступному для Мюллера.

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

Рассмотрим пример конкретного шифра, в качестве которого выберем шифр Цезаря. Этот шифр римский император применял для засекречивания своих сообщений на латинском языке. Мы же адаптируем его к русскому языку, в алфавите которого 32 буквы (Е и Ё неразличимы и нет символа пробела).

Сам шифр приведен в табл. 9.1. В левом затемненном столбце табл. 9.1 находятся символы Am алфавита исходного сообщения, в правом затемненном столбце – соответствующие им символы An зашифрованного текста (криптограммы). Нетрудно заметить, что правый столбец получен из левого путем циклического сдвига его символов вверх на три позиции. С каждым сдвигом на одну позицию символ из первой строки столбца перемещается в самую последнюю строку этого столбца, а все остальные символы сдвигаются на одну позицию вверх. Так за три сдвига в первой строке столбца An оказывается буква Г, а в последней – буква В.

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

Пример. Пусть исходным сообщением будет слово ДАННЫЕ. Юстас после применения к нему шифра Цезаря получает криптограмму ЗГРРЮИ. Алекс, имея табл. 9.1, по полученной криптограмме без труда восстановит исходное сообщение.

Формализованное описание шифра Цезаря со сдвигом на произвольное число k позиций получим, действуя с номерами m символов исходного сообщения столбца Am и с номерами n символов An зашифрованного сообщения.

Правило (алгоритм) зашифрования – вычисление номера n символа зашифрованного сообщения по номеру m символа исходного сообщения и величине сдвига k – описывается такой формулой:

n=(m+k)mod M. (9.1)

Число k называют ключом шифра Цезаря (в табл. 9.1. k=3), а M – количество символов алфавита (у нас M=32).

Алгоритм расшифрования секретного сообщения – получение номера m символа восстанавливаемого текста по номеру n символа криптограммы и значению ключа k – задается так:

m=(n+(M-k))mod M. (9.2)

Напомним, что (A)mod M – остаток от деления A на M нацело.

Понятно, что пользоваться неизменным ключом опасно. Поэтому Юстас и Алекс договариваются менять ключ k, к примеру, после передачи каждого сообщения. В этом случае можно сказать, что ключ порождается некоторым источником ключа (рис. 9.1).

В криптографии считается, что алгоритмы зашифрования и расшифрования не являются секретными, секретным является значение k ключа.

Пример. Рассмотрим действия Мюллера, в руках которого криптограмма ЗГРРЮИ, и ему известно, что она получена по алгоритму (9.1), а расшифровывается по алгоритму (9.2). Мюллер пытается по содержанию криптограммы определить ключ.

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

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

В табл. 9.2 сведены некоторые из полученных им результатов. Как видим, довольно быстро Мюллер установил, что k=3.

Таблица 9.2

k

результат

0

ЗГРРЮИ

1

ЖВП…

2

ЕБОО…

3

ДАННЫЕ

4

ГВМ…

13

Ъ…

14

Ы…

15

Ь…

29

КЖ…

30

ЙЕУ…

31

ИДТТ…

Его задача существенно облегчается тем обстоятельством, что очередное значение k отбрасывается после применения его к трем-четырем первым буквам криптограммы, поскольку полученные сочетания букв результата не имеют смысла в русском языке.

А значения k=13, 14, 15 отбрасываются вместе с первой полученной буквой результата, так как в русском языке нет слов, начинающихся с Ъ, Ы, Ь.

Шифр Цезаря обладает низкой стойкостью к взлому. Причина нестойкости шифров, подобных шифру Цезаря, обусловлена тем, что алфавит русского языка (да и любого другого естественного языка) имеет такое свойство: его буквы появляются в осмысленных текстах с разной вероятностью. В русских текстах чаще всего (с вероятностью 0.094) встречается буква О, а реже всего (с вероятностью 0.002) – буква Э. Имеют различные вероятности появления в осмысленных текстах и сочетания из двух букв (биграмм), из трех и более букв. В нашем примере Мюллер использовал тот факт, что большинство из полученных сочетаний букв имеют равную нулю вероятность появления в словах.

Взломать шифр Цезаря можно еще быстрее, если знать, что биграмма НН встречается чаще всех других пар одинаковых букв. В криптограмме имеем пару РР. Предположим, что в исходном сообщении ей отвечает пара НН. Проверка этого предположения сразу раскрывает значение ключа k. Для буквы Р значение n=16 получено по формуле (9.1) из номера m=13 для буквы Н:

16=(13+k)mod M. (9.3)

Функция (A)mod M принимает значения с периодом M=32. Поэтому уравнение (9.3) имеет бесконечное число решений. Первым из них будет то, которое получается при 13+k<M=32:

16=13+k, k=3. .

Следующее решение уравнения (9.3) отстоит от k=3 на величину M=32 и равно 35. Оно и все последующие решения лежат за пределами возможных значений k= и их отбрасывают. Применив значение k=3 к символам криптограммы, получаем осмысленный результат, то есть взламываем шифр.

Рассмотрим еще один пример. Юстас должен передать Алексу пятизначный номер ячейки камеры хранения, где для него вложена посылка. Положим, что в номерах ячеек одинаковые цифры не допускаются. Юстас зашифровывает номер с помощью шрифта Цезаря, приспособленного к алфавиту из десяти арабских цифр, а именно, теперь в формулах (9.1) и (9.2) используется модуль M=10. И пусть у Юстаса получилась такая криптограмма: 52481.

Таблица 9.3

k

результат

k

результат

0

52481

5

07936

1

41370

6

96825

2

30269

7

85714

3

29158

8

74603

4

18047

9

63592

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

Объясним этот феномен. В данный разряд номера можно записать:

  • или любую из десяти цифр, если все пять разрядов его еще пусты,

  • или любую из девяти цифр, если занят один из пяти разрядов,

  • или любую из восьми цифр, если заняты два из пяти разрядов,

  • или любую из семи цифр, если заняты три из пяти разрядов,

  • или любую из шести цифр, если свободен один из пяти разрядов.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]