В следующих таблицах перечислены основные типы, поддерживаемые каждым примитивом , сгруппированные по языкам программирования.
АЭАД
| Выполнение | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Идти | Python |
|---|---|---|---|---|---|---|
| AES-GCM | да 1 | да | да | да | да | да |
| AES-GCM-SIV | да 2 | да | нет | нет | да | да |
| AES-CTR-HMAC | да | да | да | да | да | да |
| AES-EAX | да | да | да | да | нет | да |
| Конверт KMS | да | да | да | нет | да | да |
| CHACHA20-POLY1305 | да | нет | нет | нет | да | нет |
| XCHACHA20-POLY1305 | да | да | нет | да | да | да |
Трансляция AEAD
| Выполнение | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Идти | Python |
|---|---|---|---|---|---|---|
| AES-GCM-HKDF-STREAMING | да | да | да | нет | да | да |
| AES-CTR-HMAC-STREAMING | да | да | да | нет | да | да |
Детерминированная АЭАД
| Выполнение | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Идти | Python |
|---|---|---|---|---|---|---|
| AES-SIV | да | да | да | да | да | да |
MAC
| Выполнение | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Идти | Python |
|---|---|---|---|---|---|---|
| HMAC-SHA2 | да | да | да | да | да | да |
| AES-CMAC | да | да | да | да | да | да |
ПРФ
| Выполнение | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Идти | Python |
|---|---|---|---|---|---|---|
| HKDF-SHA2 | да | да | да | нет | да | да |
| HMAC-SHA2 | да | да | да | нет | да | да |
| AES-CMAC | да | да | да | нет | да | да |
Подпись
| Выполнение | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Идти | Python |
|---|---|---|---|---|---|---|
| ECDSA на кривых NIST | да | да | да | да | да | да |
| Ed25519 | да | да | да | да | да | да |
| RSA-SSA-PKCS1 | да | да | да | да | да | да |
| RSA-SSA-PSS | да | да | да | да | да | да |
| ML-DSA | да (65) | да (65, 87) | нет | нет | да (44, 65, 87) | нет |
| SLH-DSA (SHA2-128S) | да | да | нет | нет | да | нет |
Гибридное шифрование
| Выполнение | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Идти | Python |
|---|---|---|---|---|---|---|
| HPKE | да | да | нет | нет | да | да |
| ECIES совместно с AEAD и HKDF | да 3 | да | да | да | да | да |
| ECIES с DeterministicAEAD и HKDF | да 4 | да | да | нет | да | да |
JWT MAC
| Выполнение | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Идти | Python |
|---|---|---|---|---|---|---|
| JWT HMAC-SHA2 | да | да | да | нет | да | да |
Подпись JWT
| Выполнение | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Идти | Python |
|---|---|---|---|---|---|---|
| JWT ECDSA на кривых NIST | да | да | да | нет | да | да |
| JWT RSA-SSA-PKCS1 | да | да | да | нет | да | да |
| JWT RSA-SSA-PSS | да | да | да | нет | да | да |
AES-GCM некорректно работает на Android <=19. ↩
Для работы требуется установить Conscrypt в качестве поставщика безопасности JCE. ↩
Требуется кривая NIST. ↩
Требуется кривая NIST. ↩