Jenis kunci yang didukung oleh bahasa

Tabel berikut mencantumkan jenis kunci yang didukung setiap primitif, yang diklasifikasikan menurut bahasa.

AEAD

Penerapan Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-GCM ya1 ya ya ya ya ya
AES-GCM-SIV ya2 ya tidak tidak ya ya
AES-CTR-HMAC ya ya ya ya ya ya
AES-EAX ya ya ya ya tidak ya
KMS Envelope ya ya ya tidak ya ya
CHACHA20-POLY1305 ya tidak tidak tidak ya tidak
XCHACHA20-POLY1305 ya ya tidak ya ya ya

Streaming AEAD

Penerapan Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-GCM-HKDF-STREAMING ya ya ya tidak ya ya
AES-CTR-HMAC-STREAMING ya ya ya tidak 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 tidak ya ya
HMAC-SHA2 ya ya ya tidak ya ya
AES-CMAC ya ya ya tidak 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 ya3 ya tidak tidak ya ya
SLH-DSA (SHA2-128S) ya4 ya tidak tidak ya ya

Enkripsi Hybrid

Penerapan Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HPKE ya ya tidak tidak ya ya
ECIES dengan AEAD dan HKDF ya5 ya ya ya ya ya
ECIES dengan DeterministicAEAD dan HKDF ya6 ya ya tidak ya ya

MAC JWT

Penerapan Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
JWT HMAC-SHA2 ya ya ya tidak ya ya

Tanda Tangan JWT

Penerapan Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
JWT ECDSA melalui kurva NIST ya ya ya tidak ya ya
JWT RSA-SSA-PKCS1 ya ya ya tidak ya ya
JWT RSA-SSA-PSS ya ya ya tidak ya ya

  1. AES-GCM tidak berfungsi dengan benar di Android <=19.

  2. AES-GCM-SIV mengharuskan Conscrypt diinstal sebagai penyedia keamanan JCE.

  3. ML-DSA mengharuskan Conscrypt diinstal sebagai penyedia keamanan JCE.

  4. SLH-DSA mengharuskan Conscrypt diinstal sebagai penyedia keamanan JCE.

  5. ECIES memerlukan kurva NIST.

  6. ECIES memerlukan kurva NIST.