Các bảng sau đây liệt kê các loại khoá chính 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ó1 | có | có | có | có | có |
| AES-GCM-SIV | có2 | có | không | không | có | có |
| AES-CTR-HMAC | có | có | có | có | có | có |
| AES-EAX | có | có | có | có | không | có |
| KMS Envelope | có | có | có | không | có | có |
| CHACHA20-POLY1305 | có | không | không | không | có | không |
| XCHACHA20-POLY1305 | có | có | không | có | có | có |
Truyền trực tuyến AEAD
| Triển khai | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM-HKDF-STREAMING | có | có | có | không | có | có |
| AES-CTR-HMAC-STREAMING | có | có | có | không | 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ó | không | có | có |
| HMAC-SHA2 | có | có | có | không | có | có |
| AES-CMAC | có | có | có | không | 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 | có3 | có | không | không | có | có |
| SLH-DSA (SHA2-128S) | có4 | có | không | không | có | có |
Mã hoá kết hợp
| Triển khai | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HPKE | có | có | không | không | có | có |
| ECIES có AEAD và HKDF | có5 | có | có | có | có | có |
| ECIES có DeterministicAEAD và HKDF | có6 | có | có | không | có | có |
JWT MAC
| Triển khai | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| JWT HMAC-SHA2 | có | có | có | không | có | có |
Chữ ký JWT
| Triển khai | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| JWT ECDSA trên các đường cong NIST | có | có | có | không | có | có |
| JWT RSA-SSA-PKCS1 | có | có | có | không | có | có |
| JWT RSA-SSA-PSS | có | có | có | không | có | có |
-
AES-GCM hoạt động không đúng cách trên Android <=19. ↩
-
AES-GCM-SIV yêu cầu cài đặt Conscrypt làm nhà cung cấp bảo mật JCE. ↩
-
ML-DSA yêu cầu cài đặt Conscrypt làm nhà cung cấp bảo mật JCE. ↩
-
SLH-DSA yêu cầu cài đặt Conscrypt làm nhà cung cấp bảo mật JCE. ↩
-
ECIES yêu cầu đường cong NIST. ↩
-
ECIES yêu cầu đường cong NIST. ↩