[noise] Test Vector Specification
alex at centromere.net
Tue Nov 21 03:59:34 PST 2017
On Tue, 21 Nov 2017 10:57:57 +0000
David Wong <davidwong.crypto at gmail.com> wrote:
> If this is test vector feedback time. I think:
> * it should be mentioned somewhere that messages are alternating. It
> took me a really long time to find out this one.
This has always been explicitly stated:
"The messages array describes a conversation alternating between the
initiator and responder, starting with the initiator. No distinction is
made between when the handshake begins and when it is complete. For
example, if a handshake pattern has three messages in it, the responder
will send the first non-handshake Noise message. For one-way patterns
the messages simply flow from the initiator to the responder."
> * there are a lot of redundant fields. For example initPsks and
> respPsks are going to be the same, initPrologue and respPrologue are
> going to be the same, etc...
These are not redundant. In addition to testing for success, I also
want to test for failure. For example, if I specify a different prologue
for the initiator and responder and set the `fail` key to `true`, the
test suite should ensure that the handshake does indeed fail. If the
handshake succeeds, then something terrible has happened.
More information about the Noise