[noise] [Noise] Go implementation

Jonathan Rudenberg jonathan at titanous.com
Sun Jul 6 09:38:11 PDT 2014


Yep, forgot to cc the list.

I noticed a similar line on the Pipes page:

cc_client, cc_server = KDF(cv_h2, zeros[CV_LEN], SUITE_NAME || 6, CC_LEN * 2)

that could be changed to

cc_client || cc_server …

Jonathan

On Jul 6, 2014, at 12:13 AM, Trevor Perrin <trevp at trevp.net> wrote:

> Hi Jonathan,
> 
> I tweaked the KDF description, your updated code runs for me, I'll
> look through it a little more.  Did you mean to send your previous
> message to the list, btw?
> 
> Trevor
> 
> 
> On Sat, Jul 5, 2014 at 12:33 AM, Jonathan Rudenberg
> <jonathan at titanous.com> wrote:
>> On Jul 4, 2014, at 11:52 PM, Trevor Perrin <trevp at trevp.net> wrote:
>> 
>>> It looks like you interpreted this line as returning a single cipher
>>> context (cc), whereas it was intended to return a cipher context *and*
>>> a chaining variable (cv):
>>> 
>>> cv1, cc1 = KDF(dh1, cv, SUITE_NAME || kdf_num, CV_LEN + CC_LEN)
>> 
>> Yep, it looks like I got confused about the difference between the chaining variable and the cipher context.
>> 
>> I believe this change fixes it: https://github.com/titanous/noise/commit/0706221ff8c0ffbd852d77987d4fe5e977584beb
>> 
>>> 
>>> Maybe that would be clearer if written like:
>>> 
>>> cv1 || cc1 = KDF(dh1, cv, SUITE_NAME || kdf_num, CV_LEN + CC_LEN)
>> 
>> Yes, that would be clearer. I think the root of my confusion was that KDF only returns one parameter.
>> 
>> Jonathan



More information about the Noise mailing list