In den folgenden Tabellen sind die Schlüsseltypen aufgeführt, die von den einzelnen Primitiven unterstützt werden, klassifiziert nach Sprache.
AEAD
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| AES-GCM | Ja1 | Ja | Ja | Ja | Ja | Ja |
| AES-GCM-SIV | Ja2 | Ja | no | no | Ja | Ja |
| AES-CTR-HMAC | Ja | Ja | Ja | Ja | Ja | Ja |
| AES-EAX | Ja | Ja | Ja | Ja | no | Ja |
| KMS-Umschlag | Ja | Ja | Ja | no | Ja | Ja |
| CHACHA20-POLY1305 | Ja | no | no | no | Ja | no |
| XCHACHA20-POLY1305 | Ja | Ja | no | Ja | Ja | Ja |
Streaming-AEAD
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| AES-GCM-HKDF-STREAMING | Ja | Ja | Ja | no | Ja | Ja |
| AES-CTR-HMAC-STREAMING | Ja | Ja | Ja | no | Ja | Ja |
Deterministisches AEAD
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| AES-SIV | Ja | Ja | Ja | Ja | Ja | Ja |
MAC
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| HMAC-SHA2 | Ja | Ja | Ja | Ja | Ja | Ja |
| AES-CMAC | Ja | Ja | Ja | Ja | Ja | Ja |
PRF
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| HKDF-SHA2 | Ja | Ja | Ja | no | Ja | Ja |
| HMAC-SHA2 | Ja | Ja | Ja | no | Ja | Ja |
| AES-CMAC | Ja | Ja | Ja | no | Ja | Ja |
Unterschrift
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| ECDSA über NIST-Kurven | Ja | Ja | Ja | Ja | Ja | Ja |
| Ed25519 | Ja | Ja | Ja | Ja | Ja | Ja |
| RSA-SSA-PKCS1 | Ja | Ja | Ja | Ja | Ja | Ja |
| RSA-SSA-PSS | Ja | Ja | Ja | Ja | Ja | Ja |
| ML-DSA | Ja3 | Ja | no | no | Ja | Ja |
| SLH-DSA (SHA2-128S) | Ja4 | Ja | no | no | Ja | Ja |
Hybridverschlüsselung
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| HPKE | Ja | Ja | no | no | Ja | Ja |
| ECIES mit AEAD und HKDF | Ja5 | Ja | Ja | Ja | Ja | Ja |
| ECIES mit DeterministicAEAD und HKDF | Ja6 | Ja | Ja | no | Ja | Ja |
JWT-MAC
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| JWT HMAC-SHA2 | Ja | Ja | Ja | no | Ja | Ja |
JWT-Signatur
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| JWT ECDSA über NIST-Kurven | Ja | Ja | Ja | no | Ja | Ja |
| JWT RSA-SSA-PKCS1 | Ja | Ja | Ja | no | Ja | Ja |
| JWT RSA-SSA-PSS | Ja | Ja | Ja | no | Ja | Ja |
-
Für AES-GCM-SIV muss Conscrypt als JCE-Sicherheitsanbieter installiert sein. ↩
-
Für ML-DSA muss Conscrypt als JCE-Sicherheitsanbieter installiert sein. ↩
-
Für SLH-DSA muss Conscrypt als JCE-Sicherheitsanbieter installiert sein. ↩
-
Für ECIES ist eine NIST-Kurve erforderlich. ↩
-
Für ECIES ist eine NIST-Kurve erforderlich. ↩