[noise] Protocol Names

Alex alex at centromere.net
Tue May 30 05:09:05 PDT 2017

On Tue, 30 May 2017 05:23:42 +0000
Trevor Perrin <trevp at trevp.net> wrote:

> Here are some benefits to having a single representation for a Noise
> protocol, instead of two:
>  * We don't have to maintain two grammars, one for JSON and one for
> protocol names.  For example, consider the current JSON for test
> vectors:
> https://github.com/noiseprotocol/noise_wiki/wiki/Test-vectors
> We'd have to extend this for additional modifiers, e.g. for "noidh",
> or "sig", and depending on how we do that, the library might have to
> figure out the order of modifiers itself.
> That seems like a lot of redundant specification effort, considering
> we're encoding this information unambiguously in the protocol name.

The handshake pattern naming scheme as defined is not capable of
expressing perfectly valid patterns like the following:

Noise_???(s, rs):
   <- s
   -> e, es, s, ss
   <- e, psk, ee, se

>  * Focusing on the protocol name I think would encourage an ecosystem
> of interoperable tools (like code generators, test generators,
> security analyzers), since people would be steered towards a single
> format for describing Noise protocols, instead of having to convert
> between multiple formats.

I too would like to see an ecosystem of interoperable tools, however
the usefulness of these tools is limited inherently by the
expressiveness of the pattern naming scheme.


More information about the Noise mailing list