HMAC-SHA1 Пример, не возвращающий желаемый хеш?

Я использую этот пример: http://msdn.microsoft.com/en-us/library/aa382379%28VS.85%29.aspx

Прямое копирование и вставка с использованием следующей ссылки в качестве справочного материала для проверки дайджеста: http://buchananweb.co.uk/security01.aspx.

Я не понимаю, что делаю неправильно. Это пример для HMAC-SHA1, верно? Если бы кто-нибудь мог сказать мне, что происходит не так, или мог указать мне правильное направление, это было бы очень полезно.


person user954753    schedule 25.09.2011    source источник
comment
Пример msdn использует rc4 для получения ключа из входного ключа. То же верно для HMACSHA1 ()?   -  person Alex K.    schedule 25.09.2011
comment
Согласно этому: en.wikipedia.org/wiki/HMAC, похоже, что rc4 не использовал? Зачем MSN использовать rc4 для получения ключа? Как я могу использовать MSN для выполнения HMAC-SHA1. Если только кто-то не знает внешние бесплатные библиотеки, которые бесплатны.   -  person user954753    schedule 25.09.2011


Ответы (1)


Для начала не пытайтесь использовать сложные функции вывода ключей, просто используйте простой явный ключ, например { 0x00, 0x01, 0x02, 0x03 ... }. В качестве альтернативы найдите несколько тестовых векторов HMAC-SHA1, например, в FIPS 198a, и используйте эти ключи, как указано явно. У тестовых векторов FIPS есть то преимущество, что они также показывают ожидаемые промежуточные результаты, поэтому легче точно определить, в чем проблема.

Использование разных функций деривации ключей даст вам разные результаты HMAC, потому что фактический используемый ключ будет отличаться, если он получен по-другому.

person rossum    schedule 25.09.2011