加密算法对照表

对称、非对称、哈希与国密算法的参数与用途速查,含工作模式选择和算法状态标注。

对称加密算法

算法分组长度密钥长度状态说明
AES-128128 位128 位推荐国际通用主流算法,软硬件加速完善
AES-192128 位192 位可用性能略低于 128,实际部署较少
AES-256128 位256 位推荐高安全等级场景,等保三级以上常要求
SM4128 位128 位国密推荐我国商用密码分组算法标准,密评要求场景使用
3DES64 位112 / 168 位逐步淘汰分组短、性能低,新系统不建议使用
DES64 位56 位禁止密钥空间过小,可被暴力破解
RC4流密码40–2048 位禁止存在多种统计偏差,TLS 已弃用

工作模式

分组算法需要配合模式使用。ECB 相同明文块产生相同密文,会泄露数据结构,不应使用;CBC 需要随机初始向量且不能重复;CTR 把分组算法变成流模式,可并行;GCM 属于认证加密,同时提供机密性和完整性校验,是目前推荐的默认选择。

非对称加密与签名算法

算法密钥长度用途说明
RSA-20482048 位加密、签名兼容性较好,证书体系的基础
RSA-3072 / 40963072 / 4096 位加密、签名安全余量更大,运算开销明显上升
ECC P-256256 位签名、密钥交换同等安全强度下密钥更短,移动端友好
Ed25519256 位签名签名速度快,实现简单,抗侧信道
SM2256 位加密、签名我国商用密码椭圆曲线标准,密评场景使用
DH / ECDH按曲线密钥协商用于建立会话密钥,本身不做加密

RSA 的安全强度取决于密钥长度和分解难度,2048 位目前仍属可用,但长期数据保护建议向 3072 位或椭圆曲线迁移。

哈希与口令派生

算法输出长度用途说明
MD5128 位校验已有实用碰撞攻击,不得用于签名和口令
SHA1160 位校验已被证明可构造碰撞,逐步淘汰
SHA256256 位校验、签名摘要当前主流选择
SHA512512 位校验、签名摘要64 位平台性能好
SHA3-256256 位校验海绵结构,与 SHA2 设计路线不同
SM3256 位校验、签名摘要我国商用密码杂凑标准
PBKDF2可配置口令派生迭代次数需足够大,常见 10 万次以上
bcrypt192 位口令存储内置盐值和 cost 参数,专为口令设计
Argon2id可配置口令存储内存困难型,抗 GPU 破解能力强

国密算法对照

国密算法对应国际算法类型典型应用
SM1AES对称分组硬件密码模块内部使用,不公开
SM2ECC / RSA非对称数字签名、密钥交换、加密
SM3SHA256哈希完整性校验、签名摘要
SM4AES对称分组数据加密、无线局域网
SM9IBE标识密码基于身份的加密,减少证书管理
ZUC—流密码移动通信加密

密评(商用密码应用安全性评估)会核查系统中密码算法的合规性,涉及身份鉴别、数据传输、数据存储等环节。具体到某个系统该用哪种组合,要看等保定级和行业要求。

常见问题

AES-128 和 AES-256 该怎么选?▼
看合规要求和性能预算。AES-256 密钥更长,理论上安全余量更大,但软件实现时性能约低 20% 到 40%。等保三级以上或涉及敏感数据的系统常被要求使用 256 位;一般业务 128 位已经足够。
为什么说 ECB 模式不能用?▼
ECB 对每个数据块独立加密,相同的明文块会产生完全相同的密文块。加密图片时轮廓会直接显现,加密结构化数据时字段规律也会暴露。应改用 CBC 或 GCM。
GCM 和 CBC 有什么区别?▼
CBC 只提供机密性,完整性要靠额外的 MAC 校验,且初始向量管理不当会出问题;GCM 是认证加密模式,一次运算同时给出密文和认证标签,实现正确的话更省事。新系统建议默认用 GCM。
国密改造必须全换吗?▼
不是全换。密评关注的是关键环节使用的算法是否合规,通常涉及身份鉴别、传输通道、存储加密、签名验签。已有系统可以按模块逐步替换,具体范围要看测评机构给出的整改建议和系统定级。
口令存储用哪个算法合适?▼
优先 Argon2id,其次 bcrypt。这两个都是专门为口令设计的慢哈希,能有效抵抗 GPU 批量破解。PBKDF2 也可用,但迭代次数要足够大。MD5、SHA1 以及任何未加盐的快速哈希都不应再用于口令存储。