下表列出了每个基元支持的密钥类型(按语言分类)。
AEAD
| 实施步骤 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM | 是1 | 是 | 是 | 是 | 是 | 是 |
| AES-GCM-SIV | 是2 | 是 | 否 | 否 | 是 | 是 |
| AES-CTR-HMAC | 是 | 是 | 是 | 是 | 是 | 是 |
| AES-EAX | 是 | 是 | 是 | 是 | 否 | 是 |
| KMS 信封 | 是 | 是 | 是 | 否 | 是 | 是 |
| CHACHA20-POLY1305 | 是 | 否 | 否 | 否 | 是 | 否 |
| XCHACHA20-POLY1305 | 是 | 是 | 否 | 是 | 是 | 是 |
流式 AEAD
| 实施步骤 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM-HKDF-STREAMING | 是 | 是 | 是 | 否 | 是 | 是 |
| AES-CTR-HMAC-STREAMING | 是 | 是 | 是 | 否 | 是 | 是 |
确定性 AEAD
| 实施步骤 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-SIV | 是 | 是 | 是 | 是 | 是 | 是 |
MAC
| 实施步骤 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HMAC-SHA2 | 是 | 是 | 是 | 是 | 是 | 是 |
| AES-CMAC | 是 | 是 | 是 | 是 | 是 | 是 |
PRF
| 实施步骤 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HKDF-SHA2 | 是 | 是 | 是 | 否 | 是 | 是 |
| HMAC-SHA2 | 是 | 是 | 是 | 否 | 是 | 是 |
| AES-CMAC | 是 | 是 | 是 | 否 | 是 | 是 |
签名
| 实施步骤 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| ECDSA 对比 NIST 曲线 | 是 | 是 | 是 | 是 | 是 | 是 |
| Ed25519 | 是 | 是 | 是 | 是 | 是 | 是 |
| RSA-SSA-PKCS1 | 是 | 是 | 是 | 是 | 是 | 是 |
| RSA-SSA-PSS | 是 | 是 | 是 | 是 | 是 | 是 |
混合加密
| 实施步骤 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| 惠普克 | 是 | 是 | 否 | 否 | 是 | 是 |
| 采用 AEAD 和 HKDF 的 ECIES | 是3 | 是 | 是 | 是 | 是 | 是 |
| 采用 DeterministicAEAD 和 HKDF 的 ECIES | 是4 | 是 | 是 | 否 | 是 | 是 |
JWT MAC
| 实施步骤 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| JWT HMAC-SHA2 | 是 | 是 | 是 | 否 | 是 | 是 |
JWT 签名
| 实施步骤 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| 基于 NIST 曲线的 JWT ECDSA | 是 | 是 | 是 | 否 | 是 | 是 |
| JWT RSA-SSA-PKCS1 | 是 | 是 | 是 | 否 | 是 | 是 |
| JWT RSA-SSA-PSS | 是 | 是 | 是 | 否 | 是 | 是 |