Генератор SHA-384 хешей (хеш TLS Suite B)
Получайте SHA-384 хеши онлайн — 96-символьный hex-вывод, защита от атак расширения длины, соответствие NSA Suite B. Используется с AES-256-GCM в TLS. Все вычисления в браузере через Web Crypto API.
Что такое SHA-384?
SHA-384 — 384-битная криптографическая хеш-функция семейства SHA-2, опубликованная NIST в 2001 году в составе FIPS 180-2. Архитектурно это усечённый вариант SHA-512: оба алгоритма используют идентичную 64-битную арифметику со словами, 80 раундов сжатия и 1024-битные входные блоки — единственные различия — инициализирующий вектор (IV) и то, что SHA-384 отбрасывает последние 128 бит 512-битного вывода SHA-512, производя 384 бит (96 шестнадцатеричных символов).
Почему усечение важно криптографически: SHA-256 уязвим к атакам расширения длины — зная SHA-256(message), злоумышленник может вычислить SHA-256(message || padding || extension) без знания исходного сообщения, возобновив вычисление хеша из утечённого внутреннего состояния. SHA-384 устраняет эту поверхность атаки: усечение отбрасывает 128 бит внутреннего состояния, поэтому опубликованный 384-битный хеш не содержит достаточно информации для возобновления SHA-512 вычисления.
NSA Suite B и роль в TLS: SHA-384 был обязателен по NSA Suite B (CNSSP-15, 2005) для классификации TOP SECRET. Это хеш-алгоритм в шифронаборе ECDHE-ECDSA-AES256-GCM-SHA384, который является стандартным TLS 1.2 шифронабором для Suite B совместимых систем и по-прежнему широко развёрнут в государственных, финансовых и оборонных сетях США. CNSA Suite NSA (2015) сохранил SHA-384 наряду с SHA-256, и SHA-384 присутствует в списке алгоритмов подписи TLS 1.3 (ecdsa_secp384r1_sha384).
Производительность: На 64-битном железе SHA-384 и SHA-512 работают с одинаковой скоростью — оба исключительно используют 64-битные операции со словами. Они обычно быстрее SHA-256 (использующего 32-битные операции) на современных процессорах x86-64 и ARM64.
Данный инструмент вычисляет SHA-384 полностью в браузере через crypto.subtle.digest('SHA-384', ...) из Web Crypto API. Вывод побитово идентичен тому, что дают sha384sum, openssl dgst -sha384 или Python hashlib.sha384().
Когда использовать SHA-384: TLS шифронаборы, требующие соответствия Suite B, HMAC-SHA-384 для TLS 1.2 PRF, получение ключей HKDF-SHA-384, создание отпечатков секретных документов, любой контекст, где требуется защита от расширения длины без HMAC обёртки. Когда не использовать SHA-384: контрольные суммы общего назначения и повседневные задачи целостности — для них SHA-256 является стандартным выбором.
// Hash text using Web Crypto API (SHA-384)
async function sha384(text) {
const data = new TextEncoder().encode(text);
const hash = await crypto.subtle.digest('SHA-384', data);
return Array.from(new Uint8Array(hash))
.map(b => b.toString(16).padStart(2, '0'))
.join('');
}
await sha384('Hello, World!');
// → '5485cc9b3365b4305dfb4e8337e0a598a574f8242bf17289e0dd6c20a3cd44a089de16ab4ab308f63e44b1170eb5f515' Примеры SHA-384
Отпечаток TLS-рукопожатия шифронабора
ECDHE-ECDSA-AES256-GCM-SHA384
Название шифронабора ECDHE-ECDSA-AES256-GCM-SHA384 — канонический Suite B шифронабор для TOP SECRET TLS-сессий. Суффикс SHA-384 обозначает PRF (Pseudo-Random Function), используемый в TLS 1.2 рукопожатии для получения ключей сессии. Вставьте эту строку, чтобы получить SHA-384 хеш имени шифронабора — быстрый способ проверить согласованность реализации SHA-384 в разных средах. В реальной TLS-сессии цепочка сертификатов, предварительный секрет и расшифровка рукопожатия обрабатываются через HMAC-SHA-384 как часть TLS 1.2 PRF.
Получение ключа HKDF-SHA-384 (TLS 1.2 PRF)
master secret || client random || server random
PRF TLS 1.2 (определённый в RFC 5246) использует HMAC-SHA-384 для шифронаборов, согласованных с SHA-384. Мастер-секрет получается из предварительного секрета с использованием P_SHA384(pre_master_secret, 'master secret' || ClientHello.random || ServerHello.random). HKDF-SHA-384 (RFC 5869) расширяет этот паттерн для получения ключей в общем случае и используется в расписании ключей TLS 1.3, а также в IKEv2 (IPsec). Вставьте любой исходный материал для получения SHA-384 отпечатка перед применением HMAC — первый шаг при отладке конвейера получения ключей.
Отпечаток секретного документа NSA Suite B
CLASSIFIED//TS//SI//NF — Document ID: TSC-2026-0001
Криптографический профиль NSA Suite B (CNSSP-15, заменённый CNSA Suite в 2018 году) требовал SHA-384 для целостности документов TOP SECRET. Разведывательные системы вычисляют отпечатки секретных документов SHA-384 для обнаружения подмены. Полученная 96-символьная hex-строка хранится в манифесте документа рядом с полезной нагрузкой, зашифрованной AES-256-GCM. Вставьте любой заголовок документа или идентификатор для получения SHA-384 отпечатка — полезно при аудите устаревших Suite B архивов.
Аутентификация сообщения HMAC-SHA-384
POST /api/v2/transfer
Content-Type: application/json
{"amount":10000,"to":"account-XYZ"} HMAC-SHA-384 используется в высоконадёжных API для аутентификации тел запросов. Сервер вычисляет HMAC-SHA-384(secret_key, canonical_request) и включает hex-дайджест в заголовок Authorization; клиент воспроизводит вычисление и сравнивает. Поскольку SHA-384 защищён от расширения длины даже в чистой (не HMAC) форме, он обеспечивает дополнительный запас безопасности по сравнению с HMAC-SHA-256 в сценариях, где чистый хеш может быть раскрыт — например, в системах распределённого журналирования или схемах подписанных URL. Вставьте тело запроса для проверки SHA-384 хеша перед добавлением HMAC ключа.
Как получить SHA-384 хеши
- 1
Вставьте текст или перетащите файл
Выберите вкладку «Текст» и вставьте любую строку — идентификатор документа, тело запроса или произвольный ввод — в поле ввода. SHA-384 хеш обновляется по мере ввода. Для файлов переключитесь на вкладку «Файл» и перетащите любой файл в зону загрузки — браузер вычисляет хеш локально через Web Crypto API без загрузки. Для больших файлов (>10 МБ) отображается индикатор прогресса.
- 2
Скопируйте 96-символьный хеш
Нажмите «Скопировать» рядом с выводом хеша. Полная 96-символьная строчная hex-строка попадает в буфер обмена — готова к вставке в TLS-конфигурацию, отчёт о соответствии или реализацию HMAC. Используйте переключатель «ПРОПИСНЫЕ», если целевая система требует прописные hex.
- 3
Сравните с известным хешем
Переключитесь на вкладку «Сравнение» и вставьте два SHA-384 хеша рядом. Инструмент сообщает о совпадении или несовпадении с постоянным по времени сравнением, которое не утекает временну́ю информацию. Удобно для проверки хешей Suite B, сравнения ключей HKDF-SHA-384 между реализациями или проверки отпечатков документов в аудитах засекреченных архивов.
Технические детали
- Алгоритм: SHA-512 с другим IV, вывод усечён до 384 бит
- SHA-384 структурно идентичен SHA-512 (FIPS 180-4, раздел 6.5). Оба используют 80 раундов 64-битных операций (функции Ch, Maj, Σ0, Σ1) с константами. Инициализирующий вектор (восемь 64-битных слов) отличается от IV SHA-512 — он получается из дробных частей квадратных корней простых чисел с 9-го по 16-е. После обработки выводятся первые шесть 64-битных слов из восьми (384 бита); последние два слова отбрасываются.
- Вывод: 384 бит, 96 hex-символов
- Всегда ровно 96 строчных шестнадцатеричных символов (384 бит = 48 байт, 2 hex-символа на байт). Фиксированная длина независимо от размера ввода. 96-символьная длина — мгновенное отличие SHA-384 от SHA-256 (64 символа) и SHA-512 (128 символов). Отброшенные 128 бит — последние два 64-битных слова состояния — обеспечивают устойчивость SHA-384 к расширению длины.
- Производительность: идентична SHA-512 на 64-битном железе
- SHA-384 и SHA-512 выполняют одну и ту же последовательность инструкций на 64-битных CPU. Оба используют 1024-битные (128-байтные) входные блоки, обрабатываемые с 64-битными вращениями и сложениями. Пропускная способность обычно 500–900 МБ/с в браузере через Web Crypto API и 1–3 ГБ/с в нативных инструментах с аппаратными расширениями SHA. На 32-битном железе SHA-384/512 медленнее SHA-256 из-за эмуляции 64-битных целых чисел.
- Стандарты: FIPS 180-4, NSA Suite B (устарел), CNSA (актуален)
- Стандартизирован в FIPS 180-2 (2001), актуальная версия FIPS 180-4 (2015). Обязателен по NSA Suite B (CNSSP-15, 2005) для TOP SECRET, сохранён в CNSA Suite (2015). Указан для TLS в RFC 5246 (TLS 1.2 PRF с SHA-384 шифронаборами), RFC 8446 (TLS 1.3), RFC 5869 (HKDF). Одобрен NIST для всех уровней защиты до 2030 года и далее.
Лучшие практики
- Используйте SHA-384, когда важна защита от расширения длины без HMAC
- Если ваш протокол раскрывает чистый хеш-вывод и злоумышленник может попытаться расширить сообщение (например, в схемах подписанных URL или challenge-response), SHA-384 обеспечивает встроенную защиту от расширения длины, которой нет у SHA-256. Для всех остальных ключевых применений используйте HMAC независимо от базового хеша — HMAC-SHA-256 и HMAC-SHA-384 оба безопасны, и HMAC устраняет атаки расширения длины для любого варианта SHA-2.
- Используйте совместно с AES-256-GCM для соответствия Suite B / CNSA
- При создании системы, которая должна соответствовать требованиям NSA Suite B или CNSA, каноническое сочетание — AES-256-GCM для массового шифрования и SHA-384 для целостности и получения ключей. TLS 1.2 с ECDHE-ECDSA-AES256-GCM-SHA384 — эталонный шифронабор. Для TLS 1.3 эквивалент — TLS_AES_256_GCM_SHA384 с ecdsa_secp384r1_sha384 в качестве алгоритма подписи. Убедитесь, что ваша TLS-библиотека действительно согласовывает эти шифронаборы.
- Используйте HMAC-SHA-384 для MAC с ключом в контекстах TLS 1.2 PRF
- PRF TLS 1.2 использует HMAC-SHA-384 для шифронаборов, где был согласован SHA-384 (RFC 5246, раздел 5). Если вы реализуете или тестируете TLS 1.2 PRF: PRF(secret, label, seed) = P_SHA384(secret, label + seed). Не заменяйте HMAC-SHA-256 в контексте SHA-384 шифронабора — согласование шифронабора определяет PRF хеш, и несоответствие вызывает сбой рукопожатия.
- Используйте постоянное по времени сравнение при проверке SHA-384 хешей в коде
- При сравнении двух SHA-384 хешей в коде — проверке отпечатка документа, проверке MAC — используйте постоянное по времени равенство: Node.js
crypto.timingSafeEqual(), Pythonhmac.compare_digest(), Gosubtle.ConstantTimeCompare(). Наивное строковое равенство (=== или ==) утекает временну́ю информацию, позволяющую злоумышленнику восстановить ожидаемый хеш байт за байтом примерно за 768 сравнений (96 символов × 8 бит).
Вопросы и ответы по SHA-384
Зачем использовать SHA-384 вместо SHA-256?
SHA-384 так же безопасен, как SHA-512?
SHA-384 такой же быстрый, как SHA-512?
Когда HMAC-SHA-384 предпочтительнее HMAC-SHA-256?
Стоит ли использовать SHA-384 для хеширования общего назначения?
Что такое NSA Suite B и используется ли он сейчас?
Какова длина SHA-384 хеша?
Отправляются ли мои данные на сервер при использовании этого инструмента?
crypto.subtle.digest('SHA-384', data)). Откройте DevTools → вкладку Network при вычислении хеша — увидите ноль исходящих запросов. Файлы, которые вы перетаскиваете, читаются через FileReader API и обрабатываются локально; байты никогда не покидают устройство. Инструмент безопасен для вычисления отпечатков секретных документов, материала TLS приватных ключей и любых чувствительных входных данных. Та же гарантия конфиденциальности применима к генератору SHA-256 и генератору SHA-512. Похожие инструменты
Все инструменты →Декодер JWT
Безопасность
Декодируйте JWT-токены онлайн бесплатно. Просмотр header, payload, signature, срока действия, алгоритма и claims. 100% в браузере — токен не покидает устройство. Без регистрации.
Генератор MD5-хешей и контрольных сумм файлов
Безопасность
Создавайте MD5, SHA-256, SHA-1 и SHA-512 хеши онлайн бесплатно. Хеширование текста или файлов в браузере, проверка контрольных сумм и копирование результатов. Без регистрации.
Генератор случайных паролей — настраиваемый и безопасный
Безопасность
Генерируйте сильные случайные пароли мгновенно — бесплатно, 100% в браузере. Настройка длины и символов, batch до 50 с анализом энтропии.
Генератор SHA-1 хешей (160-бит, устаревший)
Безопасность
Получайте SHA-1 хеши в браузере — 40-символьный hex-вывод, без загрузки на сервер. Устаревший инструмент для отпечатков Git, проверки старых сертификатов и аудита миграции.
Генератор SHA-256 хешей и контрольных сумм
Безопасность
Получайте SHA-256 хеши онлайн бесплатно. Хеширование текста или файлов в браузере, проверка контрольных сумм, 64-символьный hex-вывод. Без регистрации; данные не покидают страницу.
Генератор SHA-3 хешей (Keccak SHA3-256)
Безопасность
Получайте SHA-3 хеши онлайн бесплатно. Конструкция губки NIST FIPS 202 — постSHA-2 стандарт. Вывод SHA3-256 в 64 hex-символах. Только в браузере через отложенно загружаемый js-sha3; без загрузки данных.