УДК 004.056.55

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

Кутузов Александр Викторович1, Парнакян Альберт Альбертович1, Поспелов Павел Андреевич1
1Академия ФСО России

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

Ключевые слова: алгоритм шифрования, блочный шифр, криптографическая безопасность, криптостойкость, программно-аппаратный комплекс


COMPARATIVE ANALYSIS OF SOME BLOCK CIPHERS

Kutuzov Alexander Viktorovich1, Parnakyan Albert Albertovich1, Pospelov Pavel Andreevich1
1Russian Academy of FSO

Abstract
The article is devoted to the main aspects dealing with the comparison of parameters of different encryption algorithms. In the framework of the comparative analysis were selected the following parameters: key length, the number of rounds of encryption, the length of the processed block, the cryptographic strength, the complexity of hardware and software implementation. As a result of consideration of public sources of information was the analysis of a number of existing block encryption algorithms identified the advantages and substantial disadvantages of the main representatives of these ciphers. Also it is concluded that the majority of modern encryption algorithms satisfy the necessary set of requirements in the field of cryptographic security, provide both software and hardware implementation and are widely used in various applications, including for the protection of information with limited access.

Keywords: block cipher, cryptographic security, cryptographic strength, encryption algorithm, software and hardware


Библиографическая ссылка на статью:
Кутузов А.В., Парнакян А.А., Поспелов П.А. Сравнительный анализ некоторых блочных алгоритмов шифрования // Современная техника и технологии. 2016. № 1 [Электронный ресурс]. URL: http://technology.snauka.ru/2016/01/9292 (дата обращения: 26.05.2017).

Важной характеристикой систем шифрования, исходя из устойчивости к воздействию противника, является их способность противостоять криптоанализу. По степени доказуемости их безопасности существуют системы шифрования:

  • теоретически недешифруемые или безусловно стойкие;
  • практически недешифруемые или практически стойкие, которые в свою очередь делятся на доказуемо стойкие и предположительно стойкие.

Максимально стойкие системы шифрования реализовать на практике сложно. Это обстоятельство явилось причиной того, что широкое применение получили системы шифрования с объемом ключа, значительно меньшим, чем объем зашифрованного сообщения.

При этом на данный момент времени для шифрования информации используются два вида алгоритмов – симметричные и несимметричные (с открытым ключом) алгоритмы.

Также системы шифрования можно разделить по соотношению ключей зашифрования (К1) и расшифрования (К2) на два класса [4]:

  • симметричные системы шифрования;
  • несимметричные (ассиметричные) системы шифрования.

Часто для симметричных криптосистем ключ зашифрования равен ключу расшифрования KE = KD, а для несимметричных – KEKD. Однако, в общем случае, система шифрования информации называется симметричной, если для любой допустимой пары ключей (KE, KD) вычислительно просто определить один ключ, зная другой, т. е. из KE можно вычислить KD, и, зная KD, легко определить KE [4]. В таких системах оба ключа должны быть секретными.

Система шифрования информации называется несимметричной, если для любой допустимой пары ключей (KE, KD) вычислительно невозможно определить ключ расшифрования KD, зная ключ зашифрования KE [4].

В несимметричной системе ключ зашифрования KE может быть открытым (несекретным), то есть известным для всех. Такие криптосистемы часто называют двухключевыми системами или системами с открытым ключом.

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

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

Следующим классификационным признаком систем шифрования является размер обрабатываемого (шифруемого) блока. Различают поточные и блочные системы шифрования.

Поточный шифр – это симметричный шифр, в котором каждый символ открытого текста преобразуется в символ шифрованного текста в зависимости не только от используемого ключа, но и от его расположения в потоке открытого текста [5]. К настоящему времени известно большое количество алгоритмов поточного шифрования, это  – A3, A5, A8, MUGI, PIKE, RC4, SEAL, ORION и др.

Блочное шифрование подразумевает разбиение информации на блоки определенной, фиксированной длины (например, 64 или 128 бит), после чего эти блоки поочередно шифруются [4]. Одним из достоинств блочного шифрования является схожесть процедур зашифрования и расшифрования, благодаря чему создание аппаратуры шифрования становится проще, так как в передающем и приемном тракте используются аналогичные блоки.

Рассмотрим более подробно отдельные алгоритмы блочного шифрования, активно применяемые в криптографических системах в последнее время.

