Телефон: +7 (383)-202-16-86

Статья опубликована в рамках: L Международной научно-практической конференции «Инновации в науке» (Россия, г. Новосибирск, 28 октября 2015 г.)

Наука: Математика

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Мелихова О.А., Григораш А.С., Джамбинов С.В. [и др.] СРАВНИТЕЛЬНЫЙ АНАЛИЗ СОВРЕМЕННЫХ АЛГОРИТМОВ ШИФРОВАНИЯ // Инновации в науке: сб. ст. по матер. L междунар. науч.-практ. конф. № 10(47). – Новосибирск: СибАК, 2015.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

 

СРАВНИТЕЛЬНЫЙ  АНАЛИЗ  СОВРЕМЕННЫХ  АЛГОРИТМОВ  ШИФРОВАНИЯ

Мелихова  Оксана  Аскольдовна

канд.  техн.  наук,  доцент,

доцент  Южного  федерального  университета,

РФгТаганрог

E-mail: 

Григораш  Андрей  Сергеевич

аспирант 
Южного  федерального  университета,

РФгТаганрог

E-mail: 

Джамбинов  Сергей  Владимирович

студент 
Южного  федерального  университета,

РФгТаганрог

E-mail: 

Чумичев  Владимир  Сергеевич

студент 
Южного  федерального  университета,

РФгТаганрог

E-mail: 

Гайдуков  Анатолий  Борисович

студент 
Южного  федерального  университета,

РФгТаганрог

E-mail: 

 

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  стандартных  алгоритма  шифрования: 

  1. Алгоритм  шифрования  DES  [2;  4;  6].  Данный  алгоритм  предназначен  для  шифрования  данных.  (Заменен  более  новым  алгоритмом  шифрования  AES).
  2. Алгоритм  шифрования  DSA  [3;  6;  7].  Это  смежный  алгоритм  шифрования,  который  предназначен  как  для  шифрования  данных,  так  и  для  создания  цифровой  подписи. 
  3. Алгоритм  шифрования  RSA  [8;  9;  10].  Данный  алгоритм  изначально  был  предназначен  для  создания  цифровой  подписи,  но  также  его  можно  использовать  для  шифрования  данных. 
  4. Алгоритм  шифрования  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]: 

  1. Табличная  замена  Y.  Алгоритм  Crypton  использует  4  таблицы  замен,  в  каждой  из  которых  замещает  8-битное  входное  значение  на  выходное  такого  же  размера.  Все  таблицы  являются  производными  от  основной  таблицы  S.  В  четных  раундах  используется  операция  Ye,  в  нечетных  —  Y0.  Эти  операции  обладают  свойствами,  которые  важны  как  для  зашифровывания  данных,  так  и  для  расшифровывания.  Например,  свойство  1  :  Ye(y0(A))=  Y0(YE(A))=A4;  то  есть  если  S=S-1,  то  S2=S0-14,  S3=S1-1
  2. Линейное  преобразование  π.  Здесь  используются  4  специальные  константы,  в  которых  указаны  шестнадцатеричные  значения:  M0=FC;  M1=F3;  M2=CF;  M3=3F.

Каждое  из  таких  значений  является  объединением  маскирующих  последовательностей.  Сама  же  операция  π  представляет  собой  битовую  перестановку.  В  нечетных  раундах  используется  операция  π0,  в  четких  раундах  используется  операция  πе.

  1. Байтовая  перестановка  τ  —  служит  для  преобразования  строки  данных  в  столбец. 
  2. Операция  σ,  представляет  собой  побитовое  сложение  всего  массива  данных  с  ключом  раунда. 

В  алгоритме  используется  12  раундов  шифрования,  однако,  можно  использовать  и  большее  количество  раундов,  но  сами  разработчики  алгоритма  рекомендуют  использовать  именно  12  раундов,  так  как  это  оптимальное  количество  и  оно  позволяет  повысить  криптостойкость  системы  и  снизить  процент  уровня  взлома.  Перед  первым  раундом  алгоритма  используется  операция  σ,  а  по  завершении  12  раундов  выполняется  выходное  преобразование  φе,  которое  состоит  из  последовательных  операций  τ,  πе,  τ.

Изначально  в  исходной  версии  алгоритма  был  обнаружен  класс  слабых  ключей.  Кроме  того,  алгоритм  оказался  восприимчивый  для  атаки,  которой  был  подвержен  алгоритм  шифрования  Square.  Многие  эксперты  считают,  что  именно  из-за  этого  данный  алгоритм  шифрования  был  улучшен  и  была  создана  следующая  версия  данного  алгоритма.  В  версии  алгоритма  Crypton  v1.0.  все  недостатки  были  устранены,  эксперты  утверждают,  что  список  достоинств  данного  алгоритма  оказался  довольно  внушительным.  К  основным  его  достоинствам  можно  отнести: 

  1. Высокая  скорость  на  всех  целевых  платформах. 
  2. Небольшие  требования  к  оперативной  памяти. 
  3. Алгоритм  не  подвержен  атакам  во  время  шифрования  и  атакам  по  времени. 
  4. Быстрое  расширение  ключа.
  5. Возможность  выполнения  операций  параллельно. 
  6. Размерность  —  установление  разных  размеров  ключей. 

