Effective implementation and performance compari-son of «KALYNA» and GOST 28147-89 ciphers witch the use of vector extensions SSE, AVX AND AVX-512 - Совин, Ярослав Романович; Хома, Володимир Васильович; Наконечний, Юрій Маркіянович; Стахів, Марта Юріївна (Ukrainian Information Security Research Journal, 2019)
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.