Наиболее известными представителями блочных шифров являются такие криптоалгоритмы как: ГОСТ 28147-89 – советский и российский стандарт шифрования, также являющийся стандартом СНГ, DES (Data Encryption Standard) и AES (Advanced Encryption Standard) – американские стандарты шифрования, IDEA (англ. International Data Encryption Algorithm) – международный алгоритм шифрования данных.

Также представителем российского стандарта блочного шифрования является криптоалгоритм с кодовым названием «Кузнечик». Описание и принципы работы данного шифра положены в основу нового российского государственного стандарта шифрования ГОСТ Р 34.12-2015[1]. В ГОСТ Р 34.13-2015 представлены и подробно описаны основные режимы работы данного шифра. Данные государственные стандарты  вступают в силу с 1 января 2016 года, что предопределяет актуальность их рассмотрения.

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

Значения перечисленных параметров для криптоалгоритмов: ГОСТ 28147-89, ГОСТ Р 34.12-2015, DES, AES, IDEA представлены в таблице 1.

Таблица 1

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

Длина ключа, бит

Длина блока, бит

Число раундов

Число режимов работы

ГОСТ Р 34.12-2015

256

128

9

6

ГОСТ 28147-89

256

64

32

4

AES

128/192/256

128

10/12/14 (зависит от размера ключа)

5

DES

56

64

16

4

IDEA

128

64

8

4

Для того чтобы количественно оценить значения представленных параметров для конкретных криптоалгоритмов раскроем их смысловое значение.

Ключом шифра называется секретная информация, используемой криптографическим алгоритмом при зашифровании и расшифровании сообщения. Соответственно длина ключа это количество информации в ключе, данный параметр измеряется в битах. Как видно из таблицы, длина ключа шифра ГОСТ Р 34.12-2015 так же как и в ГОСТ 28147-89 составляет 256 бит, что превосходит иностранных представителей блочного шифрования, за исключением AES в одном из режимов работы.

При этом время полного перебора, в годах, определяется по формуле:

где S – Мощность алфавита ключа, S=2 (0 или 1);
L – Длинна ключа;
V – Скорость перебора;
k – Коэффициент перевода секунд в дни, t=3156000;
Так для шифра ГОСТ Р 34.12-2015, полный перебор, при скорости перебора V=1000000 комбинаций в секунду, займет

 лет

Для стандарта DES, с длиной ключа в 56 бит, и той же скоростью обработки, время полного перебора составит всего 22832 года. Таким образом, очевидно, что полный перебор при такой длине ключа полностью лишен смысла и поэтому параметру все перечисленные алгоритмы удовлетворяют стандартным требованиям по криптостойкости.
В длине обрабатываемого (шифруемого) блока с шифром ГОСТ Р 34.12-2015 может сравниться только американский стандарт AES, размеры обрабатываемых блоков у других шифров вдвое уступают им.
Число раундов шифрования – это количество шагов обработки данных, в ГОСТ Р 34.12-2015 сравнимо невелико, уступает всем шифрам кроме IDEA, однако, при используемой криптосхеме и реализованном блоке нелинейных преобразований вполне сопоставимо с другими шифрами.
Режимом шифрования называется способ применения блочного шифра, который позволяет преобразовать блоки открытых данных в блоки шифрованных данных.
Алгоритмы IDEA и DES используют 4 режима работы [4]:

  • режим электронной кодовой книги (Electronic Codebook, ECB) – режим, при котором каждый блок открытого текста заменяется блоком шифротекста.
  • режим сцепления блоков шифротекста (Cipher Block Chaining, CBC) – режим с использованием механизма обратной связи. Каждый блок открытого текста (кроме первого) побитово складывается по модулю 2 с предыдущим результатом шифрования.
  • режим обратной связи по шифротексту, режим гаммирования с обратной связью (Cipher Feedback Mode, CFB) – режим, при котором для шифрования следующего блока открытого текста он складывается по модулю 2 с перешифрованным результатом шифрования предыдущего блока.
  • режим обратной связи по выходу (Output Feedback, OFB). Особенностью режима является то, что в качестве входных данных для алгоритма блочного шифрования не используется само сообщение. Вместо этого блочный шифр используется для генерации псевдослучайного потока байтов, который с помощью операции сложения по модулю 2 складывается с блоками открытого текста.

