[noise] Test Vector Specification

Trevor Perrin trevp at trevp.net
Fri Nov 17 19:58:04 PST 2017


On Thu, Nov 16, 2017 at 12:52 AM, Alex <alex at centromere.net> wrote:
> Hi all,
>
> I've formatted the test vector spec (originally on the wiki[0])
> according to Trevor's spectemplate. It's currently available[1] on my
> personal github account
>
> [1] https://github.com/centromere/test-vector-spec

Thanks Alex!,

Process comments:

 - Can you check in the "output" directory and contents, that makes it
easy to view the PDF from Github.

 - Can you change the status to "unofficial"? - I can make it
"official" later, when we "officially" change its status.


Substantive comments:

 - The "hybrid" field seems leftover from before we were expressing
the full pattern in "protocol_name".  It seems like "hybrid" could be
deleted entirely from this doc.

 - The responder fields ("resp_ephemeral", "resp_prologue", etc) are
optional for one-way handshakes, I think?

 - Should the prologue fields be optional in all cases (default to
empty / zero-length)?

 - Should "fail" be attached to a specific message, rather than the
protocol run as whole?

 - We could also describe optional failure cases attached to messages,
e.g. invalid_public_key = true, in which case the implementation is
allowed to reject the message, or continue processing.

 - The fallback testing is specific to the XX/IK "pipes" concept, but
as we consider other "compound" protocols this will probably become
inadequate, and we will need something more general.  Maybe it would
be best just to allow [init|resp]_remote_ephemeral so that fallback
patterns could be tested directly for now, and we can think more about
"compound" test vectors later?

Trevor


More information about the Noise mailing list