# 密码算法安全功能对照表

LLMS index: [llms.txt](/wikis/llms.txt)

---

# 密码算法安全功能对照表

> 为提升 Markdown 场景下的可读性，原始大表已按算法类别拆分为多张分组表。

**覆盖范围：** 密码杂凑函数、对称密码算法、非对称密码算法、组合机制/协议层

**参考标准：** GB/T 系列、NIST、IETF RFC

## 密码杂凑函数（SM3 / SHA 系列 / SHA-3 / KMAC）

| 算法原语 / 变体 | 数据机密性 | 数据完整性 | 消息源真实性 | 不可否认性 | 备注 |
| --- | --- | --- | --- | --- | --- |
| 纯杂凑算法 / （单次哈希） | — | √* | — | — | 仅防无意错误，无法抵御恶意篡改 |
| SHA-256 / SHA-512 | — | √* | — | — | NIST标准，广泛使用 |
| SHA-3 (Keccak) | — | √* | — | — | 吸收结构，抗长度扩展攻击 |
| SM3 | — | √* | — | — | 国密标准，256位输出 |
| HMAC / （哈希消息认证码） | — | √ | √ | — | 需共享密钥，提供来源认证 |
| HMAC-SHA256 | — | √ | √ | — | 最常用MAC方案 |
| HMAC-SHA512 | — | √ | √ | — | 更高安全级别 |
| HMAC-SM3 | — | √ | √ | — | 国密HMAC方案 |
| KMAC / （基于SHA-3） | — | √ | √ | — | NIST SP800-185，可变长密钥 |
| 泛杂凑函数 / （UHF/GHASH） | — | √ | √ | — | 用于GCM的GHASH认证组件 |

## 对称密码算法（SM4 / AES / 3DES / ChaCha20）

| 算法原语 / 变体 | 数据机密性 | 数据完整性 | 消息源真实性 | 不可否认性 | 备注 |
| --- | --- | --- | --- | --- | --- |
| ECB 模式 | √ | — | — | — | 不推荐：相同明文产生相同密文 |
| CBC 模式 | √ | — | — | — | 需IV，适合块数据加密 |
| CFB / OFB 模式 | √ | — | — | — | 流模式，无需填充 |
| CTR 模式 | √ | — | — | — | 可并行，需唯一计数器 |
| SM4-ECB/CBC/CTR/OFB | √ | — | — | — | 国密对称加密标准 |
| 3DES-CBC | √ | — | — | — | 已弱化，逐步淘汰 |
| CBC-MAC | — | √ | √ | — | 基于CBC的MAC，注意填充攻击 |
| CMAC | — | √ | √ | — | 改进CBC-MAC，NIST SP800-38B |
| GMAC / （GCM的MAC部分） | — | √ | √ | — | GCM去掉加密，仅做认证 |
| CCM 模式 / （CTR+CBC-MAC） | √ | √ | √ | — | AEAD，适合资源受限场景 |
| GCM 模式 / （CTR+GHASH） | √ | √ | √ | — | 推荐AEAD，高性能，硬件加速 |
| GCM-SIV | √ | √ | √ | — | 随机数重用安全，RFC 8452 |
| ChaCha20-Poly1305 | √ | √ | √ | — | 软件高效，TLS 1.3推荐套件 |
| SM4-GCM | √ | √ | √ | — | 国密AEAD方案 |
| SM4-CCM | √ | √ | √ | — | 国密AEAD，低资源场景 |
| XChaCha20-Poly1305 | √ | √ | √ | — | 超长nonce变体，减少碰撞风险 |
| AES-SIV | √ | √ | √ | — | 确定性AEAD，RFC 5297 |

## 非对称密码算法（SM2 / SM9 / RSA / ECDSA / EdDSA / ECIES）

