En un JWS, alg determina cómo se calcula la firma: HS256, RS256, PS256, ES256, ES256K, Ed25519, etc., o none. En un JWE determina cómo se entrega la clave de contenido, mientras que enc indica el algoritmo de cifrado del contenido. Los valores son cadenas que distinguen mayúsculas de minúsculas, inscritas en el registro «JSON Web Signature and Encryption Algorithms» de la IANA.
El encabezado lo controla el atacante hasta que se verifica la firma, así que el verificador no debe dejar que decida el algoritmo: configura el algoritmo aceptado (idealmente uno solo) para cada clave y rechaza todo lo demás (RFC 8725 §3.1). Las bibliotecas que eligen la operación según alg han llegado a aceptar none o a usar una clave pública RSA como secreto HMAC.
El RFC 9864 (2025) declara obsoletos los identificadores «polimórficos» como EdDSA, cuyo significado depende de la clave, en favor de otros totalmente especificados como Ed25519, para que el nombre del algoritmo baste por sí solo para determinar la operación.