أنواع المفاتيح المتوافقة مع اللغة

تسرد الجداول التالية أنواع المفاتيح التي يدعمها كل نوع أساسي، مصنّفة حسب اللغة.

AEAD

التنفيذ جافا C++‎
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-GCM نعم1 نعم نعم نعم نعم نعم
AES-GCM-SIV نعم2 نعم لا لا نعم نعم
AES-CTR-HMAC نعم نعم نعم نعم نعم نعم
AES-EAX نعم نعم نعم نعم لا نعم
KMS Envelope نعم نعم نعم لا نعم نعم
CHACHA20-POLY1305 نعم لا لا لا نعم لا
XCHACHA20-POLY1305 نعم نعم لا نعم نعم نعم

Streaming AEAD

التنفيذ جافا C++‎
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-GCM-HKDF-STREAMING نعم نعم نعم لا نعم نعم
AES-CTR-HMAC-STREAMING نعم نعم نعم لا نعم نعم

تشفير AEAD الحتمي

التنفيذ جافا C++‎
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-SIV نعم نعم نعم نعم نعم نعم

التحكم في الوصول للوسائط

التنفيذ جافا C++‎
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HMAC-SHA2 نعم نعم نعم نعم نعم نعم
AES-CMAC نعم نعم نعم نعم نعم نعم

PRF

التنفيذ جافا C++‎
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HKDF-SHA2 نعم نعم نعم لا نعم نعم
HMAC-SHA2 نعم نعم نعم لا نعم نعم
AES-CMAC نعم نعم نعم لا نعم نعم

التوقيع

التنفيذ جافا C++‎
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
ECDSA over NIST curves نعم نعم نعم نعم نعم نعم
Ed25519 نعم نعم نعم نعم نعم نعم
RSA-SSA-PKCS1 نعم نعم نعم نعم نعم نعم
RSA-SSA-PSS نعم نعم نعم نعم نعم نعم
ML-DSA نعم (65) نعم (65 و87) لا لا نعم (44 و65 و87) لا
SLH-DSA (SHA2-128S) نعم نعم لا لا نعم لا

التشفير المختلط

التنفيذ جافا C++‎
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HPKE نعم نعم لا لا نعم نعم
ECIES مع AEAD وHKDF نعم3 نعم نعم نعم نعم نعم
ECIES with DeterministicAEAD and HKDF نعم4 نعم نعم لا نعم نعم

JWT MAC

التنفيذ جافا C++‎
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
JWT HMAC-SHA2 نعم نعم نعم لا نعم نعم

توقيع JWT

التنفيذ جافا C++‎
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
توقيع ECDSA لرمز JSON المميز على الويب باستخدام منحنيات NIST نعم نعم نعم لا نعم نعم
JWT RSA-SSA-PKCS1 نعم نعم نعم لا نعم نعم
JWT RSA-SSA-PSS نعم نعم نعم لا نعم نعم

  1. لا يعمل AES-GCM بشكل صحيح على الإصدارات 19 من نظام التشغيل Android أو الإصدارات الأقدم. 

  2. يتطلّب ذلك تثبيت Conscrypt كموفّر أمان JCE. 

  3. يتطلّب ذلك منحنى NIST. 

  4. يتطلّب ذلك منحنى NIST.