- •Криптографическая защита информации
- •Оглавление
- •Раздел 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. Шифрсистемы на основе "проблемы рюкзака"
6.3. Режимы использования блочных шифров
Для решения разнообразных криптографических задач блочные шифры используют в нескольких режимах работы. Рассмотрим этот вопрос на примере шифра DES.
Алгоритм DES может использоваться в следующих четырех режимах:
-
режим электронной кодовой книги (ЕСВ – Electronic Code Book);
-
режим сцепления блоков (СВС – Cipher Block Chaining);
-
режим обратной связи по шифртексту (CFB – Cipher Feed Back);
-
режим обратной связи по выходу (OFB – Output Feed Back).
Режим электронной кодовой книги (ЕСВ) отвечает обычному использованию DES как блочного шифра, осуществляющего некоторую простую замену блоков открытого текста. В режиме сцепления блоков (СВС) каждый блок Сi, i 1, шифртекста перед очередным зашифрованием складывается по модулю 2 со следующим блоком открытого текста Мi+1. При этом вектор С0 полагается равным начальному вектору IV (Initial Vector). Начальный вектор меняется ежедневно и хранится в секрете.
В режимах СFB и OFB алгоритм DES функционирует по аналогии с «шифром Вернама», в режиме OFB – как синхронный шифр, в режиме СFB – как шифр с самосинхронизацией.
Кроме перечисленных режимов, DES имеет также "режим т-битовой обратной связи". Этот режим оперирует с т-битовыми блоками.
Указанные режимы имеют свои достоинства и недостатки. Основное достоинство режима ЕСВ – простота реализации. Недостаток – в возможности проведения криптоанализа «со словарем». Дело в том, что вследствие большой избыточности в открытом тексте вполне возможны повторения 64-битовых блоков. Это приводит к тому, что одинаковые блоки открытого текста будут представлены идентичными блоками шифртекста, что дает криптоаналитику возможность при наличии достаточно большого числа пар открытого и шифрованного текста восстанавливать с большой вероятностью блоки отрытого текста по шифртексту.
В режимах ЕСВ и OFB искажение при передаче одного 64-битого блока шифртекста Сi приводит к искажению после расшифрования соответствующего блока Мi открытого текста, но не влияет на следующие блоки. Это свойство используется для шифрования информации, предназначенной для передачи по каналам связи с большим числом искажений. Вместе с тем при использовании режима OFB остается открытым вопрос о периоде получаемой выходной гаммы, который в некоторых предположениях может составлять величину порядка 232.
В режимах СВС и СРВ искажение при передаче одного блока шифртекста Сi приводит к искажению на приеме не более двух блоков открытого текста – Мi, Мi+1. В то же время изменение блока Мi приводит к тому, что Сi, и все последующие блоки шифртекста будут искажены. Это свойство оказывается полезным для целей аутентификации. Такие режимы применяются для выработки кода аутентификации сообщения.
Так, в режиме СВС берется вектор инициализации, состоящий из одних нулей. Затем с помощью ключа k вырабатываются блоки С1,...,Сn шифртекста. Кодом аутентификации сообщения (КАС) служит блок Сn .
Если требуется обеспечить лишь целостность сообщении, отправитель передает блоки М1,...,Мn вместе с Сn. Tогда противнику, желающему изменить сообщение, нужно соответствующим образом изменить и блок Сn . Возможность этого маловероятна, если только противник не располагает секретным ключом k.
Если же нужно обеспечить шифрование и аутентификацию, то отправитель сначала использует ключ k1 для выработки КАС, затем шифрует последовательность блоков M1,...,Mn, Мn+1 = КАС на втором ключе k2, и получает последовательность блоков С1,...,Сn,Сn+1. Получатель должен сначала расшифровать С1,...,Сn,Сn+1 на ключе k2, а затем проверить (с помощью k), что Мn+1 — это КАС для M1,...,Mn.
Можно поступить и иначе: сначала использовать k для зашифрования M1,...,Mn, получая С1,...,Сn, а затем k2 для получения КАС. Получатель же будет использовать k2 для проверки КАС, а затем k — для расшифрования С1,...,Сn.
Во всех перечисленных режимах вместо алгоритма DЕS может быть использован любой алгоритм блочного шифрования, в частности российский стандарт ГОСТ 28147-89.
В российском стандарте также предусмотрено несколько режимом использования: режим простой замены, режим шифрования с обратной связью и режим гаммирования с обратной связью, которые являются аналогами соответственно режимов ЕСВ, СВС и СFВ. Для того чтобы избавиться от указанной выше проблемы неопределенности длины периода гаммы в режиме OFB, в российском стандарте введен режим гаммирования, при котором блочный шифр используется в качестве узла усложнения некоторой последовательности гарантированного периода. Для выработки этой последовательности обычно применяются линейные регистры сдвига или счетчики по некоторому модулю.
Уравнение шифрования имеет вид
Сi =МiF(i), i=1,2,...,
где F – преобразование, осуществляемое блочным шифром, i – блоки, сформированные узлом выработки исходной гаммы из начального вектора 1, который передается в начале сообщения в открытом или зашифрованном виде.
Ошибка при передаче, состоящая в искажении символа, приводит при расшифровании к искажению только одного блока, поэтому сохраняются все преимущества шифра гаммирования.