Dil tarafından desteklenen anahtar türleri

Aşağıdaki tablolarda her temel uygulamanın desteklediği, dile göre sınıflandırılmış anahtar türleri listelenmiştir.

AEAD

Uygulama Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-GCM evet1 evet evet evet evet evet
AES-GCM-SIV evet2 evet no no evet evet
AES-TO-HMAC evet evet evet evet evet evet
AES-EAX evet evet evet evet no evet
KMS Zarfı evet evet evet no evet evet
CHACHA20-POLY1305 evet no no no evet no
XCHACHA20-POLY1305 evet evet no evet evet evet

AEAD akışı

Uygulama Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-GCM-HKDF-STREAMING evet evet evet no evet evet
AES-CTR-HMAC-STREAMING evet evet evet no evet evet

Deterministik AEAD

Uygulama Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-SIV evet evet evet evet evet evet

Mac

Uygulama Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HMAC-SHA2 evet evet evet evet evet evet
AES-CMAC evet evet evet evet evet evet

PRF

Uygulama Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HKDF-SHA2 evet evet evet no evet evet
HMAC-SHA2 evet evet evet no evet evet
AES-CMAC evet evet evet no evet evet

İmza

Uygulama Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
NIST eğrileri üzerinden ECDSA evet evet evet evet evet evet
Ed25519 evet evet evet evet evet evet
RSA-SSA-PKCS1 evet evet evet evet evet evet
RSA-SSA-PSS evet evet evet evet evet evet

Karma Şifreleme

Uygulama Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HPKE evet evet no no evet evet
AEAD ve HKDF ile ECIES evet3 evet evet evet evet evet
DeterministicAEAD ve HKDF ile ECIES evet4 evet evet no evet evet

JWT MAC

Uygulama Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
JWT HMAC-SHA2 evet evet evet no evet evet

JWT İmzası

Uygulama Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
NIST eğrilerine göre JWT ECDSA evet evet evet no evet evet
JWT RSA-SSA-PKCS1 evet evet evet no evet evet
JWT RSA-SSA-PSS evet evet evet no evet evet

  1. AES-GCM, Android <=19 işletim sistemlerinde düzgün şekilde çalışmaz. 

  2. Conscrypt'in JCE güvenlik sağlayıcısı olarak yüklenmesini gerektirir. 

  3. NIST eğrisi gerektirir. 

  4. NIST eğrisi gerektirir.