Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
namefix.doc
Скачиваний:
18
Добавлен:
07.12.2018
Размер:
280.06 Кб
Скачать

Ctr (Counter). Режим счетчика

Этот режим имеет n-битовый счетчик, единственная цель которого – максимизировать период выходной последовательности и нелинейную функцию зашифрования, которая в качестве входа принимает генерируемые счетчиком n-битовые значения, а выдает последовательность γi.

C1 = P1 Ek (IV) при i = 1 Ci = Pi Ek (nonce||i) при i > 1

P1 = C1 Ek (IV) при i = 1 Pi = Ci Ek (nonce||i) при i > 1

Рисунок 2.5 Режим Counter

Преимущества:

  • Алгоритм расшифрования полностью идентичен алгоритму зашифрования.

  • Возможен мгновенный доступ к любой из частей исходного текста, поскольку ключевой блок для нее просчитывается независимо от других блоков.

  • Вычисления ключевых блоков можно выполнять параллельно, что дает колоссальные преимущества в скорости работы.

  • Криптостойкость режима полностью определяется криптостойкостью блочного алгоритма шифрования.

Недостатки:

  • Как и в режиме OFB, необходимо потребовать, чтобы одинаковые Ek и IV не использовались повторно.

Выработка вектора инициализации (IV)

Варианты выбора вектора инициализации:

  • Фиксированный IV. Вообще говоря, этот вариант применять не следует, так как он чреват определенными последствиями:

  • CBC – Два первых совпадающих блока шифруются одинаково.

  • OFB – При использовании одинаковых Ek и IV вырабатываемая ключевая последовательность (гамма-последовательность) будет идентичной.

  • CTR – аналогично OFB.

  • IV - счетчик. Может иметь проблемы, как и у фиксированного IV, в случае компенсации изменений первых блоков исходных текстов значениями счетчиков.

  • Случайный IV. Хороший способ, однако он сопряжен с некоторыми трудностями:

  • Получатель должен знать значение IV.

  • Трудно реализовать качественный генератор случайных чисел.

  • Количество блоков шифрованного текста длиннее на один блок, что существенно сказывается на трафике при передаче большего количества коротких сообщений.

  • Оказия. Этот способ наиболее рентабелен, по моему мнению. Он состоит из следующих действий:

  • Выбрать для каждого из сообщений уникальное число – оказию (Nonce). Для одного ключа необходимо потребовать уникальность оказии для всей системы в целом. Размер оказии должен соответствовать размеру блока задействованного блочного шифра.

  • Зашифровать оказию, получив тем самым вектор инициализации.

  • Зашифровать сообщение с помощью IV.

  • Передать зашифрованный текст и всю необходимую информацию для построения оказии получателем.

  1. Генераторы псевдослучайных последовательностей

Рисунок 2.5 Классификация генераторов

Криптографические

Роль нелинейной функции в криптографически стойких генераторах псевдослучайных чисел выполняет криптографическое преобразование Ek. Стойкость генераторов данного типа сводится к стойкости криптографического преобразования Ek, которое основывается на недоказуемом утверждении, что у криптоаналитика не хватит ресурсов для инвертирования данной функции при неизвестном ключе.

Можно

Некриптографические

Конгруэнтные генераторы

Линейными конгруэнтными генераторами являются генераторы

следующей формы:

X (aX b) m n n mod 1 = + − ,

в которых n X –n-й член последовательности, а n−1 X – предыдущий член

последовательности. Переменные a, b и m – постоянные: а – множитель, b –

инкремент и m – модуль. Ключом или затравкой служит значение 0 X .

Период такого генератора не больше, чем m. Если a, b и m подобраны

правильно, то генератор будет генератором с максимальным периодом, и его

период будет равен m. (Например, для линейного конгруэнтного генератора b

должно быть взаимно простым с m).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]