Научная литература
booksshare.net -> Добавить материал -> Криптография -> Венбо Мао -> "Современная криптография" -> 105

Современная криптография - Венбо Мао

Венбо Мао Современная криптография. Под редакцией Клюшиной Д.А. — М. : Издательский дом Вильямс, 2005. — 768 c.
ISBN 5-8459-0847-7
Скачать (прямая ссылка): sovremennaya_kriptografiya.djvu
Предыдущая << 1 .. 99 100 101 102 103 104 < 105 > 106 107 108 109 110 111 .. 311 >> Следующая

Шифрование в режиме СВС:
ВВОД: IV,Pi,P2,...,Pm\ ВЫВОД: IV,Cl,C2,...,Cm;
Со - IV-
d «- ?(Pi © Cfc_i), z = l,2,...,m.
Расшифровка в режиме СВС:
ВВОД: /ЦСьС2)...,Ст; ВЫВОД: IV,P1,P2,...,Pm;
Со — IV;
Pi^V(Ci)@Ci-i, г = 1,2,..., т.
278
Часть III. Основные методы криптографии
Изначально содержит вектор инициализации
е-
п-битовое запоминающее устройство
Изначально содержит вектор инициализации
Исходный текст
Шифрование
Зашифрованный текст
п-битовое запоминающее устройство
Расшифровка
Исходный текст
Рис. 7.3. Режим сцепления блоков зашифрованного текста
Для вычисления первого блока С\ в зашифрованном тексте необходим специальный входной блок Со, который называется "вектором инициализации" (Initializing Vector — TV). Вектор инициализации (в русскоязычной литературе — синхропосылка. — Прим. ред.) представляет собой случайный тг-битовый блок. В каждом сеансе шифрования должен применяться новый случайный вектор инициализации. Поскольку этот вектор обрабатывается как блок зашифрованного текста, его не обязательно засекречивать, но он должен быть непредсказуемым. В соответствии с процедурой шифрования первый блок зашифрованного текста, С\, рандомизируется с помощью вектора инициализации. Аналогичным образом все остальные блоки зашифрованного текста поочередно рандомизируются с помощью своего непосредственного предшественника. Следовательно, результатом шифрования в режиме СВС являются рандомизированные блоки зашифрованного текста, который должен содержать в себе вектор инициализации. Таким образом, если исходный текст состоял из тп блоков, то результат шифрования в режиме СВС будет содержать тп + 1 блоков.
Пусть Qi, Q2, ¦ ¦., Qm — блоки, полученные в результате расшифровки блоков зашифрованного текста Со, С\, С2, ¦ ¦ ¦, Сш. Тогда, поскольку
Qi = V{Ci) © Ci-i = (Pi © d-i) © Ci_i = Ph
алгоритм расшифровки действует правильно. Режим СВС продемонстрирован на рис. 7.3.
7.8.2.1 Распространенное заблуждение
На первый взгляд кажется, что, поскольку в режиме СВС блоки сцеплены друг с другом, он предотвращает несанкционированное изменение данных, например, вставку или удаление (защите целостности данных (data integrity) посвящена глава 10). Таким образом, некоторые алгоритмы, использующие режим сцепления
Глава 7. Шифрование — симметричные методы
279
блоков зашифрованного текста, можно считать средствами для защиты целостности данных. Например, режим RC5-CBC-PAD [17] определяет следующую схему дополнения исходного текста в режиме СВС (СВС plaintext padding scheme).
1. Строка исходного текста разбивается на последовательность байтов (байт состоит из восьми бит); каждые восемь байтов образуют блок исходного сообщения (таким образом, размер блока равен 64 бит).
2. Последний блок исходного сообщения должен быть дополнен. Его первая часть состоит из а последних байтов исходного сообщения (0 ^ а ^ 7), за которыми следуют 8 — а байтов-заполнителей. Каждый байт-заполнитель равен шестнадцатеричному числу 8 — а. Например, если последний блок состоит из семи байтов исходного сообщения, то к ним присоединяется один байт-заполнитель, равный '01'. Итак, дополненный блок выглядит следующим образом:
байт сообщения! || байт сообщения2 || - - ¦ || байт сообщения? || '01'.
Если бы заключительный блок состоял из одного байта исходного сообщения, то дополненный блок принял бы следующий вид.
байт сообщения || '07' || '07' || '07' || '07' || '07' || '07' || '07'
Если количество байтов сообщения кратно восьми, то к блокам присоединяется дополнительный блок байтов-заполнителей.
'08' || '08' || '08' || '08' || '08' || '08' || '08' || '08'
Другие алгоритмы шифрования в режиме СВС используют аналогичные схемы дополнения. Например, в протоколе IPSec (описанном в главе 12) применяются X байтов-заполнителей (1 ^ X ^ 255):
'01' || '02' || - -• || 'ху'
Здесь '0' ^ 'х' ^ 'F' и '0' ^ 'у' ^ 'F', а символ 'ху' является шестнадцатерич-ным представлением целого числа X. В ходе шифрования распознанные байты-заполнители удаляются из восстановленного исходного сообщения (разумеется, после проверки его целостности).
В двух предварительных сообщениях Международной организации по стандартизации (International Organization for Standards — ISO) [144, 145] были предложены некоторые протоколы аутентификации, предназначенные для защиты целостности данных с помощью режима СВС (принципы, положенные в основу этих протоколов, сформулированы в публикациях [142, 146]).
Однако было бы совершенно неправильно думать, что режим СВС может обеспечить защиту целостности данных в любом понимании этого термина.
280
Часть III. Основные методы криптографии
Воденэ (Vaudene) [294] продемонстрировал атаку на схему дополнения блоков в режиме СВС, которая выявила полное отсутствие защиты. В атаке Воденэ i Злоумышленник (атакующий) посылает адресату (хранителю ключа, называемому! оракулом шифрования (decryption oracle)2 и предоставляюшему услуги оракула (oracle service)), два подобранных блока зашифрованного текста
где г — случайный блок данных, a Q = S (Р © Cj_i) — блок зашифрованного текста, по которому Злоумышленник пытается восстановить исходное сообщение Р (например, пароль). Алгоритм шифрования в режиме СВС выполняет операцию!
Предыдущая << 1 .. 99 100 101 102 103 104 < 105 > 106 107 108 109 110 111 .. 311 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed