Tabel berikut mencantumkan jenis kunci yang didukung setiap primitif, yang diklasifikasikan menurut bahasa.
AEA
| Penerapan | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM | ya1 | ya | ya | ya | ya | ya |
| AES-GCM-SIV | ya2 | ya | no | no | ya | ya |
| AES-CTR-HMAC | ya | ya | ya | ya | ya | ya |
| AES-EAX | ya | ya | ya | ya | no | ya |
| Amplop KMS | ya | ya | ya | no | ya | ya |
| CHACHA20-POLY1305 | ya | no | no | no | ya | no |
| XCHACHA20-POLY1305 | ya | ya | no | ya | ya | ya |
Streaming AEAD
| Penerapan | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM-HKDF-STREAMING | ya | ya | ya | no | ya | ya |
| AES-CTR-HMAC-STREAMING | ya | ya | ya | no | ya | ya |
AEAD deterministik
| Penerapan | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-SIV | ya | ya | ya | ya | ya | ya |
MAC
| Penerapan | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HMAC-SHA2 | ya | ya | ya | ya | ya | ya |
| AES-CMAC | ya | ya | ya | ya | ya | ya |
PRF
| Penerapan | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HKDF-SHA2 | ya | ya | ya | no | ya | ya |
| HMAC-SHA2 | ya | ya | ya | no | ya | ya |
| AES-CMAC | ya | ya | ya | no | ya | ya |
Tanda Tangan
| Penerapan | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| ECDSA melalui kurva NIST | ya | ya | ya | ya | ya | ya |
| Ed25519 | ya | ya | ya | ya | ya | ya |
| RSA-SSA-PKCS1 | ya | ya | ya | ya | ya | ya |
| RSA-SSA-PSS | ya | ya | ya | ya | ya | ya |
Enkripsi Hybrid
| Penerapan | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HPKE | ya | ya | no | no | ya | ya |
| ECIES dengan AEAD dan HKDF | ya3 | ya | ya | ya | ya | ya |
| ECIES dengan DeterministicAEAD dan HKDF | ya4 | ya | ya | no | ya | ya |
MAC JWT
| Penerapan | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| JWT HMAC-SHA2 | ya | ya | ya | no | ya | ya |
Tanda Tangan JWT
| Penerapan | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| JWT ECDSA pada kurva NIST | ya | ya | ya | no | ya | ya |
| JWT RSA-SSA-PKCS1 | ya | ya | ya | no | ya | ya |
| JWT RSA-SSA-PSS | ya | ya | ya | no | ya | ya |
-
AES-GCM tidak berfungsi dengan benar di Android <=19. ↩
-
Conscrypt harus diinstal sebagai penyedia keamanan JCE. ↩
-
Memerlukan kurva NIST. ↩
-
Memerlukan kurva NIST. ↩