DOI: 10.17586/2226-1494-2018-18-4-646-653


УДК004.056.55

ИССЛЕДОВАНИЕ СПОСОБОВ СКОРОСТНОЙ РЕАЛИЗАЦИИ ЭЛЕМЕНТОВ СИММЕТРИЧНЫХ АЛГОРИТМОВ ШИФРОВАНИЯ ПРИ ПРОВЕДЕНИИ ВЫЧИСЛЕНИЙ НА ГРАФИЧЕСКОМ ПРОЦЕССОРЕ

Удальцов В. А., Кармановский Н. С.


Язык статьи - русский

Ссылка для цитирования: Удальцов В.А., Кармановский Н.С. Исследование способов скоростной реализации элементов симметричных алгоритмов шифрования при проведении вычислений на графическом процессоре // Научно-технический вестник информационных технологий, механики и оптики. 2018. Т. 18. № 4. С. 646–653. doi: 10.17586/2226-1494-2018-18-4-646-653

Аннотация

Предмет исследования.Проведено исследование преобразований, используемых в современных симметричных алгоритмах, с целью определения наиболее скоростных способов их реализации на графическом процессоре с использованием технологий CUDA и OpenCL. Метод. Для достижения поставленной цели рассмотрены LSX и ARX структуры блочных алгоритмов на примере шифров AES, «Кузнечик», LEA, Rectangle, Simon и Speck. Определены наиболее часто применяемые преобразования, в число которых входят умножение в полях Галуа, применение таблиц подстановок, побитовые операции, сложение длинных чисел. Как неотъемлемая часть вычислений на графических устройствах рассмотрен обмен данных с глобальной памятью. Рассмотрены варианты реализации данных вычислений, разработаны и апробированы синтетические тесты, предназначенные для определения времени их выполнения. Основные результаты. Определены наилучшие способы реализации перечисленных преобразований. При выполнении умножения в полях Галуа в случае, если один из множителей является константным, наилучшее время показал метод с использованием таблицы предвычислений. Выявлено, что наиболее эффективным с точки зрения скорости является хранение таблиц замены в разделяемой памяти. Осуществление побитовых операций и сложение длинных чисел наиболее эффективно в случае разбиения входных данных на 8-битные элементы. В качестве апробации результатов осуществлена реализация алгоритма CLEFIA. Время шифрования 1 ГБ данных составило 1542 мс, что в 16 раз меньше времени шифрования на центральном процессоре. Применение вариантов реализации исследуемых преобразований, показавших худшие временные результаты при проведении синтетических тестов на графических процессорах, дает четырехкратное увеличение скорости в сравнении с центральным процессором. Практическая значимость. Результаты проведенного исследования применимы при использовании графических процессоров для быстрой и эффективной реализации существующих алгоритмов шифрования. Результаты исследования могут служить основой разработки новых алгоритмов шифрования с применением графических процессоров.


Ключевые слова: CUDA, OpenCL, криптографические преобразования, симметричные алгоритмы, ускорение шифрования

