Стандарты аутентификации и электронной цифровой подписи России и США - А. Винокуров (1014206), страница 2
Текст из файла (страница 2)
В российском и американском стандартах используются принципиально различные подходы к построению хэш-функции. В стандарте РФ для его выработки применяется процедура шифрования по стандарту ГОСТ 28147-89, в стандарте США этот алгоритм полностью самостоятельный. Как следствие, стандарт РФ определяет не один, а целое семейство хэшей, поскольку параметром используемого шифра является набор узлов замены. Для каждого набора получаем собственный хэш. Это может быть преимуществом, но может и порождать проблемы совместимости. С внешней точки зрения оба хэша построены по одинаковому принципу: каждый из них определяет шаговую функцию хэширования, которая принимает на входе 2 блока данных: «текущее» значение хэша с предыдущего шага и очередной фрагмент входного массива данных. Внутреннее же устройство шаговых функций совершенно различное: в американском стандарте SHA-1 эта функция устроена по итерационному принципу и состоит из 80 достаточно несложных раундов, остальные хэш-функции построены аналогично. В российском стандарте хэширования шаговая функция хэширования состоит из линейных перемешиваюих операций и четырех зашифрований по ГОСТ 28147-89 в режиме простой замены, служащих основным источником сложности и нелинейности хэширующего преобразования. Для сравнения шаговые функции обоих стандартов приведены в табл. 2.
Соответствующие схемы преобразования данных при хэшировании по ГОСТ Р34.11-94 и SHA-1 показаны на рис. 1 и 2 соответственно. Из приведенных данных ясно, что сложность американского стандарта хэширования ниже, чем у российского. Российский стандарт предполагает выполнение четырех зашифрований за один цикл выработки хэша, или в общей сложности 128 раундов. Каждый раунд шифрования требует примерно полтора десятка элементарных машинных операций, что существенно увеличивает затраты машинного времени на выполнение линейных перемешивающих операций. Один раунд выработки хэша SHA-1 гораздо проще: он весь может быть реализован примерно за 15-20 команд, общее количество раундов всего 80, и за один цикл выработки хэша «обрабатывается» вдвое больше исходных данных - 512 против 256 в ГОСТ P34.ll. Таким образом, можно предположить, что быстродействие программных реализаций SHA-1 будет примерно в 3-6 раз быстрее, чем у отечественного стандарта.
Рис. 1. Схема преобразования данных при хэшировании по ГОСТ Р34.11-94:
А, ψ - линейные перемешивающие преобразования;
Р - перестановка байтов;
EK - операция зашифрования по ГОСТ 28147-89;
С3 = const
Рис. 2. Схема преобразования данных при хэшировании по SHA-1:
Fi - нелинейные функции, 1 ≤ i ≤ 4,
Wk - функции выработки 32-битовых элементов из 512-битового блока данных;
Ci - константы, где 1 ≤ i ≤ 4,
Ri - операция циклического сдвига аргумента на i бит влево
Помимо обычной функции хэширования, система американских стандартов определяет функцию выработки хэша, зависящего от ключа [11]. Аналог данного алгоритма в системе российских стандартов отсутствует. Однако это не является проблемой, так как достаточно легко внести изменения в обычную процедуру хэширования, сделав результат зависящим от секретного ключа. Для этого достаточно добавлять секретный ключ к массиву хэшируемых данных, так что необходимость в отдельном стандарте хэша, зависящего от ключа, не очевидна.
Выводы
В настоящее время системы криптографических стандартов имитозащиты данных и электронно-цифровой подписи России и США весьма схожи по номенклатуре и характеру алгоритмов. Стандартные алгоритмы выработки имитовставки построены практически по одному и тому же принципу и базируются на национальных стандартах шифрования. Что касается стандартов ЭЦП, то здесь наблюдается практически полное соответствие: стандарты ЭЦП России и США базируются на родственных модификациях схемы ЭЦП Эль-Гамаля и отличаются рядом несущественных деталей. Совсем недавно эти стандарты были обновлены - переведены на «эллиптические кривые». Подобная поспешность может свидетельствовать в пользу того, что государственные структуры продвинулись в изучении проблемы дискретного логарифмирования в конечных полях несколько дальше, чем сообщество, ведущее открытые исследования в криптографии. Кроме того, практическая синхронность принятия и обновления стандартов ЭЦП в России и США может говорить в пользу того, что оба государства находятся на примерно одном и том же уровне в научных исследованиях в области криптографии.
Из всей системы стандартов наиболее сильно различаются стандарты хэширования. Российский стандарт определяет единственный алгоритм с размером блока 256 бит, тогда как американский стандарт задает целое семейство хэш-функций с разными размерами хэш-блока. Кроме того, система стандартов США определяет алгоритм хэширования с результатом, зависящим от секретного ключа, тогда как в российской системе стандартов ничего подобного нет. Однако следует отметить, что в отечественной системе стандартов подобный алгоритм и не нужен, так как он может быть легко построен на основе обычного алгоритма хэширования.
Литература
-
Винокуров А.Ю. Стандарты криптографической защиты информации России и США // Отраслевой каталог "Технологии и средства связи-2003". - М.: Гротек, 2003.
-
ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования.
-
FIPS PUB 113. Computer Data Authentication.
-
ГОСТ Р34.10-94. Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронно-цифровой подписи на базе асимметричного криптографического алгоритма.
-
FIPS PUB 186. Digital Signature Standard (DSS).
-
Щербаков А., Домашев А. Прикладная криптография. Использование и синтез криптографических интерфейсов. - М.: Русская редакция, 2002.
-
ГОСТ Р34.10-01. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи.
-
FIPS PUB 186-2. Digital Signature Standard (DSS).
-
ГОСТ Р34.11-94. Информационная технология. Криптографическая защита информации. Функция хэширования.
-
FIPS PUB 180-2. Secure Hash Standard.
-
FIPS PUB 198a. The Keyed-Hash Message Authentication Code (HMAC).
https://StudIzba.com