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 có có có có có có
AES-GCM-SIV yes1 có no no có có
AES-CTR-HMAC có có có có có có
AES-EAX có có có có no có
Phong bì KMS có có có no có có
CHACHA20-POLY1305 có no no no có no
XCHACHA20-POLY1305 có có no có có có

AEAD truyền trực tuyến

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

AEAD xác định

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

MAC

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

PRF

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

Chữ ký

Triển khai Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
ECDSA trên các đường cong NIST có có có có có có
Ed25519 có có có có có có
RSA-SSA-PKCS1 có có có có có có
RSA-SSA-PSS có có có có có có
ML-DSA yes2 có no no có có
ML-DSA (External Mu)3 no có no no có có
SLH-DSA (SHA2-128S) có4 có no no có có

Mã hoá kết hợp

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

JWT MAC

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

Chữ ký JWT

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

  1. AES-GCM-SIV yêu cầu phải cài đặt Conscrypt làm nhà cung cấp dịch vụ bảo mật JCE. ↩

  2. ML-DSA yêu cầu phải cài đặt Conscrypt làm trình cung cấp dịch vụ bảo mật JCE. ↩

  3. ML-DSA ở chế độ Mu bên ngoài được dùng thông qua các nguyên tắc Prehash và SignPrehash, đồng thời yêu cầu một biến thể có yêu cầu về mã nhận dạng: TINK hoặc NO_PREFIX_WITH_PREHASH_ID. ↩

  4. SLH-DSA yêu cầu bạn cài đặt Conscrypt làm nhà cung cấp dịch vụ bảo mật JCE. ↩

  5. ECIES yêu cầu một đường cong NIST. ↩

  6. ECIES yêu cầu một đường cong NIST. ↩