Даже  при  всех  этих  достоинствах  эксперты  не  пропустили  данный  алгоритм  в  следующий  раунд  конкурса.  Это  произошло  из-за  двух  схожих  алгоритмов  —  алгоритма  шифрования  Rijndael  (он  же  алгоритм  AES)  и  алгоритма  шифрования  Twofish.

Следующим  алгоритмом  шифрования,  который  был  отправлен  на  конкурс  AES  —  Square  [3;  7;  9].  Данный  алгоритм  интересен  по  двум  причинам:

  1. Этот  алгоритм  был  разработан  теми  же  специалистами,  которые  разработали  алгоритм  Rijndael. 
  2. Структура  Square  легла  в  основу  алгоритма  Rijandael. 

Алгоритм  шифрует  данные  блоками  по  128  бит,  длина  ключа  составляет  128  бит  (можно  сказать,  это  его  минус  из-за  того,  что  размер  ключа  строго  определенной  длины).  Сами  данные  выглядят  как  таблица  (4  ×  4).  Алгоритм  состоит  из  8  раундов.  Каждый  раунд  состоит  из  следующих  шагов:

  1. Линейное  преобразование  θ,  выполняемое  раздельно  для  каждой  строки  таблицы.
  2. Нелинейное  преобразование  (табличная  замена).
  3. Байтовая  перестановка  π  преобразует  строку  в  столбец. 
  4. Операция  σ  представляет  собой  побитовое  сложение. 

Криптостойкость  этого  алгоритма  очень  высокая.  Сами  авторы  опубликовали  несколько  его  уязвимостей  к  атакам,  но  все  эти  атаки  были  успешны  только  на  урезанный  алгоритм,  то  есть  на  6  раундовый  алгоритм.  Создатели  алгоритма  предостерегают  пользователей  об  использовании  его  без  полного  анализа  на  предмет  уязвимостей. 

Следующим  алгоритмом  который  был  представлен  на  конкурс  AES  был  алгоритм  Twofish.  Он  разработан  Брюсом  Шнайером  [5;  6;  7;  8].  Брюс  Шнайер  —  автор  множества  работ  в  области  криптологии.  Ему  принадлежит  известный  алгоритм  Blowfish,  а  также  у  него  есть  несколько  монографий  в  области  криптографии.  В  разработке  этого  алгоритма  принимали  также  участие  Джон  Келси,  Крис  Холл,  Дуг  Уайтинг. 

Алгоритм  Twofish  разбивает  шифруемые  данные  на  четыре  32-битные  субблока  (обозначим  их  A,B,C,D).  Над  этими  субблоками  производится  16  раундов  преобразований,  в  каждом  из  которых  выполняются  следующие  операции  [5,6]: 

  1. Содержание  субблока  B  циклично  сдвигается  влево  на  8  бит. 
  2. Субблок  А  обрабатывается  операцией  g(). 
  3. Субблок  B  аналогично  будет  обрабатываться  g().
  4. Субблок  B  накладывается  на  A  с  помощью  сложения  по  модулю  232,  после  чего  накладывается  блок  A  на  блок  B. 
  5. Фрагмет  расширенного  ключа  K2r+8  (r  —  это  номер  текущего  раунда  (нумерация  производится  с  0))  складывается  с  субблоком  A  по  модулю  232
  6. Аналогично  предыдущему  шагу  5,  ключ  K2r+9  накладывается  на  субблок  B. 
  7. Субблок  A  накладывается  на  субблок  C  с  операцией  XOR.
  8. Содержимое  субблока  D  циклически  сдвигается  влево  на  1  бит. 
  9. Субблок  B  накладывается  на  D  операцией  XOR. 
  10. Содержимое  субблока  C  циклически  сдвигается  вправо  на  1  бит. 

Операция  g()  обратывает  32-битный  входной  субблок  по  следующим  шагам: 

  1. Субблок  делится  на  4  фрагмента  по  8  бит  каждый. 
  2. Фрагменты  проходят  через  таблицу  замен,  которая  строится  (8  ×  8)  бит  и  таких  таблиц  4.  Таблицы  вычисляются  динамически  и  строятся  на  основе  ключа  шифрования. 
  3. Результат  замен  умножается  на  фиксированную  матрицу. 

