Режим сцепления блоков шифротекста (англ.Cipher Block Chaining, CBC) — один из режимов шифрования для симметричного блочного шифра с использованием механизма обратной связи. Каждый блок открытого текста (кроме первого) побитово складывается по модулю 2 (операция XOR) с предыдущим результатом шифрования.
Шифрование может быть описано следующим образом:
где — номера блоков, — вектор инициализации (синхропосылка), и — блоки зашифрованного и открытого текстов соответственно, а — функция блочного шифрования. Расшифровка:
Шифрование в режиме CBCРасшифрование в режиме CBC
Особенности:
Наличие механизма распространения ошибки: если при передаче произойдёт изменение одного бита шифротекста, данная ошибка распространится и на следующий блок. Однако на последующие блоки (через один) ошибка не распространится, поэтому режим CBC также называют самовосстанавливающимся[1].
Неустойчив к ошибкам, связанным с потерей или вставкой битов, если не используется дополнительный механизм выравнивания блоков.
Злоумышленник имеет возможность добавить блоки к концу зашифрованного сообщения, дополняя тем самым открытый текст (однако без ключа получается мусор. А с использованием Hash функции для подтверждения целостности сообщения, сводит этот тип атаки на нет.)
Для очень крупных сообщений (32 Гбайта при длине блока 64 бита) всё-таки возможно применение атак, основанных на структурных особенностях открытого текста (следствие парадокса дней рождения).
Требует дополнения сообщений до длины кратной длине блока.
Уязвим к атаке оракула дополнений (англ: Padding Oracle). В случае, если атакующий может отправлять зашифрованные сообщения на расшифрование неограниченное количество раз, он может, изменяя определенные байты, угадать корректное дополнение. Это приводит к возможности расшифровать сообщение за исключением первого блока, создать корректное произвольное зашифрованное сообщение за исключением первого блока без знания ключа.
Шнайер Б.9.3. Режим сцепления блоков шифротекста//Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си=Applied Cryptography. Protocols, Algorithms and Source Code in C.— М.: Триумф, 2002.— С.225—229.— 816с.— 3000 экз.— ISBN 5-89392-055-4.
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.
2019-2025 WikiSort.ru - проект по пересортировке и дополнению контента Википедии