Перейти к содержанию

№4 - Четыре возможных режима использования блочных шифров#

Режимы использования блочных шифров:

Режим ЕСВ#

  • Исходный текст m делится на блоки m_{1},m_{2},\dots m_{g}. При необходимости m_{g} дополняется до полного блока одним из обговоренных в каждом случае способом;
  • Далее к каждому блоку m_{i} последовательно применяется шифрование с заданным ключом k: C_{i}=E_{k}(m_{i}). Результатом является разбитый на блоки шифротекст;
  • Недостатки:
    1. Злоумышленник может удалить или добавить блок c_{t} или переставить блоки
    1. Могут появиться два одинаковых блока

Режим СВС#

  • Исходный текст, разбитый на блоки m_{1}, m_{2},\dots m_{g} добавляется фиативный блок m^{\approx}
    c_{1}=E_{k}(m_{1} \oplus m^{\approx})
    c_{2}=E_{k}(m_{2} \oplus m_{1})
    c_{q}=E_{k}(m_{q} \oplus c_{q-1})
  • При таком методе шифрования ошибка, допущенная в блоке с номером j распространяется не только на этот блок, но и на последующие. Одинаковые блоки исходного текста шифруются поразному.

Режим OFB#

  • Основная задача: адаптировать данный блочный шифр его поточному использованию
  • При размере блока n выбирается переменная j(1\leq j\leq n). С помощью блочного шифра создается потом ключей, j-бит за один раз.
  • Мы разбиваем исходный текст m_{1},m_{2},\dots m_{g}, но на этот раз блоки состоят из j-бит. В начале переменной x_{1} присваивается значение m^{\approx}.
    y_{1}=E_{k}(x_{1}), y_{2}=E_{k}(x_{2}), далее полагается c_{i}=m_{i}\oplus e_{i}, где e_{i-j} крайних слева бит для y_{i}, причем x_{i+1}=y_{i}

Режим CFB#

  • См. предыдущий, но с модификацией.
  • y_{0}=m^{\approx},z_{i}=E_{k}(y_{i}-1)
  • e_{i}=j крайних слева бит блока z_{i}
  • y_{i}=m_{i}\oplus e_{i}