Le seguenti tabelle elencano i tipi di chiavi supportati da ciascuna primitiva, classificati per lingua.
AEAD
| Implementazione | Java | C++ (BoringSSL) |
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ì |
| Busta KMS | sì | sì | sì | NO | sì | sì |
| CHACHA20-POLY1305 | sì | NO | NO | NO | sì | NO |
| XCHACHA20-POLY1305 | sì | sì | NO | sì | sì | sì |
AEAD streaming
| Implementazione | Java | C++ (BoringSSL) |
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 deterministico
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-SIV | sì | sì | sì | sì | sì | sì |
MAC
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HMAC-SHA2 | sì | sì | sì | sì | sì | sì |
| AES-CMAC | sì | sì | sì | sì | sì | sì |
PRF
| Implementazione | Java | C++ (BoringSSL) |
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
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| Curve ECDSA su 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ì |
Crittografia ibrida
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HPKE (computing ad alte prestazioni) | sì | sì | NO | NO | sì | sì |
| ECIES con AEAD e HKDF | sì3 | sì | sì | sì | sì | sì |
| ECIES con DeterministicAEAD e HKDF | sì4 | sì | sì | NO | sì | sì |
MAC JWT
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| JWT HMAC-SHA2 | sì | sì | sì | NO | sì | sì |
Firma JWT
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| JWT ECDSA su curve 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 non funziona correttamente su Android <=19. ↩
-
Richiede l'installazione di Conscrypt come provider di sicurezza JCE. ↩
-
Richiede una curva NIST. ↩
-
Richiede una curva NIST. ↩