КАТЕГОРИИ: Архитектура-(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. Форматы данных блока и ключа шифрования
Таблица. 2.3. Зависимость числа раундов алгоритма от и .
Раунд криптоалгоритма (цикловая функция) состоит из четырех различных преобразований: - замены байтов 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; Просмотров: 627; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |