انواع کلیدی که توسط زبان پشتیبانی می شوند

جداول زیر انواع کلیدهایی را که هر کدام از آنها ابتدایی پشتیبانی می کند را فهرست می کند که بر اساس زبان طبقه بندی شده اند.

AEAD

پیاده سازی جاوا C++
(BoringSSL)
C++
(OpenSSL)
هدف-C برو پایتون
AES-GCM بله 1 آره آره آره آره آره
AES-GCM-SIV بله 2 آره نه نه آره آره
AES-CTR-HMAC آره آره آره آره آره آره
AES-EAX آره آره آره آره نه آره
پاکت KMS آره آره آره نه آره آره
CHACHA20-POLY1305 آره نه نه نه آره نه
XCHACHA20-POLY1305 آره آره نه آره آره آره

پخش جریانی AEAD

پیاده سازی جاوا C++
(BoringSSL)
C++
(OpenSSL)
هدف-C برو پایتون
AES-GCM-HKDF-Streaming آره آره آره نه آره آره
AES-CTR-HMAC-Streaming آره آره آره نه آره آره

AEAD قطعی

پیاده سازی جاوا C++
(BoringSSL)
C++
(OpenSSL)
هدف-C برو پایتون
AES-SIV آره آره آره آره آره آره

مک

پیاده سازی جاوا C++
(BoringSSL)
C++
(OpenSSL)
هدف-C برو پایتون
HMAC-SHA2 آره آره آره آره آره آره
AES-CMAC آره آره آره آره آره آره

PRF

پیاده سازی جاوا C++
(BoringSSL)
C++
(OpenSSL)
هدف-C برو پایتون
HKDF-SHA2 آره آره آره نه آره آره
HMAC-SHA2 آره آره آره نه آره آره
AES-CMAC آره آره آره نه آره آره

امضا

پیاده سازی جاوا C++
(BoringSSL)
C++
(OpenSSL)
هدف-C برو پایتون
ECDSA بر روی منحنی های NIST آره آره آره آره آره آره
Ed25519 آره آره آره آره آره آره
RSA-SSA-PKCS1 آره آره آره آره آره آره
RSA-SSA-PSS آره آره آره آره آره آره

رمزگذاری ترکیبی

پیاده سازی جاوا C++
(BoringSSL)
C++
(OpenSSL)
هدف-C برو پایتون
HPKE آره آره نه نه آره آره
ECIES با AEAD و HKDF بله 3 آره آره آره آره آره
ECIES با DeterministicAEAD و HKDF بله 4 آره آره نه آره آره

JWT MAC

پیاده سازی جاوا C++
(BoringSSL)
C++
(OpenSSL)
هدف-C برو پایتون
JWT HMAC-SHA2 آره آره آره نه آره آره

امضای JWT

پیاده سازی جاوا C++
(BoringSSL)
C++
(OpenSSL)
هدف-C برو پایتون
JWT ECDSA بر روی منحنی های NIST آره آره آره نه آره آره
JWT RSA-SSA-PKCS1 آره آره آره نه آره آره
JWT RSA-SSA-PSS آره آره آره نه آره آره

  1. AES-GCM در Android <=19 به درستی کار نمی کند.

  2. نیاز به نصب Conscrypt به عنوان یک ارائه دهنده امنیت JCE دارد.

  3. به منحنی NIST نیاز دارد.

  4. به منحنی NIST نیاز دارد.