Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Блочное шифрование.doc
Скачиваний:
68
Добавлен:
01.05.2014
Размер:
779.26 Кб
Скачать
  1. Государственный стандарт шифрования Российской Федерации

GOST(ГОСТ 28147-89) –государственный стандарт шифрования РоссийскойФедерации.

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

ГОСТ преобразует блоки сообщения длиной 64 бита в блоки криптограммы такой же длины. Ключ содержит 256 бит, число циклов равно 32. В качестве преобразований используются нелинейные табличные подстановки и сложение по модулю 232. Помимо ключа длиной 256 бит имеется и долговременный ключ из 512 бит. Этот ключ меняет структуруS-блоков нелинейных преобразований.

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

Программная реализация обеспечивает скорости порядка 600800 кбит/c. Аппаратная реализация – до 1 Мбит/с.

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

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

В отличие от DESгенерация текущих ключей очень проста. Для этого последовательность из 256 символов, образующая ключ шифрования, разбивается в порядке следования на 8 цепочек по 32 бита:K 0 , K 1 ,…, K 7 , . Три раза они используются в первоначальном порядке (24 цикла), а четвертый раз (с 25-го цикла по 32-й) в обратном:K 7 , K 6 ,…, K 0 .

Вначале шифруемый блок из 64 бит разбивается на две части равной длины: левую L 0 и правуюR 0 .

Рис. 11. Функциональная схема одной итерации ГОСТ

Далее на каждом цикле выполняется операция, которая преобразует цепочки L i –1иR i –1с помощью текущего ключаK i в новые цепочкиL i иR i .в соответствии с функциональной схемой на рис. 11. Только на 32-м шаге (как и на последней итерации шифраDES) перестановка не производится: слева остаетсяL 31  f(R 31, K 32i) справа –R 31. Это необходимо для того, чтобы дешифрование происходило по схеме шифрования при использовании текущих ключей в обратном порядке..

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

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

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

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

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

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

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

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

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

Номер счета

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

1

2

3

4

5

6

6 байт

12 байт

12 байт

48 байт

16 байт

8 байт


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

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

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

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

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

.

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

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

,

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

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

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

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

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

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

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

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