Skip to content
ecdsa.com
JOSE, JWK and COSE

COSE algorithms, key types and curves

COSE algorithm identifiers, key types and elliptic curves used by CWT, WebAuthn, mdoc and other CBOR formats, with the recommendations of the IANA registry.

105 of 105 shown

COSE algorithms · 86 entries

COSE algorithm identifiers used in CWT, WebAuthn, mDL and other CBOR formats.

ValueNameDescriptionReferences
-65535RS1RS1 (COSE algorithm -65535): RSASSA-PKCS1-v1_5 using SHA-1. Family: RSASSA-PKCS1-v1_5. Recommended: deprecated.RFC 8812RFC 9053
-65534A128CTRA128CTR (COSE algorithm -65534): AES-CTR w/ 128-bit key. Family: AES-CTR without authentication. Recommended: deprecated.RFC 9459
-65533A192CTRA192CTR (COSE algorithm -65533): AES-CTR w/ 192-bit key. Family: AES-CTR without authentication. Recommended: deprecated.RFC 9459
-65532A256CTRA256CTR (COSE algorithm -65532): AES-CTR w/ 256-bit key. Family: AES-CTR without authentication. Recommended: deprecated.RFC 9459
-65531A128CBCA128CBC (COSE algorithm -65531): AES-CBC w/ 128-bit key. Family: AES-CBC without authentication. Recommended: deprecated.RFC 9459
-65530A192CBCA192CBC (COSE algorithm -65530): AES-CBC w/ 192-bit key. Family: AES-CBC without authentication. Recommended: deprecated.RFC 9459
-65529A256CBCA256CBC (COSE algorithm -65529): AES-CBC w/ 256-bit key. Family: AES-CBC without authentication. Recommended: deprecated.RFC 9459
-268ESB512ESB512 (COSE algorithm -268): ECDSA using BrainpoolP512r1 curve and SHA-512. Family: ECDSA. Recommended: no.brainpoolP512r1RFC 9864, Section 2.1
-267ESB384ESB384 (COSE algorithm -267): ECDSA using BrainpoolP384r1 curve and SHA-384. Family: ECDSA. Recommended: no.brainpoolP384r1RFC 9864, Section 2.1
-266ESB320ESB320 (COSE algorithm -266): ECDSA using BrainpoolP320r1 curve and SHA-384. Family: ECDSA. Recommended: no.brainpoolP320r1RFC 9864, Section 2.1
-265ESB256ESB256 (COSE algorithm -265): ECDSA using BrainpoolP256r1 curve and SHA-256. Family: ECDSA. Recommended: no.brainpoolP256r1RFC 9864, Section 2.1
-264KT256KT256 (COSE algorithm -264): KT256 XOF. Family: an extendable-output function. Recommended: no.RFC 9861
-263KT128KT128 (COSE algorithm -263): KT128 XOF. Family: an extendable-output function. Recommended: no.RFC 9861
-262TurboSHAKE256TurboSHAKE256 (COSE algorithm -262): TurboSHAKE256 XOF. Family: an extendable-output function. Recommended: no.RFC 9861
-261TurboSHAKE128TurboSHAKE128 (COSE algorithm -261): TurboSHAKE128 XOF. Family: an extendable-output function. Recommended: no.RFC 9861
-260WalnutDSAWalnutDSA (COSE algorithm -260): WalnutDSA signature. Family: WalnutDSA. Recommended: no.RFC 9021RFC 9053
-259RS512RS512 (COSE algorithm -259): RSASSA-PKCS1-v1_5 using SHA-512. Family: RSASSA-PKCS1-v1_5. Recommended: no.RFC 8812RFC 9053
-258RS384RS384 (COSE algorithm -258): RSASSA-PKCS1-v1_5 using SHA-384. Family: RSASSA-PKCS1-v1_5. Recommended: no.RFC 8812RFC 9053
-257NoteRS256RS256 (COSE algorithm -257): RSASSA-PKCS1-v1_5 using SHA-256. Family: RSASSA-PKCS1-v1_5. Recommended: no.RFC 8812RFC 9053
-53Ed448Ed448 (COSE algorithm -53): EdDSA using the Ed448 parameter set in [Section 5.2 of RFC 8032]. Family: EdDSA. Recommended: yes.edwards448RFC 9864, Section 2.2
-52ESP512ESP512 (COSE algorithm -52): ECDSA using P-521 curve and SHA-512. Family: ECDSA. Recommended: yes.P-521RFC 9864, Section 2.1
-51ESP384ESP384 (COSE algorithm -51): ECDSA using P-384 curve and SHA-384. Family: ECDSA. Recommended: yes.P-384RFC 9864, Section 2.1
-50ML-DSA-87ML-DSA-87 (COSE algorithm -50): CBOR Object Signing Algorithm for ML-DSA-87. Family: ML-DSA. Recommended: yes.RFC 9964
-49ML-DSA-65ML-DSA-65 (COSE algorithm -49): CBOR Object Signing Algorithm for ML-DSA-65. Family: ML-DSA. Recommended: yes.RFC 9964
-48ML-DSA-44ML-DSA-44 (COSE algorithm -48): CBOR Object Signing Algorithm for ML-DSA-44. Family: ML-DSA. Recommended: yes.RFC 9964
-47ES256KES256K (COSE algorithm -47): ECDSA using secp256k1 curve and SHA-256. Family: ECDSA. Recommended: no.secp256k1RFC 8812RFC 9053
-46HSS-LMSHSS-LMS (COSE algorithm -46): HSS/LMS hash-based digital signature. Family: HSS/LMS hash-based signatures. Recommended: yes.RFC 8778RFC 9053
-45SHAKE256SHAKE256 (COSE algorithm -45): SHAKE-256 512-bit Hash Value. Family: a hash function. Recommended: yes.RFC 9054RFC 9053
-44SHA-512SHA-512 (COSE algorithm -44): SHA-2 512-bit Hash. Family: a hash function. Recommended: yes.RFC 9054RFC 9053
-43SHA-384SHA-384 (COSE algorithm -43): SHA-2 384-bit Hash. Family: a hash function. Recommended: yes.RFC 9054RFC 9053
-42RSAES-OAEP w/ SHA-512RSAES-OAEP w/ SHA-512 (COSE algorithm -42): RSAES-OAEP w/ SHA-512. Family: RSAES-OAEP encryption. Recommended: yes.RFC 8230RFC 9053
-41RSAES-OAEP w/ SHA-256RSAES-OAEP w/ SHA-256 (COSE algorithm -41): RSAES-OAEP w/ SHA-256. Family: RSAES-OAEP encryption. Recommended: yes.RFC 8230RFC 9053
-40RSAES-OAEP w/ RFC 8017 default parametersRSAES-OAEP w/ RFC 8017 default parameters (COSE algorithm -40): RSAES-OAEP w/ SHA-1. Family: RSAES-OAEP encryption. Recommended: yes.RFC 8230RFC 9053
-39PS512PS512 (COSE algorithm -39): RSASSA-PSS w/ SHA-512. Family: RSASSA-PSS. Recommended: yes.RFC 8230RFC 9053
-38PS384PS384 (COSE algorithm -38): RSASSA-PSS w/ SHA-384. Family: RSASSA-PSS. Recommended: yes.RFC 8230RFC 9053
-37PS256PS256 (COSE algorithm -37): RSASSA-PSS w/ SHA-256. Family: RSASSA-PSS. Recommended: yes.RFC 8230RFC 9053
-36ES512ES512 (COSE algorithm -36): ECDSA w/ SHA-512. Family: ECDSA. Recommended: deprecated.RFC 9053RFC 9864
-35ES384ES384 (COSE algorithm -35): ECDSA w/ SHA-384. Family: ECDSA. Recommended: deprecated.RFC 9053RFC 9864
-34ECDH-SS + A256KWECDH-SS + A256KW (COSE algorithm -34): ECDH SS w/ Concat KDF and AES Key Wrap w/ 256-bit key. Family: static-static ECDH followed by AES key wrap. Recommended: yes.RFC 9053
-33ECDH-SS + A192KWECDH-SS + A192KW (COSE algorithm -33): ECDH SS w/ Concat KDF and AES Key Wrap w/ 192-bit key. Family: static-static ECDH followed by AES key wrap. Recommended: yes.RFC 9053
-32ECDH-SS + A128KWECDH-SS + A128KW (COSE algorithm -32): ECDH SS w/ Concat KDF and AES Key Wrap w/ 128-bit key. Family: static-static ECDH followed by AES key wrap. Recommended: yes.RFC 9053
-31ECDH-ES + A256KWECDH-ES + A256KW (COSE algorithm -31): ECDH ES w/ Concat KDF and AES Key Wrap w/ 256-bit key. Family: ephemeral-static ECDH followed by AES key wrap. Recommended: yes.RFC 9053
-30ECDH-ES + A192KWECDH-ES + A192KW (COSE algorithm -30): ECDH ES w/ Concat KDF and AES Key Wrap w/ 192-bit key. Family: ephemeral-static ECDH followed by AES key wrap. Recommended: yes.RFC 9053
-29ECDH-ES + A128KWECDH-ES + A128KW (COSE algorithm -29): ECDH ES w/ Concat KDF and AES Key Wrap w/ 128-bit key. Family: ephemeral-static ECDH followed by AES key wrap. Recommended: yes.RFC 9053
-28ECDH-SS + HKDF-512ECDH-SS + HKDF-512 (COSE algorithm -28): ECDH SS w/ HKDF - generate key directly. Family: static-static ECDH. Recommended: yes.RFC 9053
-27ECDH-SS + HKDF-256ECDH-SS + HKDF-256 (COSE algorithm -27): ECDH SS w/ HKDF - generate key directly. Family: static-static ECDH. Recommended: yes.RFC 9053
-26ECDH-ES + HKDF-512ECDH-ES + HKDF-512 (COSE algorithm -26): ECDH ES w/ HKDF - generate key directly. Family: ephemeral-static ECDH. Recommended: yes.RFC 9053
-25ECDH-ES + HKDF-256ECDH-ES + HKDF-256 (COSE algorithm -25): ECDH ES w/ HKDF - generate key directly. Family: ephemeral-static ECDH. Recommended: yes.RFC 9053
-19Ed25519Ed25519 (COSE algorithm -19): EdDSA using the Ed25519 parameter set in [Section 5.1 of RFC 8032]. Family: EdDSA. Recommended: yes.edwards25519RFC 9864, Section 2.2
-18SHAKE128SHAKE128 (COSE algorithm -18): SHAKE-128 256-bit Hash Value. Family: a hash function. Recommended: yes.RFC 9054RFC 9053
-17SHA-512/256SHA-512/256 (COSE algorithm -17): SHA-2 512-bit Hash truncated to 256-bits. Family: a hash function. Recommended: yes.RFC 9054RFC 9053
-16SHA-256SHA-256 (COSE algorithm -16): SHA-2 256-bit Hash. Family: a hash function. Recommended: yes.RFC 9054RFC 9053
-15SHA-256/64SHA-256/64 (COSE algorithm -15): SHA-2 256-bit Hash truncated to 64-bits. Family: a hash function. Recommended: only for filtering, never for security.RFC 9054RFC 9053
-14SHA-1SHA-1 (COSE algorithm -14): SHA-1 Hash. Family: a hash function. Recommended: only for filtering, never for security.RFC 9054RFC 9053
-13direct+HKDF-AES-256direct+HKDF-AES-256 (COSE algorithm -13): Shared secret w/ AES-MAC 256-bit key. Family: a shared key expanded with HKDF. Recommended: yes.RFC 9053
-12direct+HKDF-AES-128direct+HKDF-AES-128 (COSE algorithm -12): Shared secret w/ AES-MAC 128-bit key. Family: a shared key expanded with HKDF. Recommended: yes.RFC 9053
-11direct+HKDF-SHA-512direct+HKDF-SHA-512 (COSE algorithm -11): Shared secret w/ HKDF and SHA-512. Family: a shared key expanded with HKDF. Recommended: yes.RFC 9053
-10direct+HKDF-SHA-256direct+HKDF-SHA-256 (COSE algorithm -10): Shared secret w/ HKDF and SHA-256. Family: a shared key expanded with HKDF. Recommended: yes.RFC 9053
-9ESP256ESP256 (COSE algorithm -9): ECDSA using P-256 curve and SHA-256. Family: ECDSA. Recommended: yes.P-256RFC 9864, Section 2.1
-8NoteEdDSAEdDSA (COSE algorithm -8): EdDSA. Family: EdDSA. Recommended: deprecated.RFC 9053RFC 9864
-7NoteES256ES256 (COSE algorithm -7): ECDSA w/ SHA-256. Family: ECDSA. Recommended: deprecated.RFC 9053RFC 9864
-6directdirect (COSE algorithm -6): Direct use of CEK. Family: direct use of a shared symmetric key. Recommended: yes.RFC 9053
-5A256KWA256KW (COSE algorithm -5): AES Key Wrap w/ 256-bit key. Family: AES key wrap. Recommended: yes.RFC 9053
-4A192KWA192KW (COSE algorithm -4): AES Key Wrap w/ 192-bit key. Family: AES key wrap. Recommended: yes.RFC 9053
-3A128KWA128KW (COSE algorithm -3): AES Key Wrap w/ 128-bit key. Family: AES key wrap. Recommended: yes.RFC 9053
1A128GCMA128GCM (COSE algorithm 1): AES-GCM mode w/ 128-bit key, 128-bit tag. Family: AES-GCM. Recommended: yes.RFC 9053
2A192GCMA192GCM (COSE algorithm 2): AES-GCM mode w/ 192-bit key, 128-bit tag. Family: AES-GCM. Recommended: yes.RFC 9053
3A256GCMA256GCM (COSE algorithm 3): AES-GCM mode w/ 256-bit key, 128-bit tag. Family: AES-GCM. Recommended: yes.RFC 9053
4HMAC 256/64HMAC 256/64 (COSE algorithm 4): HMAC w/ SHA-256 truncated to 64 bits. Family: HMAC. Recommended: yes.RFC 9053
5HMAC 256/256HMAC 256/256 (COSE algorithm 5): HMAC w/ SHA-256. Family: HMAC. Recommended: yes.RFC 9053
6HMAC 384/384HMAC 384/384 (COSE algorithm 6): HMAC w/ SHA-384. Family: HMAC. Recommended: yes.RFC 9053
7HMAC 512/512HMAC 512/512 (COSE algorithm 7): HMAC w/ SHA-512. Family: HMAC. Recommended: yes.RFC 9053
10AES-CCM-16-64-128AES-CCM-16-64-128 (COSE algorithm 10): AES-CCM mode 128-bit key, 64-bit tag, 13-byte nonce. Family: AES-CCM. Recommended: yes.RFC 9053
11AES-CCM-16-64-256AES-CCM-16-64-256 (COSE algorithm 11): AES-CCM mode 256-bit key, 64-bit tag, 13-byte nonce. Family: AES-CCM. Recommended: yes.RFC 9053
12AES-CCM-64-64-128AES-CCM-64-64-128 (COSE algorithm 12): AES-CCM mode 128-bit key, 64-bit tag, 7-byte nonce. Family: AES-CCM. Recommended: yes.RFC 9053
13AES-CCM-64-64-256AES-CCM-64-64-256 (COSE algorithm 13): AES-CCM mode 256-bit key, 64-bit tag, 7-byte nonce. Family: AES-CCM. Recommended: yes.RFC 9053
14AES-MAC 128/64AES-MAC 128/64 (COSE algorithm 14): AES-MAC 128-bit key, 64-bit tag. Family: AES-CBC-MAC. Recommended: yes.RFC 9053
15AES-MAC 256/64AES-MAC 256/64 (COSE algorithm 15): AES-MAC 256-bit key, 64-bit tag. Family: AES-CBC-MAC. Recommended: yes.RFC 9053
24ChaCha20/Poly1305ChaCha20/Poly1305 (COSE algorithm 24): ChaCha20/Poly1305 w/ 256-bit key, 128-bit tag. Family: ChaCha20-Poly1305. Recommended: yes.RFC 9053
25AES-MAC 128/128AES-MAC 128/128 (COSE algorithm 25): AES-MAC 128-bit key, 128-bit tag. Family: AES-CBC-MAC. Recommended: yes.RFC 9053
26AES-MAC 256/128AES-MAC 256/128 (COSE algorithm 26): AES-MAC 256-bit key, 128-bit tag. Family: AES-CBC-MAC. Recommended: yes.RFC 9053
30AES-CCM-16-128-128AES-CCM-16-128-128 (COSE algorithm 30): AES-CCM mode 128-bit key, 128-bit tag, 13-byte nonce. Family: AES-CCM. Recommended: yes.RFC 9053
31AES-CCM-16-128-256AES-CCM-16-128-256 (COSE algorithm 31): AES-CCM mode 256-bit key, 128-bit tag, 13-byte nonce. Family: AES-CCM. Recommended: yes.RFC 9053
32AES-CCM-64-128-128AES-CCM-64-128-128 (COSE algorithm 32): AES-CCM mode 128-bit key, 128-bit tag, 7-byte nonce. Family: AES-CCM. Recommended: yes.RFC 9053
33AES-CCM-64-128-256AES-CCM-64-128-256 (COSE algorithm 33): AES-CCM mode 256-bit key, 128-bit tag, 7-byte nonce. Family: AES-CCM. Recommended: yes.RFC 9053
34IV-GENERATIONIV-GENERATION (COSE algorithm 34): For doing IV generation for symmetric algorithms.. Family: IV generation for symmetric algorithms. Recommended: no.RFC 9053
Unassigned and reserved ranges · 10 entries
RangeStatusDescription
-9007199254740991–-65537privateReserved for Private Use
-65536unassignedUnassigned
-65528–-269unassignedUnassigned
-256–-54unassignedUnassigned
-24–-20unassignedUnassigned
-2–-1unassignedUnassigned
0reservedReserved
8–9unassignedUnassigned
16–23unassignedUnassigned
27–29unassignedUnassigned

