[noise] Disco objects (was Re: spectemplate / spectools)

Trevor Perrin trevp at trevp.net
Tue Nov 14 14:53:41 PST 2017

On Tue, Nov 14, 2017 at 10:13 AM, David Wong <davidwong.crypto at gmail.com> wrote:
>> I like the direction, but need to think more on StrobeState and
>> DiscoSecureChannel.

I guess "DiscoSecureChannel" doesn't update its StrobeState?  That's
could be clearer.

Not sure about the different handling for out-of-order vs in-order
protocols.  Could you not just use the out-of-order approach always,
since it's the most general and works for everything?

The relationship between SymmetricState / CipherState and your objects
(StrobeState, DiscoSecureChannel) is somewhat confusing.  E.g., I
guess StrobeState functions as either an internal object to a modified
SymmetricState, or as a CipherState equivalent, but it doesn't
re-implement all the CipherState functions (e.g. to understand how
transport encryption works I have to read the text in Section 4).

If possible, it would seem better to have something like:
 * A single "DiscoSymmetricState" that re-implements all the
SymmetricState functions
 * A single "DiscoCipherState" that re-implements all the CipherState functions


More information about the Noise mailing list