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

Режимы реализации алгоритмов симметричного шифрования

Для любого симметричного блочного алгоритма шифрования определено четыре режима выполнения.

1 ECB - Electronic Codebook - каждый блок из 64 битов незашифрованного текста шифруется независимо от остальных блоков, с применением одного и того же ключашифрования. Типичные приложения - безопасная передача одиночных значений (например, криптографического ключа).

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

3 CFB - Cipher Feedback - при каждом вызове алгоритма обрабатывается J битов входного значения. Предшествующий зашифрованный блок используется в качестве входа в алгоритм; к J битам выхода алгоритма и следующему незашифрованному блоку из J битов применяется операция XOR, результатом которой является следующий зашифрованный блок из J битов. Типичные приложения - потокоориентированная передача, аутентификация.

4 OFB - Output Feedback - аналогичен CFB, за исключением того, что на вход алгоритма при шифровании следующего блока подается результат шифрования предыдущего блока; только после этого выполняется операция XOR с очередными J битами незашифрованного текста. Типичные приложения - потокоориентированная передача по зашумленному каналу (например, спутниковая связь).

ECB(ElectronicCodeBook) – электронная кодовая книга. Исходный текст разбит на блоки по 64 бита. Последний блок, если его длина не равна 64 бита, дополняют до 64 бит с помощью генератора ПСП (псевдослучайных последовательностей) или хеш–суммой передаваемого текста. Шифрование выполняется в соответствии с рисунком 1 последовательно каждого блока исходного текста одним из вариантов блочного шифра (напримерDES). В шифротексте зашифрованные блоки сохраняют свой порядок, причем при совпадении блоков исходного текста зашифрованные блоки тоже будут совпадать.

Х0

Х1

Х2

Х3…

Z0

Z1

Z2

Z3…

Рисунок 5 – Схема шифрования ECB

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

Схема CBC(CipherBlocChainin) – объединение в цепочку блоков шифротекста

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

Х0

Х1

Х2

Х3…

Z0

Z1

Z2

Z3…

Рисунок 6 – Схема шифрования CBC

CFB(CipherFeedBack) – обратная связь по шифроблоку

В этой схеме вначале шифруется вектор инициализации и результат для получения шифра первого блока объединяют по модулю 2 с первым блоком. После этого шифр первого блока шифруют блочным шифром, и результат для получения шифра второго блока объединяют по модулю 2 со вторым блоком и т.д. (см. рис. 3). Таким образом, шифр каждого блока зависит от вектора инициализации и результатов шифрования всех предыдущих блоков. Схема дешифрования такая же, но на вход подается шифротекст и DES(или другой блочный шифр) работает в режиме дешифрования.

Х0

Х1

Х2

Х3…

Z0

Z1

Z2

Z3…

Рисунок 7 – Схема шифрования CFB

OFB(OutputFeedBack) – обратная связь по выходу

Шифрование по этой схеме представлено на рисунке 4. По сути, происходит многократное шифрование блочным шифром только вектора инициализации, результаты которого объединяются по модулю 2 с очередным блоком открытого текста. Результат шифрования каждого блока зависит только от его позиции в исходном тексте и не зависит предыдущих блоков. Дешифрование аналогично дешифрованию в CBCиCFB.

Х0

Х1

Х2

Х3…

Z0

Z1

Z2

Z3…

Рисунок 8 – Схема шифрования OFB

Сравнительные характеристики схем шифрования с помощью блочных шифров приведены в таблице 8.

Таблица 8 – Сравнительные характеристики схем шифрования

Схема

Результат

шифрования зависит

Ошибка в одном

бите шифруемого блока исходного текста

Шифруется ли некратное блоку число бит (в посл. блоке)

ECB

только от шифруемого блока

искажает текущий блок

нет

(необходимо дополнять)

CBC

от шифруемого и всех предшествующих ему блоков

искажает текущий блок и все следующие за ним

нет

(необходимо дополнять)

CFB

от шифруемого и всех предшествующих ему блоков

искажает текущий блок и все следующие за ним

да

OFB

только от позиции шифруемого блока в исходном тексте

искажает один бит текущего блока

да

Лекция 5

Соседние файлы в папке Теория Алгоритмов_заоч_14