Каково Различие между Хешем и MAC (Код аутентификации сообщений)?

Каково Различие между Хешем и MAC (Код аутентификации сообщений)?

По их определениям они, кажется, выполняют ту же функцию.

Кто-то может объяснить, каково различие?

50
задан Rahil Arora 25 January 2014 в 14:00
поделиться

2 ответа

Основное различие является концептуальным: в то время как хэши используются для гарантии целостности данных, MAC гарантирует целостность И аутентификацию.

Это означает, что хэш-код слепо генерируется из сообщения без какого-либо внешнего ввода: то, что вы получаете, можно использовать для проверки того, изменилось ли сообщение во время его перемещения.

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

Согласно википедии, у вас есть следующее:

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

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

53
ответ дан 7 November 2019 в 10:58
поделиться

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

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

HMAC - это код аутентификации сообщения на основе хэша. Обычно это подразумевает применение хэш-функции один или несколько раз к некоторой комбинации общего секрета и сообщения. HMAC обычно относится к алгоритму, задокументированному в RFC 2104 или FIPS-198.

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

19
ответ дан 7 November 2019 в 10:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: