Научная статья на тему 'Сравнение многопоточных реализаций отечественных криптографических алгоритмов'

Сравнение многопоточных реализаций отечественных криптографических алгоритмов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
491
52
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КРИПТОГРАФИЯ / МНОГОПОТОЧНАЯ РЕАЛИЗАЦИЯ / СИММЕТРИЧНЫЙ ШИФР / OPENMP / БЛОК ШИФРОВАНИЯ / CRYPTOGRAPHY / MULTITHREAD IMPLEMENTATION / SYMMETRIC CIPHER / GOST

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шипулин П.М., Шниперов А.Н.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

COMPARING GOST SYMMETRIC CRYPTO ALGORITHMS MULTITHREAD REALIZATION

The paper compares multithread realization of two GOST symmetric crypto algorithms. Also a hypothesis that a greater acceleration has an algorithm with a bigger encryption block is practically proved.

Текст научной работы на тему «Сравнение многопоточных реализаций отечественных криптографических алгоритмов»

Решетневские чтения. 2017

УДК 004.056

СРАВНЕНИЕ МНОГОПОТОЧНЫХ РЕАЛИЗАЦИЙ ОТЕЧЕСТВЕННЫХ КРИПТОГРАФИЧЕСКИХ АЛГОРИТМОВ

П. М. Шипулин1, А. Н. Шниперов2

1 АО «Информационные спутниковые системы» имени академика М. Ф. Решетнева» Российская Федерация, 662972, г. Железногорск Красноярского края, ул. Ленина, 52 2Сибирский федеральный университет Российская Федерация, 660041, г. Красноярск, просп. Свободный, 79 E-mail: pshipulin@gmail.com

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

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

COMPARING GOST SYMMETRIC CRYPTO ALGORITHMS MULTITHREAD REALIZATION

P. M. Shipulin1, A. N. Shniperov2

1JSC Academician M. F. Reshetnev Information Satellite Systems 52, Lenin Str., Zheleznogorsk, Krasnoyarsk region, 662972, Russian Federation

2Siberian Federal University 79, Svobodny Av., Krasnoyarsk, 660041, Russian Federation E-mail: pshipulin@gmail.com

The paper compares multithread realization of two GOST symmetric crypto algorithms. Also a hypothesis that a greater acceleration has an algorithm with a bigger encryption block is practically proved.

Keywords: cryptography, multithread implementation, symmetric cipher, OpenMP, GOST.

Существуют программно-аппаратные комплексы для шифрования данных «на лету». Например, АПКШ «Континент». Стоимость делает такие средства недоступными для небольших коммерческих организаций. Соответственно, разработка эффективных программных комплексов шифрования является актуальной задачей для исследования. Существует ряд работ, посвящённых это теме, например [1].

В отечественном стандарте симметричного шифрования указываются два алгоритма: с длиной блока n = 64 бит и длиной блока n = 128 бита. На первый можно ссылаться под названием «Магма», на второй -как «Кузнечик» [2]. Данные шифры могут использоваться в одном из четырёх режимов: режим простой замены, режим гаммирования, режим гаммирования с обратной связью, режим выработки имитовставки. Режим простой замены имеет ряд недостатков, однако он лучше всех подходит для многопоточной реализации из-за отсутствия зависимости между процессом шифрования блоков.

OpenMP - программный интерфейс, предназначенный для создания многопоточных приложений на многопроцессорных системах с общей памятью. Разработку спецификации OpenMP ведут несколько крупных производителей вычислительной техники и программного обеспечения. OpenMP поддерживается основными компиляторами: GCC, IBM, Intel и т. д. [3].

Библиотека OpenMP берёт на себя задачу создания потоков, их синхронизации, конечного слияния и т. д.,

позволяя затрачивать программисту минимум усилий на параллельную реализацию своей программы.

Описание вычислительного эксперимента. Для разработки многопоточного варианта шифра Магма использовался однопоточный вариант Б. Шнаера [4], а для многопоточного варианта шифра Кузнечик использовался однопоточный вариант Маркку-Юхани Сааринена [5] и библиотека ОрепМР.

Для регистрации зависимости между объёмом шифруемых данных и временем выполнения, было произведено шифрования открытых текстов объёмом 16, 32, 64, 128, 256, 512 и 1024 Мбайта. Шифрование производилось при помощи двух версий алгоритмов Магма и Кузнечик: однопоточной и многопоточной. Чтобы уменьшить погрешности измерений, каждое шифрование производилось пять раз и бралось среднее время выполнения.

