[noise] Another go implementation

Jonathan Rudenberg jonathan at titanous.com
Fri Jul 11 23:22:23 PDT 2014

On Jul 11, 2014, at 3:51 PM, Stephen Touset <stephen at squareup.com> wrote:

> I was working on this before I heard someone else had worked on an implementation. Mine supports opening and closing boxes, and also begins to implement pipes. I have basic syn/ack (for lack of a better term) support for boxes sent through pipes, but I haven't yet written the code to allow sending only bodies. That should come in short order.
> I'd love to see if the two existing implementations interoperate successfully!
>         https://github.com/stouset/go.noise

I started implementing a compatibility test for our implementations and ran into the following initial issues:

1) You don’t appear to be setting the default cv=zeros[CV_LEN], so the ‘extra’ argument to the first KDF is zero-length instead of 48 null bytes.

2) It looks like the t[0:32] bytes in your KDF are not that of the previous iteration.

3) I think what you are calling the ‘peerEphemeralKey’ is the recvr_pubkey. My understanding is that this is actually the long-term public key of the peer.

Trevor, please correct me if you see any inaccuracies in my reading of the spec.


More information about the Noise mailing list