<div dir="ltr">Hi,
<div><br></div><div>Currently, kernel.MixKey is used first for a name and preshared key, and then after for all DH calculation results. Simultaneously, kernel.MixHash is used to bind static public keys and handshake payload contents to the session.</div><div><br></div><div>Simple question: why can't we just replace all calls to kernel.MixHash with kernel.MixKey? It seems like this would simplify things quite a bit.</div><div><br></div><div>Jason</div><div><br></div><div><div><br></div><div>[PS: It would also add another layer of "hiding": in handshakes that use a pre-descriptor of "s", and then transmit an unencrypted "e", under the proposed replacement, "e" would now be encrypted with "s", which in some limited circumstances <i>may not be known to an adversary</i>, so "e" becomes as non-public as "s" is non-public. I don't know if this is a real security property that cryptographers care about, but it looks shiny on first glance.]</div></div></div>