En las siguientes tablas, se enumeran los tipos de claves que admite cada primitiva, clasificados por lenguaje.
AEAD
Implementación | Java | de C++ (BoringSSL) |
de C++ (OpenSSL) |
Objective‑C | Go | Python |
---|---|---|---|---|---|---|
AES-GCM | Sí1 | sí | sí | sí | sí | sí |
AES-GCM-SIV | Sí2 | sí | no | no | sí | sí |
AES-CTR-HMAC | sí | sí | sí | sí | sí | sí |
AES‐EAX | sí | sí | sí | sí | no | sí |
Sobre KMS | sí | sí | sí | no | sí | sí |
CHACHA20-POLY1305 | sí | no | no | no | sí | no |
XCHACHA20-POLY1305 | sí | sí | no | sí | sí | sí |
AEAD de transmisión
Implementación | Java | de C++ (BoringSSL) |
de C++ (OpenSSL) |
Objective‑C | Go | Python |
---|---|---|---|---|---|---|
AES-GCM-HKDF-STREAMING | sí | sí | sí | no | sí | sí |
AES-CTR-HMAC-STREAMING | sí | sí | sí | no | sí | sí |
AEAD determinista
Implementación | Java | de C++ (BoringSSL) |
de C++ (OpenSSL) |
Objective‑C | Go | Python |
---|---|---|---|---|---|---|
AES‐SIV | sí | sí | sí | sí | sí | sí |
MAC
Implementación | Java | de C++ (BoringSSL) |
de C++ (OpenSSL) |
Objective‑C | Go | Python |
---|---|---|---|---|---|---|
HMAC‐SHA2 | sí | sí | sí | sí | sí | sí |
AES‐CMAC | sí | sí | sí | sí | sí | sí |
PRF
Implementación | Java | de C++ (BoringSSL) |
de C++ (OpenSSL) |
Objective‑C | Go | Python |
---|---|---|---|---|---|---|
HKDF‐SHA2 | sí | sí | sí | no | sí | sí |
HMAC‐SHA2 | sí | sí | sí | no | sí | sí |
AES‐CMAC | sí | sí | sí | no | sí | sí |
Firma
Implementación | Java | de C++ (BoringSSL) |
de C++ (OpenSSL) |
Objective‑C | Go | Python |
---|---|---|---|---|---|---|
ECDSA sobre curvas NIST | sí | sí | sí | sí | sí | sí |
Ed25519 | sí | sí | sí | sí | sí | sí |
RSA-SSA-PKCS1 | sí | sí | sí | sí | sí | sí |
RSA-SSA-PSS | sí | sí | sí | sí | sí | sí |
Encriptación híbrida
Implementación | Java | de C++ (BoringSSL) |
de C++ (OpenSSL) |
Objective‑C | Go | Python |
---|---|---|---|---|---|---|
HPKE | sí | sí | no | no | sí | sí |
ECIES con AEAD y HKDF | Sí3 | sí | sí | sí | sí | sí |
ECIES con DeterministicAEAD y HKDF | Sí4 | sí | sí | no | sí | sí |
MAC de JWT
Implementación | Java | de C++ (BoringSSL) |
de C++ (OpenSSL) |
Objective‑C | Go | Python |
---|---|---|---|---|---|---|
JWT HMAC-SHA2 | sí | sí | sí | no | sí | sí |
Firma JWT
Implementación | Java | de C++ (BoringSSL) |
de C++ (OpenSSL) |
Objective‑C | Go | Python |
---|---|---|---|---|---|---|
JWT ECDSA sobre curvas NIST | sí | sí | sí | no | sí | sí |
JWT RSA-SSA-PKCS1 | sí | sí | sí | no | sí | sí |
JWT RSA-SSA-PSS | sí | sí | sí | no | sí | sí |
-
AES-GCM no funciona correctamente en Android <=19. ↩
-
Requiere que Conscrypt se instale como proveedor de seguridad JCE. ↩
-
Requiere una curva NIST. ↩
-
Requiere una curva NIST. ↩