SOFTWARE BITSLICED IMPLEMENTATION OF KALYNA CIPHER IS ORIENTED TO USE SIMD INSTRUCTIONS FOR MICROPROCESSORS WITH X86-64 ARCHITECTURE
Open Access
- 1 January 2020
- journal article
- Published by Borys Grinchenko Kyiv University in Cybersecurity: Education, Science, Technique
- Vol. 3 (7), 131-152
- https://doi.org/10.28925/2663-4023.2020.7.131152
Abstract
Статтю присвячено програмній bitsliced-імплементації шифру «Калина» з використанням векторних інструкцій SSE, AVX, AVX-512 для х86-64 процесорів. Проаналізовано переваги і недоліки різних підходів до ефективної та захищеної програмної реалізації блокових шифрів. Відзначено, що технологія bitslicing поєднує в собі високу швидкодію та стійкість до часових- і кеш-атак, проте наразі відсутні її застосування щодо шифру «Калина». Розглянуто основні підходи до представлення даних і виконання операцій шифру у bitsliced-форматі, особливу увагу приділено ефективній реалізації операції SubBytes, що значною мірою визначає кінцеву швидкодію. Показано, що існуючі методи мінімізації логічних функцій або не дають змогу отримати результат у bitsliced-форматі у випадку 8-бітних неалгебраїчних SBox-ів, або результати далекі від оптимальних. Запропоновано евристичний алгоритм мінімізації логічних функцій, що описують SBox-и «Калини» з використанням операцій AND, OR, XOR, NOT, наявних у системі команд low- та high-end процесорів. У роботі одержані результати, які засвідчили, що для bitsliced-опису одного SBox потрібно близько 520 вентилів, що є відчутно менше ніж забезпечують інші методи. Вказано можливі шляхи збільшення швидкодії завдяки перегрупуванню даних в bitsliced-змінних до і після операції SubBytes, що призводить до ефективнішого використання векторних регістрів. Проведено вимірювання швидкодії bitsliced-реалізацій шифру «Калина» з використанням С++ компіляторів Microsoft та GCC для процесора Intel Xeon Skylake-SP. Одержані у роботі результати bitsliced-реалізації «Калина» можуть бути перенесені і на процесори, які не підтримують SIMD-інструкції, у тому числі low-end, щоб підвищити стійкість до атак через сторонні канали. Також вони дають змогу перейти до апаратної bitsliced-реалізації «Калини» на базі ASIC чи FPGA.Keywords
This publication has 11 references indexed in Scilit:
- A survey of microarchitectural timing attacks and countermeasures on contemporary hardwareJournal of Cryptographic Engineering, 2016
- Optimizing S-Box Implementations for Several Criteria Using SAT SolversLecture Notes in Computer Science, 2016
- DESIGN PRINCIPLES AND MAIN PROPERTIES OF THE NEW UKRAINIAN NATIONAL STANDARD OF BLOCK ENCRYPTIONUkrainian Information Security Research Journal, 2015
- Timing Channels in CryptographyPublished by Springer Science and Business Media LLC ,2015
- Modern X86 Assembly Language ProgrammingPublished by Springer Science and Business Media LLC ,2014
- A Small Depth-16 Circuit for the AES S-BoxIFIP Advances in Information and Communication Technology, 2012
- Faster and Timing-Attack Resistant AES-GCMLecture Notes in Computer Science, 2009
- A Very Compact S-Box for AESLecture Notes in Computer Science, 2005
- A fast new DES implementation in softwareLecture Notes in Computer Science, 1997
- Logic Minimization Algorithms for VLSI SynthesisPublished by Springer Science and Business Media LLC ,1984