次の表に、各プリミティブ がサポートする鍵タイプを言語別に示します。
AEAD
| 実装 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM | ○ | はい | はい | はい | はい | ○ |
| AES-GCM-SIV | はい1 | ○ | no | no | はい | ○ |
| AES-CTR-HMAC | ○ | はい | はい | はい | はい | ○ |
| AES-EAX | ○ | はい | はい | はい | no | ○ |
| KMS Envelope | ○ | はい | はい | 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 | はい2 | ○ | no | no | はい | ○ |
| SLH-DSA(SHA2-128S) | はい3 | ○ | no | no | はい | ○ |
ハイブリッド暗号化
| 実装 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HPKE | ○ | はい | no | no | はい | ○ |
| AEAD と HKDF を使用した ECIES | はい4 | ○ | はい | はい | はい | ○ |
| DeterministicAEAD と HKDF を使用した ECIES | はい5 | ○ | はい | 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 | はい | ○ |