Các loại khoá được hỗ trợ theo ngôn ngữ

Các bảng sau đây liệt kê các loại khoá mà mỗi nguyên hàm hỗ trợ, được phân loại theo ngôn ngữ.

AEAD

Triển khai Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-GCM yes1
AES-GCM-SIV 2 no no
AES-CTR-HMAC
AES-EAX no
Phong bì KMS no
CHACHA20-POLY1305 no no no no
XCHACHA20-POLY1305 no

AEAD truyền trực tuyến

Triển khai Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-GCM-HKDF-STREAMING no
AES-CTR-HMAC-STREAMING no

AEAD xác định

Triển khai Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-SIV

MAC

Triển khai Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HMAC-SHA2
AES-CMAC

PRF

Triển khai Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HKDF-SHA2 no
HMAC-SHA2 no
AES-CMAC no

Chữ ký

Triển khai Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
ECDSA trên các đường cong NIST
Ed25519
RSA-SSA-PKCS1
RSA-SSA-PSS
ML-DSA có (65) có (65, 87) không không có (44, 65, 87) không
SLH-DSA (SHA2-128S) không không không

Mã hoá kết hợp

Triển khai Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HPKE no no
ECIES có AEAD và HKDF 3
ECIES có DeterministicAEAD và HKDF 4 no

JWT MAC

Triển khai Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
JWT HMAC-SHA2 no

Chữ ký JWT

Triển khai Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
JWT ECDSA qua các đường cong NIST no
JWT RSA-SSA-PKCS1 no
JWT RSA-SSA-PSS no

  1. AES-GCM không hoạt động đúng cách trên Android <=19. 

  2. Yêu cầu cài đặt Conscrypt làm nhà cung cấp dịch vụ bảo mật JCE. 

  3. Cần có đường cong NIST. 

  4. Cần có đường cong NIST.