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

Глава 10. Методы криптографической защиты информации

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

Рассмотренный нами шифр Цезаря с ключом k – пример моноалфавитной подстановки. Как мы уже знаем, симвлы исходного текста заменяются взятыми из одного и того же алфавита, которые сдвинуты на k позиций. Расшифровка криптограммы производится сдвигом на k позиций в обратном направлении. Этот метод отличается низкой стойкостью. Зашифрованный текст имеет те же статистические характеристики, что и исходный. Если в руках противника оказывается криптограмма достаточной длины, то он имеет возможность получить достоверные оценки вероятностей появления символов и взломать шифр. Количественно стойкость моноалфавитной подстановки оценивается в 20-30 символов. Поэтому она применяется лишь для шифрования коротких сообщений.

Изучим некоторые из методов криптографической защиты информации с высокой стойкостью.

10.1. Методы перестановки

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

Рассмотрим метод так называемой вертикальной перестановки. В этой системе шифрования используется прямоугольная таблица перестановок размером в M строк и N столбцов. Значения M и N секретны. Поэтому еще задают два секретных ключа. Ключ K1 длиною в M позиций, который представляет собою случайную последовательность натуральных чисел из ряда 1, 2,…, M. Числа ключа K1 нумеруют строки таблицы перестановок. Ключ K2 длиною в N позиций тоже представляет собою случайную последовательность натуральных чисел из ряда 1, 2,…, N. Числа ключа K2 нумеруют столбцы таблицы перестановок.

Стойкость шифра вертикальной перестановки определяется размером его таблицы перестановок. Количество ключей K1 равно числу перестановок из M элементов: PM=M! Количество ключей K2 равно числу перестановок из N элементов: PN=N! А общее пространство ключей у шифра вертикальной перестановки составляет M!´N! С увеличением длины L ключа величина L! резко возрастает, и уже при L=M=N=16 она составляет

16!´16!»1.4´1026»290.

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

Для зашифрования по методу вертикальной перестановки исходный текст разделяют на блоки длиною в R=M´N символов. При этом длина последнего из блоков может оказаться такой, что R<M´N.

Таблица перестановок заполняется по строкам. Для этого блок исходного текста разбивается на группы символов длиною в n=N символов. Если R=M´N, то таких групп ровно M. Группы нумеруются в естественном порядке 1, 2, …, M.

Когда последний блок окажется таким, что R<M´N, то в последней группе этого блока окажется n<N символов. Значения M и N подбирают так, чтобы в последнем блоке первые M-1 групп имели бы длину точно в N символов и только одна последняя группа номер M – длину в n<N символов. Для этого значения R, M и N для последнего блока должны отвечать условиям

(M-1)´N<R≤M´N. (10.1)

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

0. Создают заготовку таблицы перестановок размером в M строк и N столбцов. Слева от первого ее столбца записывают номера строк, заданные ключом K1, а над первой строкой – номера столбцов таблицы, заданные ключом K2.

1. Блок исходного текста разделяют на группы длиною в N символов каждая. Группы нумеруются в естественном порядке 1. 2….. M. Если R<M´N, то в последней группе с номером M окажется n<N символов.

2. Каждую группу символов записывают в свою строку таблицы перестановок, номер этой строки задан ключом K1.

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

При R<M´N в строке с номером M первые n ячеек будут заполнены символами последней группы блока исходного текста, а остальные N-n ячеек окажутся свободными. Их не следует заполнять даже произвольными символами алфавита. В противном случае длина блока зашифрованного текста будет больше длины блока исходного текста. А это в криптографии недопустимо.

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

Пример. Шифр вертикальной перестановки задан таблицей перестановок размером в 5 строк и 7 столбцов с ключами K1=2, 5, 1, 3, 4 и K2=5, 1, 4, 7, 2, 6, 3.

Зашифровать фразу

ПРИМЕР ВЕРТИКАЛЬНОЙ ПЕРЕСТАНОВКИ ,

в которой символ пробела заменить буквой Э.

В исходном тексте 32 символа, а в таблице перестановок будет M5 строк, N7 столбцов, то есть MN35 ячеек. Значит, исходный текст представляет собою один блок, длина которого R=32 отвечает условиям (10.1): (M-1)´N28<32≤M´N35.

Таблица 10.6

5

1

4

7

2

6

3

2

В

Е

Р

Т

И

К

А

5

О

В

К

И

1

П

Р

И

М

Е

Р

Э

3

Л

Ь

Н

О

Й

Э

П

4

Е

Р

Е

С

Т

А

Н

