Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Хэш-функция ГОСТ



Эта хэш-функция появилась в России и определена в стандарте ГОСТ Р 34.11.94 [657]. В ней используется блочный алгоритм ГОСТ (см. раздел 14.1), хотя теоретически может использоваться любой блочный алгоритм с 64-битовым блоком и 256-битовым ключом. Функция выдает 256-битовое хэш-значение.

Функция сжатия, Я, = f(M„HlA) (оба операнда - 256-битовые величины) определяется следующим образом:

(1) При помощи линейного смешивания М„ Я,ч и некоторых констант генерируется четыре ключа шифрова­ния ГОСТ.

(2) Каждый ключ используется для шифрования отличных 64 битов Я,ч в режиме ЕСВ. Полученные 256 би­тов сохраняются во временной переменной S.

(3) Я, является сложной, хотя и линейной функцией S, М,- и Ht.\.

Хэш-значение последнего блока сообщения не является его окончательным хэш-значением. На деле исполь­зуется три переменные сцепления: Нп - это хэш-значение последнего блока, Z - это XOR всех блоков сообщения, a L - длина сообщения. С использованием этих переменных и дополненного последнего блока М', окончательное хэш-значение равно:

Я = f(Z © M',f(L,f(M', #„)))


Документация немного запутана (и на русском языке), но я думаю, что понял все правильно. Во всяком слу­чае эта хэш-функция определена как часть российского Стандарта цифровой подписи (см. раздел 20.3).

Другие схемы

Ральф Меркл предложил схему, использующую DES, но она медленна - обрабатывает только семь битов со­общения за итерацию, и каждая итерация состоит из двух шифрований DES [1065, 1069]. Другая схема [1642, 1645] небезопасна [1267], когда-то она предлагалась в качестве стандарта ISO.

18.12 Использование алгоритмов с открытым ключом

В качестве однонаправленной хэш-функции можно использовать и алгоритм шифрования с открытым кл ю-чом в режиме сцепления блоков. Если затем выбросить личный ключ, то взломать хэш-функцию будет также трудно, как и прочитать сообщение без личного ключа.

Вот пример, использующий RSA. Если М - это хэшируемое сообщение, п - произведение двух простых чисел р и д, а е - другое большое число, взаимно простое с (р - 1)(д - 1), то хэш-функция, ЩМ), будет равна

ЩМ) =Afmod n

Еще проще использовать одно сильное простое число в качестве модуля р. Тогда:

ЩМ) =Af mod p

Вскрытие этой проблемы возможно не легче, чем поиск дискретного логарифма е. Проблема этого алгорит­ма состоит в том, что он намного медленнее, чем другие обсуждаемые алгоритмы. По этой причине я не сове­тую его.

18.13 Выбор однонаправленной хэш-функции

Лучшими кажутся SHA, MD5 и схемы, основанные на блочных шифрах. Другие на самом деле не были и с-следованы в достаточной степени. Я голосую за SHA. У нее более длинное хэш-значение, чем у MD5, она быст­рее, чем многие схемы с блочными шифрами, и разработана NSA. Я верю в криптоаналитические возможности NSA, даже если они не публикуют свои результаты.

В 16-й для сравнения приведены временные соотношения для некоторых хэш-функций. They are meant for comparison purposes only.

Табл. 18-2. Скорости шифрования некоторых хэш-функций Hai486SX/33 МГц

Алгоритм Длина хэш-значения Ско рость шифров
Одновременная схема Davies-Meyer (с IDEA)    
Davies-Meyer (с DES)    
Хэш-функция ГОСТ   И
HAVAL (3 прохода) переменная  
HAVAL (4 прохода) переменная  
HAVAL (5 прохода) переменная  
MD2    
MD4    
MD5    
N-хэш (12 этапов)    
N-хэш (15 этапов)    
RIPE-MD    
SHA    
Snerra (4 прохода)    
Snerra (8 проходов)    

18.14 Коды проверки подлинности сообщения

Код проверки подлинности сообщения (message authentication code, MAC) - это зависящая от ключа однона­правленная хэш-функция. Коды MAC обладают теми же свойствами, что и рассмотренные ранее хэш-функции, но они, кроме того, включают ключ. (Это не означает, что вы можете опубликовать ключ MAC и использовать MAC как однонаправленную хэш-функцию.) Только владелец идентичного ключа может проверить хэш-значение. Коды MAC очень полезны для обеспечения проверки подлинности без нарушения безопасности.

Коды MAC могут быть использованы для проверки подлинности файлов, которыми обмениваются пользов а-тели. Также они могут быть использованы одним пользователем для проверки, не изменились ли его файлы, может быть из-за вируса. Пользователь может вычислить MAC его файлов и сохранить эти значения в таблице. Если пользователь воспользуется вместо MAC однонаправленной хэш-функцией, то вирус может вычислить новые хэш-значения после заражения файлов и заменить элементы таблицы. С MAC вирус не сможет этого добиться, так как ключ вирусу неизвестен.

Простым способом преобразовать однонаправленную хэш-функцию в MAC является шифрование хэш-значения симметричным алгоритмом. Любой MAC может быть преобразован в однонаправленную хэш-функцию с помощью раскрытия ключа.





Дата публикования: 2014-11-03; Прочитано: 701 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...