Режим сцепления блоков шифротекста

Поделись знанием:
Перейти к: навигация, поиск

Режим сцепления блоков шифротекста (англ. Cipher Block Chaining, CBC) — один из режимов шифрования для симметричного блочного шифра с использованием механизма обратной связи. Каждый блок открытого текста (кроме первого) побитово складывается по модулю 2 (операция XOR) с предыдущим результатом шифрования.

Шифрование может быть описано следующим образом:

<math>C_0=IV</math>
<math>C_i = E_k \left( P_{i} \oplus C_{i-1} \right)</math>

где <math>i</math> — номера блоков, <math>IV</math> — вектор инициализации (синхропосылка), <math>C_i</math> и <math>P_i</math> — блоки зашифрованного и открытого текстов соответственно, а <math>E_k</math> — функция блочного шифрования. Расшифровка:

<math>P_i=C_{i-1} \oplus D_k \left( C_{i} \right)</math>

Особенности:

  • Наличие механизма распространения ошибки: если при передаче произойдёт изменение одного бита шифротекста, данная ошибка распространится и на следующий блок. Однако на последующие блоки (через один) ошибка не распространится, поэтому режим CBC также называют самовосстанавливающимся[1].
  • Неустойчив к ошибкам, связанным с потерей или вставкой битов, если не используется дополнительный механизм выравнивания блоков.
  • Злоумышленник имеет возможность добавить блоки к концу зашифрованного сообщения, дополняя тем самым открытый текст (однако без ключа получается мусор)
  • Для очень крупных сообщений (32 Гбайта при длине блока 64 бита) всё-таки возможно применение атак, основанных на структурных особенностях открытого текста (следствие парадокса дней рождений).
  • Требует дополнения сообщений до длины кратной длине блока.
  • Уязвим к атаке оракула дополнений (англ: Padding Oracle). В случае, если атакующий может отправлять зашифрованные сообщения на расшифрование неограниченное количество раз, он может, изменяя определенные байты, угадать корректное дополнение. Это приводит к возможности расшифровать сообщение за исключением первого блока, создать корректное произвольное зашифрованное сообщение за исключением первого блока без знания ключа.

Напишите отзыв о статье "Режим сцепления блоков шифротекста"



Примечания

  1. [citforum.ru/security/cryptography/rejim_shifrov/ Олег Зензин — Режимы шифрования, раздел Накопление ошибок в различных режимах шифрования]

Литература

  • Шнайер Б. 9.3. Режим сцепления блоков шифротекста // Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. — М.: Триумф, 2002. — С. 225—229. — 816 с. — 3000 экз. — ISBN 5-89392-055-4.

Отрывок, характеризующий Режим сцепления блоков шифротекста

– Говори ей вы, пожалуйста, я тебе после скажу.
– Да что же?
– Ну я теперь скажу. Ты знаешь, что Соня мой друг, такой друг, что я руку сожгу для нее. Вот посмотри. – Она засучила свой кисейный рукав и показала на своей длинной, худой и нежной ручке под плечом, гораздо выше локтя (в том месте, которое закрыто бывает и бальными платьями) красную метину.
– Это я сожгла, чтобы доказать ей любовь. Просто линейку разожгла на огне, да и прижала.
Сидя в своей прежней классной комнате, на диване с подушечками на ручках, и глядя в эти отчаянно оживленные глаза Наташи, Ростов опять вошел в тот свой семейный, детский мир, который не имел ни для кого никакого смысла, кроме как для него, но который доставлял ему одни из лучших наслаждений в жизни; и сожжение руки линейкой, для показания любви, показалось ему не бесполезно: он понимал и не удивлялся этому.
– Так что же? только? – спросил он.
– Ну так дружны, так дружны! Это что, глупости – линейкой; но мы навсегда друзья. Она кого полюбит, так навсегда; а я этого не понимаю, я забуду сейчас.
– Ну так что же?
– Да, так она любит меня и тебя. – Наташа вдруг покраснела, – ну ты помнишь, перед отъездом… Так она говорит, что ты это всё забудь… Она сказала: я буду любить его всегда, а он пускай будет свободен. Ведь правда, что это отлично, благородно! – Да, да? очень благородно? да? – спрашивала Наташа так серьезно и взволнованно, что видно было, что то, что она говорила теперь, она прежде говорила со слезами.
Ростов задумался.
– Я ни в чем не беру назад своего слова, – сказал он. – И потом, Соня такая прелесть, что какой же дурак станет отказываться от своего счастия?
– Нет, нет, – закричала Наташа. – Мы про это уже с нею говорили. Мы знали, что ты это скажешь. Но это нельзя, потому что, понимаешь, ежели ты так говоришь – считаешь себя связанным словом, то выходит, что она как будто нарочно это сказала. Выходит, что ты всё таки насильно на ней женишься, и выходит совсем не то.
Ростов видел, что всё это было хорошо придумано ими. Соня и вчера поразила его своей красотой. Нынче, увидав ее мельком, она ему показалась еще лучше. Она была прелестная 16 тилетняя девочка, очевидно страстно его любящая (в этом он не сомневался ни на минуту). Отчего же ему было не любить ее теперь, и не жениться даже, думал Ростов, но теперь столько еще других радостей и занятий! «Да, они это прекрасно придумали», подумал он, «надо оставаться свободным».