Re: [openpgp] Disadvantages of Salted Signatures

"Neal H. Walfield" <> Tue, 12 December 2023 10:25 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C1422C47A206 for <>; Tue, 12 Dec 2023 02:25:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.906
X-Spam-Status: No, score=-6.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id pHWtA9AtG4f8 for <>; Tue, 12 Dec 2023 02:25:23 -0800 (PST)
Received: from ( []) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by (Postfix) with ESMTPS id 06E7DC14F5E3 for <>; Tue, 12 Dec 2023 02:25:22 -0800 (PST)
Received: from ([] by with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from <>) id 1rCzx1-0001SD-G7; Tue, 12 Dec 2023 11:25:19 +0100
Received: from ([] by with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from <>) id 1rCzx0-00Fjn7-MH; Tue, 12 Dec 2023 11:25:19 +0100
Date: Tue, 12 Dec 2023 11:25:18 +0100
Message-ID: <>
From: "Neal H. Walfield" <>
To: Nickolay Olshevsky <>
In-Reply-To: <>
References: <> <> <> <>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (Gojō) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO)
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset="US-ASCII"
X-SA-Exim-Scanned: No (on; SAEximRunCond expanded to false
Archived-At: <>
Subject: Re: [openpgp] Disadvantages of Salted Signatures
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Ongoing discussion of OpenPGP issues." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 12 Dec 2023 10:25:26 -0000

Hi Nickolay,

On Mon, 11 Dec 2023 17:56:31 +0100,
Nickolay Olshevsky wrote:
> As far as I  remember there were proposal of adding some 'salt' signature subpacket, which would serve exactly same purpose.
> This would work in both cases: if implementation needs salt, it would add it as subpacket, or do not add otherwise.

There's an important, but subtle difference between using the salt as
specified in the crypto-refresh, and putting the salt in a subpacket.
In the crypto refresh, the salt is placed at the very start:

  When creating or verifying a v6 signature, the salt is fed into the
  hash context before any other data.

Putting the salt in a subpacket means that there is still some data
that an attacker can predict and potentially control, which means it
doesn't preclude a chosen prefix attack.

> From the implementors point of view this would also be more interoperable with older implementations / RFC 4880.

Even more interoperable would be to use a notation, which is what we
are doing in Sequoia for v4 signatures.