- •Министерство образования и науки российской федерации федеральное агентство по образованию
- •Захарова ю.Ф. Дискретная математика и ее приложения
- •Введение
- •Глава 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.8.3. Коммерческие алгоритмы, заменившие des
В ответ на проблемы с длиной ключа и производительностью, проявившиеся в Triple DES, многие криптографы и компании разработали новые блочные шифры. Наиболее популярными предложениями стали алгоритмы RC2 и RC5 корпорации RSA Data Security, IDEA компании Ascom, Cast компании Entrust, Safer компании Cylink и Blowfish компании Counterpane Systems.
Все эти алгоритмы были более быстрыми, чем Triple DES, и они могли работать с ключами большей длины и даже ключами переменной длины. В то время как DES и Triple DES требуют применения ключей определенной длины, новые алгоритмы позволяют использовать ключи различной длины. Вспомните, что нужно выбрать достаточно длинный ключ, чтобы сделать вашу систему неприступной для атак прямого перебора ключей или, по крайней мере, существенно снизить вероятность успеха таких атак. Когда-то считалось, что 56-битный ключ достаточно надежен. Однако настал момент, когда ключи такой длины уже не обеспечивали достаточную степень защиты, так что стал применяться 64-битный ключ. В DES нельзя увеличить длину ключа, коммерческие алгоритмы, пришедшие ему на смену, могут это делать.
Различные коммерческие альтернативы DES получили определенное распространение, и компании стали создавать программные продукты с использованием этих алгоритмов. Но ни один из них не стал стандартом, как DES и Triple DES.
В ответ на это Правительство США через Национальный институт стандартов и технологий (NIST) поставило задачу создать новый стандарт. Идея состояла в том, чтобы сделать определенный алгоритм государственным стандартом США. Предполагалось, что после принятия стандарта Правительством США, другие страны также последуют этому примеру.
План Национального института стандартов и технологий был официально объявлен 2 января 1997 г., когда было предложено представить алгоритмы для утверждения в качестве нового стандарта под названием AES. В качестве условия для участия в процессе создания AES разработчики должны были отказаться претендовать на право интеллектуальной собственности на выбранный в качестве стандарта алгоритм. Многие разработчики и компании выразили свое согласие, и 20 августа 1998 г. NIST назвал 15 кандидатов.
Следующий этап заключался в анализе алгоритмов специалистами. Критериями были отсутствие слабых мест в алгоритме, производительность (он должен был достаточно быстро работать на различных платформах) и требуемые ресурсы (алгоритм должен был быть достаточно просто реализуем и не использовать много памяти). Многие из 15 исходных алгоритмов не выдержали испытаний. В них были обнаружены слабые места, а некоторые из них оказались слишком громоздкими либо слишком медлительными в работе.
В августе 1999 г. NIST сократил список до пяти кандидатов. В течение следующего года исследователи, криптоаналитики и поставщики аппаратного и программного обеспечения тестировали алгоритмы, чтобы определить, какой из них является наилучшим. Было опубликовано множество статей и масса отчетов, посвященных сравнению претендентов между собой. Каждый из них имел свои сильные и слабые стороны.
Наконец, 2 октября 2000 г. NIST объявил победителя: им стал алгоритм под названием Rijndael, разработанный двумя бельгийскими исследователями: Винсентом Риджменом и Джоаном Дименом.
С этого момента алгоритм AES стал свободно доступен для реализации, применения и продажи. Как и DES, предполагалось, что AES станет международным стандартом. Можно ожидать, что в ближайшие годы это произойдет.