Source: CBOR Object Signing and Encryption (COSE) (IANA), retrieved 2026-10-20. Data license: CC0-1.0. COSE Algorithms

Notes on notable entries

RS256

COSE algorithm −257, RSASSA-PKCS1-v1_5 with SHA-256, used by Windows Hello passkeys.

−257 is registered by RFC 8812 for WebAuthn: Windows Hello and TPM-backed authenticators frequently create RSA keys, so relying parties should accept it alongside −7.

EdDSA

COSE algorithm −8, EdDSA on whatever curve the key names; deprecated by RFC 9864.

WebAuthn redefines −8 to mean Ed25519 only, a workaround RFC 9864 §1 cites when it introduces the fully specified Ed25519 (−19) and Ed448 (−53) and deprecates −8.

ES256

COSE algorithm −7, ECDSA with SHA-256 on any curve — the algorithm most passkeys use.

WebAuthn authenticators report their key's algorithm as a COSE identifier, and −7 (ES256) with a P-256 key is by far the most common. Unlike JOSE, COSE's ES256 does not fix the curve, so RFC 9864 deprecates it in favour of ESP256 (−9); existing WebAuthn deployments keep using −7.

COSE key types · 7 entries

Registered COSE key types (kty).

ValueNameDescriptionReferences
1OKPOctet Key PairRFC 9053
2EC2Elliptic Curve Keys w/ x- and y-coordinate pairRFC 9053
3RSARSA KeyRFC 8230RFC 9053
4SymmetricSymmetric KeysRFC 9053
5HSS-LMSPublic key for HSS/LMS hash-based digital signatureRFC 8778RFC 9053
6WalnutDSAWalnutDSA public keyRFC 9021RFC 9053
7AKPCOSE Key Type for Algorithm Key PairsRFC 9964

