Home / The record / EdDSA, the new clause
6.13.5.3
The verifier splits the message the same way
The verifier retrieves the message from the signed message and divides it into two parts so that the second is empty and the first holds the whole message. It mirrors the signing step, and it is the step where a protocol that frames the message differently produces a signature that verifies nowhere else.
- What it asks
- Split the message exactly as the signer did, with the second part empty. Test a message that spans more than one hash block, and test a message that arrives through a framing layer which could add or strip a length prefix.
- What the amendment does
- Inserts 6.13.5.3. So this is new text rather than a change to wording.
- Who it binds
- The verifier owner and the protocol owner.
- Evidence an auditor samples
- The message split rule in the interface specification (interface specification)
- The multi-block message test (test suite)
- The framing test that shows no length prefix is added (test suite)
- The test you can run
- Verify a message produced by a second implementation and one produced locally. If the second fails, the split or the framing differs.
- Common failures
- The framing layer adds a length prefix that the signer did not include.
- The verifier hashes the message before splitting it.
- How to close it
- Framing is where interoperation fails. Compare the bytes on the wire against the bytes the signer hashed for one message, and keep that comparison as a fixture for later library upgrades. Put the message split rule in the interface specification in the register first, then work down the evidence list until every line has a date.
- 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 6.13.5.3 is the only place a reader can see it.