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

Глава 6. Блочные шифры гост 28147-89 и rijndael

6.1. Схемы шифрования гост 28147-89 и Rijndael

Характерные для начала 70-х годов XX столетия принципы построения блочных шифров были обусловлены, с одной стороны, уровнем развития математических наук, с другой – компромиссом между требуемой скоростью шифрования и сложностью технического реализации алгоритма, обеспечивающего необходимую криптографическую стойкость. Поскольку электронная промышленность в то время массово освоила только выпуск микросхем малой и средней степени интеграции, то выбор того или иного алгоритмического решения в значительной степени зависел от имевшейся микроэлектронной базы и характеристик вычислительной техники, прежде всего, от ее быстродействия и объема оперативной памяти.

Созданный в эти годы и утвержденный в качестве стандарта США в 1977 году криптоалгоритм DES, реализует архитектуру, получившую название сбалансированная сеть Файстеля (balanced Feistel network). В соответствии с этой архитектурой весь процесс шифрования состоит из серии однотипных циклов (раундов).

Данный принцип построения занимал доминирующее положение в криптографии блочных шифров практически до наших дней. В частности, он положен в основу ряда широко используемых шифров, включая криптоалгоритм, определенный стандартом ГОСТ 28147-89 (далее – ГОСТ), а также алгоритм IDEA, реализованный в программном продукте PGP [8,30].

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

Перечисленные факторы обусловили разработку новых подходов к построению блочных симметричных криптоалгоритмов.

В конце 90-х годов Национальный институт стандартов и технологий (NIST) инициировал конкурс на создание нового стандарта шифрования взамен алгоритма DES. Всего было предложено 15 криптографических алгоритмов, удовлетворяющих основным конкурсным требованиям. После подведения промежуточных итогов осталось пять финалистов, из которых в октябре 2000 года для утверждения в качестве стандарта AES (advanced encryption standard) был выбран криптографический алгоритм Rijndael (Рэндел) [12,15,40].

В отличие от ГОСТ, длину ключа и размер шифруемого блока алгоритма Rijndael можно изменять, что достигается благодаря примененной схеме шифрования. При этом, количество раундов (циклов работы) алгоритма определяется длиной ключа и размером шифруемого блока по следующему правилу: если максимальная из этих двух величин равна 128 бит, то устанавливается 10 раундов, для 192 бит – 12 раундов и для 256 бит – 14 раундов (таблица 6.1).

Это позволяет в зависимости от исходных требований к криптосистеме варьировать в достаточно широких пределах стойкостью (от до), и в не очень широких – быстродействием алгоритма (не более чем в 1.4 раза). Отметим, что в стандарте AES выбран размер блока равный только 128 бит.

Таблица 6.1. Сравнительные характеристики ГОСТ 28147-89 и Rijndael

Характеристика

Криптоалгоритм

ГОСТ 28147-89

Rijndael

Размер блока в битах

64

128,192,256

Длина ключа в битах

256 (+512)

128,192,256

Архитектура

Однородная сбалансированная сеть Файстеля

«квадрат» (Square)

Число циклов (раундов)

32

10,12,14

Часть блока, шифруемая за один цикл (раунд), бит

32 (половина блока)

128, 192, 256

(полный блок)

Длина раундового ключевого элемента, бит

32 (половина блока)

128, 192, 256

(равна размеру блока)

Используемые операции

Сложение mod 2 и mod232, операции потетрадной замены, цикл. сдвиг влево на 11 битов

Различные операции над конечными полями

и кольцами

В алгоритме ГОСТ, как и в DES, весь процесс шифрования разбит на серию однотипных циклов (раундов). Особенности построения алгоритмов ГОСТ и Rijndael, а также их свойства удобно изучать на основе их сравнительного анализа, изложенного в [13].

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

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

Шифр Rijndael (рис. 6.1б) имеет принципиально другую архитектуру, получившую название «квадрат» (от авторского названия первой версии шифра – Square). Эта архитектура базируется на прямых преобразованиях шифруемого блока, который представляется в форме матрицы байтов.

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

Каждый раунд заключается в побитовом сложении по mod 2 текущего состояния шифруемого блока и ключевого элемента раунда, за которым следует сложное нелинейное преобразование блока, сконструированное из трех более простых преобразований, рассмотренных далее.

Рис. 6.1 Шифрование по алгоритмам ГОСТ 28147-89 (а) и Rijndael (б)

Обозначения, принятые на рис.6.1 имеют следующий смысл.

–исходный и зашифрованный блоки соответственно;

–ключевой элемент цикла (раунда);

–зашифрованная после -го цикла часть блока;

–функция шифрования алгоритма ГОСТ;

, – регулярное нелинейное преобразование и нелинейное преобразование последнего раунда алгоритма Rijndael соответственно;

–число раундов в алгоритме Rijndael (10, 12 или 14).

Соседние файлы в папке Гулак_по_главам