SM3 (国密) Генератор хешей
Бесплатный онлайн-инструмент SM3 (国密) Генератор хешей. 100% локальная обработка — ваши данные никогда не покидают устройство.
Результат будет отображен здесь...
Ввод → Вычислить хеш
Usage Guide
О SM3
SM3 — криптографический алгоритм хеширования, опубликованный Государственным управлением по криптографии Китая в 2010 году, и является важным компонентом Китайского коммерческого стандарта криптографии (GM/T 0004-2012). SM3 генерирует 256-битные (64 шестнадцатеричных символа) хеш-значения с безопасностью, сопоставимой с SHA-256, специально разработан для китайских сценариев криптографических приложений. SM3 широко используется в финансовом, государственном и телекоммуникационном секторах Китая.
Шаги использования
SM3 — односторонняя хеш-функция: можно только вычислить хеш, но не восстановить исходные данные:
Особенности алгоритма
SM3 основан на структуре Меркла-Дамгора, опираясь на философию проектирования SHA-256, и обладает следующими техническими характеристиками:
Сценарии применения
SM3 широко используется в критической информационной инфраструктуре Китая и секторах коммерческой криптографии:
FAQ
Q: В чём разница между SM3 и SHA-256?
A: Происхождение стандарта: SM3 — коммерческий криптографический стандарт, опубликованный Государственным управлением по криптографии Китая (2010), SHA-256 — федеральный стандарт, опубликованный NIST США (2001). Безопасность: Оба имеют сопоставимую безопасность с 256-битным выводом и сложностью устойчивости к коллизиям 2^128. Дизайн алгоритма: SM3 использует 132 раунда расширения сообщения, SHA-256 — 64 раунда. Производительность: Оба имеют схожую производительность, SM3 немного быстрее в некоторых сценариях. Соответствие: В критически важных секторах Китая SM3 соответствует требованиям Закона о криптографии, SHA-256 — нет. Рекомендация: Использовать SM3 для критически важных секторов в Китае, SHA-256 — для международных приложений.
Q: В каких сценариях использование SM3 является обязательным?
A: Согласно Закону о криптографии Китайской Народной Республики (вступил в силу 1 января 2020 года) и соответствующим отраслевым нормативным актам: Обязательное использование: Коммерческие криптографические продукты, затрагивающие национальную безопасность, национальную экономику и средства к существованию людей, а также социальные общественные интересы, должны быть сертифицированы Государственным управлением по криптографии и использовать национальные криптографические алгоритмы (включая SM3). Рекомендуемое использование: Критически важные секторы, такие как финансы, государственное управление, телекоммуникации, энергетика и транспорт. Необязательное использование: Общие коммерческие и личные приложения могут выбирать самостоятельно, но использование национальных криптографических алгоритмов повышает безопасность и соответствие требованиям.
Q: Можно ли использовать SM3 для хранения паролей?
A: Не рекомендуется для прямого использования. Хотя SM3 является безопасным алгоритмом хеширования, его цель проектирования — быстрые вычисления, что делает его уязвимым к атакам перебором. Правильный подход: Использовать специализированные алгоритмы хеширования паролей, такие как Argon2 (рекомендован OWASP), bcrypt или PBKDF2-SM3 (использующий SM3 в качестве базовой хеш-функции). Национальное криптографическое решение: Если необходимо использовать национальные криптографические алгоритмы, можно использовать PBKDF2-SM3 или Argon2-SM3. Примечание: PBKDF2-SM3 требует достаточно большого числа итераций (≥ 600 тыс.) для противодействия атакам перебором.
Q: Как использовать SM3 в международных приложениях?
A: Соображения совместимости: SM3 используется преимущественно в Китае и имеет ограниченную международную поддержку. Если приложение необходимо интернационализировать, рекомендуется поддерживать как SM3, так и SHA-256. Подход с двойным алгоритмом: 1) Механизм согласования: клиент и сервер согласовывают используемый алгоритм. 2) Двойные подписи: одновременно использовать подписи SM3 и SHA-256. 3) Идентификация алгоритма: идентифицировать используемый алгоритм в данных. Поддержка библиотек: OpenSSL 1.1.1+ поддерживает SM3, GmSSL — специализированная библиотека национальных криптографических алгоритмов.
Q: Какова связь между SM3 и SM2?
A: SM3 и SM2 — два ключевых компонента системы национальных криптографических алгоритмов, часто используемых совместно. SM3: Алгоритм хеширования, используется для проверки целостности данных и дайджестов сообщений. SM2: Алгоритм асимметричного шифрования и цифровой подписи (на основе эллиптических кривых). Совместное использование: При выполнении цифровых подписей SM2 сначала SM3 вычисляет хеш-значение сообщения, затем закрытый ключ SM2 подписывает хеш-значение. Национальный криптографический набор: SM2-SM3-SM4 — полный набор национальных криптографических алгоритмов, отвечающий за асимметричное шифрование/подпись, хеширование и симметричное шифрование соответственно.
Q: Как проверить корректность реализации SM3?
A: Стандартные тестовые векторы: Стандарт GM/T 0004-2012 предоставляет официальные тестовые векторы. Например, для входных данных “abc” (3 байта) вывод SM3 должен быть 66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0. Инструменты сравнения: Использовать несколько независимых реализаций (OpenSSL, GmSSL, этот инструмент) для вычисления одних и тех же входных данных и сравнения результатов. Реализация с открытым исходным кодом: GmSSL — авторитетная реализация национальных криптографических алгоритмов с открытым исходным кодом.
Use Cases
Рекомендуется: Цифровые подписи в финансовой отрасли
Цифровые подписи для финансовых организаций, таких как банки, ценные бумаги и страхование, должны использовать национальные криптографические алгоритмы. Типичный процесс: использовать SM3 для вычисления хеш-значения транзакционных данных, затем подписать хеш-значение закрытым ключом SM2. Это соответствует требованиям регуляторов, таких как Народный банк Китая.
- ✅ SM2-SM3 (национальный стандарт, рекомендован для финансов)
- SM4 (симметричное шифрование, используется совместно)
- ✅ Использовать криптографические модули, сертифицированные национальной криптографией
- 💡 Рассмотреть подход с двойным алгоритмом (SM3 + SHA-256) для улучшения совместимости
Рекомендуется: Обмен данными в государственных системах
Платформы электронного правительства и обмена государственными данными должны использовать национальные криптографические алгоритмы для защиты целостности данных. Использовать SM3 для вычисления хеш-значений обмениваемых данных, чтобы убедиться, что данные не были изменены при передаче. В сочетании с шифрованием SM4 и подписями SM2 построить полную систему безопасности.
- ✅ SM3 (целостность данных)
- ✅ SM4 (шифрование данных)
- ✅ SM2 (цифровые подписи)
- 💡 Следовать «Техническим требованиям к криптографическим приложениям в государственных информационных системах»
Рекомендуется: Национальные криптографические SSL-сертификаты
Национальные криптографические SSL-сертификаты используют набор SM2-SM3-SM4, заменяя традиционный набор RSA-SHA256-AES. SM3 используется для подписи сертификатов и аутентификации сообщений во время TLS-рукопожатия. Применяется для государственных веб-сайтов, финансовых организаций и критической информационной инфраструктуры.
- ✅ SM2-SM3-SM4 (стандартный набор национальных криптографических SSL)
- ✅ Подход с двойными сертификатами (национальная криптография + RSA, совместимость внутри страны и за рубежом)
- ✅ Использовать браузеры и серверы с поддержкой национальной криптографии
- 💡 Обратиться к «Технической спецификации SSL VPN» (GM/T 0024-2014)
Рекомендуется: Блокчейн и распределённые реестры
Отечественные блокчейн-проекты (FISCO BCOS, ChainMaker и др.) используют SM3 в качестве алгоритма хеширования, соответствуя национальным регуляторным требованиям к технологии блокчейн. SM3 используется для хешей блоков, хешей транзакций, деревьев Меркла и других сценариев.
- ✅ SM3 (рекомендован для отечественного блокчейна)
- SHA-256 (международный стандарт блокчейна)
- ✅ В сочетании с SM2 для реализации национального криптографического блокчейна
- 💡 Обратиться к «Техническим требованиям к криптографическим приложениям в блокчейне»
Рекомендуется: Проверка целостности файлов
Проверка целостности государственных и корпоративных внутренних файлов должна использовать SM3. После загрузки файлов использовать SM3 для вычисления хеш-значений и сравнения с официальными значениями. Для секретных файлов следует сочетать с цифровыми подписями SM2 для обеспечения надёжности источников файлов.
- ✅ SM3 + подпись SM2 (максимальная безопасность)
- ✅ Контрольная сумма SM3 (стандартная практика)
- ✅ Использовать системы управления файлами, сертифицированные национальной криптографией
- 💡 Регулярно проводить аудит целостности файлов
Рекомендуется: Аутентификация устройств IoT
Сценарии, такие как телекоммуникационные операторы, умные дома и промышленный IoT, должны использовать национальные криптографические алгоритмы. SM3 используется для аутентификации личности устройств, проверки целостности прошивки и защиты целостности данных. В сочетании с лёгким шифрованием SM4, подходит для IoT-устройств с ограниченными ресурсами.
- ✅ SM3 (аутентификация устройств и целостность данных)
- ✅ SM4 (лёгкое шифрование)
- ✅ SM2 (сертификаты и подписи устройств)
- 💡 Обратиться к «Техническим требованиям к криптографическим приложениям в IoT»
Рекомендации по лучшим практикам
- В критически важных секторах Китая, таких как финансы, государственное управление и телекоммуникации, следует отдавать предпочтение SM3 для соответствия требованиям Закона о криптографии.
- Если приложение необходимо интернационализировать, рекомендуется поддерживать как SM3, так и SHA-256, выбирая алгоритмы в зависимости от региона или пользователя.
- Не использовать SM3 напрямую для хранения паролей; использовать PBKDF2-SM3 или Argon2 и другие специализированные алгоритмы хеширования паролей.
- При использовании национальных криптографических алгоритмов следует выбирать криптографические модули, сертифицированные Государственным управлением по криптографии.
- SM3 обычно используется совместно с SM2 (подписи) и SM4 (шифрование) для построения полной национальной криптографической системы безопасности.