[noise] NoiseSocket.NET

Gerardo Di Giacomo gedigi at live.com
Tue May 15 08:41:43 PDT 2018


Thanks Alexey, I have picked up your changes as well. Quick question, is there a specific reason why you didn't use pad() in handshake.go as well?

Nemanja, if you want to test the go implementation you can use noisesocat (https://github.com/gedigi/noisecat), which can be used as client or server and it uses Alexey's noisesocket implementation.

Thanks, Gerardo

On May 15, 2018, at 7:40 AM, Nemanja Mijailovic <metalnem at mijailovic.net<mailto:metalnem at mijailovic.net>> wrote:

Great, thanks! I’ve implemented a little interop example for the Accept case with C# client and Go server. You can find it here:

https://github.com/Metalnem/noisesocket/tree/master/NoiseSocket.Interop<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMetalnem%2Fnoisesocket%2Ftree%2Fmaster%2FNoiseSocket.Interop&data=02%7C01%7C%7C74da56eb6736445dd5e808d5ba71d728%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636619920453671736&sdata=OiEWjgfPxvAKxQd8UncQi%2FVspveueylkap1T0sZ3Bqk%3D&reserved=0>

You need to have both Go and .NET Core SDK installed to run it (latest .NET Core SDK is available here https://www.microsoft.com/net/download/dotnet-core/sdk-2.1.300-rc1<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.microsoft.com%2Fnet%2Fdownload%2Fdotnet-core%2Fsdk-2.1.300-rc1&data=02%7C01%7C%7C74da56eb6736445dd5e808d5ba71d728%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636619920453671736&sdata=l0OLXLRB%2Few%2BKeyDrbaDdg2v9gsyQYitQFlhaZZaU%2Bk%3D&reserved=0>). Here is how to run it after cloning the NoiseSocket.NET<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2FNoiseSocket.NET&data=02%7C01%7C%7C74da56eb6736445dd5e808d5ba71d728%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636619920453671736&sdata=N05DhhwVndorOvkiosciiXuMS2qIV23qyCWrTm%2BiM4U%3D&reserved=0> repo:

cd NoiseSocket.Interop
go get -u gopkg.in/noisesocket.v0<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgopkg.in%2Fnoisesocket.v0&data=02%7C01%7C%7C74da56eb6736445dd5e808d5ba71d728%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636619920453671736&sdata=NwpRQDW%2FY8neKT9qlh5w1Q7c6o8n4WWLPtwvWsx9aO0%3D&reserved=0>
go run main.go
dotnet run

Nemanja

On May 15, 2018, at 7:22 AM, Alexey Ermishkin <scratch.net at gmail.com<mailto:scratch.net at gmail.com>> wrote:

I’ve added zero padding to handshake payloads, so the compatibility should be restored. I also slowly start to implement latest features to catch up with you guys.

From: Noise <noise-bounces at moderncrypto.org<mailto:noise-bounces at moderncrypto.org>> On Behalf Of Nemanja Mijailovic
Sent: Sunday, May 13, 2018 10:27 PM
To: noise <noise at moderncrypto.org<mailto:noise at moderncrypto.org>>
Subject: [noise] NoiseSocket.NET<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2FNoiseSocket.NET&data=02%7C01%7C%7C74da56eb6736445dd5e808d5ba71d728%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636619920453671736&sdata=N05DhhwVndorOvkiosciiXuMS2qIV23qyCWrTm%2BiM4U%3D&reserved=0>

Hi all!

I've published a .NET implementation of the latest draft revision of the NoiseSocket protocol. It supports Accept/Switch/Retry/Reject, and all Noise primitives from Noise.NET<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fnoise.net%2F&data=02%7C01%7C%7C74da56eb6736445dd5e808d5ba71d728%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636619920453671736&sdata=aE2WGv8%2FvJZg8R2HYtV%2BnUNOMQgy3nyZTaYAtPKu5D4%3D&reserved=0>. I've also updated Noise.NET<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fnoise.net%2F&data=02%7C01%7C%7C74da56eb6736445dd5e808d5ba71d728%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636619920453671736&sdata=aE2WGv8%2FvJZg8R2HYtV%2BnUNOMQgy3nyZTaYAtPKu5D4%3D&reserved=0> with support for XXfallback protocol, which means NoiseSocket.NET<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fnoisesocket.net%2F&data=02%7C01%7C%7C74da56eb6736445dd5e808d5ba71d728%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636619920453671736&sdata=NGo2hrnDfLvXyaITqj60uyNX7HrAHhuZydck4Jje30c%3D&reserved=0> also supports it.

The library is currently not compatible with Noise Socket Go, mostly because Noise Socket Go currently doesn't add the length prefix to the encrypted payload in handshake messages.

You can find the source code and examples for Accept/Switch/Retry here:
https://github.com/Metalnem/noisesocket<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMetalnem%2Fnoisesocket&data=02%7C01%7C%7C74da56eb6736445dd5e808d5ba71d728%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636619920453671736&sdata=ChGSluPmrk22b7lEDLuZk0SImuCOiCa2V5iOS3KeOaE%3D&reserved=0>

The downloadable package:
https://www.nuget.org/packages/NoiseSocket.NET<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.nuget.org%2Fpackages%2FNoiseSocket.NET&data=02%7C01%7C%7C74da56eb6736445dd5e808d5ba71d728%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636619920453671736&sdata=AzZghwQ0L73MEhcHOZfDAfK5NRlu8NrGrVQd5C%2B56UQ%3D&reserved=0>

API docs:
https://metalnem.github.io/noisesocket/api/Noise.NoiseSocket.html<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmetalnem.github.io%2Fnoisesocket%2Fapi%2FNoise.NoiseSocket.html&data=02%7C01%7C%7C74da56eb6736445dd5e808d5ba71d728%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636619920453671736&sdata=WQn5uJRG9JDPfzjXpRNgw8xIniMry2Qtx1IujRP8zdc%3D&reserved=0>

Nemanja

_______________________________________________
Noise mailing list
Noise at moderncrypto.org<mailto:Noise at moderncrypto.org>
https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmoderncrypto.org%2Fmailman%2Flistinfo%2Fnoise&data=02%7C01%7C%7C74da56eb6736445dd5e808d5ba71d728%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636619920453827989&sdata=56QfZbtZIHXqQZCv0%2Fd3VJBeaUD8QVVbqztD10%2BfVtQ%3D&reserved=0

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://moderncrypto.org/mail-archive/noise/attachments/20180515/3f03fee6/attachment.html>


More information about the Noise mailing list