SM4 加解密 — 国密对称分组加密算法
SM4 加密工具,支持 128 位密钥生成、数据加密和解密。中国国密分组密码算法 GM/T 0002,支持 ECB 和 CBC 模式。
功能特性
- ✓生成 SM4 密钥(128 位)
- ✓使用 SM4 加密数据
- ✓使用 SM4 解密密文
- ✓支持 ECB 和 CBC 模式
- ✓自动生成初始化向量(IV)
- ✓中国国家标准 GM/T 0002
- ✓快速对称加密
- ✓适合大数据量加密
- ✓十六进制密钥输入/输出
- ✓所有操作在浏览器本地执行
使用方法
- 1密钥生成:点击'生成密钥'创建随机 128 位 SM4 密钥。
- 2加密:输入明文、密钥,选择模式(ECB/CBC),点击'加密'。
- 3解密:输入密文、密钥,选择模式,点击'解密'。
- 4CBC 模式:需要初始化向量(IV)。点击'生成 IV'创建一个。
- 5ECB 模式:每个 128 位块独立加密——更快但可能暴露数据模式。
- 6CBC 模式:块与 IV 链接在一起——更安全,建议敏感数据使用。
- 7密钥和 IV 分开存储。CBC 模式中切勿使用相同的密钥+IV 组合。
- 8密钥和 IV 使用十六进制格式输入/输出。密钥为 32 个十六进制字符(128 位)。
常见问题
什么是 SM4?
∨
SM4 是中国国家密码管理局于 2006 年发布的对称分组密码算法。它是中国国家密码标准(GM/T 0002)的一部分,使用 128 位密钥和 128 位分组。SM4 设计类似于 AES,提供相当的安全性和性能。
ECB 和 CBC 模式有什么区别?
∨
ECB(电子密码本)独立加密每个 128 位块。速度快但可能暴露数据模式。CBC(密码块链接)在加密前将每个明文块与前一个密文块异或,提供更好的安全性。CBC 需要初始化向量(IV)。大多数应用使用 CBC。
SM4 与 AES 相比如何?
∨
SM4 和 AES-128 都使用 128 位密钥和分组。SM4 使用 32 轮而 AES-128 使用 10 轮。性能相当,SM4 在某些平台上稍慢。两者都提供 128 位安全性。SM4 在中国政府和金融应用中强制使用,而 AES 是全球标准。
SM4 安全吗?
∨
SM4 自 2006 年以来经过密码学家广泛分析。未发现实际攻击。它于 2011 年被纳入 ISO/IEC 18033-3,确认其国际认可。SM4 被认为密码学强度高,广泛应用于中国关键基础设施。
如何存储密钥和 IV?
∨
密钥必须保密并安全存储。使用环境变量、密钥管理系统或硬件安全模块(HSM)。IV 不需要保密,但每次加密应唯一。在 CBC 模式下,切勿重复使用相同的密钥+IV 组合。
SM4 的分组大小是多少?
∨
SM4 使用 128 位(16 字节)分组大小,与 AES 相同。数据被分成 128 位块进行加密。如果明文长度不是 16 字节的倍数,SM4 会自动应用 PKCS#7 填充来补满剩余空间。解密时自动移除填充。
SM4 使用多少轮加密?
∨
SM4 使用 32 轮加密,而 AES-128 使用 10 轮。每轮应用替换(S-box)、排列(线性变换)和密钥混合操作的组合。32 轮设计提供了强大的安全余量以抵抗密码分析攻击。
SM4 能用于文件加密吗?
∨
可以,SM4 速度高,非常适合文件加密。对于大于分组大小(16 字节)的文件,密码模式(ECB 或 CBC)决定块的处理方式。建议文件使用 CBC 模式以防止模式泄露。十六进制输出可解码存储为二进制加密文件。
SM4 和 DES/3DES 有什么区别?
∨
SM4 使用 128 位密钥、128 位分组和 32 轮,提供现代安全性。DES 使用 56 位密钥(目前已过弱)和 64 位分组。3DES 将安全性提升到 112 位,但明显更慢且仍使用 64 位分组。SM4 比 DES/3DES 更安全也更高效。
SM4 符合国际标准吗?
∨
符合。SM4 于 2021 年被纳入 ISO/IEC 18033-3 成为国际标准分组密码。它被 ISO 与 AES、Camellia 等其他主要密码共同认可。这意味着 SM4 可用于需要标准化密码算法的国际系统。