Ефективна імплементація та порівняння швидкодії шифрів «КАЛИНА» та ГОСТ 28147-89 за використання векторних розширень SSE, AVX ТА AVX-512

Ярослав Романович Совин, Володимир Васильович Хома, Юрій Маркіянович Наконечний, Марта Юріївна Стахів

Анотація


Дуже важливою властивістю блокових шифрів є забезпечення високої продуктивності для широкого класу мікропроцесорних архітектур і, насамперед, для домінуючих х86-64 платформ. Недостатня швидкодія ДСТУ ГОСТ 28147:2009 на сучасних обчислювальних архітектурах загального призначення стала однією з причин проведення національного криптоконкурсу з обрання нового блокового шифру, в якому переміг алгоритм «Калина», швидкодія якого, за умовами конкурсу, повинна була бути не меншою, ніж швидкодія чинного державного стандарту шифрування. Щоб досягти високої швидкодії наявні реалізації шифру «Калина» використовують табличний одноблоковий підхід, який не позбавлений низки недоліків: не використовуються можливості сучасних процесорів щодо розпаралелювання виконання коду, векторизації обробки даних, вразливий до кеш-атак. У роботі запропоновано основні підходи до розроблення мультиблокових векторних реалізацій шифрів «Калина» та ГОСТ 28147-89, у тому числі стійких до кеш-атак, з використанням SIMD-інструкцій SSE, AVX/AVX2, AVX-512. Особливу увагу приділено виконанню операції нелінійної заміни, яка визначає швидкодію реалізації загалом. Проведено експериментальні дослідження, які довели ефективність запропонованих підходів щодо збільшення швидкодії та дали змогу визначити доцільність застосування відповідних векторних розширень у тому чи іншому випадку. Встановлено, що за максимально досяжною швидкодією векторні реалізації ГОСТ 28147-89 відчутно випереджають шифр «Калина». Використання запропонованих підходів дозволяє підвищити швидкодію вітчизняних програмних криптографічних засобів та безпеку їх функціонування.


Ключові слова


Шифр «Калина»; шифр ГОСТ 28147-89; векторні розширення системи команд SSE; AVX, AVX-512; х86-64 архітектура; ефективна імплементація криптоалгоритмів; вимірювання швидкодії

Посилання


ДСТУ 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.


Повний текст: PDF

Посилання

  • Поки немає зовнішніх посилань.


ISSN 2410-7840 (Online), ISSN 2221-5212 (Print)

Ліцензія Creative Commons
Цей твір ліцензовано за ліцензією Creative Commons Із зазначенням авторства - Некомерційна - Без похідних творів 3.0 Неадаптована

РИНЦ SSM WorldCat BASE Національна бібліотека ім. Вернадського Науково-технічна бібліотека НАУ Ulrich's Periodicals Directory

Ulrich's Periodicals Directory