أنواع المفاتيح المتوافقة مع اللغة
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تسرد الجداول التالية الأنواع الرئيسية التي يدعمها كل أساسي، مصنفة حسب اللغة.
AEAD
التنفيذ |
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 |
نعم |
نعم |
نعم |
لا |
نعم |
نعم |
AEAD محدد
التنفيذ |
Java |
C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C |
البدء |
Python |
معيار AES-SIV |
نعم |
نعم |
نعم |
نعم |
نعم |
نعم |
رمز مصادقة الرسائل (MAC)
التنفيذ |
Java |
C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C |
البدء |
Python |
تقنية HMAC-SHA2 |
نعم |
نعم |
نعم |
نعم |
نعم |
نعم |
بروتوكول AES-CMAC |
نعم |
نعم |
نعم |
نعم |
نعم |
نعم |
PRF
التنفيذ |
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 |
نعم |
نعم |
نعم |
نعم |
نعم |
نعم |
التشفير المختلَط
التنفيذ |
Java |
C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C |
البدء |
Python |
هPKE |
نعم |
نعم |
لا |
لا |
نعم |
نعم |
ECIES مع AEAD وHKDF |
نعم3 |
نعم |
نعم |
نعم |
نعم |
نعم |
مركز ECIES مع مصرف defisticAEAD و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 |
نعم |
نعم |
نعم |
لا |
نعم |
نعم |
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\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)"]]