다음 표에는 각 원시에서 지원하는 키 유형이 언어별로 분류되어 나열되어 있습니다.
AEAD
| 구현 | 자바 | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM | 예 | 예 | 예 | 예 | 예 | 예 |
| AES-GCM-SIV | 예1 | 예 | 없음 | 없음 | 예 | 예 |
| AES-CTR-HMAC | 예 | 예 | 예 | 예 | 예 | 예 |
| AES-EAX | 예 | 예 | 예 | 예 | 없음 | 예 |
| KMS 봉투 | 예 | 예 | 예 | 없음 | 예 | 예 |
| CHACHA20-POLY1305 | 예 | 없음 | 없음 | 없음 | 예 | 없음 |
| XCHACHA20-POLY1305 | 예 | 예 | 없음 | 예 | 예 | 예 |
스트리밍 AEAD
| 구현 | 자바 | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-GCM-HKDF-STREAMING | 예 | 예 | 예 | 없음 | 예 | 예 |
| AES-CTR-HMAC-STREAMING | 예 | 예 | 예 | 없음 | 예 | 예 |
결정적 AEAD
| 구현 | 자바 | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| AES-SIV | 예 | 예 | 예 | 예 | 예 | 예 |
MAC
| 구현 | 자바 | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HMAC-SHA2 | 예 | 예 | 예 | 예 | 예 | 예 |
| AES-CMAC | 예 | 예 | 예 | 예 | 예 | 예 |
PRF
| 구현 | 자바 | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HKDF-SHA2 | 예 | 예 | 예 | 없음 | 예 | 예 |
| HMAC-SHA2 | 예 | 예 | 예 | 없음 | 예 | 예 |
| AES-CMAC | 예 | 예 | 예 | 없음 | 예 | 예 |
서명
| 구현 | 자바 | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| NIST 곡선에 대한 ECDSA | 예 | 예 | 예 | 예 | 예 | 예 |
| Ed25519 | 예 | 예 | 예 | 예 | 예 | 예 |
| RSA-SSA-PKCS1 | 예 | 예 | 예 | 예 | 예 | 예 |
| RSA-SSA-PSS | 예 | 예 | 예 | 예 | 예 | 예 |
| ML-DSA | 예2 | 예 | 없음 | 없음 | 예 | 예 |
| ML-DSA (외부 Mu)3 | 없음 | 예 | 없음 | 없음 | 예 | 없음 |
| SLH-DSA (SHA2-128S) | 예4 | 예 | 없음 | 없음 | 예 | 예 |
하이브리드 암호화
| 구현 | 자바 | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| HPKE | 예 | 예 | 없음 | 없음 | 예 | 예 |
| AEAD 및 HKDF를 사용하는 ECIES | 예5 | 예 | 예 | 예 | 예 | 예 |
| 결정적 AEAD 및 HKDF를 사용하는 ECIES | 예6 | 예 | 예 | 없음 | 예 | 예 |
JWT MAC
| 구현 | 자바 | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| JWT HMAC-SHA2 | 예 | 예 | 예 | 없음 | 예 | 예 |
JWT 서명
| 구현 | 자바 | C++ (BoringSSL) |
C++ (OpenSSL) |
Objective-C | Go | Python |
|---|---|---|---|---|---|---|
| NIST 곡선에 대한 JWT ECDSA | 예 | 예 | 예 | 없음 | 예 | 예 |
| JWT RSA-SSA-PKCS1 | 예 | 예 | 예 | 없음 | 예 | 예 |
| JWT RSA-SSA-PSS | 예 | 예 | 예 | 없음 | 예 | 예 |
-
AES-GCM-SIV를 사용하려면 Conscrypt가 JCE 보안 제공자로 설치되어 있어야 합니다. ↩
-
ML-DSA에는 Conscrypt가 JCE 보안 제공자로 설치되어 있어야 합니다. ↩
-
외부 Mu 모드의 ML-DSA는 Prehash 및 SignPrehash 프리미티브를 통해 사용되며 ID 요구사항이 있는 변형(
TINK또는NO_PREFIX_WITH_PREHASH_ID)이 필요합니다. ↩ -
SLH-DSA를 사용하려면 Conscrypt가 JCE 보안 제공업체로 설치되어 있어야 합니다. ↩
-
ECIES에는 NIST 곡선이 필요합니다. ↩
-
ECIES에는 NIST 곡선이 필요합니다. ↩