Типы ключей, поддерживаемые языком
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
В следующих таблицах перечислены типы ключей, которые поддерживает каждый примитив , с разбивкой по языкам.
АЕАД
Выполнение | Джава | С++ (СкучныйSSL) | С++ (ОпенSSL) | Цель-C | Идти | Питон |
---|
AES-GCM | да 1 | да | да | да | да | да |
AES-GCM-SIV | да 2 | да | нет | нет | да | да |
AES-CTR-HMAC | да | да | да | да | да | да |
AES-EAX | да | да | да | да | нет | да |
KMS-конверт | да | да | да | нет | да | да |
ЧАЧА20-ПОЛИ1305 | да | нет | нет | нет | да | нет |
XCHACHA20-POLY1305 | да | да | нет | да | да | да |
Потоковое AEAD
Выполнение | Джава | С++ (СкучныйSSL) | С++ (ОпенSSL) | Цель-C | Идти | Питон |
---|
AES-GCM-HKDF-СТРИМИНГ | да | да | да | нет | да | да |
AES-CTR-HMAC-СТРИМИНГ | да | да | да | нет | да | да |
Детерминированный AEAD
Выполнение | Джава | С++ (СкучныйSSL) | С++ (ОпенSSL) | Цель-C | Идти | Питон |
---|
АЕС-СИВ | да | да | да | да | да | да |
MAC
Выполнение | Джава | С++ (СкучныйSSL) | С++ (ОпенSSL) | Цель-C | Идти | Питон |
---|
HMAC-SHA2 | да | да | да | да | да | да |
AES-CMAC | да | да | да | да | да | да |
ПРФ
Выполнение | Джава | С++ (СкучныйSSL) | С++ (ОпенSSL) | Цель-C | Идти | Питон |
---|
ХКДФ-ША2 | да | да | да | нет | да | да |
HMAC-SHA2 | да | да | да | нет | да | да |
AES-CMAC | да | да | да | нет | да | да |
Подпись
Выполнение | Джава | С++ (СкучныйSSL) | С++ (ОпенSSL) | Цель-C | Идти | Питон |
---|
ECDSA по кривым NIST | да | да | да | да | да | да |
Ed25519 | да | да | да | да | да | да |
RSA-SSA-PKCS1 | да | да | да | да | да | да |
RSA-SSA-PSS | да | да | да | да | да | да |
Гибридное шифрование
Выполнение | Джава | С++ (СкучныйSSL) | С++ (ОпенSSL) | Цель-C | Идти | Питон |
---|
ХПКЕ | да | да | нет | нет | да | да |
ECIES с AEAD и HKDF | да 3 | да | да | да | да | да |
ECIES с DeterministicAEAD и HKDF | да 4 | да | да | нет | да | да |
JWT MAC
Выполнение | Джава | С++ (СкучныйSSL) | С++ (ОпенSSL) | Цель-C | Идти | Питон |
---|
JWT HMAC-SHA2 | да | да | да | нет | да | да |
Подпись JWT
Выполнение | Джава | С++ (СкучныйSSL) | С++ (ОпенSSL) | Цель-C | Идти | Питон |
---|
JWT ECDSA по кривым NIST | да | да | да | нет | да | да |
JWT RSA-SSA-PKCS1 | да | да | да | нет | да | да |
JWT RSA-SSA-PSS | да | да | да | нет | да | да |
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-25 UTC.
[null,null,["Последнее обновление: 2025-07-25 UTC."],[[["\u003cp\u003eThe tables provide a comprehensive overview of the cryptographic primitives supported by Tink across various programming languages, including Java, C++, Objective-C, Go, and Python.\u003c/p\u003e\n"],["\u003cp\u003eSupport for specific primitives can vary depending on the chosen language and underlying cryptographic library (e.g., BoringSSL, OpenSSL).\u003c/p\u003e\n"],["\u003cp\u003eTink offers a wide range of cryptographic capabilities, encompassing AEAD, Streaming AEAD, Deterministic AEAD, MAC, PRF, Signatures, Hybrid Encryption, and JWT support.\u003c/p\u003e\n"],["\u003cp\u003eWhile most primitives are widely supported, some exceptions exist, such as limited AES-GCM functionality on older Android versions and the need for Conscrypt for AES-GCM-SIV in Java.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers should consult the tables to ensure their target language and platform support the required cryptographic primitives for their specific use case.\u003c/p\u003e\n"]]],["The content outlines the supported cryptographic primitives across different programming languages, including Java, C++, Objective-C, Go, and Python. Key actions involve identifying language support for AEAD (AES-GCM, AES-GCM-SIV, etc.), Streaming AEAD, Deterministic AEAD, MAC (HMAC-SHA2, AES-CMAC), PRF, Signature (ECDSA, Ed25519, RSA), Hybrid Encryption, JWT MAC, and JWT Signature. Each table indicates whether a specific implementation is supported (\"yes\") or not (\"no\") within each language's Tink library.\n"],null,["# Key types supported by language\n\nThe following tables list the key types each [primitive](/tink/primitives-by-language)\nsupports, classified by language.\n\nAEAD\n----\n\n| Implementation | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Go | Python |\n|--------------------|----------------|-----------------|---------------|-------------|--------|--------|\n| AES-GCM | yes^[1](#fn1)^ | yes | yes | yes | yes | yes |\n| AES-GCM-SIV | yes^[2](#fn2)^ | yes | **no** | **no** | yes | yes |\n| AES-CTR-HMAC | yes | yes | yes | yes | yes | yes |\n| AES-EAX | yes | yes | yes | yes | **no** | yes |\n| KMS Envelope | yes | yes | yes | **no** | yes | yes |\n| CHACHA20-POLY1305 | yes | **no** | **no** | **no** | yes | **no** |\n| XCHACHA20-POLY1305 | yes | yes | **no** | yes | yes | yes |\n\nStreaming AEAD\n--------------\n\n| Implementation | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Go | Python |\n|------------------------|------|-----------------|---------------|-------------|-----|--------|\n| AES-GCM-HKDF-STREAMING | yes | yes | yes | **no** | yes | yes |\n| AES-CTR-HMAC-STREAMING | yes | yes | yes | **no** | yes | yes |\n\nDeterministic AEAD\n------------------\n\n| Implementation | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Go | Python |\n|----------------|------|-----------------|---------------|-------------|-----|--------|\n| AES-SIV | yes | yes | yes | yes | yes | yes |\n\nMAC\n---\n\n| Implementation | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Go | Python |\n|----------------|------|-----------------|---------------|-------------|-----|--------|\n| HMAC-SHA2 | yes | yes | yes | yes | yes | yes |\n| AES-CMAC | yes | yes | yes | yes | yes | yes |\n\nPRF\n---\n\n| Implementation | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Go | Python |\n|----------------|------|-----------------|---------------|-------------|-----|--------|\n| HKDF-SHA2 | yes | yes | yes | **no** | yes | yes |\n| HMAC-SHA2 | yes | yes | yes | **no** | yes | yes |\n| AES-CMAC | yes | yes | yes | **no** | yes | yes |\n\nSignature\n---------\n\n| Implementation | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Go | Python |\n|------------------------|------|-----------------|---------------|-------------|-----|--------|\n| ECDSA over NIST curves | yes | yes | yes | yes | yes | yes |\n| Ed25519 | yes | yes | yes | yes | yes | yes |\n| RSA-SSA-PKCS1 | yes | yes | yes | yes | yes | yes |\n| RSA-SSA-PSS | yes | yes | yes | yes | yes | yes |\n\nHybrid Encryption\n-----------------\n\n| Implementation | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Go | Python |\n|---------------------------------------|----------------|-----------------|---------------|-------------|-----|--------|\n| HPKE | yes | yes | **no** | **no** | yes | yes |\n| ECIES with AEAD and HKDF | yes^[3](#fn3)^ | yes | yes | yes | yes | yes |\n| ECIES with DeterministicAEAD and HKDF | yes^[4](#fn4)^ | yes | yes | **no** | yes | yes |\n\nJWT MAC\n-------\n\n| Implementation | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Go | Python |\n|----------------|------|-----------------|---------------|-------------|-----|--------|\n| JWT HMAC-SHA2 | yes | yes | yes | **no** | yes | yes |\n\nJWT Signature\n-------------\n\n| Implementation | Java | C++ (BoringSSL) | C++ (OpenSSL) | Objective-C | Go | Python |\n|----------------------------|------|-----------------|---------------|-------------|-----|--------|\n| JWT ECDSA over NIST curves | yes | yes | yes | **no** | yes | yes |\n| JWT RSA-SSA-PKCS1 | yes | yes | yes | **no** | yes | yes |\n| JWT RSA-SSA-PSS | yes | yes | yes | **no** | yes | yes |\n\n*** ** * ** ***\n\n1. AES-GCM does not work [properly](/tink/issues/aes_gcm_android_19) on Android \\\u003c=19. [↩](#fnref1)\n\n2. Requires Conscrypt to be installed as a JCE security provider. [↩](#fnref2)\n\n3. Requires a NIST curve. [↩](#fnref3)\n\n4. Requires a NIST curve. [↩](#fnref4)"]]