Unterstützte Schlüsseltypen nach Sprache

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

  1. AES-GCM funktioniert unter Android <=19 nicht ordnungsgemäß

  2. Erfordert die Installation von Conscrypt als JCE-Sicherheitsanbieter. 

  3. Erfordert eine NIST-Kurve. 

  4. Erfordert eine NIST-Kurve.