Статья опубликована в рамках: L Международной научно-практической конференции «Инновации в науке» (Россия, г. Новосибирск, 28 октября 2015 г.)
Наука: Математика
Скачать книгу(-и): Сборник статей конференции
- Условия публикаций
- Все статьи конференции
дипломов
Статья опубликована в рамках:
Выходные данные сборника:
СРАВНИТЕЛЬНЫЙ АНАЛИЗ СОВРЕМЕННЫХ АЛГОРИТМОВ ШИФРОВАНИЯ
Мелихова Оксана Аскольдовна
канд. техн. наук, доцент,
доцент Южного федерального университета,
РФ, г. Таганрог
Григораш Андрей Сергеевич
аспирант
Южного федерального университета,
РФ, г. Таганрог
Джамбинов Сергей Владимирович
студент
Южного федерального университета,
РФ, г. Таганрог
Чумичев Владимир Сергеевич
студент
Южного федерального университета,
РФ, г. Таганрог
Гайдуков Анатолий Борисович
студент
Южного федерального университета,
РФ, г. Таганрог
COMPARATIVE ANALYSIS OF MODERN ENCRYPTION ALGORITHMS
Oksana Melikhova
candidate of Science, assistant professor,
assistant professor of Southern Federal University,
Russia, Taganrog
Andrey Grigorash
postgraduate
of Southern Federal University,
Russia, Taganrog
Sergey Dzhambinov
student
of the Southern Federal University,
Russia, Taganrog
Vladimir Chumichev
student
of the Southern Federal University,
Russia, Taganrog
Anatoly Gaidukov
student
of the Southern Federal University,
Russia, Taganrog
АННОТАЦИЯ
В настоящее время все большую значимость набирает цифровая безопасность и методы криптографического шифрования. В данной статье рассмотрены алгоритмы шифрования, которые приняли участие в конкурсе Advanced Encryption Standard. Также в статье приведены достоинства и недостатки рассмотренных алгоритмов. Описывается выбор победителя конкурса, а также рассматриваются алгоритмы шифрования, вышедшие в финал.
ABSTRACT
At present, more importance is gaining digital security and cryptographic encryption methods. This article describes the encryption algorithms, which participated in the competition of Advanced Encryption Standard. Also in the article describes the advantages and disadvantages considered algorithms. It describes the selection of the winner, as well as the encryption algorithms are considered for the finals.
Ключевые слова: конкурс шифрования AES; алгоритмы шифрования; алгоритм Twofish; алгоритм Rijndael (AES); алгоритм Crypton.
Keywords: Competition encryption AES; encryption algorithm Twofish; the algorithm Rijndael (AES); an algorithm Crypton.
В настоящее время все больше людей начинают задумываться о своей безопасности. Люди все больше зависимы от компьютеров и все меньше знают о способах защиты своих личных данных от злоумышленников. Конечно, встает вопрос о том как защитить пользователей и как пользователь может защитить себя. Каждый специалист в сфере компьютерной безопасности может предложить свой способ обезопасить пользователей, используя алгоритмы шифрования. Наука, изучающая алгоритмы шифрования — криптография [1; 3; 5]. Точно неизвестно в каком веке зародилась криптография. Первые шифры появились ещё в Древнем Риме, Древнем Египте и Древней Греции. Одним из таких шифров является шифр Цезаря. Суть данного алгоритма в том, что у каждой буквы есть порядковый номер в алфавите, этот номер сдвигался на 3 значения влево. Такой алгоритм уже не дает той защиты, которую давал во времена его использования. Сейчас существует множество алгоритмов шифрования, в том числе стандартные алгоритмы шифрования, которые дают наибольшую защиту. Выделяют 4 стандартных алгоритма шифрования:
- Алгоритм шифрования DES [2; 4; 6]. Данный алгоритм предназначен для шифрования данных. (Заменен более новым алгоритмом шифрования AES).
- Алгоритм шифрования DSA [3; 6; 7]. Это смежный алгоритм шифрования, который предназначен как для шифрования данных, так и для создания цифровой подписи.
- Алгоритм шифрования RSA [8; 9; 10]. Данный алгоритм изначально был предназначен для создания цифровой подписи, но также его можно использовать для шифрования данных.
- Алгоритм шифрования AES [2; 3; 5; 6]. Алгоритм шифрования предназначен для шифрования данных.
Алгоритм шифрования AES был принят а 1997 году как стандарт шифрования вместо алгоритма DES после организованного Институтом стандартов и технологий США (NIST) открытого конкурса алгоритмов шифрования. В данном конкурсе участвовало 15 алгоритмов шифрования. Конкурс назвали в честь победителя — конкурс Advanced Encryption Standard (AES).
Один из претендентов на стандартизованный алгоритм шифрования — Crypton [1; 3; 5]. Данный алгоритм был разработан в 1998 году. Разработчиком алгоритма является Че Хун Лим. Поскольку алгоритм был разработан в 1998-м году, а сам конкурс взял свое начало в 1997-м году, то на конкурс был отправлен алгоритм Crypton v0.5, но уже на этапе анализа алгоритм был заменен на полноценную версию — Crypton v1.0. Данный алгоритм шифрует 128-битные блоки данных, используя ключи шифрования фиксированных алгоритмов — от 0 до 256 битов с кратностью 8 битов [4; 6; 8]. Алгоритм Crypton представляет 128-битный блок шифруемых данных в виде байтового массива размером 4 x 4, над которым производится несколько раундов преобразований. В каждом раунде предполагается последовательное выполнение следующих операций [6]:
- Табличная замена Y. Алгоритм Crypton использует 4 таблицы замен, в каждой из которых замещает 8-битное входное значение на выходное такого же размера. Все таблицы являются производными от основной таблицы S. В четных раундах используется операция Ye, в нечетных — Y0. Эти операции обладают свойствами, которые важны как для зашифровывания данных, так и для расшифровывания. Например, свойство 1 : Ye(y0(A))= Y0(YE(A))=A4; то есть если S=S-1, то S2=S0-14, S3=S1-1.
- Линейное преобразование π. Здесь используются 4 специальные константы, в которых указаны шестнадцатеричные значения: M0=FC; M1=F3; M2=CF; M3=3F.
Каждое из таких значений является объединением маскирующих последовательностей. Сама же операция π представляет собой битовую перестановку. В нечетных раундах используется операция π0, в четких раундах используется операция πе.
- Байтовая перестановка τ — служит для преобразования строки данных в столбец.
- Операция σ, представляет собой побитовое сложение всего массива данных с ключом раунда.
В алгоритме используется 12 раундов шифрования, однако, можно использовать и большее количество раундов, но сами разработчики алгоритма рекомендуют использовать именно 12 раундов, так как это оптимальное количество и оно позволяет повысить криптостойкость системы и снизить процент уровня взлома. Перед первым раундом алгоритма используется операция σ, а по завершении 12 раундов выполняется выходное преобразование φе, которое состоит из последовательных операций τ, πе, τ.
Изначально в исходной версии алгоритма был обнаружен класс слабых ключей. Кроме того, алгоритм оказался восприимчивый для атаки, которой был подвержен алгоритм шифрования Square. Многие эксперты считают, что именно из-за этого данный алгоритм шифрования был улучшен и была создана следующая версия данного алгоритма. В версии алгоритма Crypton v1.0. все недостатки были устранены, эксперты утверждают, что список достоинств данного алгоритма оказался довольно внушительным. К основным его достоинствам можно отнести:
- Высокая скорость на всех целевых платформах.
- Небольшие требования к оперативной памяти.
- Алгоритм не подвержен атакам во время шифрования и атакам по времени.
- Быстрое расширение ключа.
- Возможность выполнения операций параллельно.
- Размерность — установление разных размеров ключей.
Даже при всех этих достоинствах эксперты не пропустили данный алгоритм в следующий раунд конкурса. Это произошло из-за двух схожих алгоритмов — алгоритма шифрования Rijndael (он же алгоритм AES) и алгоритма шифрования Twofish.
Следующим алгоритмом шифрования, который был отправлен на конкурс AES — Square [3; 7; 9]. Данный алгоритм интересен по двум причинам:
- Этот алгоритм был разработан теми же специалистами, которые разработали алгоритм Rijndael.
- Структура Square легла в основу алгоритма Rijandael.
Алгоритм шифрует данные блоками по 128 бит, длина ключа составляет 128 бит (можно сказать, это его минус из-за того, что размер ключа строго определенной длины). Сами данные выглядят как таблица (4 × 4). Алгоритм состоит из 8 раундов. Каждый раунд состоит из следующих шагов:
- Линейное преобразование θ, выполняемое раздельно для каждой строки таблицы.
- Нелинейное преобразование (табличная замена).
- Байтовая перестановка π преобразует строку в столбец.
- Операция σ представляет собой побитовое сложение.
Криптостойкость этого алгоритма очень высокая. Сами авторы опубликовали несколько его уязвимостей к атакам, но все эти атаки были успешны только на урезанный алгоритм, то есть на 6 раундовый алгоритм. Создатели алгоритма предостерегают пользователей об использовании его без полного анализа на предмет уязвимостей.
Следующим алгоритмом который был представлен на конкурс AES был алгоритм Twofish. Он разработан Брюсом Шнайером [5; 6; 7; 8]. Брюс Шнайер — автор множества работ в области криптологии. Ему принадлежит известный алгоритм Blowfish, а также у него есть несколько монографий в области криптографии. В разработке этого алгоритма принимали также участие Джон Келси, Крис Холл, Дуг Уайтинг.
Алгоритм Twofish разбивает шифруемые данные на четыре 32-битные субблока (обозначим их A,B,C,D). Над этими субблоками производится 16 раундов преобразований, в каждом из которых выполняются следующие операции [5,6]:
- Содержание субблока B циклично сдвигается влево на 8 бит.
- Субблок А обрабатывается операцией g().
- Субблок B аналогично будет обрабатываться g().
- Субблок B накладывается на A с помощью сложения по модулю 232, после чего накладывается блок A на блок B.
- Фрагмет расширенного ключа K2r+8 (r — это номер текущего раунда (нумерация производится с 0)) складывается с субблоком A по модулю 232.
- Аналогично предыдущему шагу 5, ключ K2r+9 накладывается на субблок B.
- Субблок A накладывается на субблок C с операцией XOR.
- Содержимое субблока D циклически сдвигается влево на 1 бит.
- Субблок B накладывается на D операцией XOR.
- Содержимое субблока C циклически сдвигается вправо на 1 бит.
Операция g() обратывает 32-битный входной субблок по следующим шагам:
- Субблок делится на 4 фрагмента по 8 бит каждый.
- Фрагменты проходят через таблицу замен, которая строится (8 × 8) бит и таких таблиц 4. Таблицы вычисляются динамически и строятся на основе ключа шифрования.
- Результат замен умножается на фиксированную матрицу.
У алгоритма нет существенных недостатков. Эксперты конкурса AES отметили лишь один недостаток: сложность алгоритма, которая затрудняет его анализ и реализацию. Данный алгоритм был в финале конкурса AES.
У алгоритма Twofish есть модификация, которая называется Twofish — FK (Twofish Family Key) [2; 5; 8]. Twofish-FK — шаблон для формирования на основе Twofish вариантов алгоритма, которые несовместимы между собой, то есть данный алгоритм ограничивает применение в определённых рамках. Несовместимость вариантов алгоритма достигается путем применения дополнительного ключа (FK), который одинаков для всех субъектов, которые используют данный алгоритм. Криптостойкость данного алгоритма такая же, как у и стандартного алгоритма Twofish, поскольку наложения ключа никак не влияют на основные параметры алгоритма.
Далее рассмотрим победителя конкурса AES — алгоритм шифрования Rijndael (или как назвали его после победы — алгоритм шифрования AES) [5; 6; 7; 11].
Структура этого алгоритма практически идентична структуре алгоритма Twofish. Алгоритм AES представляет блок данных в виде двумерного байтового массива размером (4 × 4). Все операции производятся над отдельными байтами массива, которые также независимы от столбцов и строк.
В каждом раунде алгоритма выполняются следующие преобразования [2; 6; 9]:
- Операция SubBytes, представляющая собой табличную замену каждого байта массива данных.
- Операция ShiftRows выполняет циклический сдвиг влево всех строк массива данных. Исключением является нулевая строка.
- Операция MixColumns. Выполняет умножение каждого столбца массива данных.
- Операция AddRoundKey. Выполнятся наложением на массив данных материала ключа, а именно, на i-й столбец массива данных побитовое сложение логической операцией «исключающее или» (XOR) накладывается на определенное слово расширенного ключа.
По утверждению авторов, Rijndael не подвержен следующим видам криптоаналитических атак:
- У алгоритма отсутствуют слабые ключи и возможность вскрыть алгоритм с помощью атак на связанных ключах.
- Алгоритм защищен от дифференциального криптоанализа.
- Алгоритм не восприимчив к линейному криптоанализу и усеченным дифференциалам.
- Отсутствует Square-атака (атака на алгоритмы со структурой «квадрат»).
- Алгоритм нельзя вскрыть методом интерполяции.
Эксперты конкурса AES, изучив данный алгоритм, поставили свою оценку данному алгоритму [6]:
- Square-атака подействовала на усеченный алгоритм (то есть, не на полный алгоритм, а на алгоритм с меньшим числом раундов).
- Авторы алгоритма Twofish с участием других специалистов усилили Square-атаку, чтобы она смогла вскрыть данный алгоритм за меньшее число операций.
- Также эта команда криптологов предложила атаку на связанных ключах на 9-раундовую версию алгоритма Rijndael с ключом шифрования в 256-бит.
Алгоритм Rijndael оказался одним из самых надежных алгоритмов, представленных на конкурс и через 6 лет он стал стандартом. Следует отметить, что криптоаналитики весьма серьезно продвинулись в попытке взлома данного алгоритма.
Ими предложена теоретическая атака уже на 10 раундов из 12 возможных алгоритма AES-192 (192 — количество бит ключа) и существует множество примеров вскрытия реализации алгоритма AES с помощью side-channel-атак.
В связи с этим некоторые эксперты считают, что данный алгоритм оказался более слабым, чем предполагалось изначально, но за шесть лет попытки взлома AES продвинулись только теоретически, и только для алгоритма со 192-битным ключом. Следует заметить, что данный алгоритм поддерживает не только 192-битный ключ, но и 128- или 256-битные ключи, что усложняет взлом данного алгоритма.
Список литературы:
- Брассар Ж. Современная криптология: М.: "Полимед", 1999. — 176 с.
- Мелихова О.А. Основы защиты информации: Учебное пособие. — Ростов-н/Д.: Изд-во ЮФУ, 2014. — 108 с.
- Мелихова О.А., Гайдуков А.Б., Джамбинов С.В. Чумичев В.С., Григораш А.С. Алгоритмы шифрования: LUCIFER, NEWDES, BLOWFISH, KHUFU, KHAFRE// Актуальные проблемы гуманитарных и естественных наук. — М., № 07(78). Ч. 1. 2015. — С. 64—67.
- Мелихова О.А., Чумичев В.С., Джамбинов С.В., Гайдуков А.Б. Некоторые аспекты криптографического взлома и повышения надежности алгоритмов шифрования// Молодой ученый. — Казань, № 11(91), 2015. — С. 392—394.
- Панасенко С.П. Алгоритмы шифрования. Специальный справочник. — СПб.: БХВ-Петербург, 2009. — 576 с.
- Петров А.А. Компьютерная безопасность. Криптографические методы защиты. — М.: ДМК, 2000. — 448 с.
- Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. «Защита информации в современных компьютерных системах» — М.: Радио и связь. 2001. — 376 с.
- Соколов А.В., Шаньгин В.Ф. Защита информации в распределенных корпоративных сетях и системах. — М.: ДМК Пресс, 2002. — 656 с.
- Шнайер Б. «Прикладная криптография» — Изд-во: Диалектик. 2002. — 610 с.
- Melikhova O.A., Gaydukov A.B., Dzhambinov S.V., Chumichev V.S., Grigorash A.S. Basics of cryptography: creation history, basic algorithms, standarts // Научная дискуссия: инновации в современном мире. — М., Изд. «Международный центр науки и образования», 2015. № 3—4(35). — С. 158—165.
- Kureychik V.V. Melikhova O.A. Gaydukov A.B. Chumichev V.S. Dzhambinov S.V. Bukach S.A. Proceedings of the International Scientific and Practical Conference "Innovative technologies in science, Vol. I (February 21—22, 2015, Dubai, UAE)". — Dubai.: Rost Publishing, 2015. — P. 57—67.
дипломов
Оставить комментарий