--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
To view this discussion on the web visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/5a3c46a7-a584-4dc5-ae9a-d1c8d0059782%40nist.gov.
To view this discussion on the web visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/CAN8C-_%2BAtNQPwobORKSyBEoaCgYgCwo6%3Dkx0XBqwfj_Piz1F-Q%40mail.gmail.com.
We support storing the algorithm alongside the key material in JOSE / JOSE key representations for SLH-DSA and ML-DSA:
https://datatracker.ietf.org/doc/html/draft-ietf-cose-dilithium-03#name-key-pair
{
"kty": "ML-DSA",
"alg": "ML-DSA-44",
"pub": "V53SIdVF...uvw2nuCQ",
"priv": "V53SIdVF...cDKLbsBY"
}
https://datatracker.ietf.org/doc/html/draft-ietf-cose-sphincs-plus-04#name-key-pair
{
"kty": "SLH-DSA",
"alg": "SLH-DSA-SHA2-128s",
"pub": "V53SIdVF...uvw2nuCQ",
"priv": "V53SIdVF...cDKLbsBY"
}
I'd consider it a mistake to change the algorithm from ML-DSA-44 to ML-DSA-44-PH-SHA-256 at any time in the cryptoperiod for the key... in the context of JOSE or COSE.
Sadly JOSE and COSE say that the algorithm that a key is used with is optional... and key expressions are not integrity protected.
We can't change JOSE and COSE now, but we can make sure that the same key is not encouraged to be used with multiple algorithms.
Is there a specific security concern with using the same private key to sign both pure and prehashed messages? Does the same concern also apply to using the same private key with different contexts (where ‘context’ is the extra input added to the FIPS 204, 205 sign and verify APIs)?
Or, is it an artifact of how JOSE and COSE decided to implement things?
Orl 9From: pqc-...@list.nist.gov <pqc-...@list.nist.gov>
On Behalf Of Orie Steele
Sent: Tuesday, August 20, 2024 2:27 PM
To: David A. Cooper <david....@nist.gov>
Cc: pqc-forum <pqc-...@list.nist.gov>
Subject: Re: [pqc-forum] OIDs for ML-KEM and "pure" signatures
I prefer algorithms that satisfy the following interface, and for the same key to never be used for multiple algorithms.
keyGen(alg) -> publicKey, privateKey
sign(alg, privateKey, message) -> Signature
verify(alg, publicKey) -> message
Verify( alg, publicKey, message, alleged_signature ) -> boolean
To view this discussion on the web visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/CAN8C-_%2BAtNQPwobORKSyBEoaCgYgCwo6%3Dkx0XBqwfj_Piz1F-Q%40mail.gmail.com.
David:
I would hope that a CA would not need pre-hash to sign CRLs. One can CRL Distribution Points to make sure that a CRL cannot grow to the point that pre-hash is needed. Since everyone will need to make new trust anchors for the new PQC algorithms, this mechanism can be deployed throughout the new PKI.
That said, given the domain separation that has been specified, I cannot see how using the same private key with both pure and pre-hash can lead to compromise.
Russ
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
To view this discussion on the web visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/486B4921-97BC-4F59-AF32-88F9928AB844%40vigilsec.com.
To view this discussion on the web visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/SN7PR14MB6492F291D44B7E840E3C7AA1838E2%40SN7PR14MB6492.namprd14.prod.outlook.com.
There would be no "way to restrict a cert to just Hash-ML-DSA" like there would be for JOSE and COSE.
To view this discussion on the web visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/SN7PR14MB6492F291D44B7E840E3C7AA1838E2%40SN7PR14MB6492.namprd14.prod.outlook.com.
To be clear, my position remains "don't use a public key for multiple algorithms".
Scott,
My personal opinion is that there’s a fair amount of overkill being blown around here.
The definition of Existential Unforgeability (EUF) is (according to Wikipedia): “EUF is the creation (by an adversary) of at least one message/signature pair, (m, \sigma), where m has never been signed by the legitimate signer”. So using the same key for pure and pre-hash violates EUF because if you do a pure signature of a message that happens to be the right length to be a SHA-x hash value, then you could present that (m, \sigma) as a valid pre-hashed message even though the signer never intended to sign the pre-image of that hash value. Or vice-versa where you take the hash value of a pre-hashed signature and present it as a plaintext pure-signed message.
I have my doubts about whether this attack is worth worrying about in practice since RSA and ECDSA have been working this way for decades and nobody is screaming about it. It seems to me that you either need to get incredibly lucky with the hash value just happening to have valid syntax and semantics for your protocol, or that you can invert the hash function and the pre-image turns out to be something useful. But I admit that binding the key to a mode does restore EUF security.
---
Mike Ounsworth
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
To view this discussion on the web visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/CAN8C-_%2BAtNQPwobORKSyBEoaCgYgCwo6%3Dkx0XBqwfj_Piz1F-Q%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
To view this discussion on the web visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/CH0PR11MB5444DDF73FC9B3F31487F522C18E2%40CH0PR11MB5444.namprd11.prod.outlook.com.
Actually, with the ‘pure’ and ‘prehash’ interfaces to ML-DSA (and SLH-DSA and presumably with the future FN-DSA), there is no EUF issue there. It exists only with classical signatures (and so if we have a composite classical/ML-DSA signature, it’s not there either, because of the ML-DSA part)
Ah. Right. FIPS 204 Algorithm 5: HashML-DSA binds a domain separator of the pre-hash alg used. Right, yes, I guess that addresses EUF. I have not yet fully digested the changes. Sorry.
---
Mike Ounsworth
From: 'Scott Fluhrer (sfluhrer)' via pqc-forum <pqc-...@list.nist.gov>
Sent: Thursday, August 22, 2024 11:09 AM
To: Mike Ounsworth <Mike.Ou...@entrust.com>; Orie Steele <or...@transmute.industries>; David A. Cooper <david....@nist.gov>
Cc: pqc-forum <pqc-...@list.nist.gov>
Subject: [EXTERNAL] RE: [pqc-forum] OIDs for ML-KEM and "pure" signatures
Actually, with the ‘pure’ and ‘prehash’ interfaces to ML-DSA (and SLH-DSA and presumably with the future FN-DSA), there is no EUF issue there. It exists only with classical signatures (and so if we have a composite classical/ML-DSA signature,
To view this discussion on the web visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/CH0PR11MB54447489C5780607B9DC635FC18F2%40CH0PR11MB5444.namprd11.prod.outlook.com.
--
You received this message because you are subscribed to the Google Groups "pqc-forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pqc-forum+...@list.nist.gov.
To view this discussion on the web visit https://groups.google.com/a/list.nist.gov/d/msgid/pqc-forum/486B4921-97BC-4F59-AF32-88F9928AB844%40vigilsec.com.
For Ed25519ph, phflag=1 and PH is SHA512 instead. That is, the input is hashed using SHA-512 before signing with Ed25519.
Ed448ph is the same but with PH being SHAKE256(x, 64) and phflag being 1, i.e., the input is hashed before signing with Ed448 with a hash constant modified.
ML-DSA allows any digest that satisfies the security level to be used:
In order to maintain the same level of security strength when the content is hashed at the application level or using HashML-DSA , the digest that is signed needs to be generated using an approved hash function or XOF (e.g., from FIPS 180 [8] or FIPS 202 [7]) that..
I believe that the ML-DSA scheme is better. Being told what pre hash to use is like not being able to choose the hash at all. And that is a right royal PITA for specs like mine where we are hashing content for multiple purposes.
Binding the signature to the OID of the digest like ML-DSA does is how we have always done it in RSA and given that we have yet to achieve widespread deployment of Ed25519 and Ed448, I think we should look at making that spec conformant with the ML-DSA approach.