Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VIZO_for_print_.doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
1.75 Mб
Скачать

5.3.Многократное шифрование блоков

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

 ,  .

Здесь применяемые ключи указываются как нижние индексы у функций шифрования/дешифрования.

Пусть длина используемых ключей одинакова и равна N , а криптоанализ криптограммы выполняется с полным перебором всех возможных пар ключей 2 и 1.

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

Однако можно показать, что это не так. Если длина ключей равна N, то верхняя граница необходимого числа операций для криптоанализа двукратного шифрования равна только .и двукратное шифрование не является эффективным.

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

,   .

Доказывается, что в этом случае наилучший метод криптоанализа при помощи тотального перебора ключей потребует 22N шагов, т.е. стойкость шифра существенно увеличивается.

В более простом способе повышения криптостойкости блоковых шифров с использованием трех ключей два ключа применяют для маскировки

 =  3 ,     =  1 .

Длина маскирующих ключей 1 и  может не совпадать с длиной ключа .

5.4.Модифицированные алгоритмы блоковых шифров

При формировании криптограммы из сообщения один и тот же алгоритм шифрования может быть использован в различных модификациях. До сих пор рассматривалось применение блокового шифрования в виде электронной кодовой книги (Electronic Code Book, ECB). В этом случае сообщение разбивается на блоки одинаковой длины, заданной алгоритмом шифрования, после чего каждый блок независимо от других преобразуется в блок криптограммы. Данная модификация имеет существенные недостатки:

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

Данная модификация допускает подмену зашифрованного сообщения на какое-либо другое, т.е. навязывание злоумышленником без знания ключа ложного сообщения. Факт подмены может быть не обнаружен после дешифрования.

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

Время отправления

Имя банка отправителя

Имя банка получателя

Имя вкладчика

Номер счета

Размер вклада

1

2

3

4

5

6

6 байт

12 байт

12 байт

48 байт

16 байт

8 байт


Фрагменты сообщения в столбцах 4 и 5 можно заменить в чужом переводе, и это не будет замечено при дешифровании.

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

Для устранения указанных недостатков используют модифицированные алгоритмы (моды) блокового шифрования.

Одна из модификаций, модификация с зацеплением блоков (Cipher Block Chaining, CBC) показана на рис. 11.

В этом случае сообщение также разбивается на блоки длины n, после чего соответствующие блоки криптограммы формируются по правилу

.

Рис. 11. Шифрование с зацеплением блоков

Для дешифрования используется зависимость

,

i = 1, 2,…, S. В двух последних соотношениях E0 = IV, где IV – некоторые начальные данные (Initial Value), представляющие собой блок длины n из двоичных символов, которые выбираются случайно и не являются секретными, однако обновляются при каждом новом сеансе шифрования.

Данная модификация предусматривает, что каждый блок открытого текста «маскируется» сложением по модулю 2 с предыдущим блоком криптограммы. А это означает, что каждый блок криптограммы является функцией ключа, вектора начальных

данных и каждого бита предыдущих блоков открытого текста.

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

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

Кроме данной модификации часто используются и такие как

  • Модификация с обратной связью по криптограмме (Cipher Feed Back, CFB)

  • Модификация с обратной связью по гамме (Output Feed Back, OFB)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]