Home / The record / The general model
5.3.5
EdDSA verification has its own clause
The verification subclause gains a pointer: for EdDSA the verification mechanism is in 6.13. That is a routing instruction. A verifier that runs the generic recompute path for every mechanism will miss the decoding and range checks that EdDSA requires before the group equation.
- What it asks
- Route EdDSA verification to its own clause in the verifier dispatch, and confirm with a test that presents an EdDSA signature. The test exists so that the generic path cannot silently accept a signature that the EdDSA rules would reject.
- What the amendment does
- Adds a sentence at the end of 5.3.5. So this is new text rather than a change to wording.
- Who it binds
- The verifier owner and the test owner.
- Evidence an auditor samples
- The verifier dispatch table, one row per mechanism and its clause (design note)
- The negative tests that present malformed EdDSA input (test suite)
- The interoperation record with a counterparty verifier (integration report)
- The test you can run
- Present a signature with a corrupted encoding and one with an out of range value. If either is accepted, the generic path is still answering for EdDSA.
- Common failures
- The dispatch is added but no negative test proves it is used.
- A library routes internally, and the estate assumes that removes the need to test.
- How to close it
- A routing change is a security change. Name the clause in the dispatch table, add the two negative cases, and keep the test next to the code so that a library upgrade cannot quietly change the answer. Start with the verifier dispatch table, one row per mechanism and its clause and let the row close when it exists with a date and a named holder.
- Where it sits against the base standard
- The base standard does not carry this text. The amendment adds it, so an estate working from the 2018 edition alone will not find it. The citation has to name the amendment, and the record for 5.3.5 is the only place a reader can see it.