| 算法原语 / 变体 | 数据机密性 | 数据完整性 | 消息源真实性 | 不可否认性 | 备注 |
| --- | --- | --- | --- | --- | --- |
| 数字签名 / （通用） | — | √ | √ | √ | 依赖私钥唯一性 |
| RSA-PSS 签名 | — | √ | √ | √ | 推荐RSA签名方案，随机填充 |
| RSA-PKCS#1v1.5 签名 | — | √ | √ | √ | 旧方案，存在填充oracle风险 |
| ECDSA (P-256/P-384) | — | √ | √ | √ | NIST标准，高效椭圆曲线签名 |
| EdDSA (Ed25519/Ed448) | — | √ | √ | √ | 确定性签名，抗侧信道，现代推荐 |
| SM2 数字签名 | — | √ | √ | √ | 国密椭圆曲线签名标准 |
| SM9 数字签名 / （基于身份） | — | √ | √ | √ | 无需证书，基于身份的签名 |
| 公钥加密 / （通用） | √ | √* | — | — | 数字信封可间接保护完整性 |
| RSA-OAEP 加密 | √ | √* | — | — | 推荐RSA加密方案 |
| ECIES | √ | √* | — | — | 椭圆曲线集成加密方案 |
| SM2 公钥加密 | √ | √* | — | — | 国密椭圆曲线加密 |
| SM9 加密 / （基于身份） | √ | √* | — | — | 无需证书的加密 |
| 密钥封装 KEM / （RSA-KEM） | — | — | — | — | 用于密钥协商，非直接加密 |
| ECDH / X25519 | — | — | — | — | 密钥协商，不直接提供CIA |

## 组合机制与协议层（TLS / SSH / IPsec / S/MIME / PGP）

| 算法原语 / 变体 | 数据机密性 | 数据完整性 | 消息源真实性 | 不可否认性 | 备注 |
| --- | --- | --- | --- | --- | --- |
| TLS 1.3 | √ | √ | √ | — | ECDHE+AEAD，前向保密 |
| TLS 1.2 | √ | √ | √ | — | 仍广泛使用，需配置强套件 |
| SSH v2 | √ | √ | √ | — | 远程管理标准协议 |
| IPsec (ESP) | √ | √ | √ | — | 网络层加密+认证 |
| IPsec (AH) | — | √ | √ | — | 仅认证，不加密 |
| S/MIME | √ | √ | √ | √ | 邮件加密与数字签名 |
| PGP / GPG | √ | √ | √ | √ | 非对称+对称混合加密 |
| TLCP / （GM/T 0024） | √ | √ | √ | — | 国密TLS，双证书机制 |
| 数字信封 | √ | √ | — | — | 非对称+对称混合，密钥保护 |
| JWT (HS256/RS256/ES256) | — | √ | √ | √* | 无状态令牌，签名可验真实性 |
| XML签名 / XML加密 | √ | √ | √ | √ | Web服务签名标准 |

## 图例说明

- √   直接提供该安全功能
- √*   有条件提供（依赖具体使用方式或配合其他机制，见注释）
- √C   提供数据机密性（Confidentiality）
- √NR   提供不可否认性（Non-Repudiation），依赖私钥唯一性
- —   不提供该安全功能

## 注释

- 注 2：公钥加密（√*完整性）：构成数字信封时，密文被篡改会导致解密失败，可间接检测到篡改，但这属于消极检测而非主动完整性验证机制。
- 注 3：AEAD模式（CCM/GCM/ChaCha20-Poly1305/SM4-GCM等）：认证加密，单次操作同时提供机密性、完整性与消息源真实性，是当前推荐的现代加密方案。
- 注 4：不可否认性区别：对称算法的MAC（HMAC/CMAC）因密钥为双方共享，无法证明【具体是哪一方】发送，故不提供不可否认性。数字签名依赖私钥的唯一持有性，可提供不可否认性。
- 注 5：消息源真实性（MA）不等同于不可否认性（NR）：HMAC证明【知道密钥的一方】发送；数字签名证明【私钥持有者】发送，后者才能在法律层面作为证据。
- 注 6：ECDH/X25519/密钥封装（KEM）：属于密钥协商/密钥封装机制，本身不直接提供机密性/完整性/真实性，须配合对称加密算法使用（如TLS握手中的密钥协商阶段）。
- 注 7：ECB模式安全警告：ECB模式下相同明文块产生相同密文块，存在模式泄露风险，不建议在生产环境使用，应选用CBC/CTR/GCM等模式。
- 注 8：国密优先：在等级保护测评（GB/T 22239）及商用密码应用合规场景中，应优先选用SM2/SM3/SM4系列算法或TLCP协议。

---
依据：GB/T 15834、GB/T 32905、NIST SP 800-57、RFC 8446
