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

5.3.1 Режим сцепления шифрованных блоков (свс)

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

Рис. 5.7. Режим шифрования CBC для трех символов текста

В этом режиме блок текста, перед шифрованием с помощью алгоритма , складывается по модулю 2 с предыдущим шифрованным блоком или вектором инициализации(рис. 5.7).

Расшифрование выполняется аналогично. Математическая запись уравнений зашифрования и расшифрования выглядит так:

, ,.

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

Большинство сообщений не делятся нацело на 64-битовые блоки, обычно остается короткий блок в конце текста. Можно по-разному бороться с этим.

Простейший метод – это дополнение до полного блока (padding) несмысловым набором символов. Для удаления «мусора» при восстановлении сообщения достаточно в последнем байте указать количество лишних символов. Также с этой целью можно использовать в качестве последнего байта текста символ конца файла, но иногда это невозможно реализовать, например, в случае, когда расшифрованный блок немедленно отправляется в память.

Тогда применяется следующая схема шифрования: предположим, в последний блок состоит из битов. После зашифрования последнего целого блока, зашифруем шифрованный блок еще раз, выберемначальных битов полученного текста и сложим по mod 2 с последним блоком исходного текста.

Это и есть шифр для неполного блока (рис. 5.8).

Рис.5.8. Шифрование последнего короткого блока

5.3.2. Восстановление после ошибок в свс

Режим СВС может быть охарактеризован как процедура с обратной связью по шифртексту (feedback) при шифровании и с упреждающей связью (feedforward) по шифртексту при расшифровании.

Это значит, что одна ошибка в исходном тексте повлияет на шифрованный блок и все последующие шифрованные блоки. Но это неважно, т.к. расшифрование обратит этот эффект и в восстановленном тексте снова будет только одна ошибка.

Ошибки в шифрованном тексте достаточно распространены из-за низкого качества линий связи или ошибок считываний с дискет или жесткого диска.

В режиме СВС, ошибка одного бита в шифрованном тексте целиком портит этот блок и еще один бит следующего блока (в той же позиции, что и предыдущий). Последующие блоки не повреждаются, т.е. СВС является самовосстанавливающимся режимом (self-recovering).

Несмотря на то, что режим СВС восстанавливается при наличии искажений, он совсем не защищен от ошибок синхронизации. Если добавить или потерять бит, то система будет формировать бессмысленные сообщения.

Поэтому любая система, использующая режим СВС должна обеспечить сохранение структуры исходного текста (framing).

Свойство превращения маленькой ошибки в шифре в большую ошибку текста называется распространением ошибки (error extention).

Для борьбы с таким явлением необходимо применение механизма выявления и исправления ошибок (error detection & recovery). Причем, такая процедура должна выполняться как после зашифрования, так и до расшифрования. Полная схема механизма выявления и исправления ошибок (error control) приведена на рис.5.9.

Рис. 5.9. Простая (а) и улучшенная (б) схемы контроля ошибок

Соседние файлы в папке Гулак_по_главам