В JWS alg определяет, как вычисляется подпись: HS256, RS256, PS256, ES256, ES256K, Ed25519 и так далее или none. В JWE он определяет, как доставляется ключ шифрования содержимого, а enc указывает шифр содержимого. Значения — строки с учётом регистра из реестра IANA «JSON Web Signature and Encryption Algorithms».
Пока подпись не проверена, заголовком управляет атакующий, поэтому проверяющая сторона не должна позволять заголовку выбирать алгоритм: задайте для каждого ключа допустимый алгоритм (в идеале один) и отклоняйте всё остальное (RFC 8725, § 3.1). Библиотеки, которые выбирают алгоритм по alg, принимали none или использовали открытый ключ RSA как секрет HMAC.
RFC 9864 (2025) объявляет устаревшими «полиморфные» идентификаторы вроде EdDSA, смысл которых зависит от ключа, в пользу полностью определённых, таких как Ed25519, чтобы операцию определяло одно только имя алгоритма.