Ярослав Совин, В. О. Хома, Юрій Маркіянович Наконечний, Марта Юріївна Стахів
{"title":"Ефективна імплементація та порівняння швидкодії шифрів «КАЛИНА» та ГОСТ 28147-89 за використання векторних розширень SSE, AVX ТА AVX-512","authors":"Ярослав Совин, В. О. Хома, Юрій Маркіянович Наконечний, Марта Юріївна Стахів","doi":"10.18372/2410-7840.21.14266","DOIUrl":null,"url":null,"abstract":"Дуже важливою властивістю блокових шифрів є забезпечення високої продуктивності для широкого класу мікропроцесорних архітектур і, насамперед, для домінуючих х86-64 платформ. Недостатня швидкодія ДСТУ ГОСТ 28147:2009 на сучасних обчислювальних архітектурах загального призначення стала однією з причин проведення національного криптоконкурсу з обрання нового блокового шифру, в якому переміг алгоритм «Калина», швидкодія якого, за умовами конкурсу, повинна була бути не меншою, ніж швидкодія чинного державного стандарту шифрування. Щоб досягти високої швидкодії наявні реалізації шифру «Калина» використовують табличний одноблоковий підхід, який не позбавлений низки недоліків: не використовуються можливості сучасних процесорів щодо розпаралелювання виконання коду, векторизації обробки даних, вразливий до кеш-атак. У роботі запропоновано основні підходи до розроблення мультиблокових векторних реалізацій шифрів «Калина» та ГОСТ 28147-89, у тому числі стійких до кеш-атак, з використанням SIMD-інструкцій SSE, AVX/AVX2, AVX-512. Особливу увагу приділено виконанню операції нелінійної заміни, яка визначає швидкодію реалізації загалом. Проведено експериментальні дослідження, які довели ефективність запропонованих підходів щодо збільшення швидкодії та дали змогу визначити доцільність застосування відповідних векторних розширень у тому чи іншому випадку. Встановлено, що за максимально досяжною швидкодією векторні реалізації ГОСТ 28147-89 відчутно випереджають шифр «Калина». Використання запропонованих підходів дозволяє підвищити швидкодію вітчизняних програмних криптографічних засобів та безпеку їх функціонування.","PeriodicalId":378015,"journal":{"name":"Ukrainian Information Security Research Journal","volume":"108 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-12-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Ukrainian Information Security Research Journal","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.18372/2410-7840.21.14266","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Дуже важливою властивістю блокових шифрів є забезпечення високої продуктивності для широкого класу мікропроцесорних архітектур і, насамперед, для домінуючих х86-64 платформ. Недостатня швидкодія ДСТУ ГОСТ 28147:2009 на сучасних обчислювальних архітектурах загального призначення стала однією з причин проведення національного криптоконкурсу з обрання нового блокового шифру, в якому переміг алгоритм «Калина», швидкодія якого, за умовами конкурсу, повинна була бути не меншою, ніж швидкодія чинного державного стандарту шифрування. Щоб досягти високої швидкодії наявні реалізації шифру «Калина» використовують табличний одноблоковий підхід, який не позбавлений низки недоліків: не використовуються можливості сучасних процесорів щодо розпаралелювання виконання коду, векторизації обробки даних, вразливий до кеш-атак. У роботі запропоновано основні підходи до розроблення мультиблокових векторних реалізацій шифрів «Калина» та ГОСТ 28147-89, у тому числі стійких до кеш-атак, з використанням SIMD-інструкцій SSE, AVX/AVX2, AVX-512. Особливу увагу приділено виконанню операції нелінійної заміни, яка визначає швидкодію реалізації загалом. Проведено експериментальні дослідження, які довели ефективність запропонованих підходів щодо збільшення швидкодії та дали змогу визначити доцільність застосування відповідних векторних розширень у тому чи іншому випадку. Встановлено, що за максимально досяжною швидкодією векторні реалізації ГОСТ 28147-89 відчутно випереджають шифр «Калина». Використання запропонованих підходів дозволяє підвищити швидкодію вітчизняних програмних криптографічних засобів та безпеку їх функціонування.