[noise] New revision: "noh2" branch, revision 3
Trevor Perrin
trevp at trevp.net
Tue Sep 1 01:38:56 PDT 2015
https://github.com/trevp/noise/blob/noh2/noise.md
Based partly on discussions with Tiffany and Jason, I moved the type /
length fields out of the core protocol into a section on "Application
Responsibilities".
I'm changing my mind on this partly because it enables other
simplifications - since the Session object is no longer responsible
for framing transport messages it now only has a role in the
Handshake, so I renamed it to HandshakeState and use the kernel
directly for transport messages (renaming the kernel to CipherState).
But I think this is a sensible division in other ways - e.g. the
framing data isn't cryptographically important, so it's better to keep
the "trusted base" of crypto code as simple as possible.
Note this isn't "substantive" - doesn't affect bytes on wire. But I
also simplified naming for handshakes and protocols, which does
substantively affect Noise Pipes.
Other presentation changes:
- Added "Application Responsibilities" section to discuss framing,
termination, extensions, padding
- Changed Session object to a HandshakeState and Kernel to a
CipherState - after the Handshake the CipherState is used directly to
encrypt, instead of keeping the Session around
- More renaming: DH functions / cipherset -> DH parameters, cipher
parameters, EncryptHandshakeData -> ConditionalEncryptAndMixHash
- Rewrote overview
Trevor
More information about the Noise
mailing list