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 | ja | Ja | Ja | Ja | Ja | ja |
| AES-GCM-SIV | ja1 | ja | nein | nein | Ja | ja |
| AES-CTR-HMAC | ja | Ja | Ja | Ja | Ja | ja |
| AES-EAX | ja | Ja | Ja | Ja | nein | ja |
| KMS-Umschlag | ja | Ja | Ja | nein | Ja | ja |
| CHACHA20-POLY1305 | ja | nein | nein | nein | Ja | nein |
| XCHACHA20-POLY1305 | ja | Ja | nein | Ja | Ja | ja |
Streaming-AEAD
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| AES-GCM-HKDF-STREAMING | ja | Ja | Ja | nein | Ja | ja |
| AES-CTR-HMAC-STREAMING | ja | Ja | Ja | nein | 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 | nein | Ja | ja |
| HMAC-SHA2 | ja | Ja | Ja | nein | Ja | ja |
| AES-CMAC | ja | Ja | Ja | nein | 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 | ja2 | ja | nein | nein | Ja | ja |
| SLH-DSA (SHA2-128S) | ja3 | ja | nein | nein | Ja | ja |
Hybridverschlüsselung
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| HPKE | ja | Ja | nein | nein | Ja | ja |
| ECIES mit AEAD und HKDF | ja4 | ja | Ja | Ja | Ja | ja |
| ECIES mit deterministischem AEAD und HKDF | ja5 | ja | Ja | nein | Ja | ja |
JWT-MAC
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| JWT-HMAC-SHA2 | ja | Ja | Ja | nein | Ja | ja |
JWT-Signatur
| Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
|---|---|---|---|---|---|---|
| JWT-ECDSA über NIST-Kurven | ja | Ja | Ja | nein | Ja | ja |
| JWT-RSA-SSA-PKCS1 | ja | Ja | Ja | nein | Ja | ja |
| JWT-RSA-SSA-PSS | ja | Ja | Ja | nein | 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. ↩