Евристичний метод для bitsliced подання випадково згенерованих 88 криптографічних S-Box

https://doi.org/10.23939/ujit2021.02.058
Надіслано: Вересень 10, 2021
Прийнято: Листопад 23, 2021

Цитування за ДСТУ: Совин Я. Р., Хома В. В. Евристичний метод для bitsliced подання випадково згенерованих 8´8 криптографічних S-Box. Український журнал інформаційних технологій. 2021, т. 3, № 2. С. 58–65.

Citation APA: Sovyn, Ya. R., & Khoma, V. V. (2021). Heuristic method for bitsliced representation of randomly generated 8×8 cryptographic S-Box. Ukrainian Journal of Information Technology, 3(2), 58–65. https://doi.org/10.23939/ujit2021.02.058

1
Національний університет "Львівська політехніка", м. Львів, Україна
2
Національний університет "Львівська політехніка", м. Львів, Україна

Розглянуто питання щодо підвищення безпеки та ефективності програмної реалізації симетричних блокових шифрів. Використано bitslice-підхід до безпечної імплементації криптоалгоритмів, який має такі потенційні переваги, як високу швидкодію і невимогливість до обчислювальних ресурсів. Проте, відомі bitsliced-методи мають обмеження, оскільки працюють з детермінованими S-Box або розраховують S-Box менших розмірів. Запропоновано новий евристичний метод bitsliced-подання криптографічних 8´8 S-Box, що містять випадково згенеровані значення. Метод засновано на декомпозиції таблиці істинності, яка описує S-Box, на дві частини. Одна частина таблиці формує логічні маски, а інша – розбивається на бітові вектори, для знаходження логічного опису яких застосовано вичерпний пошук. Після знаходження опису всіх векторів ці дві частини таблиці об'єднуються в одну за допомогою логічних операцій. Використання запропонованого методу, орієнтованого на програмну реалізацію в логічному базисі {AND, OR, XOR, NOT}, забезпечує мінімізацію довільних 8´8 S-Box. Цей метод допускає імплементацію з використанням стандартних логічних інструкцій на будь-яких 8/16/32/64-бітних процесорах. Також можливе використання логічних SIMD-інструкцій із розширень SSE, AVX, AVX-512 для х86-64 процесорів, що забезпечує високу швидкодію завдяки використанню довгих регістрів. Розроблено відповідне програмне забезпечення, яке реалізує метод пошуку bitsliced-подання заданого S-Box, а також автоматично формує для нього С++ код на базі SSE, AVX і AVX-512 інструкцій. Досліджено ефективність методу на S-Box відомих блокових шифрів, зокрема Національного стандарту шифрування "Kalyna". Встановлено, що розроблений алгоритм потребує майже вдвічі менше вентилів для bitsliced-опису довільного S-Box, ніж кращий відомий алгоритм (370 вентилів проти 680 відповідно). Для шифрів, у яких використовуються дві або чотири таблиці S-Box, внаслідок спільної мінімізації можна отримати до 330 або 300 вентилів на таблицю відповідно.

  1. Avraamova, O., Fomin, D., Serov, V., Smirnov, A., & Shokov, V. (2021). A compact bit-sliced representation of Kuznyechik S-box. Mathematical Aspects of Cryptography, 12(2), 21–38. https://doi.org/10.4213/mvk354
  2. Biham, E. (1997). A fast new DES implementation in software. In: Biham E. (Eds.) Fast Software Encryption. FSE 1997. Lecture Notes in Computer Science, 1267, 260–272. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0052352
  3. Biryukov, A., Perrin, L., & Udovenko, A. (2016) Reverse-Engineering the S-Box of Streebog, Kuznyechik and STRIBOBr1. In: Fischlin M., Coron JS. (Eds.) Advances in Cryptology – EUROCRYPT 2016. Lecture Notes in Computer Science, Vol. 9665, 372–402. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-49890-3_15
  4. Borisenko, N., Vasinev, D., & Khoang, D. (2016). Method of forming s-blocks with minimum number of logic elements (RU Patent No. 2572423). Federal service for intellectual property. Retrieved from https://patents.google.com/patent/RU2572423C2/enhttps://patents.google.com/patent/RU2014112547A/en
  5. Boyar, J., & Peralta, R. (2012). A Small Depth-16 Circuit for the AES S-Box. In: Gritzalis D., Furnell S., Theoharidou M. (Eds.) Information Security and Privacy Research. SEC 2012. IFIP Advances in Information and Communication Technology, Vol. 376, 287–298. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30436-1_24
  6. Brayton, R., Hachtel, G., McMullen, C., & Sangiovanni-Vincentelli, A. (1984). Logic Minimization Algorithms for VLSI Synthesis. Kluwer Academic Publishers, Hingham, USA. https://doi.org/10.1007/978-1-4613-2821-6
  7. Canright, D. (2005). A Very Compact S-Box for AES. In: Rao J. R., Sunar B. (Eds.) Cryptographic Hardware and Embedded Systems – CHES 2005. CHES 2005. Lecture Notes in Computer Science, Vol. 3659, 441–455. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11545262_32
  8. Intel. (2021). Intel Intrinsics Guide. Retrieved from https://software.intel.com/sites/landingpage/IntrinsicsGuide/
  9. Käsper, E., & Schwabe, P. (2009). Faster and Timing-Attack Resistant AES-GCM. In: Clavier C., Gaj K. (Eds.) Cryptographic Hardware and Embedded Systems – CHES 2009. CHES 2009. Lecture Notes in Computer Science, 5747, 1–17. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04138-9_1
  10. Maximov, A., & Ekdahl, P. (2019). New Circuit Minimization Techniques for Smaller and Faster AES SBoxes. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2(4), 91–125. https://doi.org/10.13154/tches.v2019.i4.91-125
  11. Oliynykov, R., et al. (2015). A New Encryption Standard of Ukraine: The Kalyna Block Cipher. IACR Cryptology ePrint Archive, 2(650). Retrieved from https://eprint.iacr.org/2015/650.pdf
  12. Raghuraman, S. (2019). Efficiency of Logic Minimization Techniques for Cryptographic Hardware Implementation. Masters Thesis, Virginia Polytechnic Institute and State University.
  13. Reyhani-Masoleh, A., Taha, M., & Ashmawy, D. (2018). Smashing the Implementation Records of AES S-box. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2(2), 298–336. https://doi.org/10.13154/tches.v2018.i2.298-336
  14. Sovyn, Y., & Khoma, V. (2021). Bitsliced S-Box. Retrieved from https://drive.google.com/drive/folders/1yotZ4Hu5d3u0A4SoQnSS__BrcNZDOKYh? usp=sharing
  15. Stoffelen, K. (2016). Optimizing S-Box Implementations for Several Criteria Using SAT Solvers. In: Peyrin T. (Eds.) Fast Software Encryption. FSE 2016. Lecture Notes in Computer Science, Vol. 9783, 140–160. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-52993-5_8