次の表に、各プリミティブがサポートする鍵タイプを言語別に示します。
AEAD
| 実装 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM | ○1 | はい | はい | はい | はい | はい |
| AES-GCM-SIV | ○2 | はい | no | no | はい | はい |
| AES-CTR-HMAC | はい | はい | はい | はい | はい | はい |
| AES-EAX | はい | はい | はい | はい | no | はい |
| KMS エンベロープ | はい | はい | はい | no | はい | はい |
| CHACHA20-POLY1305 | はい | no | no | no | はい | no |
| XCHACHA20-POLY1305 | はい | はい | no | はい | はい | はい |
ストリーミング AEAD
| 実装 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM-HKDF-STREAMING | はい | はい | はい | no | はい | はい |
| AES-CTR-HMAC-STREAMING | はい | はい | はい | no | はい | はい |
決定論的 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 | はい | はい | はい | no | はい | はい |
| HMAC-SHA2 | はい | はい | はい | no | はい | はい |
| AES-CMAC | はい | はい | はい | no | はい | はい |
署名
| 実装 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| NIST 曲線上の ECDSA | はい | はい | はい | はい | はい | はい |
| Ed25519 | はい | はい | はい | はい | はい | はい |
| RSA-SSA-PKCS1 | はい | はい | はい | はい | はい | はい |
| RSA-SSA-PSS | はい | はい | はい | はい | はい | はい |
| ML-DSA | あり(65) | はい(65、87) | × | × | あり(44、65、87) | × |
| SLH-DSA(SHA2-128S) | はい | はい | × | いいえ | はい | × |
ハイブリッド暗号化
| 実装 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HPKE | はい | はい | no | no | はい | はい |
| AEAD と HKDF を使用した ECIES | ○3 | はい | はい | はい | はい | はい |
| DeterministicAEAD と HKDF を使用した ECIES | ○4 | はい | はい | no | はい | はい |
JWT MAC
| 実装 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| JWT HMAC-SHA2 | はい | はい | はい | no | はい | はい |
JWT 署名
| 実装 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| NIST 曲線上の JWT ECDSA | はい | はい | はい | no | はい | はい |
| JWT RSA-SSA-PKCS1 | はい | はい | はい | no | はい | はい |
| JWT RSA-SSA-PSS | はい | はい | はい | no | はい | はい |