МАТЕМАТИЧНИЙ ПІДХІД ДО ПІДВИЩЕННЯ ШВИДКОДІЇ ПРОГРАМНОЇ РЕАЛІЗАЦІЇ КРИПТОАЛГОРИТМУ SM4
Анотація
В статті запропоновано математичний підхід оптимізації алгоритму шифрування. Стаття присвячена підвищенню швидкодії обчислювальних алгоритмів, що є одним із важливих напрямків наукових досліджень. SM4 з метою підвищення швидкодії алгоритму. SM4 є досить поширеним алгоритмом, який використовується і зараз. На даний момент існує велика кількість апаратних та програмних реалізацій, в яких, використовуючи особливості архітектури чи мови програмування, можна забезпечити високу швидкодію алгоритму. Симетричні криптографічні алгоритми мають досить високу швидкодію в порівнянні з асиметричними. Cиметричні алгоритми застосовуються для шифрування повідомлень або файлів великих розмірів. Нескладні етапи алгоритмів можуть зводитись до простих операцій. Такий підхід наведено в українському стандарті симетричного потокового шифрування ДСТУ 8845:2019 (алгоритм Струмок). Його особливість полягає в тому, що етапи алгоритму, нелінійна підстановка, яка виконується з використанням операції циклічного зсуву, множення члена поліному на елемент поля, спрощені до простої заміни з попередньо обчислених таблиць констант. В статті розкрито, що в результаті врахування цієї оптимізації Струмок дозволяє формувати псевдовипадкові послідовності із швидкістю понад 10 Гбіт/с. На сьогодні блоковий алгоритм шифрування SM4 широко використовується в бібліотеці LibreSSL, яка відповідає за встановлення безпечного мережевого підключення згідно протоколу SSL/TLS, та є частиною криптографічної бібліотеки Libgcrypt, яка є розробкою GNU Projects. З’ясовано, що не дивлячи на його поширеність, сам алгоритм не має шляхів оптимізації, які має Струмок. У статті здійснено оптимізацію математичного апарату SM4, в ході якої було використано особливість операції циклічного зсуву та зведено дію обчислення до прямої заміни із таблиць констант, як це було виконано в національному алгоритмі Струмок. У статті доказано, що оптимізація алгоритму представляє собою зведення обчислювальних операцій до прямої заміни з таблиць констант.
Посилання
2. Циганкова О. В. (2021). Методи підвищення швидкодії асиметричних криптосистем з використанням еліптичних кривих у формі Едвардса: автореферат дисертації на здобуття наукового ступеня кандидата технічних наук: спец. 05.13.21 – «Системи захисту інформації»; Київ 22 с.
3. Ткачук Р.А., Цуприк Г.Б., Яворський Б.І. (2012). Підвищення інформативності та швидкодії біотехнічних систем. Оптико-електронні інформаційно- енергетичні технології. № 2(24). С. 81-85.
4. Інформаційні технології. Криптографічний захист інформації. Алгоритм симетричного потокового перетворення. ДСТУ 8845:2019. Введ. 01-10- 2019. К.: ДП «УкрНДНЦ», 2019.
5. Кузнецов О.О., Горбенко І.Д., Горбенко Ю.І., Олексійчук А.М., Тимченко В.А. (2018). Математична структура потокового шифру Струмок. Радіотехніка. Вип. 193. С. 17-27. URL: http://nbuv.gov.ua/UJRN/rvmnts_2018_193_4.
6. GM/T 0002-2012 SM4 Block Cipher Algorithm (English) URL: http://www.codeofchina.com/standard/GMT0002-2012.html.
7. Whitfield Diffie and George Ledin. SMS4 Encryption Algorithm for Wireless Networks. – URL: https://eprint.iacr.org/2008/329.pdf
8. LibreSSL for Windows. SourceForge. URL: https://sourceforge.net/projects/libressl-3-2-0-for-windows/ (date of access: 04.01.2024).
9. Koch W., Schulte M. (2023). The Libgcrypt Reference Manual. 150 p.
10. GitHub: Let’s build from here ·GitHub. URL: https://github.com/vityak2k22/SM4_Runtime_Compare/blob/main/Config.h (date of access: 04.01.2024).
11. GitHub – vityak2k22/SM4_Runtime_Compare: Optimization of SM4 algorithm + Runtime compare between classic and optimized algorithms. GitHub. URL: https://github.com/vityak2k22/SM4_Runtime_Compare (date of access: 04.01.2024).