Кроме вышеперечисленных режимов работы в алгоритме AES используется режим гаммирования (Counter, CTR), заключающийся в «наложении» последовательности (шифрующей гаммы), на открытый текст.
В ГОСТ 28147-89 не применяется режим сцепления блоков шифротекста, но в отличии от IDEA, DES и AES в нем применяется режим выработкиимитовставки (message authentication code, MAC) – режим, в котором к сообщению добавляется специальный набор символов (имитовставка). Он предназначен для обеспечения его целостности и аутентификации источника данных. В ГОСТ 28147-89 режим электронный кодовой книги называется режимом простой замены, а криптоалгоритм ГОСТ Р 34.12-2015 поддерживает все перечисленные режимы работы.
В отличие от ГОСТ 28147-89 шифр по ГОСТ Р 34.12-2015 представляет собой SP-сеть (подстановочно-перестановочную сеть) – преобразование, состоящее из нескольких одинаковых раундов, когда каждый раунд состоит из нелинейного и линейного преобразований, а также операции наложения ключа. SP-сеть является аналогом сети Фейстеля, ее отличие заключается в том, что в SP-сети преобразуется не половина входного блока, как это происходит в сети Фейстеля, а весь блок целиком, что является неоспоримым преимуществом.
Также необходимо рассмотреть такой параметр шифров как криптостойкость, под которой понимается способность криптографического алгоритмапротивостоять криптоанализу (различным попыткам взлома данных, зашифрованных блочным шифром, называемых атаками) [4]. К блочным шифрам применимы все основные типы атак, такие как:

  • полный перебор;
  • частотный криптоанализ;
  • метод максимального правдоподобия;
  • XSL-атака, атака на основе решения алгебраических уравнений;
  • атака на основе внесения ошибок в процедуру дешифрования;
  • атака на основе использования слабых ключей;
  • метод «встречи посередине»;
  • линейный криптоанализ;
  • дифференциальный криптоанализ;

Среди рассмотренных блочных шифров, самым ранним является шифр DES. Данный криптоалгоритм уязвим к линейному криптоанализу, основанному на поиске аффинных (близких) приближений. Из-за малого количества раундов, возникает возможность лавинного эффекта, при котором, изменение незначительного числа битов на входе приводит к значительному изменению битов на выходе. Так же DES уязвим к полному перебору, в силу небольшого размера ключа, именно такой атакой впервые был вскрыт DES.
По заявлению Агентства Национальной безопасности США, шифр AES является достаточно надежным для защиты сведений составляющих государственную тайну. При использовании различных ключей, AES применим для защиты информации с грифом секретно и совершенно секретно.
ГОСТ 28147-89 устойчив к таким широко применяемым методам, как линейный и дифференциальный криптоанализ. Однако были высказаны различные мнения по поводу атак на данный шифр, но ввиду слишком высокой вычислительной сложности данные атаки не применимы на практике.
Шифры AES, ГОСТ Р 34.12-2015 и ГОСТ 28147-89 имеют большое количество раундов, поэтому атаки на основе дифференциального и линейного криптоанализов практически бесполезны, так как они чувствительны к числу раундов шифрования.
Поскольку о новом блочном шифре ГОСТ Р 34.12-2015 еще слишком мало информации о криптостойкости, то нельзя однозначно говорить о его надежности. Ожидается, что он будет устойчив ко всем видам атак на блочные шифры.
Подводя итог сказанному, необходимо отметить, что большинство рассмотренных современных алгоритмов шифрования удовлетворяют необходимому набору требований в области криптографической безопасности, предусматривают как программную так и аппаратную реализацию и нашли широкое применение в различных приложениях, в том числе и для защиты сведений ограниченного доступа.


Библиографический список
  1. ГОСТ Р 34.12-2015 «Информационная технология. Криптографическая защита информации. Блочные шифры».
  2. ГОСТ Р 34.13-2015 «Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров».
  3. Баричев С.Г., Гончаров В.В., Серов Р.Е. Основы современной криптографии. – М.: Горячая линия – Телеком, 2002. – 175 с. – (Специальность. Для высших учебных заведений). – 3000 экз. – ISBN 5-93517-075-2.
  4. Гатчин Ю.А., Коробейников А.Г. Основы криптографических алгоритмов. Учебное пособие. – СПб.: СПбГИТМО(ТУ), 2002.
  5. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си: Триумф, 2002. – 816 с. – 3000 экз. – ISBN 5-89392-055-4.


Все статьи автора «Поспелов Павел Андреевич»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

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

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться: