Режимы работы блочного шифра
Алгоритмы шифрования делятся на две категории в зависимости от типа ввода: блочный шифр и потоковый шифр. Блочный шифр - это алгоритм шифрования, который принимает фиксированный размер входных данных, скажем, b бит, и снова создает зашифрованный текст из b битов. Если входной сигнал превышает b бит, его можно разделить дальше. Для различных приложений и применений существует несколько режимов работы с блочным шифром.
Электронная кодовая книга (ECB) -
Электронная кодовая книга - самый простой режим работы блочного шифра. Это проще, потому что прямое шифрование каждого блока входного открытого текста и вывода выполняется в виде блоков зашифрованного зашифрованного текста. Как правило, если размер сообщения превышает b бит, его можно разбить на группу блоков, и процедура повторяется.
Процедура ЕЦБ проиллюстрирована ниже:
Преимущества использования ECB -
- Возможно параллельное шифрование блоков битов, поэтому это более быстрый способ шифрования.
- Простой способ блочного шифра.
Недостатки использования ECB -
- Склонен к криптоанализу, поскольку существует прямая связь между открытым текстом и зашифрованным текстом.
Цепочка блоков шифра -
Цепочка блоков шифра или CBC - это усовершенствование ECB, поскольку ECB ставит под угрозу некоторые требования безопасности. В CBC предыдущий блок шифрования предоставляется в качестве входных данных для следующего алгоритма шифрования после XOR с исходным блоком открытого текста. Вкратце, здесь блок шифра создается путем шифрования вывода XOR предыдущего блока шифрования и текущего блока открытого текста.
Процесс проиллюстрирован здесь:
Преимущества CBC -
- CBC хорошо работает для входных данных, превышающих b бит.
- CBC - хороший механизм аутентификации.
- Лучше сопротивляемость криптоанализу, чем ECB.
Недостатки CBC -
- Параллельное шифрование невозможно, поскольку для каждого шифрования требуется предыдущий шифр.
Режим обратной связи шифра (CFB) -
В этом режиме шифр передается в качестве обратной связи следующему блоку шифрования с некоторыми новыми спецификациями: сначала для первого шифрования используется начальный вектор IV, а выходные биты делятся на набор из s и b- s битов, выбираются s биты левой стороны и применяются операция XOR с битами открытого текста. Результат передается на вход сдвигового регистра, и процесс продолжается. Процесс шифрования и дешифрования для одного и того же показан ниже, оба они используют алгоритм шифрования.
Преимущества CFB -
- Поскольку из-за использования сдвигового регистра происходит некоторая потеря данных, применение криптоанализа затруднено.
Режим обратной связи по выходу -
Режим обратной связи вывода следует почти так же, как режим обратной связи шифра, за исключением того, что он отправляет зашифрованный вывод в качестве обратной связи вместо фактического шифра, который является выводом XOR. В этом режиме выходной обратной связи, все биты блока отправить вместо отправки выбранных с битами. Режим обратной связи по выходу блочного шифра очень устойчив к ошибкам передачи битов. Это также уменьшает зависимость или взаимосвязь шифра с открытым текстом.
Режим счетчика -
Режим счетчика или CTR - это простая реализация блочного шифра на основе счетчика. Каждый раз, когда значение, инициированное счетчиком, зашифровывается и передается в качестве входных данных для XOR с открытым текстом, что приводит к блоку зашифрованного текста. Режим CTR не зависит от использования обратной связи и, следовательно, может быть реализован параллельно.
Его простая реализация показана ниже: