[noise] Another go implementation

Trevor Perrin trevp at trevp.net
Fri Jul 11 23:50:07 PDT 2014


On Fri, Jul 11, 2014 at 11:22 PM, Jonathan Rudenberg
<jonathan at titanous.com> wrote:
>
> 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.

I haven't looked at Stephen's code yet, but that sounds right.

>
> 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.

This is different in boxes vs pipes - in pipes, the ephemeral keys of
the peer are targeted.

Trevor


More information about the Noise mailing list