Effective implementation and performance compari-son of «KALYNA» and GOST 28147-89 ciphers witch the use of vector extensions SSE, AVX AND AVX-512
DOI:
https://doi.org/10.18372/2410-7840.21.14266Keywords:
Kalina cipher, GOST 28147-89 cipher, vector extensions of instruction set architecture SSE, AVX, AVX-512, x86-64 architecture, effective implementation of crypto algorithms, performance measurementAbstract
A very important feature of block ciphers is the provision of high performance for a wide range of microprocessor architectures and, above all, for the dominant x86-64 platforms. Insufficient performance of DSTU GOST 28147:2009 on modern general-purpose computing architectures was one of the reasons for holding a national crypto competition for the choice of a new block cipher, in which the «Kalyna» algorithm won, whose performance, according to the conditions of the competition, was to be no less than the current one state encryption standard. In order to achieve high performance, existing implementations of the «Kalyna» cipher utilize a table-based, one-block approach that is devoid of drawbacks: it does not use the capabilities of modern processors to parallelize code execution, vectorization of data processing, and be vulnerable to cache attacks. The main approaches to the development of «Kalyna» and GOST 28147-89 ciphers multiblock vectorised implementations, including those resistant to cache attacks, using the SSE, AVX/AVX2, AVX-512 SIMD instructions are proposed. Particular importance is given to performing a non-linear substitution operation, which determines the speed of implementation in general. Experimental studies have been conducted to prove the effectiveness of the proposed approaches to increasing performance and to determine the feasibility of using the appropriate vector extensions in one case or another. It is established that according to the most achievable speed vectorized implementations of GOST 28147-89 significantly exceed the cipher «Kalyna». The use of the proposed approaches allows to increase the speed of domestic cryptographic software tools and their security.
References
ДСТУ 7624:2014. Інформаційні технології. Крип-тографічний захист інформації. Алгоритм симет-ричного блокового перетворення. К.: Мінеконом-розвитку України, 2015. [Електронний ресурс]. Режим доступу: http://ukrndnc.org.ua/ downloads/ new_view/?i=dstu-7624-2014&pz=% C4%D1%D2%D3+7624%3A2014.
В. Ковтун, А. Охрименко, "Особенности постро-ения кроссплатформенной библиотеки крипто-графических примитивов "Шифр+" v2". [Елек-тронний ресурс]. Режим доступу: https://cipher. com.ua/media/%D0%9F%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B/%D0%A8%D0%B8%D1%84%D1%80%2Bv2.1/Presentation_Cipher_Plus.pdf.
А. Кролевецкий, "Производительность ГОСT-шифрования на х86- и GPU-процессорах", Storage News, № 4 (60), С. 28-29, 2014.
А. Кролевецкий, "Эффективная реализация алго-ритма ГОСТ 28147-89 с помощью технологии GPGPU", Материалы XVI международной конферен-ции "РусКрипто'2014".
О. Кузнецов, Р. Олійников, Ю. Горбенко, А. Пушкарьов, О. Дирда, І. Горбенко, "Обґрунту-вання вимог, побудування та аналіз перспектив-них симетричних криптоперетворень на основі блочних шифрів", Вісн. "Комп’ютерні системи та мережі" Нац. ун-ту "Львів. політехніка", № 806, С. 124-140, 2014.
Р. Олійников, І. Горбенко, О. Казимиров, В. Руженцев, Ю. Горбенко, "Принципи побудови і основні властивості нового національного стан-дарту блокового шифрування України", Захист інформації, 17, № 2, С. 142-157, 2015.
Системы обработки информации. Защита крип-тографическая. Алгоритмы криптографического преобразования: ДСТУ ГОСТ 28147:2009. – К.: Держспоживстандарт України, 2008. [Електрон-ний ресурс]. Режим доступу: http://ukrndnc.org. ua/downloads/new_view/?i=dstugost28147-2009& pz=%C4%D1%D2%D3+%C3%CE%D1%D2+28147%3A2009.
Л. Тычина, Способ шифрования данных для вычислите-льных платформ с SIMD-архитектурой, Евразий-ский патент № 021803, 2015.
Хардкорный путь к производительности. Дости-гаем феноменальной скорости на примере шиф-рования ГОСТ 28147-89, Хакер, № 08 (163), С. 90-94, 2012.
Cppcrypto library. Encryption performance. [Елек-тронний ресурс]. Режим доступу: http:// cppcrypto. sourceforge.net/.
Intel Intrinsics Guide. [Електронний ресурс]. Ре-жим доступу: https://software.intel.com/sites/ landingpage/IntrinsicsGuide/.
D. Gruss, Software-based Microarchitectural Attacks. PhD Thesis, Graz University of Technology, June 2017.
D. Kusswurm, Modern x86 Assembly Language Programming 32-bit 64-bit SSE and AVX, Apress, 2014, 667 p.
R. Oliynykov, O. Kazymyrov, O. Kachko, R. Mord-vinov, et al. Source code for performance estimation of 64-bit optimized implementation of the block ciphers Kalyna, AES, GOST, BelT, Kuznyechik. [Електронний ресурс]. Режим доступу: https:// github.com/Roman-Oliyny-kov/ ciphers- speed/.
Using the RDTSC Instruction for Performance Monitoring, Intel, Application Note, 1998, 12 p.
Downloads
Published
How to Cite
Issue
Section
License
The scientific journal adheres to the principles of Open Access and provides free, immediate, and permanent access to all published materials without financial, technical, or legal barriers for readers.
All articles are published in Open Access under the Creative Commons Attribution 4.0 International (CC BY 4.0) license.
Copyright
Authors who publish their works in the journal:
-
retain the copyright to their publications;
-
grant the journal the right of first publication of the article;
-
agree to the distribution of their materials under the CC BY 4.0 license;
-
have the right to reuse, archive, and distribute their works (including in institutional and subject repositories), provided that proper reference is made to the original publication in the journal.