У  алгоритма  нет  существенных  недостатков.  Эксперты  конкурса  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]: 

  1. Операция  SubBytes,  представляющая  собой  табличную  замену  каждого  байта  массива  данных. 
  2. Операция  ShiftRows  выполняет  циклический  сдвиг  влево  всех  строк  массива  данных.  Исключением  является  нулевая  строка. 
  3. Операция  MixColumns.  Выполняет  умножение  каждого  столбца  массива  данных.
  4. Операция  AddRoundKey.  Выполнятся  наложением  на  массив  данных  материала  ключа,  а  именно,  на  i-й  столбец  массива  данных  побитовое  сложение  логической  операцией  «исключающее  или»  (XOR)  накладывается  на  определенное  слово  расширенного  ключа. 

По  утверждению  авторов,  Rijndael  не  подвержен  следующим  видам  криптоаналитических  атак:

  1. У  алгоритма  отсутствуют  слабые  ключи  и  возможность  вскрыть  алгоритм  с  помощью  атак  на  связанных  ключах. 
  2. Алгоритм  защищен  от  дифференциального  криптоанализа. 
  3. Алгоритм  не  восприимчив  к  линейному  криптоанализу  и  усеченным  дифференциалам. 
  4. Отсутствует  Square-атака  (атака  на  алгоритмы  со  структурой  «квадрат»).
  5. Алгоритм  нельзя  вскрыть  методом  интерполяции. 

Эксперты  конкурса  AES,  изучив  данный  алгоритм,  поставили  свою  оценку  данному  алгоритму  [6]: 

  1. Square-атака  подействовала  на  усеченный  алгоритм  (то  есть,  не  на  полный  алгоритм,  а  на  алгоритм  с  меньшим  числом  раундов).
  2. Авторы  алгоритма  Twofish  с  участием  других  специалистов  усилили  Square-атаку,  чтобы  она  смогла  вскрыть  данный  алгоритм  за  меньшее  число  операций. 
  3. Также  эта  команда  криптологов  предложила  атаку  на  связанных  ключах  на  9-раундовую  версию  алгоритма  Rijndael  с  ключом  шифрования  в  256-бит. 

Алгоритм  Rijndael  оказался  одним  из  самых  надежных  алгоритмов,  представленных  на  конкурс  и  через  6  лет  он  стал  стандартом.  Следует  отметить,  что  криптоаналитики  весьма  серьезно  продвинулись  в  попытке  взлома  данного  алгоритма. 

Ими  предложена  теоретическая  атака  уже  на  10  раундов  из  12  возможных  алгоритма  AES-192  (192  —  количество  бит  ключа)  и  существует  множество  примеров  вскрытия  реализации  алгоритма  AES  с  помощью  side-channel-атак. 

В  связи  с  этим  некоторые  эксперты  считают,  что  данный  алгоритм  оказался  более  слабым,  чем  предполагалось  изначально,  но  за  шесть  лет  попытки  взлома  AES  продвинулись  только  теоретически,  и  только  для  алгоритма  со  192-битным  ключом.  Следует  заметить,  что  данный  алгоритм  поддерживает  не  только  192-битный  ключ,  но  и  128-  или  256-битные  ключи,  что  усложняет  взлом  данного  алгоритма. 

 

Список  литературы:

  1. Брассар  Ж.  Современная  криптология:  М.:  "Полимед",  1999.  —  176  с. 
  2. Мелихова  О.А.  Основы  защиты  информации:  Учебное  пособие.  —  Ростов-н/Д.:  Изд-во  ЮФУ,  2014.  —  108  с.
  3. Мелихова  О.А.,  Гайдуков  А.Б.,  Джамбинов  С.В.  Чумичев  В.С.,  Григораш  А.С.  Алгоритмы  шифрования:  LUCIFER,  NEWDES,  BLOWFISH,  KHUFU,  KHAFRE//  Актуальные  проблемы  гуманитарных  и  естественных  наук.  —  М.,  №  07(78).  Ч.  1.  2015.  —  С.  64—67.
  4. Мелихова  О.А.,  Чумичев  В.С.,  Джамбинов  С.В.,  Гайдуков  А.Б.  Некоторые  аспекты  криптографического  взлома  и  повышения  надежности  алгоритмов  шифрования//  Молодой  ученый.  —  Казань,  №  11(91),  2015.  —  С.  392—394.
  5. Панасенко  С.П.  Алгоритмы  шифрования.  Специальный  справочник.  —  СПб.:  БХВ-Петербург,  2009.  —  576  с. 
  6. Петров  А.А.  Компьютерная  безопасность.  Криптографические  методы  защиты.  —  М.:  ДМК,  2000.  —  448  с.
  7. Романец  Ю.В.,  Тимофеев  П.А.,  Шаньгин  В.Ф.  «Защита  информации  в  современных  компьютерных  системах»  —  М.:  Радио  и  связь.  2001.  —  376  с.
  8. Соколов  А.В.,  Шаньгин  В.Ф.  Защита  информации  в  распределенных  корпоративных  сетях  и  системах.  —  М.:  ДМК  Пресс,  2002.  —  656  с.
  9. Шнайер  Б.  «Прикладная  криптография»  —  Изд-во:  Диалектик.  2002.  —  610  с.
  10. 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.
  11. 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.  
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий