ตารางต่อไปนี้แสดงรายการประเภทคีย์ที่พื้นฐานแต่ละรายการรองรับ โดยแยกตามภาษา
AEAD
การใช้งาน | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
AES-GCM | ใช่1 | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ |
AES-GCM-SIV | ใช่2 | ใช่ | ไม่ | ไม่ | ใช่ | ใช่ |
CTR สำหรับ AES | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ |
เอเอสอีเอ็กซ์ | ใช่ | ใช่ | ใช่ | ใช่ | ไม่ | ใช่ |
ซอง KMS | ใช่ | ใช่ | ใช่ | ไม่ | ใช่ | ใช่ |
ชาชา20-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 ที่มี AssignisticAEAD และ HKDF | ใช่4 | ใช่ | ใช่ | ไม่ | ใช่ | ใช่ |
MAC ของ JWT
การใช้งาน | 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 | ใช่ | ใช่ | ใช่ | ไม่ | ใช่ | ใช่ |
-
AES-GCM ไม่ทำงานอย่างถูกต้องใน Android <=19↩
-
ต้องติดตั้ง Conscrypt เป็นผู้ให้บริการด้านความปลอดภัย JCE↩
-
ต้องใช้เส้นโค้ง NIST↩
-
ต้องใช้เส้นโค้ง NIST↩