- •Министерство образования и науки российской федерации федеральное агентство по образованию
- •Захарова ю.Ф. Дискретная математика и ее приложения
- •Введение
- •Глава 1. Введение в теорию множеств.
- •1.1. Основные определения.
- •1.2. Задание множеств
- •1.3. Операции над множествами
- •1.4. Разбиения и покрытия
- •1.5. Представление множеств в эвм.
- •1.5.1. Включение множеств.
- •1.5.2. Объединение множеств.
- •1.5.3. Пересечение множеств.
- •Глава 2. Булева алгебра.
- •2.1. Основные элементарные функции.
- •2.2. Основные элементарные тождества.
- •2.3. Формы представления булевых функций.
- •2.4. Минимизация булевых функций.
- •2.4.1. Метод Куайна.
- •2.4.2. Метод Карно.
- •Глава 3. Исчисление высказываний и исчисление предикатов.
- •3.1. Исчисление высказываний.
- •3.2. Исчисление предикатов.
- •Глава 4. Теория сжатия текстовой информации.
- •4.1. Метод Хаффмена
- •4.1.1. Общие положения
- •4.1.2. Краткое описание метода Хаффмена.
- •4.1.3. Пример использования метода Хаффмена.
- •4.2. Метод Зива Лемпеля (lz-метод)
- •4.2.1. Основные определения
- •4.2.2. Краткое описание lz-метода
- •4.2.3. Пример lz-метода
- •4.3. Метод Зива-Лемпеля-Велча (lzw-метод)
- •4.3.1. Общие положения
- •4.3.2. Краткое описание lzw-метода
- •4.3.3. Пример lzw-метода.
- •4.4. Метод Барроуза-Уиллера.
- •4.4.1. Общие положения.
- •4.4.2. 1 Этап. Преобразование Барроуза-Уилера.
- •4.4.3. 2 Этап. Mtf–метод.
- •4.4.4. 3 Этап. Статистический кодер.
- •4.4.5. Модификации различных этапов.
- •4.4.6. Сравнение алгоритмов сжатия на базе bwt с другими методами.
- •Глава 5. Теория сжатия графической информации. Введение.
- •5.2. Волновой метод (wavelet-метод)
- •5.2.1. Описание метода
- •5.2.2. Пример волнового метода
- •5.3. Дискретное косинус-преобразование (дкп-метод).
- •5.3.1. Описание метода.
- •5.3.2. Пример дкп-метода.
- •5.4. Классический алгоритм jpg.
- •5.5. Фрактальный алгоритм.
- •Глава 6. Введение в криптографию. Введение.
- •6.1. Методы перестановки
- •6.1.1. Матрицы
- •6.1.2. Маршруты Гамильтона
- •6.1.3. Электрический монтаж
- •6.1.4. Особенности перестановки
- •6.2. Методы подстановки
- •6.2.1. Вектор замен
- •6.2.2. Таблицы Вижинера
- •6.3. Метод замены. Использование алгебры матриц.
- •6.4. Аддитивные методы
- •6.5. Стеганология
- •6.6. Ключ. Основные понятия, связанные с ключом и алгоритмом.
- •6.6.1. Основные понятия.
- •6.6.2. Ключ.
- •6.6.3. Случайные и псевдослучайные числа.
- •6.6.4. Действия по шифрованию информации.
- •6.7. Блочные и поточные шифры.
- •6.8. Алгоритмы des, Triple des и их заменяющие.
- •6.8.2. Алгоритм Triple des
- •6.8.3. Коммерческие алгоритмы, заменившие des
- •6.9. Системы с открытым ключом.
- •6.10. Электронная подпись.
- •6.11. Взлом защищенных файлов.
- •6.11.1. Атака на ключ
- •6.11.2. Атака на алгоритм.
- •6.11.3. Скомпрометированный пароль.
- •6.11.4. Подделка открытых ключей.
- •6.11.5. Не до конца удаленные файлы.
- •6.11.6. Вирусы и закладки.
- •6.11.7. Виртуальная память.
- •6.11.8. Нарушение режима физической безопасности. Радиоатака. Фальшивые даты подписи.
- •6.11.10. Утечка информации в многопользовательской среде.
- •Содержание
- •Глава 6. Введение в криптографию. 1
6.3. Метод замены. Использование алгебры матриц.
Частным случаем метода замены, обеспечивающим надежное шифрование информации, является использование алгебры матриц (например правила умножения матрицы на вектор). Это правило, как известно, заключается в следующем:
В соответствии с этим правилом, матрицу можно использовать в качестве основы для шифрования, знаками вектора b могут быть символы шифруемого текста, а знаками вектора результаты с — символы зашифрованного текста. Для шифрования буквенных сообщений необходимо прежде всего заменить знаки алфавита их цифровыми эквивалентами, которым может быть порядковый номер буквы в алфавите.
Для дешифрования используются те же правила умножения матрицы на вектор, только в качестве основы берется обратная матрица, а в качестве умножаемого вектора — соответствующее количество чисел шифрованного текста. Цифрами вектора-результата будут цифровые эквиваленты знаков исходного текста.
Процедуры шифрования и дешифрования строго формализованы, что позволяет сравнительно легко запрограммировать их для автоматической реализации в ЭВМ. Причем важно, что шифрование и дешифрование осуществляются по одной процедуре умножения матрицы на вектор, т.е. для них можно использовать одну и ту же программу. Недостатком же является то, что для шифрования и дешифрования каждой буквы требуется выполнить несколько арифметических операций, что увеличивает время обработки информации.
6.4. Аддитивные методы
В качестве ключа в аддитивных методах используется некоторая последовательность букв того же алфавита и такой же длины, что и в исходном тексте. Шифрование выполняется путем сложения символов исходного текста и ключа по модулю, равному числу букв в алфавите (так, если используется двоичный алфавит, то производится сложение по модулю 2).
Примером такого же метода является гаммирование — наложение на исходный текст некоторой последовательности кодов, называемой гаммой. Процесс наложения осуществляется следующим образом:
символы исходного текста и гамма представляются в двоичном коде и располагаются один под другим
каждая пара двоичных знаков заменяется одним двоичным знаком шифрованного текста в соответствии с принятым алгоритмом
полученная последовательность двоичных знаков шифрованного текста заменяется символами алфавита в соответствии с выбранным кодом
Если ключ шифрования выбирается случайным образом, например формируется с помощью датчика псевдослучайных чисел, то раскрыть информацию, не зная ключа практически невозможно.
Однако на практике длина ключа ограничена возможностями вычислительной техники и аппаратуры обмена данными, а именно выделяемыми объемами памяти, временем обработки сообщения, а так же возможностями аппаратуры подготовки и записи кодов ключей.
6.5. Стеганология
Этот метод шифрования позволяет прятать сообщения в файлы .bmp, .gif, .wav и предназначен для тех случаев, когда автор сообщения не хочет, чтобы у кого-то создалось впечатление, что он использует криптографические средства. Пример такой программы — S-tools Энди Брауна. Она очень проста в применении. Внешне графический файл остается практически неизменным, лишь кое-где меняются оттенки цвета. Причем, без знания определенного ключевого слова, никто не может быть уверенным, что в картинке зашифрован текст.
Для большей безопасности следует использовать неизвестные широкой публике изображения, изменения в которых не бросятся в глаза с первого взгляда, а так же изображения с большим числом полутонов, оттенков и плавных переходов цвета. Поэтому лучше не использовать, например, картину "Танец" Матисса, т.к. все знают как она выглядит, да к тому же содержит большие зоны одного цвета. А вот фотография собаки вполне подойдет.
