[noise] Potential redesign?
Trevor Perrin
trevp at trevp.net
Thu Mar 19 01:03:05 PDT 2015
On Wed, Mar 18, 2015 at 9:10 PM, Watson Ladd <watsonbladd at gmail.com> wrote:
> On Mon, Mar 16, 2015 at 5:51 PM, Trevor Perrin <trevp at trevp.net> wrote:
[...]
>>
>> https://github.com/trevp/noise/blob/noise2/noise.md
>>
>>
> <snip>
>
> This seems to kick the protocol design and assurance question down the
> road,
Not really - we'd specify a bunch of prefab protocols the (e.g. the
Box** and Handshake** I proposed), give good explanations of their
properties, and hopefully get some proofs for them.
I imagine that libraries would provide these, and we'd steer people
towards them.
> while adding a lot of complexity (parser+interpreter) to an
> implementation. Of course, there are other ways to implement
> (source-to-source transformations, etc) but they are all very complex.
I'm also imagining that libraries should be able to handle arbitrary
descriptors for users who need a protocol we didn't anticipate or
think was important enough. But I don't think it's that complicated.
There's basically 3 tokens here (add my static key to message;
generate and add an ephemeral key; do a DH between some keys and mix
into PRF chain). The descriptor is just a very simple config string,
not network input. It doesn't even need to be parsing, it could be:
message = Message(session)
message.e()
message.dhee()
message.dhes()
send(message)
...
> On the plus side, there are some similar ideas for DSLs for the
> implementation of crypto protocols on top of primitives kicking
> around: I don't recall offhand a specific reference.
I'd like to see those references, if you can find them.
Trevor
More information about the Noise
mailing list