Опубликован: 02.03.2017 | Доступ: свободный | Студентов: 2512 / 557 | Длительность: 21:50:00
Лекция 7:

Современные симметричные алгоритмы шифрования

7.8 Режимы работы блочных шифров

См. [1]

Через P_i и C_i обозначим открытый текст и соответствующий шифртекст, E --- алгоритм шифрования.

Величины C_0 в режимах CBC и CFB и K_0 в режиме OFB необходимо инициализировать некоторой величиной IV, називаемой вектором инициализации.

Таблица 7.11. Режимы работы блочных шифров
Режим Формула Типичные области применения
Электронная кодовая книга (ЕСВ -- Electronic Code-book) C_i = E_K(P_i) Защищенная передача отдельных значений (например, ключа шифрования)
Сцепление шифрованных блоков (СВС --- Cipher Block Chaining) C_i = E_K(P_i\oplus C_{i-1}) Поблочная передача данных общего назначения. Аутентификация
Шифрованная обратная связь (CFB -- Cipher Feedback) C_i = E_K(C_{i-1}) \oplus P_i Потоковая передача данных общего назначения. Аутентификация
Обратная связь по выходу (OFB -- Output Feedback) T_i = E_K(T_{i-1})$, $C_i = K_i\oplus P_i Потоковая передача данных по каналам с помехами (например, по спутниковой связи)

7.9 Теоретические вопросы и упражнения

  1. -
    a) Перечислите основные недостатки алгоритма DES и предложите пути их устранения.
    b) Выпишите в явном виде подстановку IP^{-1}. Найдите её разложение в произведение независимых циклов и вычислите её порядок.
    c) Докажите, что все преобразования стандарта DES являются четными подстановками на \ множестве всех 64-битовых слов.
    d)

    Докажите свойство дополнительности DES:

    E_{\overline{k}}(\overline{x})=\overline{E_k(x)},

    где черта означает взятие дополнительного вектора, т.е. x\oplus \overline{x} = 0.

  2. Перечислите отличия ГОСТ 28147-89 от DES. Докажите, что всякое преобразование стандарта ГОСТ 28147-89 обратимо и является четной подстановкой на множестве всех 64-битовых слов.

  3. Рассмотрим некоторый алгоритм блочного шифрования с блоками длины n и определим N=2^n. Пусть имеется t соответствующих пар открытого и шифрованного текста P_i, C_i=E_K(P_i), где ключ K задает одно из N! возможных отображений. Допустим, мы решили найти K, перебирая все возможные варианты. Можно брать очередной ключ K' и проверять, выполняется ли равенство C_i = E_{K'}(P_i) для всех 1\leq i \leq t. Если при шифровании с ключом K' для каждого значения P_i получается значение C_i, то делаем вывод: K=K'. Но может оказаться, что отображения E_K и E_{K'} совпадают только для данных t соответствующих пар открытого и шифрованного текста P_i и C_i и различаются для всех остальных пар.
    a) Какова вероятность того, что E_k и E_{K'} на самом деле являются разными отображениями?
    b) Какова вероятность того, что E_k и E_{K'} согласуются на другом наборе из t' соответствующих пар открытого и шифрованного текста, где 0\leq t'\leq N-1?

  4. Какой из режимов: обратной связи по выходу (OFB) или шифрованной обратной связи (CFB) следует выбрать, если:
    a) нужно, чтобы возможные \ искажения битов при передаче данных не распространялись на последующие порции данных?
    b) нужна большая надежность в отношении нарушений типа модификации потока данных?
    c) Почему при передаче достаточно длинных сообщений режим ECB может не обеспечивать необходимый уровень защиты?
    d) Обоснуйте необходимость защиты инициализующего вектора (IV) в режиме сцепления шифрованных блоков (CBC).
    e) Алгоритм DES -- это блочный шифр с размером блока 64 бит.

    Однако бывает необходимо каждый символ шифровать и сразу передавать адресату, не дожидаясь окончания шифрования остальной части сообщения. Предложите способ использовать DES для этого.

  5. Определите расстояние от булевой функции f (заданной в аналитическом виде) до каждой из аффинных булевых функций и нелинейность функции f:
    a) f={x}_{1} {x}_{2}\oplus {x}_{1} {x}_{3} \oplus {x}_{2} {x}_{3}\oplus {x}_{1} {x}_{2} {x}_{3};
    b) f={x}_{1}\oplus {x}_{2}\oplus {x}_{2} {x}_{3};
    c) f={x}_{1} {x}_{2}\oplus {x}_{3}\oplus {x}_{1} {x}_{2} {x}_{4}.

  6. -
    a) Почему операция умножения в IDEA выполняется по модулю 2^{16}+1, а не по модулю 2^{16}?
    b) Почему операция сложения в IDEA выполняется по модулю 2^{16}, а не по модулю 2^{16}+1?
    c) Докажите, что никакие две из трех операций IDEA не подчиняются дистрибутивному закону. Например: a\oplus (b\odot c)\neq (a\oplus b)\odot (a\oplus c).
    d) Докажите,что никакие две из трех операций IDEA не подчиняются ассоциативному закону. Например: a\boxplus(b\oplus c)\neq (a\boxplus b)\oplus c.

  7. (Повышенной сложности).Построить свой пример оптимального блока замен длины 256, отличный от приведенного в таблице 7.9.

Список литературы

  1. Алфёров А.П., Зубов А.Ю., Кузьмин А.С., Черёмушкин А.В. Основы криптографии: Учеб. пособие - М. : Гелиос АРВ, 2001. - 480 с.
  2. Жданов О.Н. Методика выбора ключевой информации для алгоритма блочного шифрования - М.: ИНФРА-М, 2013. - 88 с.
  3. И.Н. Васильева. Криптографические методы защиты информации. Учебник и практикум для академического бакалавриата. - М.: Изд-во Юрайт, 2016. - 349 с.
  4. Бабенко Л.К., Ищукова Е.А. Современные алгоритмы блочного шифрования и методы их анализа - М.: Гелиос АРВ. - 2006.
  5. Соколов А.В. Быстродействующий генератор ключевых последовательностей на основе клеточных автоматов - //Одесса: Труды ОНПУ, 2014 - \textnumero 1(43). - c. 180-186.
  6. Столлингс В. Криптография и защита сетей - М.: Вильямс, 2001. - 672 с.
  7. Мазурков М.И., Барабанов Н.А., Соколов А.В. Генератор ключевых последовательностей на основе дуальных пар бент-функций // Труды Одесского политехнического университета. - 2013. - Вып. 3 (42). - С. 150—156.
  8. Иванов М.А., Чугунков И.В. Теория, применение и оценка качества генераторов псевдослучайных последовательностей - М.: КУДИЦ-ОБРАЗ, 2003. - 240 с.
  9. Логачев О.А., Сальников А.А., Ященко В.В. Булевы функции в теории кодирования и криптологии - М.: МЦНМО, 2004. - 470 с.
Евгений Шаров
Евгений Шаров

как начать заново проходить курс, если уже пройдено несколько лекций со сданными тестами?

Юлия Мышкина
Юлия Мышкина

Обучение с персональным тьютором осуществляется по Скайпу или посредством переписки?