Le tabelle seguenti elencano i tipi di chiavi supportati da ogni primitiva, classificati per lingua.
AEAD
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Vai | 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ì |
| KMS Envelope | sì | sì | sì | no | sì | sì |
| CHACHA20-POLY1305 | sì | no | no | no | sì | no |
| XCHACHA20-POLY1305 | sì | sì | no | sì | sì | sì |
Streaming AEAD
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Vai | Python |
|---|---|---|---|---|---|---|
| AES-GCM-HKDF-STREAMING | sì | sì | sì | no | sì | sì |
| AES-CTR-HMAC-STREAMING | sì | sì | sì | no | sì | sì |
Deterministic AEAD
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Vai | Python |
|---|---|---|---|---|---|---|
| AES-SIV | sì | sì | sì | sì | sì | sì |
MAC
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Vai | 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 | Vai | 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 | Vai | Python |
|---|---|---|---|---|---|---|
| ECDSA su curve 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ì |
| ML-DSA | sì3 | sì | no | no | sì | sì |
| SLH-DSA (SHA2-128S) | sì4 | sì | no | no | sì | sì |
Crittografia ibrida
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Vai | Python |
|---|---|---|---|---|---|---|
| HPKE | sì | sì | no | no | sì | sì |
| ECIES con AEAD e HKDF | sì5 | sì | sì | sì | sì | sì |
| ECIES con DeterministicAEAD e HKDF | sì6 | sì | sì | no | sì | sì |
MAC JWT
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Vai | Python |
|---|---|---|---|---|---|---|
| JWT HMAC-SHA2 | sì | sì | sì | no | sì | sì |
Firma JWT
| Implementazione | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Vai | 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. ↩
-
AES-GCM-SIV richiede l'installazione di Conscrypt come provider di sicurezza JCE. ↩
-
ML-DSA richiede l'installazione di Conscrypt come provider di sicurezza JCE. ↩
-
SLH-DSA richiede l'installazione di Conscrypt come provider di sicurezza JCE. ↩
-
ECIES richiede una curva NIST. ↩
-
ECIES richiede una curva NIST. ↩