Skip to content

Commit

Permalink
Script updating archive at 2024-09-22T00:53:27Z. [ci skip]
Browse files Browse the repository at this point in the history
  • Loading branch information
ID Bot committed Sep 22, 2024
1 parent 4650b0e commit b005add
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions archive.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"magic": "E!vIA5L86J2I",
"timestamp": "2024-09-19T00:47:53.906968+00:00",
"timestamp": "2024-09-22T00:53:24.724439+00:00",
"repo": "lamps-wg/draft-composite-sigs",
"labels": [
{
Expand Down Expand Up @@ -828,7 +828,7 @@
"labels": [],
"body": "ML-DSA has a 'context string' as an input; the idea is to allow the capability to bind a signature to a specific context.\r\n\r\nShould we specify that, when we implement ML-DSA within a composite signature, that we have a nonempty context?\r\n\r\nIf the verifier will never accept a signature signed by a specific ML-DSA key except as part of a composite signature, we don't gain anything. However, it might be a helpful 'belt-and-suspenders' if some application would happen to reuse the ML-DSA public key.\r\n\r\nIf we do have a nonempty context string, what should it be:\r\n- Should it be the OID for the composite (so that the signature can be used only as a part of that specific combination)\r\n- Should it be the hash of the composite public key (so that we're safe even if some fool changes the other components)\r\n\r\nThoughts?",
"createdAt": "2024-08-28T14:51:26Z",
"updatedAt": "2024-08-29T20:23:32Z",
"updatedAt": "2024-09-19T10:03:52Z",
"closedAt": null,
"comments": [
{
Expand All @@ -837,6 +837,20 @@
"body": "Discussion between John, Felipe, and myself. \r\nDecision is to change one sentence is the draft:\r\n\r\nOLD:\r\n```\r\n2. Generate the 2 component signatures independently, by calculating the signature over M'\r\n according to their algorithm specifications that might involve the use of the hash-n-sign paradigm.\r\n\r\n S1 := Sign( K1, A1, M' )\r\n S2 := Sign( K2, A2, M' )\r\n```\r\n\r\nNEW:\r\n```\r\n2. Generate the 2 component signatures independently, by calculating the signature over M'\r\n according to their algorithm specifications that might involve the use of the hash-n-sign paradigm.\r\n\r\n S1 := ML-DSA.Sign( K1, A1, M', ctx=\"\" )\r\n S2 := TradSign( K2, A2, M' )\r\n\r\nSince Composite ML-DSA incorporates the domain separator into a pre-hash, which serves theh same purpose as the ML-DSA context string, the ML-DSA context string is left empty.\r\n```",
"createdAt": "2024-08-29T20:23:31Z",
"updatedAt": "2024-08-29T20:23:31Z"
},
{
"author": "falko-strenzke",
"authorAssociation": "NONE",
"body": "> If we do have a nonempty context string, what should it be:\r\n> \r\n> * Should it be the OID for the composite (so that the signature can be used only as a part of that specific combination)\r\n> \r\n> * Should it be the hash of the composite public key (so that we're safe even if some fool changes the other components)\r\n\r\nI am in favor of using the context parameter to enhance the security of the protocol. This means we should fix the signature algorithm (as Scott suggests above), thus also preventing signature stripping attacks that leave the signature of a component algorithms that has the context parameter. I am also in favor of using the context parameter to signal whether a CMS signature was generated with or without SignedAttributes. Currently, the ambiguity with respect to the presence of the SignedAttributes leads to a trivial signature forgery (https://eprint.iacr.org/2023/1801.pdf \u2013 sorry if it seems that I am promoting my work here; that is not the case; I wrote this only to have a reference for something that is probably known to some but everyone). This will improve the security of CMS in course of the PQC transition.\r\n\r\nClearly this measure should not only be restricted to composite signatures, but should be specified for all CMS signatures.\r\n\r\nI also suggest to use approach with for EdDSA in the new composites, and possibly even to add new versions of standalone EdDSA which make use of this feature.",
"createdAt": "2024-09-19T09:57:08Z",
"updatedAt": "2024-09-19T09:57:08Z"
},
{
"author": "falko-strenzke",
"authorAssociation": "NONE",
"body": "> Since Composite ML-DSA incorporates the domain separator into a pre-hash, which serves theh same purpose as the ML-DSA context string, the ML-DSA context string is left empty.\r\n\r\nI don't agree to that: The way the domain separator is specified, it doesn't prevent signature stripping attacks, but it transforms a signature stripping attack for the message M to one for the message M'. This clearly implies an existential signature forgery, a fundamental weakening of the protocol. If using the context parameter (additionally or as a replacement for the current combiner) we achieve a profound\u207a means of preventing signature stripping attacks at least for those signature schemes that do offer a context parameter \u2013 namely EdDSA and all the new PQC schemes.\r\n\r\n\u207a profound in the sense of not introducing existential signature forgeries",
"createdAt": "2024-09-19T10:03:51Z",
"updatedAt": "2024-09-19T10:03:51Z"
}
]
},
Expand Down

0 comments on commit b005add

Please sign in to comment.