6.4. Комбинирование алгоритмов блочного шифрования
Как было указано выше, алгоритм шифрования DES сегодня уже не является достаточно стойким. Возникает естественный вопрос: нельзя ли использовать его в качестве строительного блока для создания другого алгоритма с более длинным ключом? Уже в 80-х годах была предложена идея многократного шифрования, т.е. использования блочного алгоритма несколько раз с разными ключами для шифрования одного и того же блока открытого текста.
Рассмотрим двукратное шифрование блока открытого текста с помощью двух разных ключей. В этом случае сначала шифруют блок М ключом k1, а затем получившийся шифртекст Еk1(М) шифруют ключом k2. В результате двукратного шифрования получают криптограмму
С = Еk2(Еk1(М)).
Если множество преобразований, реализуемых блочным шифром, является группой (относительно операции композиции преобразований), то всегда найдется такой ключ k, что С = Еk(М). В таком случае двукратное шифрование не дает преимущества по сравнению с однократным шифрованием. В противном случае после двукратного шифрования нужно будет определять оба использованных ключа. Следовательно, трудоемкость перебора ключей по сравнению с однократным шифрованием возводится в квадрат.
Известно, что множество преобразований, реализуемых полной схемой DES, не образует группу. Там же показано, что множество преобразований DES порождает группу подстановок (степени 264), мощность которой превышает число 102499. Поэтому многократное шифрование с помощью DES имеет смысл.
Возможны варианты двойного и тройного шифрования с использованием алгоритма DES. В одном из них предлагается шифровать блок М открытого текста три раза с помощью двух ключей k1 и k2. Уравнение шифрования в этом случае имеет вид С = Еk1(Dk2(Еk1(М))). Введение в такую схему операции расшифрования Dk2 обеспечивает совместимость схемы со схемой однократного использования DES. Для этого достаточно выбрать одинаковые ключи.
При трехкратном шифровании можно применить три различных ключа. Уравнение шифрования в этом случае принимает вид С = Еk3(Dk2(Еk1(М))). При этом возрастает общая длина результирующего ключа и соответственно возрастает стойкость шифра. Следует отметить, что такое возрастание не может быть безграничным, оно происходит до тех пор, пока суммарное число ключей (256-s) не превзойдет общее число преобразований, реализуемых схемой, то есть общее число простых замен, "из которых состоит" данный шифр замены.
- Криптографическая защита информации
- Оглавление
- Раздел 1. Общие подходы к криптографической защите информации
- Тема 1. Теоретические основы криптографии
- 1.1. Криптография
- 1.2. Управление секретными ключами
- 1.3. Инфраструктура открытых ключей.
- 1.4. Формальные модели шифров
- 1.5. Модели открытых текстов
- Тема 2. Простейшие и исторические шифры и их анализ
- Тема 3. Математические основы криптографии
- 3.1. Элементы алгебры и теории чисел
- 3.1.1. Модулярная арифметика. Основные определения.
- 3.1.2. Алгоритм Евклида нахождения наибольшего общего делителя
- 3.1.3. Взаимно простые числа
- 3.1.4. Наименьшее общее кратное
- 3.1.5. Простые числа
- 3.1.6. Сравнения
- 3.1.7. Классы вычетов
- 3.1.8. Функция Эйлера
- 3.1.9. Сравнения первой степени
- 3.1.10. Система сравнений первой степени
- 3.1.11. Первообразные корни
- 3.1.12. Индексы по модулям рk и 2рk
- 3.1.13. Символ Лежандра
- 3.1.14. Квадратичный закон взаимности
- 3.1.15. Символ Якоби
- 3.1.16. Цепные дроби
- 3.1.17. Подходящие дроби
- 3.1.18. Подходящие дроби в качестве наилучших приближений
- 3.2. Группы
- 3.2.1. Понятие группы
- 3.2.2. Подгруппы групп
- 3.2.3. Циклические группы
- 3.2.4. Гомоморфизмы групп
- 3.2.5. Группы подстановок
- 3.2.6. Действие группы на множестве
- 3.3. Кольца и поля
- 3.3.1. Определения
- 3.3.2. Подкольца
- 3.3.3. Гомоморфизмы колец
- 3.3.4. Евклидовы кольца
- 3.3.5. Простые и максимальные идеалы
- 3.3.6. Конечные расширения полей
- 3.3.7. Поле разложения
- 3.3.8. Конечные поля
- 3.3.9. Порядки неприводимых многочленов
- 3.3.10. Линейные рекуррентные последовательности
- 3.3.11. Последовательности максимального периода
- 3.3.12. Задания
- Тема 4. Классификация шифров
- 4.1. Классификация шифров по типу преобразования
- 4.2. Классификация шифров замены
- 4.3 Шифры перестановки
- 4.3.1. Маршрутные перестановки
- 4.3.2. Элементы криптоанализа шифров перестановки
- 4.4. Шифры замены
- 4.4.1. Поточные шифры простой замены
- 4.4.2. Криптоанализ поточного шифра простой замены
- 4.4.3. Блочные шифры простой замены
- 4.4.4. Многоалфавитные шифры замены
- 4.4.5. Дисковые многоалфавитные шифры замены
- 4.5. Шифры гаммирования
- 4.5.1. Табличное гаммирование
- 4.5.2. О возможности восстановления вероятностей знаков гаммы
- 4.5.3. Восстановление текстов, зашифрованных неравновероятной гаммой
- 5.5.4. Повторное использование гаммы
- 4.5.5. Криптоанализ шифра Виженера
- Тема 5. Поточные шифры
- 5.1. Принципы построения поточных шифрсистем
- Примеры поточных шифрсистем
- 5.3. Линейные регистры сдвига
- 5.4. Алгоритм Берлекемпа-Месси
- 5.5. Усложнение линейных рекуррентных последовательностей
- 5.6. Методы анализа поточных шифров
- 6. Блочные шифры
- 6.1. Принципы построения блочных шифров
- 6.2. Примеры блочных шифров
- 6.3. Режимы использования блочных шифров
- 6.4. Комбинирование алгоритмов блочного шифрования
- 6.5. Методы анализа алгоритмов блочного шифрования
- 6.6. Рекомендации по использованию алгоритмов блочного шифрования
- 7. Криптографические хэш-функции
- 7.1. Функции хэширования и целостность данных
- 7.2. Ключевые функции хэширования
- 7.3. Бесключевые функции хэширования
- 7.4. Целостность данных и аутентификация сообщений
- 7.5. Возможные атаки на функции хэширования
- Тема 8. Криптосистемы с открытым ключом
- 8.1. Шифрсистема rsa
- 8.2. Шифрсистема Эль-Гамаля
- 8.3. Шифрсистема Мак-Элиса
- 8.4. Шифрсистемы на основе "проблемы рюкзака"