[noise] NLS?

Alexey Ermishkin scratch.net at gmail.com
Sun Mar 18 20:41:33 PDT 2018


Thanks Gerardo! 
I haven't set a license yet because it's an early stage but you can sure make a PR.

As for XXfallback, the spec is correct. se or es depends on direction ( see WriteMessage and ReadMessage in section 5.3)


-----Original Message-----
From: Gerardo Di Giacomo <gedigi at live.com> 
Sent: Monday, March 19, 2018 6:04 AM
To: Alexey Ermishkin <scratch.net at gmail.com>
Cc: Trevor Perrin <trevp at trevp.net>; noise <noise at moderncrypto.org>
Subject: Re: [noise] NLS?

Alexey,

I’ve been extending your implementation of go-noisesocket to include the Lingo negotiation layer, I haven’t seen any license for that library soI hope it’s ok for you. I have a working version of Accept + Switch/fallback + Reject. I only have to implement the Retry mechanism. I will publish what I have as soon as I clean up the code a little bit.

Trevor,

While I was implementing XXfallback I noticed that the Noise spec needs to be fixed. Right now, in the Noise Pipes section of the spec, the pattern for XXfallback is:

XXfallback(e, s, rs):               
  -> e
  ...
  <- e, ee, s, es
  -> s, se

But it should be

XXfallback(e, s, rs):                   
  -> e
  ...
  <- e, ee, s, se
  -> s, es


Thanks, Gerardo


> On Mar 14, 2018, at 12:28 PM, Alexey Ermishkin <scratch.net at gmail.com> wrote:
> 
> Hi Trevor, thanks for the update.
> The new spec looks promising, however it probably needs a better visual mapping of NLS objects to Noise messages (noise messages aren't enumerated) so that it would be clearer which message is sent when and when one should put an evidence into the payload.
> 
> Otherwise thanks a lot for the spec, I'm going to update the NoiseSocket.com and github accordingly. 
> 
> As for the news, we are aiming to put Noise* (asterisk is for "family" 
> of Nosie entities) into a real commercial product in the nearest 
> future. Stay tuned
> 
> -----Original Message-----
> From: Noise <noise-bounces at moderncrypto.org> On Behalf Of Trevor 
> Perrin
> Sent: Monday, March 5, 2018 11:49 AM
> To: noise <noise at moderncrypto.org>
> Subject: [noise] NLS?
> 
> Hi all,
> 
> I've created a draft spec for an "NLS" framework that adds a negotiation language ("NoiseLingo") on top of NoiseSocket (hence "NoiseLingoSocket").  This is based on ideas from [1].
> 
> This needs a tweaked NoiseSocket draft, with modifications from [2] (renaming a couple things, and changing the prologue calculation to differentiate the "retry" case, and to add an application prologue):
> 
> https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2Fnoiseprotocol%2Fnls_spec%2Fblob%2Fmaster%2Foutput%2Fnls.pdf&d
> ata=02%7C01%7C%7C5bf19e4d7754403f2e2208d589e1c324%7C84df9e7fe9f640afb4
> 35aaaaaaaaaaaa%7C1%7C0%7C636566525083159738&sdata=iKZ%2Br3HOuVm9A2cZ4I
> sGIQ3l%2FXbVLGajReRi7%2FM4zTQ%3D&reserved=0
> https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2Fnoiseprotocol%2Fnoisesocket_spec%2Fblob%2Fmaster%2Foutput%2Fn
> oisesocket.pdf&data=02%7C01%7C%7C5bf19e4d7754403f2e2208d589e1c324%7C84
> df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636566525083159738&sdata=eZEQ
> jSwwVNbffP05dPGP0ZAt5IO9msuhErblFmo8dGk%3D&reserved=0
> 
> 
> The NLS draft also defines some "basic profiles", which are intended as high-level protocols usable by application developers:
>  - NoiseLink  (1-RTT handshake)
>  - NoiseZeroLink  (0-RTT handshake)
>  - NoiseShortLink  (for low-end embedded)
>  - NoiseAnonBox  (public-key encryption)
>  - NoseAuthBox  (public-key encryption + sender auth)
> 
> The idea is that NoiseLingo and NLS give you a menu of negotiation fields that are easy to choose from to create profiles.  Also, these profiles will have a lot of similarity and thus potential for interop (e.g. a NoiseZeroLink client can talk to a NoiseLink server, by falling back to 1-RTT).  And if you start with something simple like NoiseLink, it's easy to add new NLS fields and negotiation options as you discover new needs.
> 
> Anyways, let me know what you think!
> 
> 
> Trevor
> 
> [1] 
> https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmode
> rncrypto.org%2Fmail-archive%2Fnoise%2F2018%2F001473.html&data=02%7C01%
> 7C%7C5bf19e4d7754403f2e2208d589e1c324%7C84df9e7fe9f640afb435aaaaaaaaaa
> aa%7C1%7C0%7C636566525083159738&sdata=lNKFG6va0KbHNz%2BuIxUxcYv0WUvLuV
> FyZ3cGuRp23Nc%3D&reserved=0 [2] 
> https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmode
> rncrypto.org%2Fmail-archive%2Fnoise%2F2017%2F001274.html&data=02%7C01%
> 7C%7C5bf19e4d7754403f2e2208d589e1c324%7C84df9e7fe9f640afb435aaaaaaaaaa
> aa%7C1%7C0%7C636566525083159738&sdata=VG%2Fzn4EEqQ144FZRVNqRvF9N4NIPOR
> 1bSGjT%2FLYwKHs%3D&reserved=0 
> _______________________________________________
> Noise mailing list
> Noise at moderncrypto.org
> https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmode
> rncrypto.org%2Fmailman%2Flistinfo%2Fnoise&data=02%7C01%7C%7C5bf19e4d77
> 54403f2e2208d589e1c324%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63
> 6566525083159738&sdata=KQQyd7uDeQ71shjBwaj6P37cXz9IilXRNC5vecvoEJM%3D&
> reserved=0
> 
> _______________________________________________
> Noise mailing list
> Noise at moderncrypto.org
> https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmode
> rncrypto.org%2Fmailman%2Flistinfo%2Fnoise&data=02%7C01%7C%7C5bf19e4d77
> 54403f2e2208d589e1c324%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63
> 6566525083159738&sdata=KQQyd7uDeQ71shjBwaj6P37cXz9IilXRNC5vecvoEJM%3D&
> reserved=0




More information about the Noise mailing list