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 |