7.6. UMAC
127
работы UMAC может различаться в 3-5 раз, в зависимости от точного набора
значений параметров, а разные платформы предпочитают различные наборы
параметров.
Ужасающее изобилие функций UMAC — результат непомерного стремле-
ния к оптимизации. В погоне за высокими скоростями разработчики UMAC
создали версии
функций на все случаи жизни, поскольку в каждой ситуации
требуется выполнение конкретных оптимизаций.
Мы не согласны с этим подходом. Он имеет преимущества в краткосроч-
ной перспективе, однако обладает существенным недостатком в аспекте дол-
говременного пользования. В отличие от HMAC или SHA-1, у алгоритма
UMAC нет единого стандарта. Разные разработчики используют разные вер-
сии UMAC. Чтобы осуществлять взаимодействие между такими системами,
понадобится реализовать сразу несколько версий UMAC. Многие библиотеки
позволяют выбирать набор параметров UMAC только во время компиляции,
что создает целый ряд проблем, если приложению нужны две или более вер-
сии UMAC. Кроме того, на протяжении времени жизни криптографической
системы — а это 20-30 лет — архитектура процессоров претерпит немало
изменений. При таких условиях микрооптимизация, основанная на текущей
архитектуре, просто не имеет будущего.
7.6.3
Платформенная гибкость
Как уже отмечалось, разные версии UMAC оптимизированы для конкрет-
ных платформ. Более того, каждая версия выдвигает достаточно строгие
требования к своей платформе. Если у вас есть процессор с быстрой ко-
мандой умножения и достаточный объем памяти, UMAC
способен достичь
очень высоких скоростей. Тем не менее, на наш взгляд, он не сможет развить
нужной производительности при работе со смарт-картами или другими 8-раз-
рядными устройствами с ограниченным объемом памяти. Требования UMAC
к временному хранилищу данных очень высоки, а смарт-карты всегда имеют
ограниченный объем памяти.
Из этого следует, что UMAC подходит для современных настольных си-
стем и не подходит для процессоров с малой разрядностью
4
. Мы также счи-
таем, что эффективные аппаратные реализации UMAC обходятся слишком
дорого по сравнению с альтернативными алгоритмами наподобие HMAC. Ал-
4
Некоторые уже давно твердят о том, что процессоры с малой разрядностью безна-
дежно устарели и в течение нескольких лет будут вытеснены новыми, более мощными
процессорами. Мы с этим не согласны. Процессоры с малой разрядностью применяются
уже несколько десятилетий. Они не вымирают, а просто переходят в еще более “мелкие”
системы.. Появившиеся на свет в начале 1970-х годов 8-разрядные процессоры до сих пор
счастливо живут и здравствуют, хотя по прогнозам должны были бы исчезнуть, как ми-
нимум, 10 лет назад.