Unterstützte Schlüsseltypen nach Sprache

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 Ja (65) Ja (65, 87) Nein Nein Ja (44, 65, 87) Nein
SLH-DSA (SHA2-128S) Ja Ja nein Nein Ja Nein

Hybridverschlüsselung

Implementierung Java C++ 
(BoringSSL)
C++ 
(OpenSSL)
Objective-C Ok Python
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

  1. AES-GCM funktioniert auf Android <=19 nicht richtig

  2. Erfordert, dass Conscrypt als JCE-Sicherheitsanbieter installiert ist. 

  3. Erfordert eine NIST-Kurve. 

  4. Erfordert eine NIST-Kurve.