Особенности облегченных алгоритмов шифрования
Основная тенденция развития современных алгоритмов шифрования —их усложнение и утяжеление. Увеличиваются размеры основных параметров алгоритмов: блока обрабатываемых данных, ключа шифрования, внутреннего состояния и т.д. Это позволяет компенсировать постоянное наращивание мощностей компьютерных систем, а также лавинообразное увеличение объемов обрабатываемых данных. В свою очередь, неизбежно возрастает ресурсоемкость алгоритмов шифрования и сложность их реализации в угоду безопасности и производительности.
Но для устройств с крайне ограниченными ресурсами такой подход в принципе неверен. Как пишет один из основоположников облегченной криптографии Аксель Пошманн, при создании облегченных алгоритмов шифрования во главу угла ставится стоимость реализации алгоритма в устройстве при адекватном уровне безопасности и должной производительности, т. е. важен компромисс между этими тремя параметрами, зависящий от конкретных требований к устройству. Задача авторов облегченного алгоритма шифрования —найти такой компромисс.
Чем же облегченные алгоритмы шифрования отличаются от универсальных? Вот основные подходы, позволяющие криптографам создать нетребовательные к ресурсам и при этом относительно стойкие алгоритмы шифрования:
- уменьшение размеров основных параметров алгоритма —блока шифруемых данных, ключа шифрования и внутреннего состояния алгоритма;
- попытки компенсации вынужденной потери стойкости алгоритмов за счет проектирования на основе хорошо изученных, широко применяемых операций, осуществляющих элементарные линейные/нелинейные преобразования. Такие операции можно представить как детали некоего конструктора, из которых криптографы «собирают» алгоритм, обладающий нужными качествами;
- уменьшение размеров данных, используемых в конкретных операциях. Например, в алгоритмах шифрования часто применяются таблицы замен;
- чтобы хранить таблицу, заменяющую 8 – битовые фрагменты данных, необходимо 256 байт, но такую таблицу можно составить из комбинации двух 4 – битовых таблиц, требующих всего 32 байта в сумме;
- использование «дешевых» с точки зрения ресурсоемкости, но эффективных преобразований, таких как управляемые битовые перестановки, сдвиговые регистры и пр.;
- применение преобразований, в отношении которых возможны варианты реализации в зависимости от ресурсов конкретного шифратора.
Также рекомендую почитать:
Ваш отзыв