In den folgenden Tabellen sind die Schlüsseltypen aufgeführt, die von den einzelnen Primitiven unterstützt werden, sortiert 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 |
AEAD streamen
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 |
Hybridverschlüsselung
Implementierung | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Ok | Python |
---|---|---|---|---|---|---|
Logo: HPKE | Ja | Ja | no | no | Ja | Ja |
ECIES mit AEAD und HKDF | ja3 | Ja | Ja | Ja | Ja | Ja |
ECIES mit DeterministicAEAD und HKDF | ja4 | 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 |
-
AES-GCM funktioniert unter Android <=19 nicht ordnungsgemäß. ↩
-
Erfordert die Installation von Conscrypt als JCE-Sicherheitsanbieter. ↩
-
Erfordert eine NIST-Kurve. ↩
-
Erfordert eine NIST-Kurve. ↩