
- •Содержание
- •6. Элементарные двоичные переключательные функции
- •7. Основные законы булевой алгебры и преобразование
- •Приложение 2. Варианты контрольных заданий по дисциплине
- •Предисловие
- •Дискретная математика
- •1. Множества и алгебраические системы. Булевы алгебры
- •1.1. Основные понятия теории множеств
- •1.2. Основные операции над множествами
- •1.3. Декартово произведение множеств
- •1.4. Соответствия и функции
- •1.5. Отношения
- •1.6. Использование множеств в языке Паскаль
- •2. Элементы общей алгебры
- •2.1. Операции на множествах
- •2.2. Группа подстановок Галуа
- •2.3. Алгебра множеств (алгебра Кантора)
- •2.4. Алгебраические системы. Решетки
- •2.5. Задание множеств конституентами
- •2.6. Решение уравнений в алгебре множеств.
- •3. Элементы комбинаторики
- •3.1. Комбинаторные вычисления
- •3.2. Основные понятия комбинаторики
- •3.3. Размещения
- •3.4. Перестановки
- •3.5. Сочетания
- •3.6. Треугольник Паскаля.
- •3.7. Бином Ньютона
- •3.8. Решение комбинаторных уравнений
- •4. Основные понятия теории графов
- •4.1. Способы задания графов
- •4.2. Характеристики графов
- •4.3. Понятие о задачах на графах
- •4.4. Задача о Ханойской башне
- •5. Переключательные функции и способы их задания
- •5.1. Понятие о переключательных функциях
- •5.2. Двоичные переключательные функции и способы их задания
- •5.3. Основные бинарные логические операции
- •5.4. Понятие о переключательных схемах и технической реализации переключательных функций
- •5.5. Использование логических операций в теории графов
- •6. Элементарные двоичные переключательные функции и функциональная полнота систем переключательных функций
- •6.1. Элементарные переключательные функции одной переменной
- •6.2. Элементарные переключательные (логические) функции двух переменных
- •6.3. Функциональная полнота систем переключательных функций
- •6.4. Базисы представления переключательных функций
- •6.5. Пример анализа и определения свойств пф, заданной десятичным номером
- •7. Основные законы булевой алгебры и преобразование переключательных функций
- •7.1. Основные законы булевой алгебры переключательных функций
- •7.2. Равносильные преобразования. Упрощение формул алгебры переключательных функций
- •7.3. Преобразование форм представления переключательных функций
- •8. Минимизация переключательных функций
- •8.1. Цель минимизации переключательных функций
- •8.2. Основные понятия и определения, используемые при минимизации
- •8.3. Аналитические методы минимизации переключательных функций
- •8.4. Минимизация переключательных функций по картам Карно
- •8.5. Метод поразрядного сравнения рабочих и запрещенных наборов
- •Минимизация переключательных функций на основе поразрядного сравнения рабочих и запрещенных восьмеричных наборов.
- •8.6. Минимизация переключательных функций, заданных в базисе {, и, не}
- •8.7. Минимизация систем переключательных функций
- •8.8. Минимизация переключательных функций методом неопределенных коэффициентов
- •9. Понятие об автомате и его математическом описании
- •9.1. Основные определения теории конечных автоматов
- •9.2. Описание конечных детерминированных автоматов
- •9.3. Понятие о технической интерпретации конечных автоматов
- •9.4. Синтез комбинационных автоматов в заданном базисе
- •9.5. Булева производная
- •9.6. Элементарные автоматы памяти на основе комбинационного автомата и задержки
- •9.7. Синтез автомата – распознавателя последовательности
- •10. Элементы теории кодирования
- •10.1. Понятие о кодировании
- •10.2. Системы счисления, как основа различных кодов
- •10.3. Понятие о помехоустойчивом кодировании
- •10.4. Кодирование по Хэммингу
- •10.5. Кодирование с использованием циклических кодов и математического аппарата умножения и деления полиномов. Сигнатурный анализ
- •10.6. Понятие о криптографической защите информации
- •10.7. Понятие о сжатии информации
10.6. Понятие о криптографической защите информации
Шифрование – это кодирование данных с целью их защиты от несанкционированного доступа [26, 36]. Для этого применяют специальные шифры. Область знаний о шифрах и методах их создания и раскрытия называется криптографией (тайнописью). Свойство шифра противостоять раскрытию называется криптостойкостью. Если раскрытие шифра стоит больше, чем сама зашифрованная информация, то шифр считается надежным. Криптография известна с глубокой древности.
Для шифрования могут использоваться алгоритмы поразрядного сложения по модулю 2 соответствующей двоичной информации с так называемым секретным ключом-секретным двоичным набором. Этот ключ знает отправитель и получатель. Дешифрация производится таким же поразрядным сложением полученной зашифрованной двоичной информации. Такое кодирование называется кодированием с закрытым ключом.
Для шифрования могут также использоваться алгоритмы и узлы умножения и деления полиномов: если полином достаточно сложен, то выходной код имеет исключительно отдаленное сходство с истинным кодом. Это тоже кодирование с закрытым ключом.
В настоящее время производительность компьютеров достигла такой величины, что можно «взломать» закрытые ключи, т.е. подобрать соответствующие кодовые комбинации и расшифровать конфиденциальную информацию. Поэтому сейчас переходят на так называемые алгоритмы шифрования с открытым ключом, строящиеся на основе простых чисел, т.е. чисел, которые делятся без остатка только на себя и на единицу.
Открытый ключ (public key) известен всем, он не зашифрован. Сообщение шифруется с помощью открытого ключа. Для дешифрации же нужен еще и закрытый ключ (private key), который знают только отправитель и получатель. Это как два ключа для двери: один для закрытия – он есть у всех, другой для открытия, который есть только у «хозяина». Чтобы вычислить закрытый ключ, необходимо произвести разложение на множители очень большого числа (более 100 десятичных цифр). Сейчас это требует годы работы суперкомпьютеров! Хотя подбор простого числа в 100 десятичных цифр (для получения открытого ключа) занимает всего лишь минуты.
Схема кодирования с открытым ключом обратима – сообщение шифруется закрытым ключом, а расшифровывается открытым. То есть можно подтвердить личность отправителя, ведь послать сообщение может только обладатель секретного, закрытого ключа. Зато прочитать его может кто угодно, ведь открытый ключ известен всем. На этом основано построение так называемой электронной подписи, удостоверяющей личность отправителя.
10.7. Понятие о сжатии информации
В теории кодирования рассматривают сжатие без потери информации и сжатие с потерей информации, когда эта потеря несущественна, то есть когда потерянной информацией можно пренебречь [26, 36]. В настоящее время для кодирования буквенно-цифровой информации применяют так называемый американский стандартный код ASCII, когда используется байт, например, для кодирования каждой буквы или символа. В обычном тексте частота появления букв различная. Поэтому для сжатия текста можно закодировать часто встречающиеся символы более короткой последовательностью битов (менее 8), а редко встречающиеся символы могут кодироваться и более чем восемью битами. Кроме того, в обычном тексте, как правило, встречается менее чем 28=256 символов. Если кодировать не буквы, а слова, то двумя байтами можно закодировать 216=65536 слов. Этого более чем достаточно, ведь, как правило, в слове больше двух букв. Сейчас переходят на двухбайтное кодирование.
При сжатии информации учитывают также наличие нескольких одинаковых подряд следующих байтов, которые могут повторяться многократно. Так при сжатии видеоинформации, например, цвет голубого неба на картине повторяется многократно. В тексте часто повторяются последовательности байтов, например, пробелы.
На учете этих факторов основаны алгоритмы группового кодирования.
Более сложные алгоритмы сжатия строятся на основе замены уже встречавшихся ранее в последовательности, одинаковых групп символов – триадами, каждая из которых содержит: указатель на группу, длину совпадающей группы и первый отличающийся символ, идущий за группой.