[noise] New draft: "noh2" branch

Trevor Perrin trevp at trevp.net
Tue Aug 25 01:23:01 PDT 2015


https://github.com/trevp/noise/blob/noh2/noise.md


I think the "noh" branch was too abstract and confusing, so I've been
simplifying in the "noh2" branch.  I'm happy with how this is coming,
but please give feedback.  Otherwise I'll merge it in a week or two.


Aside from clarifications and restructuring, substantive changes:

 * Simplified the "branching" notion from "noh" into a "re-initialize" notion.

 * Simplified end-of-stream handling to reduce crypto cost and
information leak (there's a byte indicator inside the encryption).

 * Simplified mixing of pre-shared key.

 * Simplified naming

 * Eliminated "Conventions" - either absorbed them into main protocol
or discarded.

 * Eliminated "Padding" and "Handshake extensions" - I assume
application protocols will provide their own parsing layer of JSON or
Protobufs or whatever, so the "end-to-end argument" suggests we
shouldn't replicate this in the crypto layer.

 * Defined "Box" and "Pipe" protocols as the mainstream options.  Use
"dummy statics" for optional authentication and support a 0-RTT mode
for pipes.


Trevor


More information about the Noise mailing list