[lamps] Re: Mohamed Boucadair's Discuss on draft-ietf-lamps-pq-composite-sigs-15: (with DISCUSS and COMMENT)
Mike Ounsworth <ounsworth+ietf@gmail.com> Wed, 08 April 2026 08:12 UTC
Return-Path: <ounsworth@gmail.com>
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 676A0D7EDD46 for <spasm@mail2.ietf.org>; Wed, 8 Apr 2026 01:12:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1775635944; bh=0soNaiiWhiBDO53TO7arQKqHn87tfTnXp060+3mKvnk=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=wKrwdSLYSP8Z3sXWOaAtu8n3CPeEHuJpv1tlI8QTWTh9/CcDizkBxvAS3VPq7/IMD lvf0gwjJZJPfatYx9iR0r72Ul2Lhc06tEM6JHP7CEv01O6V4r1rFLzzrWbgvQEkmFP 07GycZ4myoZ2b7sYxIVJCOP50v7AFFqNC/kbSQAY=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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=gmail.com
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 KB7PBTLn5FMT for <spasm@mail2.ietf.org>; Wed, 8 Apr 2026 01:12:23 -0700 (PDT)
Received: from mail-ot1-x333.google.com (mail-ot1-x333.google.com [IPv6:2607:f8b0:4864:20::333]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id F1968D7EDD2E for <spasm@ietf.org>; Wed, 8 Apr 2026 01:12:22 -0700 (PDT)
Received: by mail-ot1-x333.google.com with SMTP id 46e09a7af769-7dbd8c6fc84so1840562a34.3 for <spasm@ietf.org>; Wed, 08 Apr 2026 01:12:22 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1775635942; cv=none; d=google.com; s=arc-20240605; b=hVYn53jphhQEZVSyc8o6fmQKmBPFTI/sgQsx7NMtmpTXy9JYp29eE5cVXjormOSTZu y8sy16ZngQDACZAYEJCWc0gnLuf6JrXS/u6B+ICSpED7CE/qhJ/8b9rTcYNx75mQPIEk vrHm+IZ/2ZoFHvhzeZgsa+mr4lwED/Cpa4IVsuz2bHHtgfloZBN1/IeCSei3fT8GBt2f /r1bARpekn+eyigaSaSugh+bZxeXiRxMWizw5A0tgEVe21k0UzWUPz/kcMIHSWgZgJlN JVz76giOgi7vf64RG4w4XDnYqAhgG2ylbtH3mTf00q2z5oki7P/G8WxUlQTjUxFCS/it yuEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=Vqs+hQGRBy4hL9VRaF0H+1dYsPIXdmrkRFjSOUCDf7Q=; fh=2FhTzdgXAfctHaYnXSpPKiVpm62vFBsy8vvRdgwHkb0=; b=X6NV6LllbWQ416CJvRdNvNGTCZZVcyYCxITpSXWsHG2Lp9akvKpx4c1/bE+rjalC0J erBz8nFEA4z65ofOAHECBzFqpZLf+PyY6qDvpsyJpDvS8WH5YjgTwb61Irp9WAFLxAXA M+NArdMojvab/TtjUt+Wkxbb8xo+BLjgfDpWEEXvzRoj0wzF1TIpxRQAmxRfr7rDFyrn xnDz+3Hdsuw3uL5BbYK98bgsZbTigA8QBK6jR+sDQyXFl06WNOLkYT6iBUW6LxDCCdbM DvMKsMOc0GzlOd8gcreu339SXM5/0agKWqKmQ0oQNdDkLfBqFH1zgqY5/lL1qFsojvoL 8c2w==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775635942; x=1776240742; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Vqs+hQGRBy4hL9VRaF0H+1dYsPIXdmrkRFjSOUCDf7Q=; b=SgCTYC7gbeo8gWR3mR6La9nOIK2GMqeWIteQTZRKjnozvEbXoXKG9KAx5VoHAgNGDz C51eQ+gb+JFRn5P4mIpVaCMTya8+o0ogpI1Jtpn3BJkNimsJ0HXu+WH1HSGKRcbdFpn+ dcV0z1dL+TuSQQnb8oxDh+iF3d7rI1aUuNmMutdUnvgGQ67K0+vhLjCasGoTGn7EBBJE SFQVQYEU0J/9O8M4o2CTGwae4sHgnN3eyh2ROxGEGJi6CMj3JLyEjGCY3nPXm3926JMS yNQ8+3oAcPMZ6ML3o0Y6Uhs0QunpiDiGwlMf0LqgiZh0wc8E4YDA4Kk0yoeBHixXlYnR xzGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775635942; x=1776240742; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Vqs+hQGRBy4hL9VRaF0H+1dYsPIXdmrkRFjSOUCDf7Q=; b=JhRdqmt2dVe0YQeEDqw2sAP6QP1p1G0z3AuyhAXUyx5Hvq0l42WbmIU6KEPCuoIa9Q kLSWiBhgKjjUOHXkdAdk0wdGHTAnMiVqTaBSKbjpVr3zAi2jHmlhdueLkHWiHHrVMHAn qGAR7DsxYOw3zBpXGwXkHvXsb18hS990gHLisvzNQKLy6W2NrZhPdicHK4LK3/kqs+8A CCAWUE3FcmrPbLoLtp3qEz7bGZarYyGNCeYkX6fcrgaWtoHgkMudP0Mu8iGpqqBz6Scr gtBgVhubKLUaLFKC++hS0Scnb4UWXmwP3NIogCKpgbqbUEmUcdEjJ8pVPhDVba4D18ml y4kQ==
X-Forwarded-Encrypted: i=1; AJvYcCVm+X2si6jFw/uVlrGrAjiwiM+xguPJFDUwwt5FzlimRxuu4IhsNV/YQnnmepeYk+OfKlVSAw==@ietf.org
X-Gm-Message-State: AOJu0YxggHTbAjG1rZCIkBrKUMbPlZPv3VmF0oeap1EIxvuZGtLwuKhm a9GRh1kfcxtYEaonI6OfS9G2wFCos0FbXkErzIRfhEjzmuv0MNE1gBWlTJfNScH8z2/MdbBPMoy 4gw2XQ+cILxje8d5eK9VhcYBgzD78Dy8=
X-Gm-Gg: AeBDieslaRVDNUMayRET3JUHvU1jDF63dvZYNj0OzHn1yfXJnbkLdRGoDe/o6jwjZoL OmN6JL/Pe5MImdBO7hUmcVEbKaUDXViJUbHgfOXBf+iM4pS1lMbp/5GJVRhHqu0ypoI9xmkI5PK Mq41Hu3691sH4cPjNsCmpjVnqa/fStepEs6iIDNTqG34qau9veSdCi0cThVz/cPu9IISIPmW3j8 1RB9BHgdMePGCwBhb0u5PoX0lenv/djvCxlszOQSF9sh4ihY1dnn0lu8JqOtOJ9GLjNKPBjg8ak vbvBzLRX5Q==
X-Received: by 2002:a05:6820:1c99:b0:685:a06a:89d9 with SMTP id 006d021491bc7-685a06a8c44mr6316943eaf.36.1775635942042; Wed, 08 Apr 2026 01:12:22 -0700 (PDT)
MIME-Version: 1.0
References: <177494805963.1623947.10168045227852376086@dt-datatracker-5775bcb475-pnkww>
In-Reply-To: <177494805963.1623947.10168045227852376086@dt-datatracker-5775bcb475-pnkww>
From: Mike Ounsworth <ounsworth+ietf@gmail.com>
Date: Wed, 08 Apr 2026 03:12:10 -0500
X-Gm-Features: AQROBzCQ02l7reKkwpqKUVWSBh1nkYfOhN_4ZLZwVxjwNU57ej6plpfKTqULVaQ
Message-ID: <CAKZgXHoZeA9tJ+fA79eHeX0YohZytVt-v9f=COEXo5JxuWi5vA@mail.gmail.com>
To: Mohamed Boucadair <mohamed.boucadair@orange.com>
Content-Type: multipart/alternative; boundary="00000000000093728b064eee754e"
Message-ID-Hash: I6HNXII2XNUL4PVJ2MZ4HJKK4B7OW2Q3
X-Message-ID-Hash: I6HNXII2XNUL4PVJ2MZ4HJKK4B7OW2Q3
X-MailFrom: ounsworth@gmail.com
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
CC: The IESG <iesg@ietf.org>, draft-ietf-lamps-pq-composite-sigs@ietf.org, housley@vigilsec.com, lamps-chairs@ietf.org, spasm@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [lamps] Re: Mohamed Boucadair's Discuss on draft-ietf-lamps-pq-composite-sigs-15: (with DISCUSS and COMMENT)
List-Id: This is the mail list for the LAMPS Working Group <spasm.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/ic9GYLYXMpSZ_pyE5tpHua9QeJA>
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>
Hi Med, Thank you for your very detailed review! You got well into the details of this complex draft! And thank you also for the very detailed editorial PR: https://github.com/lamps-wg/draft-composite-sigs/pull/345 I have addressed many of your points in a PR here, which I will discuss with my co-authors before merging. https://github.com/lamps-wg/draft-composite-sigs/pull/347 The points tat I did not make any changes for are discussed below: > Section 2 says the following: > This specification assumes a seed-based keygen for ML-DSA. > > Maybe I’m misreading this, but is this saying that only the seed mode is > supported? If so, isn’t that a deviating from 9881 where expandedKey is allowed? You are not misreading that. There was extensive debate in the WG on this point and the WG was very clear not to download the {seed, expanded, both} mess into composites. It is not uncommon for one RFC to profile another one; IE to take only a subset of the features from the other RFC. So I think it's "profiling 9881" not "deviating from 9881". Also note that since Composite-ML-DSA is a distinct algorithm from ML-DSA with distinct object identifiers and distinct key encodings anyway, it's only a spiritual difference at best. > ## Unless there is a need to deviate from RFC9794, I would suggest to rely on > the terms/definitions in RFC9794 (and make that RFC as normative) and only > define here new terms not listed in RFC9794. First, RFC9794 is Informational, so a Normative ref will cause DOWNREF problems. And a Normative ref to a terminology doc seems weird. The idea here was to copy in the definitions that are really important to the core understanding of this draft rather than making readers document-hop. I'll fix the one that does not match exactly. Good eyes! > # Given the side-channel implication, any reason why this isn’t a MUST? > > CURRENT: > Note that in step 4 above, both component signature processes are > invoked, and no indication is given about which one failed. This > SHOULD be done in a timing-invariant way to prevent side-channel > attackers from learning which component algorithm failed. There are lots of cryptographic implementations in the world where a timing side-channel like this does not lead to any practical security issue; for example if you're using local TPM where you assume that an attacker does not have direct access. And more generally, full side-channel resistance is really really difficult to attain, especially in a software library. Most of the time, if the underlying component primitive aborts early, that itself is already a timing difference that you will not be able to mask at the composite layer. So turning this SHOULD into a MUST would make like 98% of implementations non-conformant. We actually debated in the WG going the other way and just removing this note entirely since it's a bit of an un-obtainable requirement, but in the end it stayed in as a SHOULD in case it ends up being helpful to someone. > CURRENT: > *PROTOCOL BACKWARDS COMPATIBILITY*: A property whereby a new feature > can be added to a protocol without requiring any changes to the > protocol's specification and only minimal changes to its > implementations (such as adding new identifiers). > > Adding a new feature is a change per se! I'm gonna disagree with that. I am going to argue that adding an extension to a point in a protocol that is designed to take future extensions is not "changing the protocol". For example, the TLS 1.3 protocol is agnostic to the actual ciphers it uses, so RFC8998 is able to add the Chinese national ciphers to TLS 1.3 in exactly this way -- without even needing to consult the TLS WG in fact! That's protocol backwards compatibility working well! > ### Can we please update this definition to better reflect the intended > property? I have adjusted this slightly by adding this sentence. Is that better? "Typically this means that the new feature fits within a defined extension point of the protocol instead of requiring a structural change to the protocol." > ### Do we need this term at the first place? This is only mentioned once with > self-contained context. > CURRENT: > Note that while the overall construction of Composite ML-DSA is > similar to that of HashML-DSA, the ML-DSA component inside the > composite is "pure" ML-DSA; implementing this specification does not > require an implementation of HashML-DSA. > > Shouldn’t this be more explicit that HashML-DSA is disallowed per the same > rationale as in rfc9881#section-8.3? So, RFC9881 is saying that while HashML-DSA has registered OIDs, and could structurally fit within X.509, RFC9881 is saying that that would not be considered valid X.509. Here I don't think we need to do that with composites because if you swapped out the ML-DSA within a composite for HashML-DSA, you would end up with a different and incompatible algorithm that doesn't pass the test vectors. There's a near-infinite set of algorithm combinations that are not specified in this document but someone could well do, like composites with Chinese or Russian ciphers, or with other PQ algs. My personal opinion is that it would be weird for a document like this to have an opinion on things that are not specified in this document. > # Section 3.1 > > CURRENT: > Errors produced by the component KeyGen() routines MUST be forwarded > on to the calling application. > > I don’t understand the use of “forwarded” in this context? Isn’t the API call > internal within a system? I'm trying to conjure the idea of exception chaining. Like the composite implementation should not swallow the error, but if the inner API throws an error then the composite should throw the same error. Would the word "MUST be propagated" be better? Maybe I should use more words? How about this? NEW: If one of the component `KeyGen()` routines returns an error, then this error MUST be propagated by the `Composite-ML-DSA.KeyGen()` routine. > # Section 3.1.1: Modified process and implications > > CURRENT: > In cases where it is desirable to have a deterministic KeyGen of one > or both component keys from a seed, this process MAY be modified to > expose an interface of Composite-ML-DSA<OID>.KeyGen(seed) such that > one component algorithm is generated from the seed and the other from > random, or the input seed is cryptographically expanded to produce > seeds for both components. Implementation details and security > analysis of such a modified key generation process is outside the > scope of this document. > > Shouldn’t this need be highlighted in the SEC or OPS cons section so that > appropriate analysis in done before making use of a modified process? Yeah. You're making a valid point, but I'm not sure what we could say that's helpful. I mean, it's true for all RFCs that if you implement something different than what's in the RFC, then the security analysis may or may not apply. Do you have specific text in mind? > ## Inherit ML-DSA Operational Considerations > > There are important considerations that are inherited by the composite design. > Can we please add a note to increase awareness about considerations listed in > rfc9881#section-8? So, 8.1 and 8.2 don't apply because we're not inheriting the whole {seed, expanded, both} mess. 8.3 also doesn't apply because a HashML-DSA composite would be something different and incompatible with the things specified here, so I don't think we need to say anything about it at all. So I actually don't think we are inheriting any of the operation considerations from RFC 9881; I think we have successfully profiled down how ML-DSA is used to make all three of those problems go away. > ## Hidden Operational Consideration > > Section 1.3: > Composite ML-DSA is NOT RECOMMENDED for use in > applications where it is has not been shown that EUF-CMA is > acceptable. > > This reco is IMO hidden in the introduction part. Given the importance of this > reco for those who will deploy, I suggest we have this more visible as part of > the OPS Considerations section. This is the subject of the entire Security Consideration 9.2. Do we really need to duplicate it into an OPS Con? Also please be aware that the EUF-CMA vs SUF-CMA thing is a political hand-grenade. It took us almost 2 months at the WG to agree on the EUF-CMA text that's in there currently. I personally have never come across a practical deployment where EUF-CMA is not acceptable (ie where SUF-CMA is required). So I personally don't think it is important, and I am not capable of writing the OPS Con you're asking for because I literally don't know what kind of deployment would need that. I'm really hesitant to re-open this can of worms. On Tue, 31 Mar 2026 at 04:08, Mohamed Boucadair via Datatracker < noreply@ietf.org> wrote: > Mohamed Boucadair has entered the following ballot position for > draft-ietf-lamps-pq-composite-sigs-15: Discuss > > When responding, please keep the subject line intact and reply to all > email addresses included in the To and CC lines. (Feel free to cut this > introductory paragraph, however.) > > > Please refer to > https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ > for more information about how to handle DISCUSS and COMMENT positions. > > > The document, along with other ballot positions, can be found here: > https://datatracker.ietf.org/doc/draft-ietf-lamps-pq-composite-sigs/ > > > > ---------------------------------------------------------------------- > DISCUSS: > ---------------------------------------------------------------------- > > Hi Mike, John, Massimiliano, Jan, and Scott, > > Thank you for the effort put into this specification. The document reads > well > ... even for an OPS AD :-) > > I trust that the test vectors, in particular, were checked by WG > participants > other than the authors. > > Please find below some comments below. I also flagged some nits and other > minor > edits that I will send in a PR for authors convenience. > > # ML-DSA is normative for composite ML-DSA > > CURRENT: > Composite ML-DSA is a Post-Quantum / Traditional hybrid signature > scheme which combines ML-DSA as specified in [FIPS.204] and [RFC9881] > > … > > As this specification uses ML-DSA as a component of all composite > algorithms, all security considerations from [RFC9881] apply. > > Please move RFC9881 from Informative to Normative. > > ## As I’m there, I’d like to check one related part: > > Section 2 says the following: > This specification assumes a seed-based keygen for ML-DSA. > > Maybe I’m misreading this, but is this saying that only the seed mode is > supported? If so, isn’t that a deviating from 9881 where expandedKey is > allowed? > > # Terminology: I'm adding this as a DISCUSS point as I think this is > important > to ensure consistency among specs in this area > > Section 2: > This specification is consistent with the terminology defined in > [RFC9794]. In addition, the following terminology is used throughout > this specification: > > I interpret this as the terms that follow are not listed in RFC9794 but > are an > addition. However, it is not clear to me the rationale followed here. For > example, > > ## we do have this entry grabbed from RFC9794 with an explicit pointer to > that > RFC: > > *COMPOSITE CRYPTOGRAPHIC ELEMENT*: [RFC9794] defines composites as: A > cryptographic element that incorporates multiple component > cryptographic elements of the same type in a multi-algorithm scheme. > > The citation does not match exactly the entry as defined in 9794: > > A cryptographic element that incorporates multiple component > cryptographic elements of the same type for use in a multi- > algorithm scheme, such that the resulting composite cryptographic > element is exposed as a singular interface of the same type as the > component cryptographic elements. > > ## … and this one which is already defined in RFC9794 but repeated here > > *POST-QUANTUM TRADITIONAL (PQ/T) HYBRID SCHEME*: A multi-algorithm > scheme where at least one component algorithm is a post-quantum > algorithm and at least one is a traditional algorithm. > > ## Unless there is a need to deviate from RFC9794, I would suggest to rely > on > the terms/definitions in RFC9794 (and make that RFC as normative) and only > define here new terms not listed in RFC9794. > > # Given the side-channel implication, any reason why this isn’t a MUST? > > CURRENT: > Note that in step 4 above, both component signature processes are > invoked, and no indication is given about which one failed. This > SHOULD be done in a timing-invariant way to prevent side-channel > attackers from learning which component algorithm failed. > > > ---------------------------------------------------------------------- > COMMENT: > ---------------------------------------------------------------------- > > # Abstract: regional requirement, not an absolute one > > OLD: > These combinations are tailored to meet regulatory > guidelines. > > NEW: > These combinations are tailored to meet regulatory > Guidelines in certain regions. > > # Backward compatibility > > ## Usual > > CURRENT: > *APPLICATION BACKWARDS COMPATIBILITY*: The usual definition of > backwards compatibility, meaning whether an upgraded and non-upgraded > application can successfully establish communication. > > ### If this is usual definition, then do we need to have a dedicated entry > for > it here? > > ### I suggest > > NEW: > *APPLICATION BACKWARDS COMPATIBILITY*: A property indicating whether an > upgraded and non-upgraded application can successfully establish > communication. > > ## Section 10.2 has the following: > > The term "application backwards compatibility" is used here to mean > that existing systems as they are deployed today can interoperate > with the upgraded systems of the future. > > Why the definition is repeated here? is there any difference between the > intent > here and the relevant entry in Section 1.1? > > Unless there is subtlety there, I suggest to delete that text as it is > redundant with the terminology section. > > ## I don’t parse the following: > > CURRENT: > *PROTOCOL BACKWARDS COMPATIBILITY*: A property whereby a new feature > can be added to a protocol without requiring any changes to the > protocol's specification and only minimal changes to its > implementations (such as adding new identifiers). > > Adding a new feature is a change per se! > > ### Can we please update this definition to better reflect the intended > property? > > ### Do we need this term at the first place? This is only mentioned once > with > self-contained context. > > ## Internal inconsistency > > Section 1: > Backwards compatibility in the sense of upgraded systems continuing > to interoperate with legacy systems is not directly covered in this > specification, but is the subject of Section 10.2. > > I’m having troubles to digest the intent of this sentence as it conveys > conflicting messages (at least for me). > > ## If the intent is to say that backward compatibility is not ensured then > maybe reword to, e.g.: > > NEW: > Backwards compatibility in the sense of upgraded systems continuing > to interoperate with legacy systems is not directly covered in this > specification. Refer to Section 10.2 for more details. > > # Notations > > Can we please add "->" to the list of notations? > > # Section 2.1: Broken reference > > CURRENT: > Given this design of Composite ML-DSA, it is possible to split the > pre-hashing step out from the signature generation process -- see > {#impl-cons-external-ph} for further discussion and sample > algorithms. > > # Section 2.1: HashML-DSA > > CURRENT: > Note that while the overall construction of Composite ML-DSA is > similar to that of HashML-DSA, the ML-DSA component inside the > composite is "pure" ML-DSA; implementing this specification does not > require an implementation of HashML-DSA. > > Shouldn’t this be more explicit that HashML-DSA is disallowed per the same > rationale as in rfc9881#section-8.3? > > # Section 3.1 > > CURRENT: > Errors produced by the component KeyGen() routines MUST be forwarded > on to the calling application. > > I don’t understand the use of “forwarded” in this context? Isn’t the API > call > internal within a system? > > Maybe s/forwarded on/communicated? > > # Section 3.1.1: Modified process and implications > > CURRENT: > In cases where it is desirable to have a deterministic KeyGen of one > or both component keys from a seed, this process MAY be modified to > expose an interface of Composite-ML-DSA<OID>.KeyGen(seed) such that > one component algorithm is generated from the seed and the other from > random, or the input seed is cryptographically expanded to produce > seeds for both components. Implementation details and security > analysis of such a modified key generation process is outside the > scope of this document. > > Shouldn’t this need be highlighted in the SEC or OPS cons section so that > appropriate analysis in done before making use of a modified process? > > # Section 4: Table 1 > > Can we please add a pointer to Section 4 of FIPS.204 to indicate the > source of > that table? > > # Section 6: Obvious > > CURRENT: > Labels are represented here as ASCII strings, but implementers MUST > convert them to byte strings using the obvious ASCII conversions > prior to concatenating them with other byte values as described in > Section 2.2. > > do we need to keep “obvious” here? If it was, then why calling it out :-) > > # Section 6: Key sizes > > CURRENT: > For all RSA key types and sizes, the exponent is RECOMMENDED to be > 65537. Implementations MAY support only 65537 and reject other > exponent values. Legacy RSA implementations that use other values > for the exponent MAY be used within a composite, but need to be > careful when interoperating with other implementations. > > Given the interoperability issues there, I suggest to add relevant > operational > considerations under the OPS Cons section to cover at least the following: > > * Implems need to expose which sizes they support > * Implems need to offer a configuration knob to control the size. > > # Section 10: Operational Considerations > > ## I suggest to rename “Implementation Considerations” to “Operational > Considerations” as that section is more about operational guidance. This > would > be also consistent with the approach in 9881. > > ## Inherit ML-DSA Operational Considerations > > There are important considerations that are inherited by the composite > design. > Can we please add a note to increase awareness about considerations listed > in > rfc9881#section-8? > > ## Hidden Operational Consideration > > Section 1.3: > Composite ML-DSA is NOT RECOMMENDED for use in > applications where it is has not been shown that EUF-CMA is > acceptable. > > This reco is IMO hidden in the introduction part. Given the importance of > this > reco for those who will deploy, I suggest we have this more visible as > part of > the OPS Considerations section. > > Hope this helps. > > Cheers, > Med > > > > _______________________________________________ > Spasm mailing list -- spasm@ietf.org > To unsubscribe send an email to spasm-leave@ietf.org >
- [lamps] Mohamed Boucadair's Discuss on draft-ietf… Mohamed Boucadair via Datatracker
- [lamps] Re: Mohamed Boucadair's Discuss on draft-… Mike Ounsworth
- [lamps] Re: Mohamed Boucadair's Discuss on draft-… mohamed.boucadair