Список литературы
  1. Tomoiaga D., Stratulat M.AES algorithm adapted on GPU using CUDA for small data and large data volume encryption// International Journal of Applied Mathematics and Informatics. 2011. V. 5. P. 71–81.
  2. Earanky K., Elmiligi H., Rahman M. GPU-acceleration of blowfish cryptographic algorithm // Proc. IEEE Pacific RIM Conference on Communications, Computers and Signal Processing. Victoria, Canada, 2015. P. 507–512. doi: 10.1109/PACRIM.2015.7334889
  3. Fan W., Chen X., Li X. Parallelization of RSA algorithm based on compute unified device architecture // Proc. 9th IEEE Int. Conf. on Grid and Cooperative Computing. Nanjing, China, 2010. P. 174–178 doi: 10.1109/GCC.2010.44
  4. Ищукова Е.А., Богданов К.И. Реализация алгоритма шифрования магма с использованием технологии nvidiaCUDA// Международный журнал прикладных и фундаментальных исследований. 2015. № 12. С. 789–793.
  5. Сизоненко А.Б., Ткаченко Д.А. Способ высокопроизводительной реализации алгоритма криптографического преобразования ГОСТ Р 34.12-2015 «Кузнечик» на массивно-параллельных сопроцессорах // Сборник материалов ХХXVI Международной научно-практической конференции «Перспективы развития информационных технологий». Новосибирск, 2017.
    С. 174–178.
  6. Keisuke I., Naoki N., Takakazu K. Acceleration of AES encryption on CUDA GPU // International Journal of Networking and Computing. 2012. V. 2. N 1. P. 131–145. doi: 10.15803/ijnc.2.1_131
  7. Гибадуллин Р.Ф., Яковлев А.С., Новиков А.А., Перухин М.Ю. Ускорение AES шифрования на аппаратно-программной платформе NVIDIA CUDA // Вестник Казанского технологического университета. 2017. Т. 20. № 12. С. 97–103.
  8. Жуков А.Е. Легковесная криптография. Часть 1 // Вопросы кибербезопасности. 2015. № 1(9). С. 26–43.
  9. Жуков А.Е. Легковесная криптография. Часть 2 // Вопросы кибербезопасности. 2015. № 2(10). С. 2–10.
  10. Knezevic M., Nikov V., Rombouts P. Low-latency encryption – is “Lightweight = Light + Wait”? // Lecture Notes in Computer Science. 2012. V. 7428. P. 426–446. doi: 10.1007/978-3-642-33027-8_25
  11. Bogdanov A., Knezevic M., Leander G., Toz D., Varici K., Verbauwhede I. Spongent: a lightweight hash function // Lecture Notes in Computer Science. 2011. V. 6917. P. 312–325. doi: 10.1007/978-3-642-23951-9_21
  12. Usman M., Ahmed I., Aslam M.I., Khan S., Shah U.A. SIT: a lightweight encryption algorithm for secure internet of things // International Journal of Advanced Computer Science and Applications. 2017. V. 8. N 1. P. 402–411. doi: 10.14569/IJACSA.2017.080151
  13. Borisenko N., Nguyen L. On implementation method of large size linear transformation // Proc. 9th Workshop on Current Trends in Cryptology. Kazan, Russia, 2015. P. 183–195.
  14. Казимиров О.В., Казимирова В.Н., Олейников Р.В. Метод генерации сильно нелинейных S-блоков на основе градиентного спуска // Математические основы криптографии. 2014. Т. 5. № 2. С. 71–78.
  15. Biryukov A., Roy A., Velichkov V. Differential analysis of block ciphers SIMON and SPECK // Lecture Notes in Computer Science. 2015. V. 8540. P. 546–570. doi: 10.1007/978-3-662-46706-0_28
  16. Biryukov A., Perrin L. State of the Art in Lightweight Symmetric Cryptography [Электронный ресурс]. Режим доступа: http://orbilu.uni.lu/handle/10993/31319, свободный. Яз. англ. (дата обращения 24.05.2018).
  17. Beaulieu R., Shors R., Smith D., Treatman-Clark J., Weeks S., Wingers B. The SIMON and SPECK families of lightweight block ciphers // Proc. 52nd ACM/EDAC/IEEE design Automation Conference. San Francisco, USA, 2015. P. 1–10. doi: 10.1145/2744769.2747946
  18. Beaulieu R., Shors D., Smith J., Treatman-Clark S., Weeks B., Wingers L. SIMON and SPECK: block ciphers for the internet of things // Proc. NIST Lightweight Cryptography Workshop. Gaithersburg, USA, 2015. P. 1–15.
  19. Hong D., Lee J.K., Kim D.C., Kwon D., Ryu K.H., Lee D.G. LEA: a 128-bit block cipher for fast encryption on common processors // Lecture Notes in Computer Science. 2014. V. 8267. P. 3–27. doi: 10.1007/978-3-319-05149-9_1
  20. Zhang WT., Bao ZZ., Lin DD., Rijmen V., Yang BH., Verbauwhede I. RECTANGLE: a bit-slice lightweight block cipher suitable for multiple platforms // Science China Information Sciences. 2015. V. 58. P. 1–15. doi: 10.1007/s11432-015-5459-7
  21. Hoshino T., Maruyama N., Matsuoka S., Takaki R. CUDA vs OpenACC: performance case studies with kernel benchmarks and a memory-bound CFD application // Proc. 13th IEEE/ACM Int. Symposium on Cluster, Cloud and Grid Computing. Delft, Netherlands, 2013. P. 136–143. doi: 10.1109/CCGrid.2013.12
  22. Удальцов В.А., Павлов В.Э. Увеличение скорости работы алгоритма шифрования «Кузнечик» с использованием технологии CUDA // Теория. Практика. Инновации. 2017. № 4(16). С. 5–11.
  23. Jullien G.A., Bajard J., Imbert L. Parallel Montgomery multiplication in GF (2^k) using trinomial residue arithmetic // Proc. 17th IEEE Symposium on Computer Arithmetic. Massachusetts, USA, 2005. P. 164–171. doi:10.1109/ARITH.2005.34
  24. Рахман П.А. Эффективные вычислительные схемы для арифметики поля Галуа GF(28) в технологии помехоустойчивого кодирования // Международный журнал прикладных и фундаментальных исследований. 2016. № 7. С. 360–365.
  25. Фомичев В.М., Лолич Д.М., Юзбашев А.В. Алгоритмическая реализация s-боксов на основе модифицированных аддитивных генераторов // Прикладная дискретная математика. Приложение. 2017. № 10.
    С. 102–104. doi: 10.17223/2226308X/10/41
  26. Biryukov A., Perrin L., Udovenko A. Reverse-engineering the S-box of Streebog, Kuznyechik and STRIBOBr1 // Lecture Notes in Computer Science. 2016. V. 9665. P. 372–402. doi: 10.1007/978-3-662-49890-3_15


Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License
Информация 2001-2018 ©
Научно-технический вестник информационных технологий, механики и оптики.
Все права защищены.

Яндекс.Метрика