Unterstützte Schlüsseltypen nach Sprache
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
In den folgenden Tabellen sind die Schlüsseltypen aufgeführt, die von den einzelnen Primitiven unterstützt werden, sortiert nach Sprache.
AEAD
Implementierung |
Java |
C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C |
Ok |
Python |
AES-GCM |
Ja1 |
Ja |
Ja |
Ja |
Ja |
Ja |
AES-GCM-SIV |
ja2 |
Ja |
no |
no |
Ja |
Ja |
AES-CTR-HMAC |
Ja |
Ja |
Ja |
Ja |
Ja |
Ja |
AES-EAX |
Ja |
Ja |
Ja |
Ja |
no |
Ja |
KMS-Umschlag |
Ja |
Ja |
Ja |
no |
Ja |
Ja |
CHACHA20-POLY1305 |
Ja |
no |
no |
no |
Ja |
no |
XCHACHA20-POLY1305 |
Ja |
Ja |
no |
Ja |
Ja |
Ja |
AEAD streamen
Implementierung |
Java |
C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C |
Ok |
Python |
AES-GCM-HKDF-STREAMING |
Ja |
Ja |
Ja |
no |
Ja |
Ja |
AES-CTR-HMAC-STREAMING |
Ja |
Ja |
Ja |
no |
Ja |
Ja |
Deterministisches AEAD
Implementierung |
Java |
C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C |
Ok |
Python |
AES-SIV |
Ja |
Ja |
Ja |
Ja |
Ja |
Ja |
MAC
Implementierung |
Java |
C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C |
Ok |
Python |
HMAC-SHA2 |
Ja |
Ja |
Ja |
Ja |
Ja |
Ja |
AES-CMAC |
Ja |
Ja |
Ja |
Ja |
Ja |
Ja |
PRF
Implementierung |
Java |
C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C |
Ok |
Python |
HKDF-SHA2 |
Ja |
Ja |
Ja |
no |
Ja |
Ja |
HMAC-SHA2 |
Ja |
Ja |
Ja |
no |
Ja |
Ja |
AES-CMAC |
Ja |
Ja |
Ja |
no |
Ja |
Ja |
Unterschrift
Implementierung |
Java |
C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C |
Ok |
Python |
ECDSA über NIST-Kurven |
Ja |
Ja |
Ja |
Ja |
Ja |
Ja |
Ed25519 |
Ja |
Ja |
Ja |
Ja |
Ja |
Ja |
RSA-SSA-PKCS1 |
Ja |
Ja |
Ja |
Ja |
Ja |
Ja |
RSA-SSA-PSS |
Ja |
Ja |
Ja |
Ja |
Ja |
Ja |
Hybridverschlüsselung
Implementierung |
Java |
C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C |
Ok |
Python |
Logo: HPKE |
Ja |
Ja |
no |
no |
Ja |
Ja |
ECIES mit AEAD und HKDF |
ja3 |
Ja |
Ja |
Ja |
Ja |
Ja |
ECIES mit DeterministicAEAD und HKDF |
ja4 |
Ja |
Ja |
no |
Ja |
Ja |
JWT-MAC
Implementierung |
Java |
C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C |
Ok |
Python |
JWT-HMAC-SHA2 |
Ja |
Ja |
Ja |
no |
Ja |
Ja |
JWT-Signatur
Implementierung |
Java |
C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C |
Ok |
Python |
JWT-ECDSA über NIST-Kurven |
Ja |
Ja |
Ja |
no |
Ja |
Ja |
JWT RSA-SSA-PKCS1 |
Ja |
Ja |
Ja |
no |
Ja |
Ja |
JWT-RSA-SSA-PSS |
Ja |
Ja |
Ja |
no |
Ja |
Ja |
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-07-25 (UTC).
[null,null,["Zuletzt aktualisiert: 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)"]]