Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Симметричные криптосистемы и их свойства 3 страница




2) нелинейную замену с помощью S-блоков;

3) перемешивание координат 32 битового вектора с помощью циклического сдвига на 11 бит влево.

Рис. 2.12. Функция усложнения криптосистемы ГОСТ 28147-89

 

Отличительной особенностью отечественной криптосистемы является то, что S-блоки выбираются для каждой сети отдельно и, по сути, служат долговременным ключом алгоритма шифрования. Алгоритм выработки раундовых ключей заключается в следующем. Исходный 256 битный ключ делится на восемь 32 битовых подключей, которые используются как раундовые в следующем порядке: 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 8 7 6 5 4 3 2 1. При расшифровании порядок использования ключей меняется на противоположный.

Криптосистема ГОСТ 28147-89 является достаточно стойкой, на сегодняшний день не известно никаких реальных подходов, позволяющих дешифровать криптограммы, не имея ключа. Вместе с тем российский стандарт имеет ряд недостатков, общих с DES. Во-первых, на одном и том же ключе одинаковые 64 битовые блоки перейдут в одинаковые блоки криптограммы. Во-вторых, при использовании простой замены (S-блоки) легко незаметно произвести подмену одной криптограммы, или ее части, другой криптограммой (если они зашифрованы на одном ключе), можно также поменять местами отдельные участки одной криптограммы.

2.4.6. Конкурс AES и блочная криптосистема Rijndael

В 1997 году Национальный институт стандартов и технологий США (NIST) объявил о начале программы AES (Advanced Encryption Standard) по принятию нового стандарта криптографической защиты [2,10,11] взамен устаревшему стандарту DES. Требования к кандидатам: криптоалгоритм должен быть открыто опубликован; криптоалгоритм должен быть симметричным блочным шифром, допускающим размеры ключей в 128, 192 и 256 бит; криптоалгоритм должен быть предназначен как для аппаратной, так и для программной реализации; криптоалгоритм должен быть доступен для открытого использования в любых продуктах; криптоалгоритм подвергается изучению по следующим параметрам: стойкость, стоимость, гибкость, реализуемость в smart-картах.

На конкурс приняты 15 алгоритмов из 12 стран. В финал конкурса вышли криптосистемы: MARS, TWOFISH, RC6, Rijndael, SERPENT. Криптосистема MARS выставлена на конкурс фирмой IBM и по своей структуре может быть отнесена к модифицированным шифрам Фейстеля. Достоинствами криптосистемы является высокий уровень защищенности, потенциальная возможность поддержки ключа размером более 256 бит, высокая эффективность на 32 разрядных платформах. Недостаток криптосистемы состоит в сложности ее конструкции. Это пожалуй самая сложная криптосистема, представленная на конкурс. Криптосистема TWOFISH представлена на конкурс Б. Шнайдером. По своей структуре криптосистема является классическим шифром Фейстеля. Главная особенность криптосистемы – меняющиеся в зависимости от ключа таблицы замен. Достоинствами являются: высокий уровень защиты, удобная реализация в smart-картах, высокая эффективность на любых платформах (в том числе и на 64 разрядных), вычисление раундовых ключей «на лету», допускает произвольную длину ключа до 256 бит. К недостаткам можно отнести высокую сложность алгоритма, что затрудняет его аппаратную и программную реализации. Криптосистема RC6 представлена на конкурс фирмой RSA Lab и по своей структуре может быть также отнесена к модифицированным шифрам Фейстеля. Достоинствами криптосистемы является: простая структура алгоритма, быстрая процедура формирования ключа, потенциальная возможность поддержки ключа размером более 256 бит, длина ключа и число раундов могут быть переменными, высокая эффективность на 32 разрядных платформах. К недостаткам можно отнести: относительно низкий уровень защищенности, невозможность формирования раундовых ключей «на лету». Криптосистема SERPENT представлена тремя известными криптоаналитиками Р. Андерсеном, Э. Бихамом, Л. Кнудсеном. Криптосистема является классической SP-сетью. Достоинствами криптосистемы является: высокий уровень защищенности, удобная реализация в smart-картах. К недостаткам относится низкая скорость шифрования. Это самая медленная из всех представленных на конкурс криптосистем. В 2000 году конкурс завершился и победителем была признана криптосистема Rijndael, как имеющая наилучшее сочетание стойкости, стоимости, производительности, эффективности реализации и гибкости. Авторами криптосистемы являются Винсент Райман и Йоан Дамен.

