בטבלאות הבאות מפורטים הסוגים העיקריים שכל פרימיטיב תומך בהם, לפי שפה.
AEAD
| הטמעה | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM | כן | כן | כן | כן | כן | כן |
| AES-GCM-SIV | כן1 | כן | לא | לא | כן | כן |
| AES-CTR-HMAC | כן | כן | כן | כן | כן | כן |
| AES-EAX | כן | כן | כן | כן | לא | כן |
| KMS Envelope | כן | כן | כן | לא | כן | כן |
| CHACHA20-POLY1305 | כן | לא | לא | לא | כן | לא |
| XCHACHA20-POLY1305 | כן | כן | לא | כן | כן | כן |
סטרימינג AEAD
| הטמעה | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM-HKDF-STREAMING | כן | כן | כן | לא | כן | כן |
| AES-CTR-HMAC-STREAMING | כן | כן | כן | לא | כן | כן |
Deterministic 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 over NIST curves | כן | כן | כן | כן | כן | כן |
| Ed25519 | כן | כן | כן | כן | כן | כן |
| RSA-SSA-PKCS1 | כן | כן | כן | כן | כן | כן |
| RSA-SSA-PSS | כן | כן | כן | כן | כן | כן |
| ML-DSA | כן2 | כן | לא | לא | כן | כן |
| ML-DSA (External Mu)3 | לא | כן | לא | לא | כן | לא |
| SLH-DSA (SHA2-128S) | כן4 | כן | לא | לא | כן | כן |
הצפנה היברידית
| הטמעה | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HPKE | כן | כן | לא | לא | כן | כן |
| ECIES עם AEAD ו-HKDF | כן5 | כן | כן | כן | כן | כן |
| ECIES עם DeterministicAEAD ו-HKDF | כן6 | כן | כן | לא | כן | כן |
JWT MAC
| הטמעה | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| JWT HMAC-SHA2 | כן | כן | כן | לא | כן | כן |
JWT Signature
| הטמעה | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| JWT ECDSA over NIST curves | כן | כן | כן | לא | כן | כן |
| JWT RSA-SSA-PKCS1 | כן | כן | כן | לא | כן | כן |
| JWT RSA-SSA-PSS | כן | כן | כן | לא | כן | כן |
-
כדי להשתמש ב-AES-GCM-SIV, צריך להתקין את Conscrypt כספק אבטחה של JCE. ↩
-
כדי להשתמש ב-ML-DSA, צריך להתקין את Conscrypt כספק אבטחה של JCE. ↩
-
משתמשים ב-ML-DSA במצב External Mu באמצעות הפרימיטיבים Prehash ו-SignPrehash, ונדרש וריאנט עם דרישת מזהה:
TINKאוNO_PREFIX_WITH_PREHASH_ID. ↩ -
כדי להשתמש ב-SLH-DSA, צריך להתקין את Conscrypt כספק אבטחה של JCE. ↩
-
ECIES דורש עקומת NIST. ↩
-
ECIES דורש עקומת NIST. ↩