Алгоритмы блочного шифрования

Блочные алгоритмы шифрования являются основным средством криптографической защиты информации, хранящейся на компьютере пользователя или передаваемой по общедоступной сети. Такое пристальное внимание к данному типу алгоритмов обусловлено не столько многолетней историей, сколько преимуществами практического применения, среди которых следует отметить:
• возможность эффективной программной реализации на современных аппаратно-программных средствах;
• высокую скорость зашифрования/расшифрования как при аппаратной, так и при программной реализации;
• высокую гарантированную стойкость; причем стойкость алгоритма блочного шифрования может быть доказана при помощи математического аппарата (для большинства асимметричных алгоритмов стойкость основана на «невозможности» решения какой-либо математической задачи).
Входная последовательность блочных алгоритмов шифрования разбивается на участки определенной длины (обычно 64 бита для удобства реализации на процессорах с внутренними регистрами длиною 32 или 64 бита), и преобразования в алгоритме блочного шифрования совершаются над каждым блоком отдельно. Соответственно выходная последовательность алгоритма блочного шифрования представляет собой блоки, длина которых равна длине входных блоков. В случае, когда длина открытого текста некратна длине входных блоков в алгоритме шифрования, применяется операция дополнения (padding) последнего блока открытого текста до необходимой длины. Дополнение осуществляется приписыванием необходимого числа нулей или случайного набора символов. В общем случае содержание того, чем мы дополняем блок открытого текста, не играет роли с точки зрения криптографической стойкости. На приемной стороне необходимо знать, какое количество символов было добавлено, вот почему вместе с данными дополнения приписывается длина этих данных.
Суть алгоритмов блочного шифрования заключается в применении к блоку открытого текста многократного математического преобразования. Многократность подобных операций приводит к тому, что результирующее преобразование оказывается криптографически более сильным, чем преобразование над отдельно взятым блоком. Основная цель подобного трансформирования - создать зависимость каждого бита блока зашифрованного сообщения от каждого бита ключа и каждого бита блока открытого сообщения. Преобразования, базирующиеся на данных алгоритмах, можно разделить на «сложные» (в современных алгоритмах это обычно нелинейные операции) и «простые», в основе которых лежат перемешивающие операции. Аналитическая сложность раскрытия алгоритмов блочного шифрования заключается в конструкции первого типа преобразований.
Специфика организации различных типов секретной связи обусловила появление следующих алгоритмов блочного шифрования:
• режим простой замены, или режим электронной кодовой книги (Electronic Codebook Mode - ЕСВ);
• режим гаммирования;
• режим гаммирования с самовосстановлением, или гаммирование с обратной связью (Cipher-Feedback mode - СРВ);
• режим гаммирования с обратной связью по выходу (Output-Feedback mode - OFB);
• режим шифрования со сцеплением блоков (Cipher Block Chaining mode - CBC).

Тэги: ,

Рекомендуем почитать