Source: CBOR Object Signing and Encryption (COSE) (IANA), retrieved 2026-10-20. Data license: CC0-1.0. COSE Key Types

COSE elliptic curves · 12 entries

Registered COSE curve identifiers (crv).

ValueNameKey typeDescriptionRecommendedReferences
1P-256EC2NIST P-256 also known as secp256r1P-256YesRFC 9053
2P-384EC2NIST P-384 also known as secp384r1P-384YesRFC 9053
3P-521EC2NIST P-521 also known as secp521r1P-521YesRFC 9053
4X25519OKPX25519 for use w/ ECDH onlycurve25519YesRFC 9053
5X448OKPX448 for use w/ ECDH onlycurve448YesRFC 9053
6Ed25519OKPEd25519 for use w/ EdDSA onlyedwards25519YesRFC 9053
7Ed448OKPEd448 for use w/ EdDSA onlyedwards448YesRFC 9053
8secp256k1EC2SECG secp256k1 curvesecp256k1NoRFC 8812
256brainpoolP256r1EC2BrainpoolP256r1brainpoolP256r1NoISO/IEC 18013-5:2021, 9.1.5.2
257brainpoolP320r1EC2BrainpoolP320r1brainpoolP320r1NoISO/IEC 18013-5:2021, 9.1.5.2
258brainpoolP384r1EC2BrainpoolP384r1brainpoolP384r1NoISO/IEC 18013-5:2021, 9.1.5.2
259brainpoolP512r1EC2BrainpoolP512r1brainpoolP512r1NoISO/IEC 18013-5:2021, 9.1.5.2
Unassigned and reserved ranges · 4 entries
RangeStatusDescription
-9007199254740991–-65537privateReserved for Private Use
-65536–-1unassignedUnassigned
0reservedReserved
9–255unassignedUnassigned

Source: CBOR Object Signing and Encryption (COSE) (IANA), retrieved 2026-10-20. Data license: CC0-1.0. COSE Elliptic Curves

All registries