Основы криптографии Учебное пособие - Алферов А.П.
ISBN 5-85438-025-0
Скачать (прямая ссылка):
—режим обратной связи по выходу (OFB — Output Feed Back).
Режим электронной кодовой книги (ECB) отвечает обычному использованию DES как блочного шифра, осуществляющего некоторую простую замену блоков открытого текста. В режиме сцепления блоков (CBC) каждый блок
223
І лава в
Cn і > 1, шифртекста перед очередным зашифрованием складывается по модулю 2 со следующим блоком открытого текста M/+l. При этом вектор C0 полагается равным начальному вектору IV (Initial Vector). Начальный вектор меняется ежедневно и хранится в секрете. Блоки CpC2,... вырабатываются по рекуррентной формуле Ci = DESk (Q_j ® M1).
Схематично этот режим изображен на рис. 30.
Расшифрование
Рис. 30
224
Ьлочные системы шифрования
В режимах CFB и OFB алгоритм DES функционирует по аналогии с “шифром Вернама”, в режиме OFB — как синхронный шифр (см. гл. 9), в режиме CFB — как шифр с самосинхронизацией.
В режиме CFB вырабатывается блочная “гамма” Z09Z1,..., причем Z0 полагается равным начальному вектору IV, а при / > 1 блоки гаммы удовлетворяют соотношению Zi=DESfc(C^i). Блоки открытого текста шифруются по
правилу C1 = M1 ® Z1, і > 1. Схематично этот режим изображен на рис. 31.
< I! о U
V f
M1
DES*
M2
с,
DESt
> f *0
Зашифрование
> о и Il
\ f
DES*
^ г4 DESt (>Q
М,
M2
Расшифрование
Рис. 31
225
І лава 8
В режиме OFB вырабатывается блочная “гамма” Z09Z1,..., причем Z0 полагается равным начальному вектору IV, а при / > 1 блоки гаммы удовлетворяют соотношению Z1 = DESk(Zl^l). Блоки открытого текста шифруются по
правилу Ct = M1 ® Zn і > 1.
Кроме перечисленных режимов, DES имеет также “режим т-битовой обратной связи”, 1 < т < 64 . Этот режим
оперирует с w-битовыми блоками Входной блок (64-битовый регистр сдвига) вначале содержит вектор инициализации IV, “выровненный по правому краю” (см. рис. 32).
ШшШмшт Расшифрование
Рис 32
226
Ьлочные системы шифрования
Блоки открытого текста шифруются по правилу C1 = M1 ® P1, где P1 — вектор, состоящий из т старших
битов блока DESk(C}_\) . Обновление заполнения регистра сдвига осуществляется путем отбрасывания старших т битов и дописывания справа вектора P1.
Указанные режимы имеют свои достоинства и недостатки. Основное достоинство режима ECB — простота реализации. Недостаток — в возможности проведения криптоанализа исо словарем ”. Дело в том что вследствие большой избыточности в открытом тексте вполне возможны повторения 64-битовых блоков. Это приводит к тому, что одинаковые блоки открытого текста будут представлены идентичными блоками шифртекста, что дает криптоаналитику возможность при наличии достаточно большого числа пар открытого и шифрованного текста восстанавливать с большой вероятностью блоки открытого текста по шифртексту.
В режимах ECB и OFB искажение при передаче одного 64-битового блока шифртекста C1 приводит к искажению
после расшифрования соответствующего блока M1 открытого текста, но не влияет на следующие блоки. Это свойство используется для шифрования информации, предназначенной для передачи по каналам связи с большим числом искажений. Вместе с тем при использовании режима OFB остается открытым вопрос о периоде получаемой выходной гаммы, который в некоторых предположениях может составлять величину порядка 232.
В режимах CBC и CFB искажение при передаче одного блока шифртекста C1 приводит к искажению на приеме не более двух блоков открытого текста — M1, М[+]. В то же время изменение блока M1 приводит к тому, что C1 и все последующие блоки шифртекста будут искажены. Это свойство оказывается полезным
227
Ілава 8
для целей аутентификации. Такие режимы применяются для выработки кода аутентификации сообщения (см. гл. 14).
Так, в режиме CBC берется вектор инициализации, состоящий из одних нулей. Затем с помощью ключа к вырабатываются блоки C1,...,Crt шифртекста. Кодом аутентификации сообщения (KAC) служит блок Cn.
Если требуется обеспечить лишь целостность сообщения, отправитель передает блоки M1,..., Mn вместе с Cn. Тогда противнику, желающему изменить сообщение, нужно соответствующим образом изменить и блок Cn. Возможность этого маловероятна, если только противник не располагает секретным ключом к.
Если же нужно обеспечить шифрование и аутентификацию, то отправитель сначала использует ключ к{ для выработки KAC, затем шифрует последовательность блоков M1,...,Mn9 Mn+l = KAC на втором ключе к2, и получает последовательность блоков С19...9Сп9Сп+1. Получатель должен сначала расшифровать С]9...9Сп9Сп+1 на ключе к2, а затем проверить (с помощью к ), что Мп+Х — это KAC для M1,..., Mn.
Можно поступить и иначе: сначала использовать к для зашифрования M1,...,Mn9 получая C1,...,Cw, а затем к2 — для получения KAC . Получатель же будет использовать к2 для проверки KAC, а затем к — для расшифрования С С
Во всех перечисленных режимах вместо алгоритма DES может быть использован любой алгоритм блочного шифрования, в частности российский стандарт ГОСТ 28147-89.
228
Ьлочные системы шифрования