Types de clés compatibles avec la langue

Les tableaux suivants répertorient les types de clés compatibles avec chaque primitive, classés par langue.

AEAD

Implémentation Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-GCM oui1 oui oui oui oui oui
AES-GCM-SIV oui2 oui no no oui oui
AES-CTR-HMAC oui oui oui oui oui oui
AES-EAX oui oui oui oui no oui
Enveloppe KMS oui oui oui no oui oui
CHACHA20-POLY1305 oui no no no oui no
XCHACHA20-POLY1305 oui oui no oui oui oui

AEAD en streaming

Implémentation Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-GCM-HKDF-STREAMING oui oui oui no oui oui
AES-CTR-HMAC-STREAMING oui oui oui no oui oui

AEAD déterministe

Implémentation Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-SIV oui oui oui oui oui oui

Mac

Implémentation Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HMAC-SHA2 oui oui oui oui oui oui
AES-CMAC oui oui oui oui oui oui

PRF

Implémentation Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HKDF-SHA2 oui oui oui no oui oui
HMAC-SHA2 oui oui oui no oui oui
AES-CMAC oui oui oui no oui oui

Signature

Implémentation Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
ECDSA sur les courbes NIST oui oui oui oui oui oui
Ed25519 oui oui oui oui oui oui
RSA-SSA-PKCS1 oui oui oui oui oui oui
RSA SSA-PSS oui oui oui oui oui oui

Chiffrement hybride

Implémentation Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HPKE oui oui no no oui oui
ECIES avec AEAD et HKDF oui3 oui oui oui oui oui
ECIES avec DeterministicAEAD et HKDF oui4 oui oui no oui oui

Adresse MAC du jeton JWT

Implémentation Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
Jeton JWT HMAC-SHA2 oui oui oui no oui oui

Signature JWT

Implémentation Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
JWT ECDSA sur les courbes NIST oui oui oui no oui oui
Jeton JWT RSA-SSA-PKCS1 oui oui oui no oui oui
Jeton JWT RSA-SSA-PSS oui oui oui no oui oui

  1. AES-GCM ne fonctionne pas correctement sur les appareils Android 19 ou version antérieure. 

  2. Nécessite l'installation de Conscrypt en tant que fournisseur de sécurité JCE. 

  3. Nécessite une courbe NIST. 

  4. Nécessite une courbe NIST.