[noise] Protocol Names

Alex alex at centromere.net
Fri May 26 12:11:03 PDT 2017

On Sat, 27 May 2017 02:50:33 +0800
Jake McGinty <me at jake.su> wrote:

> > On May 27, 2017, at 2:06 AM, Trevor Perrin <trevp at trevp.net> wrote:
> > 
> > I think (B) is the least attractive, since it complicates things to
> > have libraries applying a normalization algorithm, and the library
> > would have to know which modifiers commute.
> > 
> > I guess I'd lean towards (A) as a recommendation, or (C)?  
> I agree that there’s probably something that’s gone awry if a
> cryptographic library has to worry about alphabetic ordering.
> However, looking at other Noise implementations, many currently take
> in a set of enumerated protocol choices and *generate* a protocol
> name string from those choices, rather than taking a protocol name
> string and parsing them into enumerated choices and modifiers. So,
> some recommendation for normalizing the outputted protocol name may
> be important unless libraries all move toward taking a string as
> input.

cacophony takes a blind (uninspected/not acted upon) string as input.
The "Noise_" part is prepended and the cipher/curve/hash are appended.

What if we defined a JSON schema to encompass all possible handshake
parameters/choices? The test vector format[0] kind-of-sort-of does
this, and while it's specialized for testing, it seems like a good
starting point.


[0] https://github.com/noiseprotocol/noise_wiki/wiki/Test-vectors

More information about the Noise mailing list