[lamps] Re: [EXT] Re: External email: RE: Re: External email: RE: [EXTERNAL] Responding to ISSUE #5
Piotr Popis <piotr.popis@enigma.com.pl> Tue, 27 August 2024 08:57 UTC
Return-Path: <piotr.popis@enigma.com.pl>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F1EAFC1D5C6F for <spasm@ietfa.amsl.com>; Tue, 27 Aug 2024 01:57:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.105
X-Spam-Level:
X-Spam-Status: No, score=-7.105 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_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-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
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=enigma.com.pl
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xFVtfdBzkiEE for <spasm@ietfa.amsl.com>; Tue, 27 Aug 2024 01:57:29 -0700 (PDT)
Received: from mx.comp.com.pl (mx.comp.com.pl [91.198.145.117]) (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 ietfa.amsl.com (Postfix) with ESMTPS id 890F2C14F6F3 for <spasm@ietf.org>; Tue, 27 Aug 2024 01:57:25 -0700 (PDT)
Received: from mail.enigma.com.pl ([10.13.11.10]) by mx.comp.com.pl with ESMTPS id 47R8vHA7003265-47R8vHA9003265 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Tue, 27 Aug 2024 10:57:17 +0200
Received: from localhost (localhost [127.0.0.1]) by mail.enigma.com.pl (Postfix) with ESMTP id 3A9C420430B316; Tue, 27 Aug 2024 10:57:17 +0200 (CEST)
Received: from mail.enigma.com.pl ([127.0.0.1]) by localhost (mail.enigma.com.pl [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id a9R5khc4Qg2X; Tue, 27 Aug 2024 10:57:17 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1]) by mail.enigma.com.pl (Postfix) with ESMTP id 078C820430B2F2; Tue, 27 Aug 2024 10:57:17 +0200 (CEST)
X-Virus-Scanned: amavisd-new at enigma.com.pl
Received: from mail.enigma.com.pl ([127.0.0.1]) by localhost (mail.enigma.com.pl [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Ym4bnpcrBhdC; Tue, 27 Aug 2024 10:57:16 +0200 (CEST)
Received: from PPOPISDELL (unknown [10.14.1.155]) by mail.enigma.com.pl (Postfix) with ESMTPSA id 81FCC204307326; Tue, 27 Aug 2024 10:57:16 +0200 (CEST)
From: Piotr Popis <piotr.popis@enigma.com.pl>
To: 'Mike Ounsworth' <Mike.Ounsworth@entrust.com>, "'Blumenthal, Uri - 0553 - MITLL'" <uri@ll.mit.edu>, "'Dang, Quynh H. (Fed)'" <quynh.dang@nist.gov>, 'John Gray' <John.Gray@entrust.com>, spasm@ietf.org
References: <01a801dae4ba$c5dfcf00$519f6d00$@enigma.com.pl> <CH0PR11MB57394FCDB757B76712CCB2599F872@CH0PR11MB5739.namprd11.prod.outlook.com> <013301daf236$58df83d0$0a9e8b70$@enigma.com.pl> <CH0PR11MB5739F6443BDF9B9CB34F33969F8E2@CH0PR11MB5739.namprd11.prod.outlook.com> <MW4PR09MB1005946AD51E94501A8E6BE11F38E2@MW4PR09MB10059.namprd09.prod.outlook.com> <00d701daf475$f6c83d80$e458b880$@enigma.com.pl> <CH0PR11MB5739C618CF021D5EDCCC0D669F8F2@CH0PR11MB5739.namprd11.prod.outlook.com> <BN0P110MB1419C843293E586E05AD448D908FA@BN0P110MB1419.NAMP110.PROD.OUTLOOK.COM> <CH0PR11MB57390031CC26E90FA6B53C399F8F2@CH0PR11MB5739.namprd11.prod.outlook.com> <026b01daf54a$60e13d50$22a3b7f0$@enigma.com.pl> <CH0PR11MB5739C17DD4E0968D0CD3C6219F882@CH0PR11MB5739.namprd11.prod.outlook.com>
In-Reply-To: <CH0PR11MB5739C17DD4E0968D0CD3C6219F882@CH0PR11MB5739.namprd11.prod.outlook.com>
Date: Tue, 27 Aug 2024 10:57:16 +0200
Message-ID: <00ff01daf85f$1dc740b0$5955c210$@enigma.com.pl>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0100_01DAF86F.E15A9800"
Thread-Index: AQLU6+ii70uSTM4SjOvRl/GUc/DCwwJMHZRCAvpuKQcCwTk4zAGIiyXsAo89R6QAyWYXmwJtD7jVAWAH6jgCKS9bHAEOJQ1Cr6YRXRA=
Content-Language: pl
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; d=enigma.com.pl; s=mx; c=relaxed/relaxed; h=from:to:references:subject:date:message-id:mime-version:content-type; bh=ShP8gCneYzLfywxYinb3wu1q/FTr+ESHZkBcf6S519k=; b=PE6Ig36oqLm7CHhQy1PWLwT+MA8Uk9L1eecCrSzU0P5g490tG8ArjokPc1Ekp407fC7L0QUrLlhp pM1VNAT7bQ5vqfOaM6iQpXx9eyQi7s+rYfWcda6k85zk5yW7ImKXu2KplaTt7uF96xNrXm2iqXhj 7evLbiMnSg0KPwVjVRU2eRpeDsZINhjAmfuSQ1A3+ggdO4abKg8VTovP7Au3VIDqliEJmdgxWKOW /vpAj2SnR678xJVGO7S/sjOifZpSO+DxpZHPo+G2qAWCfespQ27ZC2+WezCiV2UerwvDBQ14kLkP kJIREFUGdaYF39COMY62Wzbl8ae8xUMpaE9o4w==
Message-ID-Hash: YYIVY6EK7SFKDTCJGQMVPX3AMPEV5PC2
X-Message-ID-Hash: YYIVY6EK7SFKDTCJGQMVPX3AMPEV5PC2
X-MailFrom: piotr.popis@enigma.com.pl
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.9rc4
Precedence: list
Subject: [lamps] Re: [EXT] Re: External email: RE: Re: External email: RE: [EXTERNAL] Responding to ISSUE #5
List-Id: This is the mail list for the LAMPS Working Group <spasm.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/8PRYLkg6wEJnZVsI3dkoAG_f_is>
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 Mike and All 1. In the case of electronic signatures in the traditional approach, the OID contained in the signatureAlgorithm.algorithm field (X.509 certificate, CRL, OCSP, etc.) indicates the cryptographic composition with a specification of the elliptic curve type (in the case of ECC) and the hash function used. For ECDSA, the parameters field is empty (RFC 5758), similarly to RSA PKCSv1_5 (RFC 4055). On the other hand, for RSASSA-PSS, the parameters field contains information about the "masking" used (RFC 5756). 2. My proposals for algorithm identifiers without specifying the key length do not refer to the signatureAlgorithm.algorithm field, but to the subjectPublicKeyInfo.algorithm.algorithm field in X.509 certificate, where the subjectPublicKeyInfo.algorithm.parameters field contains (in the case of ECC) ECParameters (RFC 5480). 3. In the traditional approach, both of these fields (p. 1 and 2) contain different OIDs, which allows the public key certificate to include the algorithm identifier of that key, while the hash function used is specified by the signatureAlgorithm.algorithm field. 4. Of course, in the case of composite-sigs, the OID of the cryptographic composition would also have to indicate the function used for the pre-hash. Here is an analogy with the signatureAlgorithm.algorithm field. 5. My proposal for composite signatures OIDs relates to SubjectPublicKeyInfo sequence (X.509 certificate) and would be as follows: SubjectPublicKeyInfo ::= SEQUENCE { algorithm AlgorithmIdentifier, subjectPublicKey CompositeSignaturePublicKey } AlgorithmIdentifier ::= SEQUENCE { algorithm OBJECT IDENTIFIER, -- OID indicates the first algorithm and the second algorithm (without indicating the key length) parameters ANY DEFINED BY algorithm OPTIONAL } -- in case of ECDSA (as the second algorithm) the ECParameters, otherwise NULL CompositeSignaturePublicKey ::= SEQUENCE SIZE (2) OF BIT STRING and it does not have to indicate the pre-hash in the parameters field. 6. It is not clear to me whether LAMPS wants to use the same OID in the signatureAlgorithm.algorithm field and in the subjectPublicKeyInfo.algorithm.algorithm field? However, even in the case of separate OIDs, the hash function indication for the pre-hash would be in the signatureAlgorithm.algorithm field, not in the parameters field. 7. I understand that as long as LAMPS insists that the parameters field must be empty, my proposal cannot be accepted, but leaving aside the issue of the parameters field, the SubjectPublicKeyInfo sequence could be as in point 5. --- Piotr Popis From: Mike Ounsworth <Mike.Ounsworth@entrust.com> Sent: Friday, August 23, 2024 3:21 PM To: Piotr Popis <piotr.popis@enigma.com.pl>; 'Blumenthal, Uri - 0553 - MITLL' <uri@ll.mit.edu>; 'Dang, Quynh H. (Fed)' <quynh.dang@nist.gov>; John Gray <John.Gray@entrust.com>; spasm@ietf.org Subject: RE: [EXT] [lamps] Re: External email: RE: Re: External email: RE: [EXTERNAL] Responding to ISSUE #5 Hi Piotr. Ok, you are proposing to use the AlgorithmID parameters to indicate the EC group, and to leave the RSA modulus size unconstrained. You then also need to specify the pre-hash for the traditional side in params (SHA-256 vs SHA-384 vs SHA-512) because you want to match that to the group / modulus size. See, for example, draft-ounsworth-pq-composite-sigs-01 from July 2019 when the core structure was: CompositePublicKey ::= SEQUENCE SIZE (1..MAX) OF SubjectPublicKeyInfo And therefore inside each component SPKI was the full AlgorithmID of that component algorithm. This was the approach called “generic composite”. In the years since, the LAMPS WG has been very clear that they want all aspects of the cipher suite to be specified by the OID and not left up to runtime configuration. I think this has been well debated over the years, and is now a closed issue. --- Mike Ounsworth From: Piotr Popis <piotr.popis@enigma.com.pl <mailto:piotr.popis@enigma.com.pl> > Sent: Friday, August 23, 2024 5:51 AM To: Mike Ounsworth <Mike.Ounsworth@entrust.com <mailto:Mike.Ounsworth@entrust.com> >; 'Blumenthal, Uri - 0553 - MITLL' <uri@ll.mit.edu <mailto:uri@ll.mit.edu> >; 'Dang, Quynh H. (Fed)' <quynh.dang@nist.gov <mailto:quynh.dang@nist.gov> >; John Gray <John.Gray@entrust.com <mailto:John.Gray@entrust.com> >; spasm@ietf.org <mailto:spasm@ietf.org> Subject: RE: [EXT] [lamps] Re: External email: RE: Re: External email: RE: [EXTERNAL] Responding to ISSUE #5 Hi All My vote is to leave this out of the LAMPS composite documents. If some other working group thinks that it improves their document to include it, then great, but I don’t think that’s the case here. NIST – who has much smarter cryptographers Hi All My vote is to leave this out of the LAMPS composite documents. If some other working group thinks that it improves their document to include it, then great, but I don’t think that’s the case here. NIST – who has much smarter cryptographers than me – have decided to side-step the problem of quantifying quantum security by instead providing reductions to well-known symmetric primitives. But LAMPS, in our infinite wisdom, thinks that we can solve this? I think we’re gonna waste a ton of effort on this to produce something that’s ultimately not even very useful to implementers of this draft. I would like to remind everyone that the problem started with the aspect of limiting the number of OIDs indicating ML-KEM# compositions with classical algorithms. The omission of indicating the security level of the cryptographic composition in the standard is OK for me (surprised?), but at the same time I am definitely in favor of not including the length of the traditional algorithm key in the OID. Precisely: my proposal is to define four OIDs in the standard: id-MLKEM512-RSA id-MLKEM512-ECDH id-MLKEM768-ECDH id-MLKEM1024-ECDH (and similar to MLDSA#) The length of the elliptic curve would be indicated in the parameters field of the AlgorithmIdentifier sequence, as in all previous standards. In the case of RSA, it is indifferent to me whether the RSA-OAEP specification will be in the parameters field (RFC 3560, Section 3) or in the relevant Section of the [draft-ietf-lamps-pq-composite-kem-04] (as now). That is, the composition parameters field can be empty (RSA only) or contain the elliptic curve parameters of the classical component (ECDH). This approach would require LAMPS to abandon the assumption that the parameters field in the AlgorithmIdentifier indicating a hybrid composition must be empty, but I strongly encourage it. It would be consistent with current practice, where the OID of the "classic" algorithm indicates the algorithm itself, and key lengths are indicated in other places. Then the standard defines general structures, and key lengths can be imposed by government agencies, NIST, BSI, etc. (as current practice) without changing the standards. --- Piotr Popis From: Mike Ounsworth <Mike.Ounsworth@entrust.com <mailto:Mike.Ounsworth@entrust.com> > Sent: Thursday, August 22, 2024 10:54 PM To: Blumenthal, Uri - 0553 - MITLL <uri@ll.mit.edu <mailto:uri@ll.mit.edu> >; Piotr Popis <piotr.popis@enigma.com.pl <mailto:piotr.popis@enigma.com.pl> >; 'Dang, Quynh H. (Fed)' <quynh.dang@nist.gov <mailto:quynh.dang@nist.gov> >; John Gray <John.Gray@entrust.com <mailto:John.Gray@entrust.com> >; spasm@ietf.org <mailto:spasm@ietf.org> Subject: RE: [EXT] [lamps] Re: External email: RE: Re: External email: RE: [EXTERNAL] Responding to ISSUE #5 Hi Uri, This is exactly how we waste a lot of time debating this, and why I vote that we leave it out. As Quynh points out, each hybrid combination has 4 relevant security levels: For example, take id-MLDSA65-RSA4096-PSS-SHA512: Classical security of RSA4096-PSS-SHA512: ?? 126 bits ?? Quantum security of RSA4096-PSS-SHA512: ~ 0 bits Classical security of MLDSA65: 192 bits Quantum security of MLDSA: ?? 64 qubits ?? So the range is “0 to192 bits”? Or is it “0 bits to 64 qubits”? NIST – who has much smarter cryptographers than me – have decided to side-step the problem of quantifying quantum security by instead providing reductions to well-known symmetric primitives. But LAMPS, in our infinite wisdom, thinks that we can solve this? I think we’re gonna waste a ton of effort on this to produce something that’s ultimately not even very useful to implementers of this draft. --- Mike Ounsworth From: Blumenthal, Uri - 0553 - MITLL < <mailto:uri@ll.mit.edu> uri@ll.mit.edu> Sent: Thursday, August 22, 2024 3:36 PM To: Mike Ounsworth < <mailto:Mike.Ounsworth@entrust.com> Mike.Ounsworth@entrust.com>; Piotr Popis < <mailto:piotr.popis@enigma.com.pl> piotr.popis@enigma.com.pl>; 'Dang, Quynh H. (Fed)' < <mailto:quynh.dang@nist.gov> quynh.dang@nist.gov>; John Gray < <mailto:John.Gray@entrust.com> John.Gray@entrust.com>; <mailto:spasm@ietf.org> spasm@ietf.org Subject: Re: [EXT] [lamps] Re: External email: RE: Re: External email: RE: [EXTERNAL] Responding to ISSUE #5 We all intuitively understand that a hybrid is as strong as its strongest component, and that the whole reason for doing this is that we can’t predict which algorithms will remain strong over the next 10 years. I think that concept is fairly straightforward and easy to understand. Correct. But with Hybrids, the main bet is on whether CRQC will become a reality. Does reducing that to a single number, or pair of numbers, or quadruple of numbers per row of the table, and the lengthy security consideration about how to interpret those numbers, make that concept easier to understand and communicate? I don’t think so. Does it help an implementor who is trying to write software against this spec? I also don’t think so. Hmm, respectfully partially-disagree. If your hybrid has a Classic part assumed to be 112 bits strong, and a PQ part assumed to be 126 bits strong (for example) – you can say that the minimal strength of this hybrid is 112, and maximum 126, under assumption that at least one of the two mechanisms withstands Classic attack, and CRQC is unavailable. What’s not to understand? But indeed, reducing this to one number would be misleading. A range would make more sense to me (beside the fact that hybrids in general don’t 😉). My vote is to leave this out of the LAMPS composite documents. If some other working group thinks that it improves their document to include it, then great, but I don’t think that’s the case here. I’d probably put ranges in. TNX From: Piotr Popis < <mailto:piotr.popis@enigma.com.pl> piotr.popis@enigma.com.pl> Sent: Thursday, August 22, 2024 4:31 AM To: 'Dang, Quynh H. (Fed)' < <mailto:quynh.dang=40nist.gov@dmarc.ietf.org> quynh.dang=40nist.gov@dmarc.ietf.org>; Mike Ounsworth < <mailto:Mike.Ounsworth@entrust.com> Mike.Ounsworth@entrust.com>; John Gray < <mailto:John.Gray@entrust.com> John.Gray@entrust.com>; <mailto:spasm@ietf.org> spasm@ietf.org Subject: RE: External email: RE: [lamps] Re: External email: RE: [EXTERNAL] Responding to ISSUE #5 Hi All I have a similar opinion about the security of combinations of algorithms to Quynh. It is rather indisputable that if we assume that both algorithms are secure, then the combination is secure as the stronger of the pair. Of course, in Hi All I have a similar opinion about the security of combinations of algorithms to Quynh. It is rather indisputable that if we assume that both algorithms are secure, then the combination is secure as the stronger of the pair. Of course, in the above context of security, "algorithm" is a certain cryptographic suite, which, for example, in the case of RSA-based signatures must take into account not only the key length. The security strength associated with the RSA digital signature process is no greater than the minimum of the security strength associated with the bit length of the modulus and the security strength of the hash function that is employed. We create a hybrid combination because we consider it a significant risk that individual algorithms may not be secure: - "classical", because there is a risk of creating a quantum computer with appropriate computing power, and - "post-quantum", because the previous cryptanalysis may have been insufficient (the case of “SIKE”). "Hybridity" therefore somehow assumes that we cannot presume that both algorithms are secure. So how do we define the security of the combination? The matter is not trivial (as aptly summarized Quynh) and requires discussion. In response to Mike's email I would like to point out that FIPS 203/204/205 contain the following definitions: security category - a number associated with the security strength of a post-quantum cryptographic algorithm. security strength - a number associated with the amount of work (i.e., the number of operations) that is required to break a cryptographic algorithm or system. In terms of "security category" FIPS 203/204/205 refer to NIST SP 800-57 Part 1: a) 203 and 204: rev. 5 (or as amended); b) 205: Section 5.6 of forthcoming rev. 6. When preparing my proposal for "Overall Security strength" I took mainly into account the appendix A of the draft FIPS 203. To my surprise this appendix was removed from the final version, but I assume that its content (maybe slightly changed) will be in NIST SP 800-57 part 1 rev. 6. Unfortunately, this draft is not publicly available yet. I am not sure whether NIST will define "equivalence" between Security Category and Security strength, which would allow for a single value. We may have to use two numbers for hybrid compositions - as I wrote in the previous email - I suggest consulting NIST on this matter (and probably wait for version 6 of 800-57 Part 1). --- Piotr Popis From: Dang, Quynh H. (Fed) < <mailto:quynh.dang=40nist.gov@dmarc.ietf.org> quynh.dang=40nist.gov@dmarc.ietf.org> Sent: Wednesday, August 21, 2024 6:57 PM To: Mike Ounsworth < <mailto:Mike.Ounsworth@entrust.com> Mike.Ounsworth@entrust.com>; Piotr Popis < <mailto:piotr.popis@enigma.com.pl> piotr.popis@enigma.com.pl>; John Gray < <mailto:John.Gray@entrust.com> John.Gray@entrust.com>; <mailto:spasm@ietf.org> spasm@ietf.org Subject: External email: RE: [lamps] Re: External email: RE: [EXTERNAL] Responding to ISSUE #5 Hi all, A fundamental question we need to decide on before we could name security strength of a hybrid construction of a PQ algorithm and a classic one. Is this based on the classical security level (or an estimated classical bits of security) of the PQ one ? (1) Is this based on the post-quantum security level (or an estimated post-quantum bits of security) of the PQ one ? (2) Is this based on the classical security level (or an estimated classical bits of security) of the classical one ? (3) Is this based on the classical security level (or an estimated classical bits of security) of the weaker classical security one ? (4) Is this based on the classical security level (or an estimated classical bits of security) of the stronger classical security algorithm ? (5) Under the classical world, one needs to assume which one is broken and which one is secure. With that, the secure one is the security of the combo. So, one combo can have 2 different security levels if both algorithms have different classical security levels. Under the classical world, if both are secure then the stronger classical security one is the security of the combo. Under the pq world, only the pq one is the security of the combo. Regards, Quynh. From: Mike Ounsworth < <mailto:Mike.Ounsworth=40entrust.com@dmarc.ietf.org> Mike.Ounsworth=40entrust.com@dmarc.ietf.org> Sent: Wednesday, August 21, 2024 9:34 AM To: Piotr Popis < <mailto:piotr.popis=40enigma.com.pl@dmarc.ietf.org> piotr.popis=40enigma.com.pl@dmarc.ietf.org>; John Gray < <mailto:John.Gray@entrust.com> John.Gray@entrust.com>; <mailto:spasm@ietf.org> spasm@ietf.org Subject: [lamps] Re: External email: RE: [EXTERNAL] Responding to ISSUE #5 Hi Piotr, What does the term “Overall Security Strength” mean? Can you please point me to a peer-reviewed academic paper that formally defines this concept? The problem is that we have a classical algorithm, which defines its security in bits, ex.: “RSA 2048 has 112 bits of security against current best-known attacks”, and a PQ algorithm which defines its security in terms of a specific security property of a symmetric primitive, ex.: “Comparable to a collision search on SHA-256 / SHA3-256” which you might think is “128 bit”, but in fact the definition is more subtle than that. So we have a numeric quantity, and a non-numeric property, one of which applies when the adversary has a CQRC, and one of which applies knows of a weakness in ML-KEM. I don’t know how to combine that into a single number. If you know of a peer-reviewed paper that discusses this in detail, I would love to read it an learn. --- Mike Ounsworth From: Piotr Popis < <mailto:piotr.popis=40enigma.com.pl@dmarc.ietf.org> piotr.popis=40enigma.com.pl@dmarc.ietf.org> Sent: Monday, August 19, 2024 7:50 AM To: Mike Ounsworth < <mailto:Mike.Ounsworth@entrust.com> Mike.Ounsworth@entrust.com>; John Gray < <mailto:John.Gray@entrust.com> John.Gray@entrust.com>; <mailto:spasm@ietf.org> spasm@ietf.org Subject: RE: External email: RE: [EXTERNAL] [lamps] Responding to ISSUE #5 Hi All My detailed proposal is as follows: Version 1 +===================+============+=========+===============+========+=========+ | Composite KEM |OID |First |Second |KDF |Overall | | | |Algorithm|Algorithm | |Security | | | | | | |strength Hi All My detailed proposal is as follows: Version 1 +===================+============+=========+===============+========+=========+ | Composite KEM |OID |First |Second |KDF |Overall | | | |Algorithm|Algorithm | |Security | | | | | | |strength | +===================+============+=========+===============+========+=========+ | id-MLKEM512-ECDH |<CompKEM>.1 |MLKEM512 |ECDH-P256 |SHA3-256| 128 bits| | -P256 | | | | | | +-------------------+------------+---------+---------------+--------+---------+ | id-MLKEM512- |<CompKEM>.2 |MLKEM512 |ECDH- |SHA3-256| 128 bits| | ECDH- | | |brainpoolp256r1| | | | brainpoolP256r1 | | | | | | +-------------------+------------+---------+---------------+--------+---------+ | id- |<CompKEM>.3 |MLKEM512 |X25519 |SHA3-256| 128 bis | | MLKEM512-X25519 | | | | | | +-------------------+------------+---------+---------------+--------+---------+ | id- |<CompKEM>.13|MLKEM512 |RSA-OAEP 2048 |SHA3-256| 112 bits| | MLKEM512-RSA2048 | | | | | | +-------------------+------------+---------+---------------+--------+---------+ | id- |<CompKEM>.4 |MLKEM512 |RSA-OAEP 3072 |SHA3-256| 128 bits| | MLKEM512-RSA3072 | | | | | | +-------------------+------------+---------+---------------+--------+---------+ | id- |<CompKEM>.41|MLKEM512 |RSA-OAEP 4096 |SHA3-256| 128 bits| | MLKEM512-RSA4096 | | | | | | +-------------------+------------+---------+---------------+--------+---------+ | id-MLKEM768-ECDH |<CompKEM>.5 |MLKEM768 |ECDH-P384 |SHA3-384| 192 bits| | -P384 | | | | | | +-------------------+------------+---------+---------------+--------+---------+ | id-MLKEM768- |<CompKEM>.6 |MLKEM768 |ECDH- |SHA3-384| 192 bits| | ECDH- | | |brainpoolp384r1| | | | brainpoolP384r1 | | | | | | +-------------------+------------+---------+---------------+--------+---------+ | id- |<CompKEM>.7 |MLKEM768 |X448 |SHA3-384| 192 bits| | MLKEM768-X448 | | | | | | +-------------------+------------+---------+---------------+--------+---------+ | id-MLKEM1024-ECDH |<CompKEM>.8 |MLKEM1024|ECDH-P521 |SHA3-512| 256 bits| | -P521 | | | | | | +-------------------+------------+---------+---------------+--------+---------+ | id-MLKEM1024- |<CompKEM>.9 |MLKEM1024|ECDH- |SHA3-512| 256 bits| | ECDH- | | |brainpoolP512r1| | | | brainpoolP512r1 | | | | | | +-------------------+------------+---------+---------------+--------+---------+ or Version 2 +===================+============+=========+===============+========+===========+ | Composite KEM |OID |First |Second |KDF | Overall | | | |Algorithm|Algorithm | | Security | | | | | | | Category | +===================+============+=========+===============+========+===========+ | id-MLKEM512-ECDH |<CompKEM>.1 |MLKEM512 |ECDH-P256 |SHA3-256| 1 | | -P256 | | | | | | +-------------------+------------+---------+---------------+--------+-----------+ | id-MLKEM512- |<CompKEM>.2 |MLKEM512 |ECDH- |SHA3-256| 1 | | ECDH- | | |brainpoolp256r1| | | | brainpoolP256r1 | | | | | | +-------------------+------------+---------+---------------+--------+-----------+ | id- |<CompKEM>.3 |MLKEM512 |X25519 |SHA3-256| 1 | | MLKEM512-X25519 | | | | | | +-------------------+------------+---------+---------------+--------+-----------+ | id- |<CompKEM>.13|MLKEM512 |RSA-OAEP 2048 |SHA3-256|less than 1| | MLKEM512-RSA2048 | | | | | | +-------------------+------------+---------+---------------+--------+-----------+ | id- |<CompKEM>.4 |MLKEM512 |RSA-OAEP 3072 |SHA3-256| 1 | | MLKEM512-RSA3072 | | | | | | +-------------------+------------+---------+---------------+--------+-----------+ | id- |<CompKEM>.41|MLKEM512 |RSA-OAEP 4096 |SHA3-256| 1 | | MLKEM512-RSA4096 | | | | | | +-------------------+------------+---------+---------------+--------+-----------+ | id-MLKEM768-ECDH |<CompKEM>.5 |MLKEM768 |ECDH-P384 |SHA3-384| 3 | | -P384 | | | | | | +-------------------+------------+---------+---------------+--------+-----------+ | id-MLKEM768- |<CompKEM>.6 |MLKEM768 |ECDH- |SHA3-384| 3 | | ECDH- | | |brainpoolp384r1| | | | brainpoolP384r1 | | | | | | +-------------------+------------+---------+---------------+--------+-----------+ | id- |<CompKEM>.7 |MLKEM768 |X448 |SHA3-384| 3 | | MLKEM768-X448 | | | | | | +-------------------+------------+---------+---------------+--------+-----------+ | id-MLKEM1024-ECDH |<CompKEM>.8 |MLKEM1024|ECDH-P521 |SHA3-512| 5 | | -P521 | | | | | | +-------------------+------------+---------+---------------+--------+-----------+ | id-MLKEM1024- |<CompKEM>.9 |MLKEM1024|ECDH- |SHA3-512| 5 | | ECDH- | | |brainpoolP512r1| | | | brainpoolP512r1 | | | | | | +-------------------+------------+---------+---------------+--------+-----------+ Comments: 1. Only one version could be introduced into the standard; preferably in the "Security Considerations" Section. 2. FIPS 203 final version dropped the appendix A that was in the draft. However, as long as NIST SP 800-131A rev. 2 in table 4 (page 13) defines the security of algorithms based on "security strength" in bits it seems that table version 1 is appropriate. 3. On the other hand, FIPS 203 uses the term "Security Category" which is not intended to be a simple equivalent of "security strength" - see text under Table 3 in FIPS 203. Hence, perhaps version 2 would be more appropriate. In my opinion it would be best to consult with NIST on this. 4. If a quantum computer with sufficient computing power (CRQC) were to appear, then: a) the classical algorithm would become useless, but the Security Category/Security strength column would remain at the same level (in such a situation I withdraw from the formulation about the "weakest element|"); b) we would probably start defining OIDs with two PQ algorithms, i.e. the hybrid approach would still be appropriate, but "hybridity" would be defined differently. 😊 --- Piotr Popis From: Mike Ounsworth < <mailto:Mike.Ounsworth=40entrust.com@dmarc.ietf.org> Mike.Ounsworth=40entrust.com@dmarc.ietf.org> Sent: Wednesday, August 14, 2024 4:36 PM To: Piotr Popis < <mailto:piotr.popis@enigma.com.pl> piotr.popis@enigma.com.pl>; 'John Gray' < <mailto:John.Gray@entrust.com> John.Gray@entrust.com>; <mailto:spasm@ietf.org> spasm@ietf.org Subject: External email: RE: [EXTERNAL] [lamps] Responding to ISSUE #5 Hi Piotr, > “In addition, it might be appropriate to add a column, for example, in Table 6 (or even better, in a new table in Section 11.1) indicating the "overall" Security strength, which would take into account the weakest element.” While I agree that this will be useful to a reader, I think that coming up with a single “overall security strength” for a composite will be difficult. For example, are you considering before or after your adversary has a CRQC? Perhaps the best we could do is to have two columns for “Classical security” and “PQ Security” and list different numbers in each column. Is this worth doing? Tracked in github: <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-sigs/issues/29__;!!FJ-Y8qCqXTj2!YaYM8QGNiQXGJn3-TbwQK0cqF8rpyuTHoa2mjxKoB7BGqSgfdYfaPtEeTKD51I3ZDN7kZ2EM_qRVutoXW8XJ1DL5pOcdZOv43v_1$> https://github.com/lamps-wg/draft-composite-sigs/issues/29 --- Mike Ounsworth From: Piotr Popis < <mailto:piotr.popis=40enigma.com.pl@dmarc.ietf.org> piotr.popis=40enigma.com.pl@dmarc.ietf.org> Sent: Friday, August 2, 2024 4:03 AM To: 'John Gray' < <mailto:John.Gray=40entrust.com@dmarc.ietf.org> John.Gray=40entrust.com@dmarc.ietf.org>; <mailto:spasm@ietf.org> spasm@ietf.org Subject: [EXTERNAL] [lamps] Responding to ISSUE #5 Hi All My suggestion is to drop the RSA key size from the OID at all. However, if the group decided otherwise, that's not a problem for me. But in such a case, I recommend that the relevant cryptographic compositions be as close as possible Hi All My suggestion is to drop the RSA key size from the OID at all. However, if the group decided otherwise, that's not a problem for me. But in such a case, I recommend that the relevant cryptographic compositions be as close as possible to NIST Security strength/Security Category. For example, as suggested by Mike, RSA 4096 we should pair it with the same cipher suites as the RSA-3072 combo. In addition, it might be appropriate to add a column, for example, in Table 6 (or even better, in a new table in Section 11.1) indicating the "overall" Security strength, which would take into account the weakest element. ---- Piotr Popis From: John Gray < <mailto:John.Gray=40entrust.com@dmarc.ietf.org> John.Gray=40entrust.com@dmarc.ietf.org> Sent: Thursday, August 1, 2024 11:41 PM To: <mailto:spasm@ietf.org> spasm@ietf.org Subject: [lamps] Composite Signatures and KEM open issues that need feedback Hello Lamps. Thanks for the feedback at IETF 120 for composite signatures and composite KEMs. We the authors have compiled together all the currently open questions about composites into one email (sorry it is so long). Feedback on-list is great. Discussion directly on the linked github issue is better. If you’re going to comment on the mailing list. Please carefully tag which issue you are discussing so that it stays somewhat orderly … “Responding to ISSUE #3”. Open Questions on Composite Signatures: ISSUE #1 (Github issue: <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-sigs/issues/9__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmYPi07FMA$> https://github.com/lamps-wg/draft-composite-sigs/issues/9) The ML-DSA public key should be an unwrapped BIT STRING with no ASN.1 type around them. Currently the ML-DSA draft draft-ietf-lamps-dilithium-certificates uses this: pk-MLDSA PUBLIC-KEY ::= { IDENTIFIER id-MLDSA -- KEY no ASN.1 wrapping -- PARAMS ARE absent CERT-KEY-USAGE { nonRepudiation, digitalSignature, keyCertSign, cRLSign } --- PRIVATE-KEY no ASN.1 wrapping -- } We could try using something like an ENCODED BY id-rawkey as in: id-raw-key ::= SOME OBJECT IDENTIFIER pk-CompositeSignature {OBJECT IDENTIFIER:id, FirstPublicKeyType,SecondPublicKeyType } PUBLIC-KEY ::= { IDENTIFIER id KEY SEQUENCE { firstPublicKey BIT STRING (CONTAINING FirstPublicKeyType | ENCODED BY id-raw-key), secondPublicKey BIT STRING (CONTAINING SecondPublicKeyType | ENCODED BY id-raw-key) } PARAMS ARE absent CERT-KEY-USAGE { digitalSignature, nonRepudiation, keyCertSign, cRLSign} } Or just have some text that explains the BIT STRING is a raw key without the extra ASN.1 type wrapping. Does the working group have a preference on this matter? The authors think adding some explanatory text should be sufficient. ISSUE #2 (Github Issue: <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-sigs/issues/19__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmaZiH08cw$> https://github.com/lamps-wg/draft-composite-sigs/issues/19) Do we make the Domain separator Hash (DER (OID)) instead of just DER(OID)? The one advantage is we end up with a fixed length Domain separator. The authors don’t think this is required, but are willing to make the change if the working group would like to see this done. ISSUE #3 (Github issue: <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-sigs/issues/6__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmZgDz_4qQ$> https://github.com/lamps-wg/draft-composite-sigs/issues/6) Should we consider compacting the CompositeSignaturePrivateKey format? For example, today it is: CompositeSignaturePrivateKey ::= SEQUENCE SIZE (2) OF OneAsymmetricKey We could compact it to: CompositeSignaturePrivateKey ::= SEQUENCE SIZE (2) OF OCTET STRING Then implementations would need to recompose the OneAsymmetricKey using the combination of settings give by the OID. This removes the redundant information from the CompositeSignaturePrivateKey because it is now carried in the OID representation itself. The authors don’t have strong opinion on whether this should be changed. The two benefits: Smaller private keys (maybe a couple percent) Aligns with the compact format used in the public key. 3. It makes it a bit more difficult for implementors (but not too much). --------- Open Issues affect both Composite Signatures and Composite KEM: ISSUE #4 Timing. Does LAMPS have an official or unofficial milestone for publishing? Answer could be different for KEMs and Sigs. Obviously, there’s going to be a flurry of PQC drafts from LAMPS and others once FIPS 203, 204, 205 are out. Are we trying to get these into that wave, or not? In particular, should we wait X years for CFRG to finish their KEM Combiners activity, or should we publish this and fix it later if we need to? (The authors and the general feel at LAMPS 120 was to publish-now-fix-later). ISSUE #5 (Github issues: <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-kem/issues/37__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmYIjqiuAg$> https://github.com/lamps-wg/draft-composite-kem/issues/37 <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-sigs/issues/24__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmZOtTBM-Q$> https://github.com/lamps-wg/draft-composite-sigs/issues/24 <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-sigs/issues/23__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmZJ8ofuUw$> https://github.com/lamps-wg/draft-composite-sigs/issues/23 Should the RSA key size be specified by the OID, or left free? Related sub question: if specified, which RSA key sizes should we support? Currently we have {2048, 3072}, but we’ve been asked by an implementer to add 4096. Should it then be {2048, 4096}? Jan is advocating for having all three RSA sizes. Arguments for removing the key size restriction: it completely avoids that related sub question. Arguments against: we probably should provide guidance on how to pair RSA key sizes with the ML-KEM and KDF parameter. Removing the RSA key size does not shorten the current list; you need a minimum of 4 RSA combos to hit: MLDSA44+PSS, MLDSA44+PKCS1, MLDSA65+PSS, MLDSA65+PKCS1, and the equivalents on the KEM side. Reminder: having both L1/2, and L3 with RSA is sort of about matching security levels (although we would be quite happy to call all levels of RSA “NIST PQC L1”), but it’s more about people trying to add PQ to an RSA deployment and they only want to implement one size of ML-*. Maybe this is a weak argument? But then if we only go with one PQ level, then which ML-DSA and which ML-KEM is “the one”? For signature the authors are intending to add two new combinations with RSA 4096. We suggest: id-MLDSA65-RSA4096-PSS-SHA512 id-MLDSA65-RSA4096-PKCS15-SHA512 For KEM we are intended to add id-MLKEM512-RSA4096 ----------- Open Issues affecting Composite KEM ISSUE #6 (Github: <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-kem/issues/40__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmZEJCYVSQ$> https://github.com/lamps-wg/draft-composite-kem/issues/40) Combiner construction. We’re on-path to align with OpenPGP and X-Wing. We greatly appreciate the interaction with Quynh Dang to make sure this is FIPS-compliant. Sorry for the confusing notation on the slides and in draft-04. The intention is to get as close to the OpenPGP construction as we can, which is: SHA3-*( mlkemSS || tradSS || tradCT || tradPK || domSep ) Note: X-wing puts its spaceship ascii art domain separator first, which we believe will not pass SP800.56Cr2; We believe it has to be at the end to fit 56Cr2’s FixedInfo. The authors will work with the authors of draft-openpgp-pqc, X-Wing, and the forthcoming KEM Combiners draft at CFRG to align hopefully to the point of binary compatibility. I don’t think we actually need any WG feedback, unless there are objections. <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-kem/issues/40__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmZEJCYVSQ$> https://github.com/lamps-wg/draft-composite-kem/issues/40 <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-kem/issues/45__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmawI8QXbA$> https://github.com/lamps-wg/draft-composite-kem/issues/45 ISSUE #7 (Github: <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-kem/issues/54__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmZqgIhVvw$> https://github.com/lamps-wg/draft-composite-kem/issues/54) For a security proof of the ML-KEM + ECDH combos, we can point to the X-Wing paper. We should have a similar proof for the RSA-OAEP combos. Not sure how to go about attracting someone to help with this, or if we should attempt proof-writing ourselves. ISSUE #8 (Github: <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-kem/issues/52__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmYPtzonQQ$> https://github.com/lamps-wg/draft-composite-kem/issues/52) KEM domain separators. Currently we are using DER(OID) as the domain separator. We think it is desirable that a shared secret derived for CMS cannot be swapped into, for example, an OpenPGP or HPKE context. But maybe that does not need to be handled at the KEM algorithm level, maybe it is already handled at the protocol level (CMS KEMRI, for example), and so we should align on domain separators with OpenPGP? For X-Wing in particular, for that one we could take the “\.//^\”, but as mentioned above, that wouldn’t give binary compatability anyway since they put it at the beginning, and we have to put it at the end for FIPS reasons. Do we want binary compatibility with OpenPGP KEM and XWing. If this is true then shouldn’t we have one composite KEM primitive draft, and then drafts that specify usage in OpenPGP and CMS. We also need to think about the encoding of the public key. ISSUE #9 (Github: <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-kem/issues/48__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmbTfMJ7xA$> https://github.com/lamps-wg/draft-composite-kem/issues/48) The term “DHKEM” and “RSAOAEPKEM”. Are those registered and already used? In particular, does RFC 9180 have a monopoly on the term “DHKEM”? If so, the authors are happy to take suggestions for what to call our abstract pseudocode in 2.3.3. <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-kem/issues/48__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmbTfMJ7xA$> https://github.com/lamps-wg/draft-composite-kem/issues/48. Are we worried about name collisions of Pseudo code in RFC’s. What do we rename it to? ISSUE #10 (Github: <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-kem/issues/50__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmbzKCrDyw$> https://github.com/lamps-wg/draft-composite-kem/issues/50 <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-kem/issues/49__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmYTa0CmGw$> https://github.com/lamps-wg/draft-composite-kem/issues/49) Binding public keys in the KDF. Basically, CMS is used by a lot of embedded and hardware things – a smartcard applet that decrypts S/MIME is an example here. It’s never been true in the past that the device needs the public key in order to do a decryption. Are we asking for trouble if we suddenly make that a requirement of the RSA / ECC side of the hybrid? Note that we only need it at the combiner level, not inside the RSA / ECC decryption routine, which remains unmodified. The authors vote is that this is an ok thing to prescribe, but: 1) We are not embedded hardware vendors, and 2) we’ve been asking this question for a while and have received zero community feedback on it. If we think this is needed in composite, it will have to added. As an example, in <https://urldefense.com/v3/__https:/docs.oracle.com/javacard/3.0.5/api/javacard/security/ECPrivateKey.html__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmZPOkjhhA$> https://docs.oracle.com/javacard/3.0.5/api/javacard/security/ECPrivateKey.html does not contain the public key. ISSUE #11 (Github: <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-kem/issues/51__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmaztQipkQ$> https://github.com/lamps-wg/draft-composite-kem/issues/51) KDF = SHA3 … what about SHA2. This question should probably have the same answer as Dan van Geest’s related question about draft-cms-kyber. The argument for is that even though ML-KEM needs SHA3 internally, this may not always be available to the layer of code doing the combiner, or the CMS EnvelopedData. Just a note, because the KDF is part of the composite OID, adding HKDF-SHA2 will 2x the size of the list. If the WG wants us to do this, great, but please don’t complain at us about the size of the list. The authors suggest, rather than 2x'ing the whole list, we do the following: All RSA combinations use HKDF-SHA2. Each of the P256 and brainpoolP256 combinations are offered with both SHA3 (to align with X-Wing), and HKDF-SHA2. The new list would then be: | Composite KEM | KDF | |--------- | -------- | | id-MLKEM512-ECDH-P256 | SHA3-256 | | id-MLKEM512-ECDH-P256 | HKDF-SHA2 | | id-MLKEM512-ECDH-brainpoolP256r1 | SHA3-256 | | id-MLKEM512-ECDH-brainpoolP256r1 | HKDF-SHA2 | | id-MLKEM512-X25519 | SHA3-256 | | id-MLKEM512-RSA2048 | HKDF-SHA2 | | id-MLKEM512-RSA3072 | HKDF-SHA2 | | id-MLKEM512-RSA4096 | HKDF-SHA2 | | id-MLKEM768-ECDH-P256 | SHA3-384 | | id-MLKEM768-ECDH-P256 | HKDF-SHA2 | | id-MLKEM768-ECDH-brainpoolP256r1 | SHA3-384 | | id-MLKEM768-ECDH-brainpoolP256r1 | HKDF-SHA2 | | id-MLKEM768-X25519 | SHA3-384 | | id-MLKEM1024-ECDH-P384 | SHA3-512 | | id-MLKEM1024-ECDH-brainpoolP384r1 | SHA3-512 | | id-MLKEM1024-X448 | SHA3-512 | {: #tab-kem-algs title="Composite KEM key types"} ISSUE #12 (Github: <https://urldefense.com/v3/__https:/github.com/lamps-wg/draft-composite-kem/issues/47__;!!FJ-Y8qCqXTj2!dMdIjqsPL1q3R2Id8EA2I0a_P18dTjGENAIIStUQ4WelWt7GEPdO57e9P4Btj9-PJv_2_aYSyGnK15TQWrjHqIe_su2kRiy8HmZqOxcd6Q$> https://github.com/lamps-wg/draft-composite-kem/issues/47) Should we remove ML-KEM512 and only offer 768 and 1024? Thanks in advance for all your feedback to move these drafts forward, The Composite Signature and KEM authors Any email and files/attachments transmitted with it are intended solely for the use of the individual or entity to whom they are addressed. If this message has been sent to you in error, you must not copy, distribute or disclose of the information it contains. Please notify Entrust immediately and delete the message from your system.
- [lamps] Responding to ISSUE #5 Piotr Popis
- [lamps] Re: Responding to ISSUE #5 Carl Wallace
- [lamps] Re: [EXTERNAL] Responding to ISSUE #5 Mike Ounsworth
- [lamps] Re: [EXTERNAL] Responding to ISSUE #5 Tim Hollebeek
- [lamps] Re: [EXTERNAL] Responding to ISSUE #5 Tim Hollebeek
- [lamps] Re: [EXTERNAL] Responding to ISSUE #5 Mike Ounsworth
- [lamps] Re: [EXTERNAL] Responding to ISSUE #5 Mike Ounsworth
- [lamps] Re: [EXTERNAL] Responding to ISSUE #5 John Gray
- [lamps] Re: [EXTERNAL] Responding to ISSUE #5 Michael Richardson
- [lamps] Re: [EXTERNAL] Responding to ISSUE #5 Tim Hollebeek
- [lamps] Re: External email: RE: [EXTERNAL] Respon… Piotr Popis
- [lamps] Re: External email: RE: [EXTERNAL] Respon… Mike Ounsworth
- [lamps] Re: External email: RE: [EXTERNAL] Respon… Dang, Quynh H. (Fed)
- [lamps] Re: External email: RE: Re: External emai… Piotr Popis
- [lamps] Re: External email: RE: Re: External emai… Mike Ounsworth
- [lamps] Re: [EXT] Re: External email: RE: Re: Ext… Blumenthal, Uri - 0553 - MITLL
- [lamps] Re: [EXT] Re: External email: RE: Re: Ext… Mike Ounsworth
- [lamps] Re: [EXT] Re: External email: RE: Re: Ext… Piotr Popis
- [lamps] Re: [EXT] Re: External email: RE: Re: Ext… Mike Ounsworth
- [lamps] Re: [EXT] Re: External email: RE: Re: Ext… Piotr Popis
- [lamps] Re: [EXT] Re: External email: RE: Re: Ext… Phillip Hallam-Baker