As tabelas a seguir listam os tipos de chave compatíveis com cada primário, classificados por linguagem.
AEAD
Implementação | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
AES-GCM | sim1 | sim | sim | sim | sim | sim |
AES-GCM-SIV | sim2 | sim | no | no | sim | sim |
AES-CTR-HMAC | sim | sim | sim | sim | sim | sim |
AES-EAX | sim | sim | sim | sim | no | sim |
Envelope KMS | sim | sim | sim | no | sim | sim |
CHACHA20-POLY1305 | sim | no | no | no | sim | no |
XCHACHA20-POLY1305 | sim | sim | no | sim | sim | sim |
AEAD de streaming
Implementação | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
AES-GCM-HKDF-STREAMING | sim | sim | sim | no | sim | sim |
AES-CTR-HMAC-STREAMING | sim | sim | sim | no | sim | sim |
AEAD determinista
Implementação | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
AES-SIV | sim | sim | sim | sim | sim | sim |
MAC
Implementação | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
HMAC-SHA2 | sim | sim | sim | sim | sim | sim |
AES-CMAC | sim | sim | sim | sim | sim | sim |
PRF
Implementação | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
HKDF-SHA2 | sim | sim | sim | no | sim | sim |
HMAC-SHA2 | sim | sim | sim | no | sim | sim |
AES-CMAC | sim | sim | sim | no | sim | sim |
Assinatura
Implementação | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
ECDSA sobre curvas NIST | sim | sim | sim | sim | sim | sim |
Ed25519 | sim | sim | sim | sim | sim | sim |
RSA-SSA-PKCS1 | sim | sim | sim | sim | sim | sim |
RSA-SSA-PSS | sim | sim | sim | sim | sim | sim |
Criptografia híbrida
Implementação | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
HPKE | sim | sim | no | no | sim | sim |
ECIES com AEAD e HKDF | sim3 | sim | sim | sim | sim | sim |
ECIES com DeterministicAEAD e HKDF | sim4 | sim | sim | no | sim | sim |
MAC do JWT
Implementação | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
HMAC-SHA2 JWT | sim | sim | sim | no | sim | sim |
Assinatura JWT
Implementação | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
JWT ECDSA sobre curvas NIST | sim | sim | sim | no | sim | sim |
JWT RSA-SSA-PKCS1 | sim | sim | sim | no | sim | sim |
RSA-SSA-PSS do JWT | sim | sim | sim | no | sim | sim |
-
O AES-GCM não funciona corretamente no Android <=19. ↩
-
O Conscrypt precisa estar instalado como um provedor de segurança do JCE. ↩
-
Requer uma curva NIST. ↩
-
Requer uma curva NIST. ↩