Algorithms
| Algorithm | Purpose | OTP 17 | OTP 18 | OTP 19 | Fallback | Definition |
|---|---|---|---|---|---|---|
| AES CBC 128-bit | Encryption | X | X | X | jose_jwa_aes | NIST.800-38A |
| AES CBC 192-bit | Encryption | X | jose_jwa_aes | NIST.800-38A | ||
| AES CBC 256-bit | Encryption | X | X | X | jose_jwa_aes | NIST.800-38A |
| AES CTR 128-bit | Encryption | X | X | X | NIST.800-38A | |
| AES CTR 192-bit | Encryption | X | X | X | NIST.800-38A | |
| AES CTR 256-bit | Encryption | X | X | X | NIST.800-38A | |
| AES ECB 128-bit | Encryption | X | X | jose_jwa_aes | NIST.800-38A | |
| AES ECB 192-bit | Encryption | X | jose_jwa_aes | NIST.800-38A | ||
| AES ECB 256-bit | Encryption | X | X | jose_jwa_aes | NIST.800-38A | |
| AES GCM 128-bit | Encryption | X | X | jose_jwa_aes | NIST.800-38D | |
| AES GCM 192-bit | Encryption | X | X | jose_jwa_aes | NIST.800-38D | |
| AES GCM 256-bit | Encryption | X | X | jose_jwa_aes | NIST.800-38D | |
| ChaCha20/Poly1305 | Encryption | jose_jwa_chacha20_poly1305 | RFC 7539 | |||
| RSAES-OAEP | Encryption | X | X | X | jose_jwa_pkcs1 | RFC 3447 |
| RSAES-OAEP-256 | Encryption | jose_jwa_pkcs1 | RFC 3447 | |||
| RSAES-PKCS1-v1_5 | Encryption | X | X | X | jose_jwa_pkcs1 | RFC 3447 |
| RSASSA-PKCS1-v1_5 | Signature | X | X | X | jose_jwa_pkcs1 | RFC 3447 |
| RSASSA-PSS | Signature | jose_jwa_pkcs1 | RFC 3447 |
There are also several "helper" algorithms used with the above that have no native implementations currently in OTP:
| Algorithm | Purpose | Fallback | Definition |
|---|---|---|---|
| AES Key Wrap | Key Wrap | jose_jwa_aes_kw | RFC 3394 |
| Concat KDF | Key Derivation | jose_jwa_concat_kdf | NIST.800-56A |
| MGF1 | Mask Generation | jose_jwa_pkcs1 | RFC 3447 |
| PBKDF1 | Key Derivation | jose_jwa_pkcs5 | RFC 2898 |
| PBKDF2 | Key Derivation | jose_jwa_pkcs5 | RFC 2898 |
| PKCS #7 Padding | Padding | jose_jwa_pkcs7 | RFC 2315 |
The following are algorithms related to the draft CFRG ECDH and signatures in JOSE:
| Algorithm | Purpose | External | Fallback | Definition |
|---|---|---|---|---|
| Ed25519 | Signature | libdecaf, libsodium | jose_jwa_curve25519 | EdDSA |
| Ed25519ph | Signature | libdecaf, libsodium | jose_jwa_curve25519 | EdDSA |
| Ed448 | Signature | libdecaf | jose_jwa_curve448 | EdDSA |
| Ed448ph | Signature | libdecaf | jose_jwa_curve448 | EdDSA |
| SHAKE256 | Hash | keccakf1600, libdecaf | jose_jwa_sha3 | FIPS 202 |
| X25519 | Key Exchange | libsodium | jose_jwa_curve25519 | RFC 7748 |
| X448 | Key Exchange | libdecaf | jose_jwa_curve448 | RFC 7748 |