W tabelach poniżej znajdziesz typy kluczy obsługiwane przez poszczególne elementy podstawowe, sklasyfikowane według języka.
program AEAD,
Implementacja | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
AES-GCM | tak1 | tak | tak | tak | tak | tak |
AES-GCM-SIV | tak2 | tak | no | no | tak | tak |
AES-CTR-HMAC | tak | tak | tak | tak | tak | tak |
AES-EAX | tak | tak | tak | tak | no | tak |
Koperta KMS | tak | tak | tak | no | tak | tak |
CHACHA20-POLY1305 | tak | no | no | no | tak | no |
XCHACHA20-POLY1305 | tak | tak | no | tak | tak | tak |
Strumieniowe przesyłanie AEAD
Implementacja | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
AES-GCM-HKDF-STREAMING | tak | tak | tak | no | tak | tak |
AES-CTR-HMAC-STREAMING | tak | tak | tak | no | tak | tak |
Deterministyczne AEAD
Implementacja | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
AES-SIV | tak | tak | tak | tak | tak | tak |
MAC
Implementacja | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
HMAC-SHA2 | tak | tak | tak | tak | tak | tak |
AES-CMAC | tak | tak | tak | tak | tak | tak |
PRF
Implementacja | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
HKDF-SHA2 | tak | tak | tak | no | tak | tak |
HMAC-SHA2 | tak | tak | tak | no | tak | tak |
AES-CMAC | tak | tak | tak | no | tak | tak |
Podpis
Implementacja | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
ECDSA na krzywych NIST | tak | tak | tak | tak | tak | tak |
Ed25519 | tak | tak | tak | tak | tak | tak |
RSA-SSA-PKCS1, | tak | tak | tak | tak | tak | tak |
RSA-SSA-PSS, | tak | tak | tak | tak | tak | tak |
Szyfrowanie hybrydowe
Implementacja | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
HPKE | tak | tak | no | no | tak | tak |
ECIES z AEAD i HKDF | tak3 | tak | tak | tak | tak | tak |
ECIES z DeterminismAEAD i HKDF | tak4 | tak | tak | no | tak | tak |
Adres MAC JWT
Implementacja | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
HMAC-SHA2 tokena JWT | tak | tak | tak | no | tak | tak |
Podpis JWT
Implementacja | Java | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
---|---|---|---|---|---|---|
JWT ECDSA na krzywych NIST | tak | tak | tak | no | tak | tak |
JWT RSA-SSA-PKCS1 | tak | tak | tak | no | tak | tak |
JWT RSA-SSA-PSS | tak | tak | tak | no | tak | tak |
-
AES-GCM nie działa prawidłowo na Androidzie w wersji <=19. ↩
-
Wymaga zainstalowania Conscrypt jako dostawcy zabezpieczeń JCE. ↩
-
Wymaga krzywej NIST. ↩
-
Wymaga krzywej NIST. ↩