На рис. 1 проиллюстрирована зависимость времени шифрования от объёма открытого текста. Мы видим предполагаемый результат: многопоточные варианты шифрования быстрее однопоточных. Сравнивать скорость алгоритмов Магма и Кузнечик в данном эксперименте нельзя, так как нет гарантии, что они реализованы одинаково эффективным образом. Для каждого открытого текста был вычислен коэффициент ускорения - отношение времени выполнения од-нопоточной программы к многопоточной.

Результаты сравнения этих величин представлены на рис. 2.

Методы и средства защиты информации

Рис. 1. Зависимость времени шифрования от объёма открытого текста

Рис. 2. Зависимость коэффициента ускорения алгоритма от объёма открытого текста

В случае алгоритма Кузнечик коэффициент ускорения не зависит от объёма открытого текста. В случае алгоритма Магма разброс значений можно признать незначительным, учитывая возможные ошибки в эффективной реализации и измерений.

В ходе эксперимента была на практике подтверждена гипотеза, что многопоточная реализация алгоритма Кузнечик даёт большее ускорение, чем многопоточная реализация алгоритма Магма по причине разницы размеров блока в два раза.

Библиографические ссылки

1. Миниахметова М. С., Цымблер М. Л. Разработка параллельного алгоритма шифрования ГОСТ 28147-89 на платформе Ше1ХеопРЫ // Параллельные вычислительные технологии (ПаВТ'2013) : тр. Междунар.

науч. конф. (1-5 апреля 2013, г. Челябинск). Челябинск : Изд. центр ЮУрГУ, 2013. 606 с.

2. ГОСТ Р 34.12-2015. Информационная технология. Криптографическая защита информации. Блочные шифры. М. : Стандартинформ, 2015. 25 с.

3. Введение в OpenMP: параллельное программирование на C++ [Электронный ресурс]. URL: https://soitware.intel.com/ru-ru/blogs/2011/11/21/ openmp-c (дата обращения: 07.09.2017).

4. Шнейер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. М. :Триумф, 2002. 815 с.

5. Маркку-Юхани Сааринен Implementation of the proposed Russian block cipher standard, Kuznechik ("Grasshopper") [Электронный ресурс]. URL: https://github.com/mjosaarinen/kuznechik (дата обращения: 07.09.2017).

PewemHeecKye umeHun. 2017

References

1. Minihmetova M. S., Cimbler M. L. [Multithread crypto algorithm State Standard 28147-89 development for IntelXeonPhi platform. Parallel computing technologies (PCT'2013): International Scientific Conference papers (1-5 aprel 2013, Chelyabinsk sity)] Razrabotka parallelnogo algoritma shifrovaniya GOST 28147-89 na platform IntelXeonPhi. Parallelniye vichislitelnie tehnologii (PaVT'2013): trudi mejdunarodnoy nauchnoy konferencii (10-5 aprelya 2013, g. Chelyabinsk). Chelyabinsk, 2013, 606 p. (In Russ.)

2. GOST R 34.12-2015. Informatsionnaya techno-logia. Kriptograficheskaya zastchita informatcii/ Blochnie shifri [State Standard R 34.12-2015 Information technology. Cryptographic data secure. Block syphers]. M. : Standartinform Publ., 2015. 25 p. (In Russ.)

3. Vvedeniye v OpenMP: parallelnoye programmiro-vaniye na C + + [Introduction to OpenMP: C + + parallel programming] Available at: https://software.intel.com/ru-ru/blogs/2011/11/ 21/openmp-c (accessed: 07.09.2017). (In Russ.)

4. Schneier B. Prikladnaya kriptografiya. Protokoly, algoritmi, ishodniye teksti na yazike Ci [Applied cryptography. Protocols, algorithms, C source codes]. M. : Triumph Publ., 2002. 815 p.

5. Markku-Juhani O. Saarinen Implementation of the proposed Russian block cipher standard, Kuznechik ("Grasshopper") Available at: https://github.com/ mjosaarinen/kuznechik (accessed: 07.09.2017). (In Eng.)

© mnnyrnH n. M., mHHnepoB A. H., 2017

i Надоели баннеры? Вы всегда можете отключить рекламу.