SM2 加解密 — 国密非对称加解密算法
SM2 加密工具,支持密钥对生成、公钥加密、私钥解密和数字签名。中国国密 GM/T 0003 椭圆曲线公钥密码算法。浏览器本地运行。
功能特性
- ✓生成 SM2 密钥对(256 位椭圆曲线)
- ✓使用公钥加密数据
- ✓使用私钥解密密文
- ✓使用私钥签名消息
- ✓使用公钥验证签名
- ✓支持 C1C3C2 和 C1C2C3 密文模式
- ✓支持公钥压缩(66 字符)
- ✓签名集成 SM3 哈希
- ✓中国国家标准 GM/T 0003
- ✓所有操作在浏览器本地执行
使用方法
- 1密钥生成:点击'生成密钥对'创建新的 SM2 密钥对。
- 2加密:输入明文和公钥,然后点击'加密'。
- 3解密:输入密文和私钥,然后点击'解密'。
- 4签名:输入消息和私钥,然后点击'签名'。
- 5验签:输入消息、签名和公钥,然后点击'验签'。
- 6选择密文模式:C1C3C2(默认推荐)或 C1C2C3(兼容特定系统)。
- 7切换压缩公钥格式(66 字符)与非压缩格式(130 字符),节省存储空间。
- 8签名时自动集成 SM3 哈希——工具在签名前自动计算消息哈希。
常见问题
什么是 SM2?
∨
SM2 是基于椭圆曲线的公钥密码算法,由中国国家密码管理局于 2010 年发布。它是中国国家密码标准(GM/T 0003)的一部分,在中国的政府和金融应用中强制使用。SM2 提供 128 位安全级别,相当于 RSA-3072 或 NIST P-256。
C1C3C2 和 C1C2C3 模式有什么区别?
∨
这是 SM2 标准定义的两种密文格式。C1C3C2(模式 1)是默认推荐格式:C1(椭圆曲线点)+ C3(哈希值)+ C2(加密数据)。C1C2C3(模式 0)是替代格式。两者提供相同的安全级别。除非有特定兼容性要求,否则使用 C1C3C2。
SM2 与 RSA 和 ECDSA 相比如何?
∨
SM2 基于 256 位椭圆曲线,提供 128 位安全性。相当于 RSA-3072 或 NIST P-256(ECDSA)。在相同安全级别下,SM2 通常比 RSA 更快。与 ECDSA 相比,SM2 使用不同的曲线方程和哈希函数(SM3),独立于 NIST 标准。
SM2 安全吗?
∨
SM2 已经过全球密码学家的广泛分析。曲线参数经过选择以抵抗已知攻击,未发现弱点。SM2 被国际标准化组织(ISO)批准为 ISO/IEC 14888-3,被认为密码学强度高。广泛应用于中国政府、银行和关键基础设施。
可以在商业应用中使用 SM2 吗?
∨
可以,SM2 可免费使用,无需许可费用。算法规范公开可用(GM/T 0003)。对于中国金融或政府领域的应用,根据中国法规可能强制使用 SM2。对于国际应用,需考虑与现有系统的兼容性要求。
SM2 的密钥长度是多少?
∨
SM2 使用 256 位椭圆曲线,私钥为 256 位(32 字节)。公钥非压缩时为 512 位(64 字节),压缩时为 264 位(33 字节)。提供 128 位安全级别,相当于 RSA-3072 但密钥小得多,存储和传输更高效。
如何安全存储 SM2 私钥?
∨
切勿分享私钥。存储在:硬件安全模块(HSM)、密码保护加密文件、密钥管理系统(KMS)、或生产环境变量中。开发时可考虑加密密钥库。本工具使用的 PEM 格式可导入大多数密钥管理系统。
签名和加密有什么区别?
∨
加密使用公钥对数据进行加扰,只有私钥持有者能读取——确保机密性。签名使用私钥创建签名,任何有公钥的人都能验证——确保真实性和不可抵赖性。SM2 同时支持这两种操作。
SM2 和 SM4 相比如何?
∨
SM2 是非对称密码:加密和解密使用不同密钥,速度较慢但无需预共享密钥即可安全交换密钥。SM4 是对称密码:加密解密使用相同密钥,速度快得多,适合批量数据加密。两者常配合使用:SM2 交换 SM4 会话密钥,然后 SM4 进行快速数据加密。
SM3 哈希函数是什么,与 SM2 有何关系?
∨
SM3 是密码学哈希函数,属于中国国家标准(GM/T 0004)。产生 256 位(32 字节)哈希值,类似于 SHA-256。SM2 签名使用 SM3 在签名前对消息进行哈希。SM2 + SM3 的组合提供满足中国监管要求的认证加密。