Tabel berikut mencantumkan jenis utama yang didukung setiap primitif, yang diklasifikasikan menurut bahasa.
AEAD
| Penerapan | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM | ya | ya | ya | ya | ya | ya |
| AES-GCM-SIV | ya1 | ya | no | no | ya | ya |
| AES-CTR-HMAC | ya | ya | ya | ya | ya | ya |
| AES-EAX | ya | ya | ya | ya | no | ya |
| Lipatan 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 |
| ML-DSA | ya2 | ya | no | no | ya | ya |
| ML-DSA (Mu Eksternal)3 | no | ya | no | no | ya | no |
| SLH-DSA (SHA2-128S) | ya4 | ya | no | no | 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 | ya5 | ya | ya | ya | ya | ya |
| ECIES dengan DeterministicAEAD dan HKDF | ya6 | 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 melalui 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-SIV mengharuskan Conscrypt diinstal sebagai penyedia keamanan JCE. ↩
-
ML-DSA mengharuskan Conscrypt diinstal sebagai penyedia keamanan JCE. ↩
-
ML-DSA dalam mode Mu Eksternal digunakan melalui primitif Prehash dan SignPrehash, dan memerlukan varian dengan persyaratan ID:
TINKatauNO_PREFIX_WITH_PREHASH_ID. ↩ -
SLH-DSA mengharuskan Conscrypt diinstal sebagai penyedia keamanan JCE. ↩
-
ECIES memerlukan kurva NIST. ↩
-
ECIES memerlukan kurva NIST. ↩