Криптосистема Rijndael, в настоящее время известная больше как AES, представляет собой алгоритм шифрования не использующий схему Фейстеля [2,11]. Криптосистема имеет ключи размером 128, 192 и 256 бит, входные блоки могут иметь длину 128, 192 и 256 бит. Количество раундов 10, 12 или 14 в зависимости от длины ключа.

Промежуточные результаты преобразований, выполняемые в рамках криптопреобразования, называют состояниями (State). Состояние можно представить в виде прямоугольного массива байтов. При размере блока, равном 128 бит этот 16-ти байтовый массив имеет 4 строки и 4 столбца (каждая строка или столбец рассматривается как 32 разрядное слово). Входные данные для криптоалгоритма обозначаются как байты состояния. После шифрования выходные данные получаются из байтов состояния в том же порядке. Число столбцов блока данных равно длине блока деленной на 32. Ключ шифрования также представляется в виде прямоугольного массива с четырьмя строками. Число столбцов массива равно длине ключа деленной на 32.

В табл. 2.2 представлены форматы данных блока и ключа шифрования для случая, когда =4 и =4. В таблице - байт массива State, - байт ключа. Число раундов зависит от значений и (см. табл.2.3).

 

Таблица. 2.2. Форматы данных блока и ключа шифрования

a00 a03   K00 K03
 
a30 a33   K30 K33

Таблица. 2.3. Зависимость числа раундов алгоритма от и .

Nr Nb=4 Nb=6 Nb=8
Nk=4      
Nk=6      
Nk=8      

Раунд криптоалгоритма (цикловая функция) состоит из четырех различных преобразований:

- замены байтов SubBytes() – побайтовой замены в S-блоках с фиксированной таблицей замен размерностью ;

- сдвига строк ShiftRows() – побайтового сдвига строк массива State на различное количество байт;

- перемешивания столбцов MixColumns() – умножения столбцов состояния, рассматриваемых как многочлены над , на многочлен третьей степени по модулю ;

- сложение с раундовым ключом AddRoundKey() – поразрядного XOR с текущим фрагментом развернутого ключа.

Замена байтов SubBytes(). Преобразование SubBytes() представляет собой нелинейную замену байтов, выполняемую независимо с каждым байтом состояния. Таблицы замены S-блока являются инвертируемыми и построены из композиции следующих двух преобразований входного байта:

1) получение обратного элемента относительно умножения в поле , нулевой элемент 00 переходит сам в себя;

2) применение преобразования над определяемого уравнением:

, (2.29)

где 1, 0, и - соответственно исходное и преобразованное значение го бита, . На рис. 2.13 иллюстрирует применение преобразования SubBytes() к состоянию.

Сдвиг строк ShiftRows() – последние три строки состояния циклически сдвигаются влево на различное число байтов. Значение сдвигов зависит от длины блока и составляет: для =4 – 10, 12, 14; для =6 – 12, 12, 14; для =8 – 14,14,14. На рис. 2.14 иллюстрируется применение преобразования ShiftRows().

Перемешивание столбцов MixColumns(). В этом преобразовании столбцы состояния рассматриваются как многочлены над и умножаются по модулю на многочлен:

. (2.30)

Это можно представить в матричном виде:

, (2.3)

где - номер столбца массива State. На рис. 2.15 иллюстрирует применение преобразования MixColumns().

Сложение с раундовым ключом AddRoundKey(). В данной операции раундовый ключ добавляется к состоянию посредством простого поразрядного XOR. Длина раундового ключа равна длине блока.

Алгоритм шифрования, таким образом, состоит из начального добавления раундового ключа, реализации -1 раундов цикловой функции и заключительного раунда в котором отсутствует операция MixColumns().

Более подробно криптосистема Rijndael описана в [2,10,11]. Стандарт шифрования FIPS-197, реализующий криптоалгоритм Rijndael, вступил в силу с 2002 года.

Кроме рассмотренных выше криптосистем достаточно широко используются такие криптосистемы, как IDEA (International Data Encryption Algorithm), SAFER+ и SAFER++.

 


 

Рис. 2.13 Преобразование SubBytes()

 

 

Рис. 2.14. Преобразование ShiftRows()

 

Рис. 2.15 Преобразование MixColumns()

 





Поделиться с друзьями:


Дата добавления: 2014-12-26; Просмотров: 589; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.017 сек.