05.03 // Случайный неизвестный S-блок в AES слабо увеличивает криптостойкость
Как известно, в старом российском стандарте блочного шифрования ГОСТ 28147-89 не были определены узлы замены (S-блоки). Это позволяло делать утверждения о том, что практика засекречивания S-блоков является эффективным способом повышения стойкости шифра. С практической т.з. это приводит к существенному увеличению размера ключа и сложностям с управлением распределения и периодической смены таких S-блоков.
В шифре AES/Rijndael используется один биективный 8-битный S-блок. Его параметры выбраны на основе эффективного алгебраического представления в целях компактности и эффективности аппаратной реализации. При этом, такой выбор параметров оптимизирован для максимального противодействия линейному и дифференциальному криптоанализу. Однако известно, что если 8-битный S-блок выбирать полностью случайно, то при таком размере он уже практически всегда окажется приемлемо стойким, а вероятности слабых и тривиальных перестановок пренебрежимо малы (хотя и не исключены полностью). Задание такого S-блока как дополнительного секретного параметра в ключе приведёт к увеличению секретной части ключа с 128-256 до 1812-1940 битов. Можно ли таким путём повысить стойкость и быстродействие, разменяв повышенный размер ключа на уменьшенное число раундов?
На примере одного из наиболее эффективных методов криптоанализа против байт-ориентированных шифров этот вопрос изучили Tyge Tiessen, Lars R. Knudsen, Stefan Kobl и Martin M. Lauridsen, кафедра прикладной математики и компьютерных наук DTU Compute, технический университет Дании.
Как оказалось, интегральный криптоанализ, что для стандартного AES, что для AES со случайными неизвестными S-блоками работает в обоих случаях до 6 раундов. Хотя разница в затратах на разные виды атак существенно растёт для AES со случайным блоком на каждый последующий раунд, результаты пока не позволяют признать такой метод защиты обоснованно-эффективным.
Cipher | Rounds | Time | Data | Memory |
---|---|---|---|---|
AES-128 (secret S-box) | 4 | 217 | 216 | 216 |
AES-128 | 4 | 214 | 29 | - |
AES-128 (secret S-box) | 5 | 238 | 240 | 240 |
AES-128 | 5 | 238 | 233 | - |
AES-128 (secret S-box) | 6 | 290 | 264 | 269 |
AES-128 | 6 | 244 | 234 | 236 |
Источник: Cryptology ePrint Archive.