언어에서 지원하는 키 유형

다음 표에는 각 원시에서 지원하는 키 유형이 언어별로 분류되어 나열되어 있습니다.

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 예 예 예 없음 예 예

  1. AES-GCM-SIV를 사용하려면 Conscrypt가 JCE 보안 제공자로 설치되어 있어야 합니다. ↩

  2. ML-DSA에는 Conscrypt가 JCE 보안 제공자로 설치되어 있어야 합니다. ↩

  3. 외부 Mu 모드의 ML-DSA는 Prehash 및 SignPrehash 프리미티브를 통해 사용되며 ID 요구사항이 있는 변형(TINK 또는 NO_PREFIX_WITH_PREHASH_ID)이 필요합니다. ↩

  4. SLH-DSA를 사용하려면 Conscrypt가 JCE 보안 제공업체로 설치되어 있어야 합니다. ↩

  5. ECIES에는 NIST 곡선이 필요합니다. ↩

  6. ECIES에는 NIST 곡선이 필요합니다. ↩