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 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

  1. Für AES-GCM-SIV muss Conscrypt als JCE-Sicherheitsanbieter installiert sein.

  2. Für ML-DSA muss Conscrypt als JCE-Sicherheitsanbieter installiert sein.

  3. Für SLH-DSA muss Conscrypt als JCE-Sicherheitsanbieter installiert sein.

  4. Für ECIES ist eine NIST-Kurve erforderlich.

  5. Für ECIES ist eine NIST-Kurve erforderlich.