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. ↩