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

dc.citation.epage65
dc.citation.issue2
dc.citation.journalTitleУкраїнський журнал інформаційних технологій
dc.citation.spage58
dc.citation.volume3
dc.contributor.affiliationНаціональний університет “Львівська політехніка”
dc.contributor.affiliationLviv Polytechnic National University
dc.contributor.authorСовин, Я. Р.
dc.contributor.authorХома, В. В.
dc.contributor.authorSovyn, Ya. R.
dc.contributor.authorKhoma, V. V.
dc.coverage.placenameЛьвів
dc.coverage.placenameLviv
dc.date.accessioned2024-03-27T07:28:34Z
dc.date.available2024-03-27T07:28:34Z
dc.date.created2021-02-28
dc.date.issued2021-02-28
dc.description.abstractРозглянуто питання щодо підвищення безпеки та ефективності програмної реалізації симетричних блокових шифрів. Використано 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 вентилів на таблицю відповідно.
dc.description.abstractThe article is devoted to the issues of increasing the security and efficiency of software implementation for the symmetric block ciphers. For the implementation of cryptoalgorithms on low-end CPUs (8/16/32-bit microcontrollers), it is important to provide increased resistance to power consumption analysis attacks. With regard to the implementation of ciphers on high-end CPUs (x86, ARM Cortex-A), it is important to eliminate the vulnerability primarily to timing and cache attacks. The authors used a bitslice approach to securely implement block ciphers, which has potential advantages such as high speed and low computing resources. However, the known bitsliced methods have a significant limitation, since they work with deterministic S-Boxes or arbitrary S-Boxes of smaller sizes. The paper proposes a new heuristic method for bitsliced representation of cryptographic 8×8 SBoxes containing randomly generated values. These values defydescription using algebraic expressions. The method is based on the decomposition of the truth table, which describes the S-Box, into two parts. One part of the table forms logical masks, and the other is split into bit vectors. To find a logical description of these vectors an exhaustive search is used. After finding the description of all vectors, these two parts of the table are combined into one using logical operations. The use of this method oriented on software implementation in the logical basis {AND, OR, XOR, NOT} ensures the minimization of arbitrary 8×8 S-Boxes. The proposed method can be implemented using standard logical instructions on any 8/16/32/64-bit processors. It is also possible to use logical SIMD instructions from the SSE, AVX, AVX-512 extensions for x86-64 processors, which provides high performance due to the use of long registers. The corresponding software has been developed that implements the method of searching for bitsliced representations of a given S-Box, and also automatically generates C++ code for it based on SSE, AVX and AVX-512 instructions. The effectiveness of the method on the S-Box of known block ciphers, in particular the Ukrainian encryption standard "Kalyna", has been investigated. It was found that the developed algorithm requires almost half as many gates for the bitsliced description of an arbitrary S-Box than the best of known algorithm (370 gates versus 680, respectively). For ciphers that use two or four S-Box tables, joint minimization can yield up to 330 or 300 gates per table, respectively.
dc.format.extent58-65
dc.format.pages8
dc.identifier.citationСовин Я. Р. Евристичний метод для bitsliced подання випадково згенерованих 8×8 криптографічних S-Box / Я. Р. Совин, В. В. Хома // Український журнал інформаційних технологій. — Львів : Видавництво Львівської політехніки, 2021. — Том 3. — № 2. — С. 58–65.
dc.identifier.citationenSovyn Ya. R. Heuristic method for bitsliced representation of randomly generated 8×8 cryptographic S-Box / Ya. R. Sovyn, V. V. Khoma // Ukrainian Journal of Information Technology. — Lviv : Lviv Politechnic Publishing House, 2021. — Vol 3. — No 2. — P. 58–65.
dc.identifier.issn2707-1898
dc.identifier.urihttps://ena.lpnu.ua/handle/ntb/61543
dc.language.isouk
dc.publisherВидавництво Львівської політехніки
dc.publisherLviv Politechnic Publishing House
dc.relation.ispartofУкраїнський журнал інформаційних технологій, 2 (3), 2021
dc.relation.ispartofUkrainian Journal of Information Technology, 2 (3), 2021
dc.relation.references[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
dc.relation.references[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
dc.relation.references[3] Biryukov, A., Perrin, L., & Udovenko, A. (2016) ReverseEngineering 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
dc.relation.references[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
dc.relation.references[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
dc.relation.references[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
dc.relation.references[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
dc.relation.references[8] Intel. (2021). Intel Intrinsics Guide. Retrieved from https://software.intel.com/sites/landingpage/IntrinsicsGuide/
dc.relation.references[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
dc.relation.references[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
dc.relation.references[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
dc.relation.references[12] Raghuraman, S. (2019). Efficiency of Logic Minimization Techniques for Cryptographic Hardware Implementation. Masters Thesis, Virginia Polytechnic Institute and State University.
dc.relation.references[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
dc.relation.references[14] Sovyn, Y., & Khoma, V. (2021). Bitsliced S-Box. Retrieved from https://drive.google.com/drive/folders/1yotZ4Hu5d3u0-A4SoQnSS__BrcNZDOKYh? usp=sharing
dc.relation.references[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.
dc.relation.referencesen[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
dc.relation.referencesen[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
dc.relation.referencesen[3] Biryukov, A., Perrin, L., & Udovenko, A. (2016) ReverseEngineering 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
dc.relation.referencesen[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
dc.relation.referencesen[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
dc.relation.referencesen[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
dc.relation.referencesen[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
dc.relation.referencesen[8] Intel. (2021). Intel Intrinsics Guide. Retrieved from https://software.intel.com/sites/landingpage/IntrinsicsGuide/
dc.relation.referencesen[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
dc.relation.referencesen[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
dc.relation.referencesen[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
dc.relation.referencesen[12] Raghuraman, S. (2019). Efficiency of Logic Minimization Techniques for Cryptographic Hardware Implementation. Masters Thesis, Virginia Polytechnic Institute and State University.
dc.relation.referencesen[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
dc.relation.referencesen[14] Sovyn, Y., & Khoma, V. (2021). Bitsliced S-Box. Retrieved from https://drive.google.com/drive/folders/1yotZ4Hu5d3u0-A4SoQnSS__BrcNZDOKYh? usp=sharing
dc.relation.referencesen[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.
dc.relation.urihttps://doi.org/10.4213/mvk354
dc.relation.urihttps://doi.org/10.1007/BFb0052352
dc.relation.urihttps://doi.org/10.1007/978-3-662-49890-3_15
dc.relation.urihttps://patents.google.com/patent/-RU2572423C2/enhttps://patents.google.com/patent/RU2014112547A/en
dc.relation.urihttps://doi.org/10.1007/978-3-642-30436-1_24
dc.relation.urihttps://doi.org/10.1007/978-1-4613-2821-6
dc.relation.urihttps://doi.org/10.1007/11545262_32
dc.relation.urihttps://software.intel.com/sites/landingpage/IntrinsicsGuide/
dc.relation.urihttps://doi.org/10.1007/978-3-642-04138-9_1
dc.relation.urihttps://doi.org/10.13154/tches.v2019.i4.91-125
dc.relation.urihttps://eprint.iacr.org/2015/650.pdf
dc.relation.urihttps://doi.org/10.13154/tches.v2018.i2.298-336
dc.relation.urihttps://drive.google.com/drive/folders/1yotZ4Hu5d3u0-A4SoQnSS__BrcNZDOKYh?
dc.relation.urihttps://doi.org/10.1007/978-3-662-52993-5
dc.rights.holder© Національний університет “Львівська політехніка”, 2021
dc.subjectbitslicing
dc.subjectS-Box
dc.subjectлогічна мінімізація
dc.subjectSIMD
dc.subjectх86-64 CPU
dc.subjectпрограмна імплементація
dc.subjectблокові шифри
dc.subjectbitslicing
dc.subjectS-Box
dc.subjectlogical minimization
dc.subjectSIMD
dc.subjectx86-64 CPU
dc.subjectsoftware implementation
dc.subjectblock ciphers
dc.titleЕвристичний метод для bitsliced подання випадково згенерованих 8×8 криптографічних S-Box
dc.title.alternativeHeuristic method for bitsliced representation of randomly generated 8×8 cryptographic S-Box
dc.typeArticle

Files

Original bundle

Now showing 1 - 2 of 2
Thumbnail Image
Name:
2021v3n2_Sovyn_Ya_R-Heuristic_method_for_bitsliced_58-65.pdf
Size:
2.39 MB
Format:
Adobe Portable Document Format
Thumbnail Image
Name:
2021v3n2_Sovyn_Ya_R-Heuristic_method_for_bitsliced_58-65__COVER.png
Size:
1.86 MB
Format:
Portable Network Graphics

License bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.79 KB
Format:
Plain Text
Description: