ประเภทคีย์ที่ภาษารองรับ

ตารางต่อไปนี้แสดงรายการประเภทคีย์ที่แต่ละ Primitive รองรับ โดยจัดประเภทตามภาษา

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 ใช่ค่ะ ใช่ค่ะ ไม่ ใช่ค่ะ ใช่ค่ะ ใช่ค่ะ

Streaming 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 ใช่ค่ะ ไม่ ไม่ ใช่ค่ะ ใช่ค่ะ
SLH-DSA (SHA2-128S) ใช่ค่ะ3 ใช่ค่ะ ไม่ ไม่ ใช่ค่ะ ใช่ค่ะ

การเข้ารหัสแบบไฮบริด

การใช้งาน Java C++
(BoringSSL)
C++
(OpenSSL)
Objective-C Go Python
HPKE ใช่ค่ะ ใช่ค่ะ ไม่ ไม่ ใช่ค่ะ ใช่ค่ะ
ECIES with AEAD and HKDF ใช่ค่ะ4 ใช่ค่ะ ใช่ค่ะ ใช่ค่ะ ใช่ค่ะ ใช่ค่ะ
ECIES with DeterministicAEAD and HKDF ใช่ค่ะ5 ใช่ค่ะ ใช่ค่ะ ไม่ ใช่ค่ะ ใช่ค่ะ

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 ใช่ค่ะ ใช่ค่ะ ใช่ค่ะ ไม่ ใช่ค่ะ ใช่ค่ะ

  1. AES-GCM-SIV กำหนดให้ต้องติดตั้ง Conscrypt เป็นผู้ให้บริการความปลอดภัย JCE

  2. ML-DSA กำหนดให้ต้องติดตั้ง Conscrypt เป็นผู้ให้บริการความปลอดภัย JCE

  3. SLH-DSA กำหนดให้ต้องติดตั้ง Conscrypt เป็นผู้ให้บริการความปลอดภัย JCE

  4. ECIES กำหนดให้ต้องใช้เส้นโค้ง NIST

  5. ECIES กำหนดให้ต้องใช้เส้นโค้ง NIST