Re: [CFRG] RSA PSS Salt Length for HTTP Message Signatures

Justin Richer <> Fri, 28 May 2021 14:44 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 34CE53A2B0F for <>; Fri, 28 May 2021 07:44:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.197
X-Spam-Status: No, score=-4.197 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id HBuqJVyhQOAZ for <>; Fri, 28 May 2021 07:44:24 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id B2C6F3A2B0E for <>; Fri, 28 May 2021 07:44:24 -0700 (PDT)
Received: from [] ( []) (authenticated bits=0) (User authenticated as jricher@ATHENA.MIT.EDU) by (8.14.7/8.12.4) with ESMTP id 14SEiHI6014697 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 28 May 2021 10:44:18 -0400
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.\))
From: Justin Richer <>
In-Reply-To: <>
Date: Fri, 28 May 2021 10:44:17 -0400
Cc: Benjamin Kaduk <>, Brian Smith <>, IRTF CFRG <>, Russ Housley <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <>
To: "Salz, Rich" <>
X-Mailer: Apple Mail (2.3608.
Archived-At: <>
Subject: Re: [CFRG] RSA PSS Salt Length for HTTP Message Signatures
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Crypto Forum Research Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 28 May 2021 14:44:29 -0000

On May 28, 2021, at 9:05 AM, Salz, Rich <> wrote:
> Perhaps reconsider PSS. is excellent reading.

I appreciate the reference, thank you for that. It’s enlightening, but something to note: We aren’t :just: defining RSA-PSS, we’re also defining a flavor of RSA 1.5, a flavor of HMAC, and a flavor of ECDSA, each with fixed parameters including sizes and curves and the like. Which means that our own version of PSS is going to be a very strict and narrow selection tied to a single identifier, and if there’s enough of a draw from any community to define another set of parameters, it can be registered with a new label. The intent is to have zero variability here, which is why I’m reaching out to this group to help nail some of that down as best we can.

On top of that, the algorithm selection happens up at the application layer here, since this is all on top of HTTP. That means that if the two sides have their own way of figuring out which algorithm and parameters to use and they are configured with those, then they can just do that and it doesn’t affect the spec. There’s no expectation of interoperability or runtime negotiation if you’re doing a point solution like that, but for a lot of developers out there the point solution is safer and we can avoid the JOSE “alg: none” problem as a consequence. There are already communities that have their own underlying crypto systems and key management at the application level and they want to keep using that, and we want them to be able to do that using this spec right out of the box. We’re trying to be very careful in enumerating these requirements and expectations in the spec itself, including being much clearer about algorithm and key resolution strategies.

 — Justin