סוגי מפתחות נתמכים לפי שפה

בטבלאות הבאות מפורטים סוגי המפתחות שנתמכים בכל פרימיטיב, מסווגים לפי שפה.

AEAD

הטמעה Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go 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 Go Python
AES-GCM-HKDF-STREAMING כן כן כן לא כן כן
AES-CTR-HMAC-STREAMING כן כן כן לא כן כן

AEAD דטרמיני

הטמעה Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
AES-SIV כן כן כן כן כן כן

MAC

הטמעה Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
אלגוריתם HMAC-SHA2 כן כן כן כן כן כן
AES-CMAC כן כן כן כן כן כן

PRF

הטמעה Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HKDF-SHA2 כן כן כן לא כן כן
אלגוריתם HMAC-SHA2 כן כן כן לא כן כן
AES-CMAC כן כן כן לא כן כן

חתימה

הטמעה Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
ECDSA מעל עקומות NIST כן כן כן כן כן כן
Ed25519 כן כן כן כן כן כן
RSA-SSA-PKCS1 כן כן כן כן כן כן
RSA-SSA-PSS כן כן כן כן כן כן

הצפנה היברידית

הטמעה Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HPKE כן כן לא לא כן כן
ECIES עם AEAD ו-HKDF כן3 כן כן כן כן כן
ECIES עם דטרמיניסטיזציה AEAD ו-HKDF כן4 כן כן לא כן כן

JWT MAC

הטמעה Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
JWT HMAC-SHA2 כן כן כן לא כן כן

חתימת JWT

הטמעה Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
JWT ECDSA מעל עקומות NIST כן כן כן לא כן כן
JWT RSA-SSA-PKCS1 כן כן כן לא כן כן
JWT RSA-SSA-PSS כן כן כן לא כן כן

  1. AES-GCM לא פועל כמו שצריך ב-Android בגרסה <=19.

  2. יש להתקין את Conscrypt כספק אבטחה JCE.

  3. יש צורך בעקומת NIST.

  4. יש צורך בעקומת NIST.