0. Создаем заготовку таблицы перестановок для заданного шифра (это пока пустая табл. 10.6).

1. Блок исходного текста разделяем на группы длиною в N символов (табл. 10.7). Как видим, первые четыре группы имеют длину по 7 символов, а пятая – 4 символа.

Таблица 10.7

1

2

3

4

5

П

Р

И

М

Е

Р

Э

В

Е

Р

Т

И

К

А

Л

Ь

Н

О

Й

Э

П

Е

Р

Е

С

Т

А

Н

О

В

К

И

2. Записываем группы символов блока исходного текста в строки таблицы перестановок в том порядке, который задает ключ K1 (табл. 10.6). Как видим, в строке номер 5 первые четыре ячейки заняты, а три последние остались свободными.

3. Считываем содержимое табл. 10.6 по столбцам в том порядке, который задан ключом K2 в один блок зашифрованного текста. Этот блок и будет криптограммой:

ЕВРЬРИЕЙТАЭПНРКИНЕВОПЛЕКАРЭАТИМОС .

Перед расшифрованием текст криптограммы разделяют на блоки зашифрованного текста, в каждом из которых R символов. Ключи K1 и K2, а значит, и значения M и N известны. Поэтому для последнего блока зашифрованного текста значение R условия (10.1) выполняются.

Отметим, что при R<M´N число n символов в последней группе исходного текста раскрывает структуру заполнения таблицы перестановок для этой группы: в строке номер M ее левые n ячеек будут заполнены, а остальные N-n ячеек свободны. Значит, и левые n столбцов таблицы будут полными, то есть все их ячейки заполнятся символами. Остальные N-n столбцов будут неполными, их ячейки в строке номер M будут свободны. Величину n вычисляют так:

n=(R)mod N.

При R=M´N окажется, что n=(R)mod N=0,

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

Алгоритм расшифрования блока зашифрованного текста длиною в R символов методом вертикальной перестановки задается такой последовательностью шагов.

0. Создают заготовку таблицы перестановок с номерами строк, заданных ключом K1 и номерами столбцов, заданными ключом K2.

Вычисляют значение n

n=(R)mod N,

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

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

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

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

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

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

ЕВРЬРИЕЙТАЭПНРКИНЕВОПЛЕКАРЭАТИМОС .

Убедиться в том, что получим табл. 10.6.

Пример. Расшифровать криптограмму

ШНЕАИОРНОЗТЭОФВЕИЙААПВРКСЕ ,

которая получена зашифрованием исходного текста шифром вертикальной перестановки, заданным таблицей перестановок размером 5´6, а также ключами K1=5, 1, 4, 2, 3 и K2=3, 5, 1, 2, 4, 6.

В криптограмме 26 символов, а в таблице перестановок 30 ячеек. Значит, криптограмма представляет собою один блок зашифрованного текста, длина которого R=26 отвечает условиям (10.1): 24<26≤30.

Действуем в соответствии с алгоритмом расшифрования блока зашифрованного текста.

0. Создаем заготовку таблицы перестановок.

Вычисляем

n=(26)mod 6=2,

Таблица 10.8

3

5

1

2

4

6

5

1

4

2

3

и определяем структуру заполнения таблицы перестановок. В ней будут заполнены заштрихованные ячейки так: столбцы с номерами 3 и 5 будут полными высотою по 5 ячеек, а остальные столбцы – неполными высотой по 4 ячейки (табл. 10.8).

1. Разбиваем текст криптограммы на группы в соответствии с найденной структурой заполнения таблицы перестановок (табл. 10.9). В группах 1 и 2 будет по четыре символа, в группе 3 – пять, в группе 4 – четыре, в группе 5 – пять, в группе 6 – четыре символа.

Таблица 10.9

1

2

3

4

5

Ш

Н

Е

А

И

О

Р

Н

О

З

Т

Э

О

Ф

В

Е

И

Й

А

А

П

В

Р

К

С

Е

2. Записываем каждую группу символов в свой столбец, номер которого задает ключ K1 (табл. 10.9.

Таблица 10.10

3

5

1

2

4

6

5

О

Й

1

З

А

Ш

И

Ф

Р

4

Т

А

Н

О

В

К

2

Э

П

Е

Р

Е

С

3

О

В

А

Н

И

Е

3. Считываем содержимое табл. 10.10 по строкам в той последовательности, которая задана ключом K2 в блок расшифрованного текста (в котором символ Э заменяем на символ пробела):

ЗАШИФРОВАНИЕ ПЕРЕСТАНОВКОЙ .

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