HMAC-SHA-256
256 битОтраслевой стандарт аутентификации: основа JWT (HS256), подписей AWS Signature V4, Telegram initData и вебхуков Stripe / GitHub.
Генерация имитовставок и кодов аутентификации сообщений (HMAC) на базе криптографических хеш-функций. Поддерживаются стандарты JWT (HS256/HS512), AWS SigV4, ГОСТ Р 34.11-2012, китайский стандарт SM3, BLAKE2 и SHA-3. Все вычисления производятся исключительно в браузере.
Ключ обрабатывается в кодировке UTF-8. Рекомендуется использовать криптографически стойкий секрет длиной не менее размера блока хеш-функции.
— — — — — — — — — — — — — — — — — — HMAC (Keyed-Hash Message Authentication Code) — это механизм аутентификации сообщений, объединяющий секретный ключ с криптографической хеш-функцией. Он обеспечивает как проверку целостности данных, так и подтверждение подлинности источника: никто без знания секретного ключа не может сгенерировать валидный код.
HMAC(K, m) = H( (K ⊕ opad) ‖ H( (K ⊕ ipad) ‖ m ) )Отраслевой стандарт аутентификации: основа JWT (HS256), подписей AWS Signature V4, Telegram initData и вебхуков Stripe / GitHub.
Высоконадежный 512-битный MAC. Оптимален для критических банковских API, JWT HS512 и систем с повышенными требованиями к защите.
Промежуточная версия SHA-2 с усеченным состоянием, применяемая в правительственных протоколах Suite B и TLS 1.3.
Компактная 224-битная версия SHA-2 для протоколов с ограниченным размером пакета и устаревших систем.
Стандарт NIST на базе Keccak с защитой от атак удлинением сообщения (length extension), идеален для современных смарт-контрактов.
512-битная подпись максимальной криптостойкости для долгосрочной валидации сообщений.
384-битная имитовставка SHA-3, гармонизированная с криптонаборами симметричного шифрования AES-192.
224-битный дайджест SHA-3, защищающий данные при минимальных накладных расходах.
HMAC на базе 64-битного BLAKE2b: обеспечивает производительность выше MD5 при безопасности уровня SHA-3.
BLAKE2b с выходом 256 бит: максимальная скорость на современных 64-битных CPU при компактном размере подписи.
32-битная версия BLAKE2, спроектированная специально для микроконтроллеров и IoT-устройств.
HMAC-MD5 (RFC 2104). Хотя исходный MD5 взломан коллизиями, HMAC-MD5 теоретически устойчив, но крайне не рекомендуется для новых систем.
HMAC-SHA-1 применяется в унаследованных протоколах: OAuth 1.0a, TOTP/HOTP (двухфакторная аутентификация) и AWS SigV2.
160-битный европейский криптостандарт. Широко применяется в архитектуре адресов Bitcoin и блокчейн-протоколах.
HMAC на базе российского стандарта ГОСТ Р 34.11-2012 (Стрибог 256 бит). Используется в протоколах ЕАЭС и госсекторе.
512-битная имитовставка по ГОСТ Р 34.11-2012 для государственной криптографической защиты данных высшей категории.
Китайский национальный криптографический стандарт GB/T 32918. Обязателен для коммерческих криптосистем и платежей в КНР.
512-битный MAC на базе блочного шифра W (модификация AES) от Винсента Рэймена и Пауло Баррето.
HMAC (Hash-based Message Authentication Code) подтверждает, что сообщение пришло от доверенной стороны и не было изменено третьими лицами в процессе передачи. В отличие от обычного хеша, для вычисления HMAC необходим секретный ключ.
SHA-256 не использует секретный ключ: любой может посчитать хеш от любого сообщения. HMAC-SHA256 производит двухэтапное вложение ключа и сообщения с внутренним и внешним паддингом, что делает невозможным подделку подписи без знания секрета.
Для подавляющего большинства систем стандартом де-факто является HMAC-SHA-256 (JWT, API вебхуки). Если требуется максимальный уровень безопасности — используйте HMAC-SHA-512 или HMAC-SHA3-256. HMAC-SHA-1 и HMAC-MD5 следует использовать только для обратной совместимости со старыми протоколами.
Длина ключа должна быть не меньше размера дайджеста выбранной хеш-функции. Для HMAC-SHA256 минимальная рекомендуемая длина ключа — 32 случайных байта (256 бит). Ключи длиннее размера блока хеша предварительно хешируются алгоритмом.
Да. Наивное склеивание H(key + message) уязвимо для атак удлинения в Merkle-Damgård хешах (MD5, SHA-1, SHA-256). Конструкция HMAC с двойным циклом хеширования H(K ⊕ opad || H(K ⊕ ipad || message)) математически исключает эту уязвимость.
В токенах JWT (алгоритмы HS256/HS384/HS512), подписании API-запросов AWS SigV4, вебхуках платежных шлюзов (Stripe, CloudPayments), двухфакторной аутентификации TOTP/HOTP (RFC 6238), протоколах IPsec и TLS PRF.
Это алгоритм вычисления имитовставки на основе отечественной хеш-функции ГОСТ Р 34.11-2012 (Стрибог). Применяется в защищенном документообороте и криптографических протоколах государственных систем РФ.
SM3 — официальный государственный стандарт КНР (GB/T 32918). Он обязателен для интеграции с китайскими банковскими шлюзами, платежными системами (UnionPay) и государственными информационными платформами.
Нет. Все вычисления производятся исключительно в браузере клиента на JavaScript и WebAssembly. Ваши секретные ключи и сообщения никогда не покидают устройство.
Все операции выполняются локально в браузере.