
- •Оглавление
- •Глава 5. Основы математической теории информации 58
- •Глава 6. Элементы теории чисел 74
- •6.2.1. Основные определения 83
- •Глава 7. Алгебраические структуры 87
- •Введение
- •Глава 1.Введение
- •1.1.Основные понятия криптографии
- •1.1.1.История развития криптографии
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •1.1.2.Сложность алгоритмов
- •1.1.3.Стойкость криптографических систем
- •Глава 2.Элементы теории множеств
- •2.1.Основные понятия теории множеств
- •2.1.1.Обозначения и способы задания множеств
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •2.1.2.Операции над множествами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •2.1.3.Прямое произведение множеств
- •П римеры решения задач
- •Задачи для самостоятельного решения
- •2.2.Отношения между множествами
- •2.2.1.Определение бинарных отношений
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •2.2.2.Представление бинарных отношений в виде графа, матрицы
- •Примеры решения задач
- •Построенная таблица есть таблица бинарного отношения. Задачи для самостоятельного решения
- •2.2.3.Свойства бинарных отношений, отношение эквивалентности
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Вопросы для повторения
- •Глава 3.Булева алгебра
- •3.1.Булевы функции
- •3.1.1.Понятие булевой функции
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.1.2.Суперпозиция функций
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.1.3.Двойственные функции
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.1.4.Логические схемы
- •Примеры решения задач
- •3.2.Нормальные формы
- •3.2.1.Разложение функций по переменным
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.2.2.Минимизация нормальных форм, карты Карно
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Полиномы Жегалкина, алгоритм их построения для произвольных функций
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •3.3.Полные системы функций
- •3.3.1.Полнота множества функций
- •Примеры решения задач
- •Глава 4.Элементы теории графов
- •4.1.Основные понятия теории графов
- •4.1.1.Способы задания графов, основные определения
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.2.Числовые характеристики графов
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.3.Операции с графами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.4.Изоморфизм графов
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.6.Расстояния в графе, центры графа
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.7.Эйлеровы циклы
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.8.Алгоритм построения Эйлерова цикла
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.9.Гамильтоновы циклы
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.1.10.Алгоритм построения гамильтонова цикла в графе
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.2.2.Алгоритм Краскала для построения минимального остовного дерева
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •4.2.3.Обходы дерева
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Задачи для повторения
- •Вопросы для повторения
- •Глава 5.Основы математической теории информации
- •5.1.Меры информации
- •5.1.1.Мера Хартли
- •Примеры решения задач
- •5.1.2.Мера Шеннона
- •Примеры решения задач
- •5.1.3.Единицы измерения количества информации
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.2.2.Код Хаффмана
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.3. Помехоустойчивое кодирование
- •5.3.1. Код с проверкой на четность
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.3.2.Коды с повторением
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.3.3.Групповой код Хемминга
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •5.3.4.Помехозащищенность кода
- •Примеры решения задач
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.2.Теорема о делении с остатком. Алгоритм Евклида
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.3.Отношение сравнимости
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.4.Алгебра вычетов
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.5.Решение сравнений вида ахb(mod m)
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.6.Применение алгебры вычетов к простейшим шифрам
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.1.7.Построение и использование хеш-функций
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Задачи для повторения
- •6.2.Алгебра многочленов
- •6.2.1.Основные определения
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •6.2.2.Нод многочленов
- •Примеры решения задач
- •Задачи для самостоятельного решения.
- •6.2.3.Разложение многочлена на множители
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Вопросы для повторения
- •Глава 7.Алгебраические структуры
- •7.1.Основные понятия и свойства алгебраических структур
- •7.1.1.Алгебра
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.1.2.Группа
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.1.3.Кольцо
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.1.4.Поле
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.1.5.Конечные поля
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.2.Многочлены над конечными полями
- •7.2.1.Каноническое разложение многочлена
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.2.2.Порядок многочлена над конечным полем
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.2.3.Сравнение многочленов по данному модулю
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.2.4.Поиск неприводимых многочленов поля gf(g(X)) над полем gf(р)
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.3.Генераторы псевдослучайных последовательностей
- •7.3.1.Понятие псевдослучайной последовательности чисел
- •7.3.2.Практические методы получения псевдослучайных чисел
- •Задачи для самостоятельного решения
- •7.3.3.Понятие линейной последовательности
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.3.4. Периодичность линейных рекуррентных последовательностей
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •7.3.5.Связь линейных рекуррентных последовательностей над конечными полями с многочленами
- •Примеры решения задач
- •Задачи для самостоятельного решения
- •Вопросы для повторения
- •214018, Г. Смоленск, проспект Гагарина, 56, т.: (0812) 55 – 41 – 04.
Введение
В настоящее время особое внимание уделяется активизации студентов, повышению качества подготовки специалистов. Однако пока ощущается дефицит учебных пособий, соответствующих программе СПО и предназначенных для самостоятельной работы. Предлагаемое пособие, адресованное студентам специальности 2206.02 «Защита информации в автоматизированных системах» в какой-то мере восполняет этот пробел.
Дисциплина «Математические основы защиты информации» для студентов данной специальности относится к числу общепрофессиональных предметов, формирующих базовый уровень знаний, необходимых для изучения других дисциплин.
В сравнительно небольшом объеме пособия приводятся основные теоретические сведения, даются подробные решения типовых задач, многие из которых носят прикладной характер. В каждом параграфе предлагаются задачи для самостоятельного решения. Такое построение книги предоставляет студентам широкие возможности для активной самостоятельной работы и будет экономить их время, а также окажет пользу при выполнении типовых расчетов.
Пособие написано в соответствии со стандартом специальности 2206.02 и охватывает следующие разделы программы: множества, отношения, булевы функции, основы теории графов, элементы теории чисел, отношение сравнимости, основные понятия и свойства алгебраических структур, элементы кодирования информации и генераторы псевдослучайных последовательностей. Особое внимание при этом уделялось математическим задачам, играющим существенную роль при изучении смежных дисциплин.
Работа читателя над книгой будет более успешной при условии основательного изучения теоретического материала, относящегося к соответствующему параграфу, последующего разбора решенных примеров и обязательного закрепления приобретенных знаний путем решения задач, предназначенных для самостоятельной работы.
Глава 1.Введение
1.1.Основные понятия криптографии
1.1.1.История развития криптографии
В истории развития криптографии можно условно выделить три основных этапа. Первый период - эра донаучной криптологии, являющейся уделом узкого круга искусных умельцев. Началом второго периода можно считать 1949 год, когда появилась работа известного американского ученого Клода Шеннона «Теория связи в секретных системах». В этой работе проведено фундаментальное научное исследование шифров и вопросов их стойкости, благодаря чему криптология оформилась как прикладная математическая наука. Третий период связывают с появлением в 1976 году работы У. Диффи и М. Хеллмана «Новые направления в криптографии», где показано, что секретная связь возможна без предварительной передачи секретного ключа.
Один из самых древних шифротекстов, написанных клинописью, был обнаружен в Месопотамии и датируется XX веком до н.э. Известны также древнеегипетские религиозные и медицинские шифротексты. В середине IX века до н.э. использовалось шифрующие устройство - скиталь для получения шифра перестановки. Ключом в этом случае являлся диаметр этого цилиндра.
В начале нашей эры в 56 году н.э. во время войны с галлами Юлий Цезарь использует шифр простой замены. Более сложной разновидностью шифра замены является «квадрат Полибия». В XVI веке н.э. французский дипломат Вижинер предложил оригинальный шифр сложной замены, получивший впоследствии название системы Виженера.
В тоже время Ф. Бекон впервые предложил представление букв алфавита пятизначным двоичным кодом: А - 00001, Б - 00010… Такой способ шифрования обладал слабой стойкостью, однако эта идея, через три столетия легла в основу электрической и электронной связи на основе кодов Морзе, Бодо, телеграфных кодов.
Известный математик К. Гаусс в 18 - 19 веках создал шифр с многократной подстановкой или равночастный шифр. В нашем столетии американский ученый Вернам предложил систему побитового шифрования открытого текста, представленного телеграфным двоичным кодом, когда каждый бит преобразуется с использованием бита ключа по алгоритму сложения по модулю два.
В последнее время широкое распространение получили криптосистемы с открытым ключом, или двух ключевые криптосистемы или асимметричные криптосистемы, в то время как обычные криптосистемы с секретным ключом называют симметричными криптосистемами. Принципы построения таких криптосистем и лежащих в их основе криптоалгоритмов рассмотрим далее.