Криптографічні хеші, такі як HMAC (На основі хешу
), CBC-MAC і
(Код автентифікації повідомлення на основі шифру) додатково забезпечує додаткову впевненість відправника в MAC за допомогою криптографії. HMAC базується на хеш-функціях, а CMAC — на блокових шифрах.
Код автентифікації повідомлення на основі хешування (або HMAC) — це метод криптографічної автентифікації, який використовує хеш-функцію та секретний ключ. З HMAC ви можете досягти автентифікації та перевірити, що дані правильні та автентичні зі спільними секретами, на відміну від підходів, які використовують підписи та асиметричну криптографію.
Коди автентифікації повідомлень на основі шифру (або CMAC) є інструмент для розрахунку кодів автентифікації повідомлень за допомогою блокового шифру, поєднаного з секретним ключем. Ви можете використовувати CMAC для перевірки як цілісності, так і автентичності повідомлення.
HMAC складається з подвійних переваг хешування та MAC, тому є більш безпечним, ніж будь-який інший код автентифікації. RFC 2104 видав HMAC, і HMAC став обов’язковим для впровадження в безпеку IP.
CMAC використовує блоковий шифр, тоді як HMAC використовує криптографічну хеш-функцію. Хоча обидва можуть перевіряти автентичність, HMAC також призначений для перевірки цілісності. CMAC підходить для використання в глобальній мережі завдяки своїй гнучкості, тоді як HMAC зазвичай використовується в мережевих програмах, таких як SSL/TLS.
HMAC використовує криптографічну хеш-функцію, таку як MD5, SHA-1 або SHA-256, разом із секретним ключем для створення коду автентифікації. CMAC, з іншого боку, використовує блоковий шифр, такий як AES (Advanced Encryption Standard), у поєднанні з секретним ключем.