disco
disco copied to clipboard
a protocol to encrypt communications and a cryptographic library based on Disco
https://github.com/mimoo/disco/blob/master/libdisco/disco.go#L85
I think I made many mistakes when designing the www.discocrypto.com webpage: * too much jargon on the landing page * too many keys to understand Ideally: * **get to the...
`Split()` clones the Strobe state and creates two different Strobe state at the end of the handshake. At this point they are differentiated and one is used for the client...
We don't check in [checkRequirements](https://github.com/mimoo/disco/blob/master/libdisco/apis.go#L86) or elsewhere that handshake patterns have the correct keys set during initialization. Probably this should be done when calling `Initialize` on the `handshakeState`? For example...
should `MixKeyAndHash` set `isKeyed` in the spec (and implementation)?
In the spec, `GetHandshakeHash` is quite different from the one in the Noise spec: 1. it changes the state 2. it will give out a different result depending when it...
Disco should really shine with embedded devices, and there it should make sense to use keccak-f[400] instead of keccak-f[1600] (which we currently use). The Strobe version also doesn't include what...
Disco could benefit from an `NN` pattern that enforces verification of a fingerprint post-handshake in order to "unlock" the session.
It would be interesting to see if Tamarin or ProVerif could be used to prove this design :)