<div dir="auto">Yes its all very clear. I like the new detail in 7.3 about validity its much better. However I just noticed there are two section 7.3 now!<div dir="auto"><br></div><div dir="auto">Justin</div><div dir="auto"><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, 2 Jul 2018, 15:48 Trevor Perrin, <<a href="mailto:trevp@trevp.net">trevp@trevp.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Fixed, thanks.<br>
<br>
I hope the handling of ss makes sense to you, and I didn't break<br>
anything when editing the pattern derivation rules?<br>
<br>
Trevor<br>
<br>
<br>
On Mon, Jul 2, 2018 at 8:53 AM, Justin Cormack<br>
<<a href="mailto:justin@specialbusservice.com" target="_blank" rel="noreferrer">justin@specialbusservice.com</a>> wrote:<br>
> You missed a correction I sent before:<br>
><br>
> In the identity hiding table, in 7.7, IK1 sends the initiators public<br>
> key in the clear, should be a 0 in first column.<br>
><br>
> Justin<br>
><br>
><br>
> On 2 July 2018 at 05:19, Trevor Perrin <<a href="mailto:trevp@trevp.net" target="_blank" rel="noreferrer">trevp@trevp.net</a>> wrote:<br>
>> Hi all,<br>
>><br>
>> I made significant changes to the rev34 draft.  Would appreciate<br>
>> review, if this looks good to other people I'm hoping to publish at<br>
>> end of this week:<br>
>><br>
>> <a href="https://github.com/noiseprotocol/noise_spec/blob/rev34/" rel="noreferrer noreferrer" target="_blank">https://github.com/noiseprotocol/noise_spec/blob/rev34/</a><br>
>> <a href="https://github.com/noiseprotocol/noise_spec/blob/rev34/output/noise.pdf" rel="noreferrer noreferrer" target="_blank">https://github.com/noiseprotocol/noise_spec/blob/rev34/output/noise.pdf</a><br>
>><br>
>> CHANGES:<br>
>><br>
>>  (1) New security considerations for key reuse, making clear that<br>
>> Noise static keys and PSKs shouldn't be used with non-Noise protocols,<br>
>> or with different hash algorithms.<br>
>><br>
>> Early uses of Noise were simple and hardcoded, but now that we're<br>
>> contemplating negotiation (in NLS) and people are looking at more<br>
>> complex scenarios, key reuse is going to be more tempting.<br>
>><br>
>> So we should clearly discourage this (though it's possible to do it<br>
>> safely in some cases with careful analysis, so it's hard to completely<br>
>> prohibit).  This was also motivated by Karthik and others discussing<br>
>> PSK reuse in TLS, recently, which made me realize Noise also needed to<br>
>> be more careful.<br>
>><br>
>><br>
>>  (2) Left the deferred patterns as they were (did not add "ss" to K1K<br>
>> and I1K as had been discussed with Justin).  The reason is that adding<br>
>> "ss" in these cases would create invalid patterns:<br>
>><br>
>> K1K:<br>
>>     -> s<br>
>>     <- s<br>
>>     ...<br>
>>     -> e, es[, ss]<br>
>>     <- e, ee<br>
>>     -> se<br>
>><br>
>> I1K:<br>
>>     <- s<br>
>>     ...<br>
>>     -> e, es, s[, ss]<br>
>>     <- e, ee<br>
>>     -> se<br>
>><br>
>><br>
>> In these cases, the responder would be encrypting data after ss but<br>
>> without se, which runs afoul of our complicated final validity rule.<br>
>><br>
>> The validity rule makes sense here because an invalid initiator<br>
>> ephemeral might cause the ee value to be fixed (e.g. zeros for<br>
>> X25519), so we need to incorporate the se to randomize the encryption.<br>
>> Also, if we care about authenticating the initiator (by doing ss),<br>
>> then we should care about doing it well (by doing se).<br>
>><br>
>><br>
>>  (3) Clarified the aforementioned complicated validity rule in 7.3.<br>
>> Hopefully it's easier to understand what it means and why it's<br>
>> necessary, now.<br>
>><br>
>><br>
>>  (4) Added Justin's pattern derivation rules in an appendix (I edited<br>
>> the text, and adjusted per above, but the logic is largely the same).<br>
>><br>
>><br>
>>  (5) Added Nadim's proposed validity rule to disallow redundant DH operations.<br>
>><br>
>><br>
>> Trevor<br>
>> _______________________________________________<br>
>> Noise mailing list<br>
>> <a href="mailto:Noise@moderncrypto.org" target="_blank" rel="noreferrer">Noise@moderncrypto.org</a><br>
>> <a href="https://moderncrypto.org/mailman/listinfo/noise" rel="noreferrer noreferrer" target="_blank">https://moderncrypto.org/mailman/listinfo/noise</a><br>
</blockquote></div>