Home / The record / Discrete logarithm mechanisms
6.3
The short exchange in a prime order group
The exchange is a commitment, a challenge and a response checked against the public value. Its security depends on the challenge being fresh and on the verifier recomputing the relation rather than comparing a value the claimant supplied.
- What it asks
- Record the exchange and the freshness source, and show the verifier recomputation step in the test. Test a replayed challenge, a response outside the group and a wrong public value, and keep the outputs with the release record.
- What the revision does
- The fourth edition will restate the exchange. The revised sequence is not in the public record. The 2009 wording is therefore superseded at publication.
- Who it binds
- The implementer and the tester who signs off the verifier.
- Evidence an auditor samples
- The exchange sequence and the freshness source (interface specification)
- The verifier recomputation step, with a code pointer (source repository)
- The three negative tests and their outputs (test report)
- The test you can run
- Replace the verifier recomputation with a constant and run the positive test. If it still passes, the test is not testing the verifier.
- Common failures
- The verifier compares a claimant supplied hash instead of recomputing.
- The challenge is reused within a session with no window.
- How to close it
- Mutate the verifier and confirm the tests fail. A test suite that passes when the check is removed is a demonstration of the test, not of the mechanism. Start with the exchange sequence and the freshness source and let the row close when it exists with a date and a named holder.
- Where it sits against the 2009 edition
- The 2009 edition carries 6.3, and the fourth edition replaces it. The public record does not give the new wording, so this page records the obligation that stands today and the question the revision has to answer.
For the file, this row closes when the exchange sequence and the freshness source exists with a date, a named holder and a pointer, and when the test above has been run and recorded. The implementer and the tester who signs off the verifier. owns that answer for 6.3.