次の表は、各プリミティブがサポートするキータイプを言語別に示しています。
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 | はい | はい | はい | はい | はい | はい |
ハイブリッド暗号化
| 実装 | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HPKE | はい | はい | no | no | はい | はい |
| ECIES と AEAD および HKDF | ○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 | はい | はい |