[noise] Transport protocol spec finalizing

Alexey Ermishkin scratch.net at gmail.com
Tue Jul 18 05:02:34 PDT 2017

So, the draft is here:

Comments are very welcome.

-----Original Message-----
From: Trevor Perrin [mailto:trevp at trevp.net] 
Sent: Friday, July 14, 2017 10:46 PM
To: Alexey Ermishkin <scratch.net at gmail.com>
Cc: noise <noise at moderncrypto.org>
Subject: Re: [noise] Transport protocol spec finalizing

On Fri, Jul 14, 2017 at 8:56 AM, Alexey Ermishkin <scratch.net at gmail.com> wrote:
> Yep, totally agree

Cool, this is getting nice and simple.

It seems like we're ending up with a "NoiseSocket" (or whatever) that just adds a simple negotiation and padding framework, where a higher-layer protocol is going to fill these in by choosing:
 * Encoding for payloads and negotiation_data (eg protobufs)
 * Noise patterns (eg XX)
 * Versioning (eg maxVersion+minVersion; different enumerated fields; centralized registry versus application-specific)
 * Authentication (e.g. certificates)

I wonder if the NoiseSocket API should also be more generic?  E.g., maybe it should just use functions like ReadHandshakeMessage / WriteHandshakeMessage.  It would be for the higher-layer protocol and API to assign more specific meanings (ClientHello, ServerAuth, ClientAuth)?


More information about the Noise mailing list