
- •Предисловие
- •Введение
- •Раздел I основания математики Глава 1. Элементы теории множеств
- •1.1. Понятие множества
- •1.2. Операции над множествами
- •1.3. Аксиомы и теоремы алгебры множеств
- •Глава 2. Числа
- •2.1. Системы счисления
- •2.2. Классы чисел
- •2.3. Элементы статистической обработки данных
- •2.4. Алгоритмы решения вычислительных задач
- •Глава 3. Элементы математической логики
- •3.1. Понятие высказывания
- •3.2. Операции над высказываниями
- •2.3. Аксиомы и теоремы алгебры логики
- •Раздел II основы математического анализа Глава 4. Функции
- •4.1. Понятие функции
- •4.2. Аппроксимация функций
- •4.3. Предел функции
- •Глава 5. Основы дифференциального исчисления
- •5.1. Производная функции
- •5.2. Свойства дифференцируемых функций
- •5.3. Дифференциал функции
- •Глава 6. Основы интегрального исчисления
- •6.1. Определенный интеграл
- •6.2. Машинные алгоритмы вычисления определенных интегралов
- •Раздел III основы теории вероятностей Глава 7. Понятие вероятности
- •7.1. Элементы комбинаторики
- •7.2. Случайные события
- •7.3. Классическое определение вероятности
- •7.4. Теорема умножения вероятностей
- •7.5. Основные формулы теории вероятностей
- •Глава 8. Случайные величины
- •8.1. Понятие случайной величины
- •8.2. Законы распределения случайных величин
- •8.3. Числовые характеристики случайных величин
- •8.4. Канонические распределения случайных величин
- •8.5. Энтропия и информация
- •Раздел IV. Основные способы и методы защиты информации Глава 9. Основы криптографической защиты информации
- •9.1. Принципы и основные понятия криптографической защиты информации
- •9.2. Основные понятия и определения
- •Глава 10. Методы криптографической защиты информации
- •10.1. Методы перестановки
- •10.2. Метод гаммирования
- •Ответы к задачам
- •Раздел I.
- •Глава 1. Элементы теории множеств
- •Глава 2. Числа
- •Глава 3. Элементы математической логики
- •Раздел II. Основы математического анализа
- •Глава 4. Функции
- •Глава 5. Основы дифференциального исчисления
- •Глава 6. Основы интегрального исчисления
- •Раздел III. Основы теории вероятностей
- •Глава 7. Понятие вероятности
- •Глава 8. Случайные величины
- •Глава 9. Основы криптографической защиты информации
- •Глава 10. Методы криптографической защиты информации
- •Приложение тесты
- •Тест 1. Элементы теории множеств
- •Тест 4. Функции
- •Тест 5. Основы дифференциального исчисления
- •Определенный интеграл
- •Тест 7. Понятие вероятностй
- •Тест 8. Случайные величины
- •Тест 10. Методы криптографической защиты информации
- •Литература
- •Сведения об авторах
- •Королёв Владимир Тимофеевич, Ловцов Дмитрий Анатольевич,
- •Математика и информатика Часть первая
Глава 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 символа, а в таблице перестановок будет M5 строк, N7 столбцов, то есть MN35 ячеек. Значит, исходный текст представляет собою один блок, длина которого R=32 отвечает условиям (10.1): (M-1)´N28<32≤M´N35.
Таблица 10.6 |
|||||||
|
5 |
1 |
4 |
7 |
2 |
6 |
3 |
2 |
В |
Е |
Р |
Т |
И |
К |
А |
5 |
О |
В |
К |
И |
|
|
|
1 |
П |
Р |
И |
М |
Е |
Р |
Э |
3 |
Л |
Ь |
Н |
О |
Й |
Э |
П |
4 |
Е |
Р |
Е |
С |
Т |
А |
Н |
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 |
|
|
|
|
|
|
1. Разбиваем текст криптограммы на группы в соответствии с найденной структурой заполнения таблицы перестановок (табл. 10.9). В группах 1 и 2 будет по четыре символа, в группе 3 – пять, в группе 4 – четыре, в группе 5 – пять, в группе 6 – четыре символа.
Таблица 10.9 |
||||||||||||||||||||||||||
1 |
2 |
3 |
4 |
5 |
|
|||||||||||||||||||||
Ш |
Н |
Е |
А |
И |
О |
Р |
Н |
О |
З |
Т |
Э |
О |
Ф |
В |
Е |
И |
Й |
А |
А |
П |
В |
Р |
К |
С |
Е |
Таблица 10.10 |
||||||
|
3 |
5 |
1 |
2 |
4 |
6 |
5 |
О |
Й |
|
|
|
|
1 |
З |
А |
Ш |
И |
Ф |
Р |
4 |
Т |
А |
Н |
О |
В |
К |
2 |
Э |
П |
Е |
Р |
Е |
С |
3 |
О |
В |
А |
Н |
И |
Е |
ЗАШИФРОВАНИЕ ПЕРЕСТАНОВКОЙ .