[lamps] Re: WG Last Call: draft-ietf-lamps-pq-composite-sigs-08 (Ends 2025-10-06)

David Hook <dgh@bouncycastle.org> Sun, 05 October 2025 15:36 UTC

Return-Path: <dgh@bouncycastle.org>
X-Original-To: spasm@mail2.ietf.org
Delivered-To: spasm@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id E9C586D984DC for <spasm@mail2.ietf.org>; Sun, 5 Oct 2025 08:36:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=bouncycastle.org
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lbQ_d1G-LshE for <spasm@mail2.ietf.org>; Sun, 5 Oct 2025 08:36:25 -0700 (PDT)
Received: from h1.out2.mxs.au (h1.out2.mxs.au [110.232.143.236]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id BE2FF6D984D1 for <spasm@ietf.org>; Sun, 5 Oct 2025 08:36:23 -0700 (PDT)
Received: from s02ae.syd5.hostingplatform.net.au (s02ae.syd5.hostingplatform.net.au [43.250.142.130]) by out2.mxs.au (Halon) with ESMTPS (TLSv1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 id 047d158f-a201-11f0-9220-00163c1ebd60 for <spasm@ietf.org>; Mon, 06 Oct 2025 02:36:10 +1100 (AEDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=bouncycastle.org; s=default; h=In-Reply-To:From:References:To:Subject: MIME-Version:Date:Message-ID:Content-Type:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=OtAZNrnhHJAuWkjAkX7srrd+i1a4my/UsJv8CXf7Ag4=; b=g32k2S/3TYzxvqQ8GJd7Q/jS+L e3hmkyWnGqH/jQGYIS4i9VLXx5RPk2/sysfAJi/fFFyq4LrWMbLaXnSOClJze2Z8fZWMOJKGtmoQh cEUubSslsSryryJpqRA+HGtle7VPMwAXzMfZs8tac5umfI/g+wpYKDshPoB8Jmn0t9s4t1/wFkXWM XPTqFzFLZE8LrmjBnpmbARZyPH7FXqrxAu2W9KCf/89xTWJ4geMR5VjQ4rd/5wv0Ra0+r/Fl6N5yJ J/tct9VGIBHY8tJOMlHR0JD53IlaZ3rzUEK014lQHpaimUvNIzivEhdnOr1PA/TLN06i1GUUFjM1s +vQyj/OA==;
Received: from [193.86.240.59] (port=52880 helo=[10.59.114.220]) by s02ae.syd5.hostingplatform.net.au with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.1) (envelope-from <dgh@bouncycastle.org>) id 1v5QmP-00000002ixQ-2Vn3 for spasm@ietf.org; Mon, 06 Oct 2025 02:36:10 +1100
Content-Type: multipart/alternative; boundary="------------BdzPTE9AFFuMdAKiQnziwXkV"
Message-ID: <b5883421-0e28-445c-91bb-b2cae0016077@bouncycastle.org>
Date: Mon, 06 Oct 2025 02:36:06 +1100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: spasm@ietf.org
References: <175855620751.648048.16646357165291761730@dt-datatracker-6c6cdf7f94-h6rnn> <CANKrMkhQEz=jtgS_Atch6EPcj7bSDySyhESRvUdVqFnWHD2o9g@mail.gmail.com>
Content-Language: en-US
From: David Hook <dgh@bouncycastle.org>
In-Reply-To: <CANKrMkhQEz=jtgS_Atch6EPcj7bSDySyhESRvUdVqFnWHD2o9g@mail.gmail.com>
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - s02ae.syd5.hostingplatform.net.au
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - bouncycastle.org
X-Get-Message-Sender-Via: s02ae.syd5.hostingplatform.net.au: authenticated_id: dgh@bouncycastle.org
X-Authenticated-Sender: s02ae.syd5.hostingplatform.net.au: dgh@bouncycastle.org
X-Source:
X-Source-Args:
X-Source-Dir:
Message-ID-Hash: LWEKR7BSLCOHKHY4E6C3LJRXW3S4RQXC
X-Message-ID-Hash: LWEKR7BSLCOHKHY4E6C3LJRXW3S4RQXC
X-MailFrom: dgh@bouncycastle.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-spasm.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [lamps] Re: WG Last Call: draft-ietf-lamps-pq-composite-sigs-08 (Ends 2025-10-06)
List-Id: This is the mail list for the LAMPS Working Group <spasm.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/BxXUaD2bneH_sCFcKugDbXp3nXM>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Owner: <mailto:spasm-owner@ietf.org>
List-Post: <mailto:spasm@ietf.org>
List-Subscribe: <mailto:spasm-join@ietf.org>
List-Unsubscribe: <mailto:spasm-leave@ietf.org>

At the risk of sticking my head out of my foxhole at the wrong time, I 
also have one big reservation about the current draft.

At the moment the private key is being encoded with the ML-DSA component 
as fixed length based on just the seed. While one of the compelling 
points around the original private key discussion in lamps (I hope) was 
around the presence of legacy expanded keys which couldn't simply be 
encoded as seeds as the "seed only ship" had already sailed for some, we 
should have probably made a point concerning the fact that there's going 
to be hardware in process (for certification), possibly even in the 
field now, which also will only export expanded keys and it many cases 
updating such hardware may be very difficult, if not impossible. As this 
is the case, it is not really correct that the new composite encoding 
will work for all new ML-DSA private keys, it is restricted to new 
ML-DSA private keys for which a seed only encoding exists. At the moment 
only the ML-DSA private key draft will work for all ML-DSA private keys 
and I think it would be both a shame, even a loss, that this may not 
turn out to be true for composite as well.

If there is still a chance of discussion I would like to propose that 
the private key is encoded as a sequence of two octet strings, with each 
octet string based on what the privateKey field in the octet string 
would have been if the keys had been encoded into their own 
PrivateKeyInfo fields. This would allow people who are stuck with 
expanded private keys to also make use of the algorithm and, at least in 
our case, simplify reconstruction, as then the octet strings could be 
loaded straight into PrivateKeyInfo structures suitable for passing to a 
key factory (rather than what we need to do now, which is extract the 
right number of bytes, reconstruct the surrounding octet string and then 
build a PrivateKeyInfo structure around it...). It also means people can 
still use seed, it will just cost 4, perhaps 5 extra bytes, allowing for 
the sequence header and the implicitly tagged octet string for the seed.

I think also, given that Falcon is on it's way, and there is also the 
current on-going signature competition, it would provide a more general 
way of future proofing the standard to allow for a simple method of 
including different private key types when appropriate.

Other than that, we have a few organizations very keen to start using 
composite and who are already experimenting with it. It seems to be 
showing a lot of promise in the use of firmware signing amongst other 
things.

With respect,

David

On 6/10/25 00:08, Tim Hudson wrote:
> At this time, I am not in favour of this draft, for the reasons 
> already discussed on list that we don't need to revisit here.
> I will encourage various libraries and other standards body groups to 
> not implement this in the form proposed.
>
> Note this view is unchanged by draft-ietf-lamps-pq-composite-sigs-09 
> and I find it a somewhat unexpected process to have a WGLC active and 
> to be simultanously changing the document.
> I would have expected the WGLC to be terminated if the editors felt 
> that items needed addressing.
>
> Tim.
>
>
> On Mon, Sep 22, 2025 at 5:50 PM Russ Housley via Datatracker 
> <noreply@ietf.org> wrote:
>
>
>     Subject: WG Last Call: draft-ietf-lamps-pq-composite-sigs-08 (Ends
>     2025-10-06)
>
>     This message starts a 2-week WG Last Call for this document.
>
>     Abstract:
>        This document defines combinations of ML-DSA [FIPS.204] in hybrid
>        with traditional algorithms RSASSA-PKCS1-v1.5, RSASSA-PSS, ECDSA,
>        Ed25519, and Ed448.  These combinations are tailored to meet
>     security
>        best practices and regulatory guidelines.  Composite ML-DSA is
>        applicable in any application that uses X.509 or PKIX data
>     structures
>        that accept ML-DSA, but where the operator wants extra protection
>        against breaks or catastrophic bugs in ML-DSA.
>
>     File can be retrieved from:
>     https://datatracker.ietf.org/doc/draft-ietf-lamps-pq-composite-sigs/
>
>     Please review and indicate your support or objection to proceed
>     with the
>     publication of this document by replying to this email keeping
>     spasm@ietf.org
>     in copy. Objections should be motivated and suggestions to resolve
>     them are
>     highly appreciated.
>
>     Authors, and WG participants in general, are reminded again of the
>     Intellectual Property Rights (IPR) disclosure obligations
>     described in BCP 79
>     [1]. Appropriate IPR disclosures required for full conformance
>     with the
>     provisions of BCP 78 [1] and BCP 79 [2] must be filed, if you are
>     aware of
>     any. Sanctions available for application to violators of IETF IPR
>     Policy can
>     be found at [3].
>
>     Thank you.
>
>     [1] https://datatracker.ietf.org/doc/bcp78/
>     [2] https://datatracker.ietf.org/doc/bcp79/
>     [3] https://datatracker.ietf.org/doc/rfc6701/
>
>
>
>     _______________________________________________
>     Spasm mailing list -- spasm@ietf.org
>     To unsubscribe send an email to spasm-leave@ietf.org
>
>
> _______________________________________________
> Spasm mailing list --spasm@ietf.org
> To unsubscribe send an email tospasm-leave@ietf.org