<div dir="ltr"><div><br></div><div>Hi all,<br></div><div><br></div><div>I created a draft of revision 33 with clarifications we've discussed.  No substantive changes, but there are new rules for names which will be important in future.</div><div><br></div><div>If I get some feedback we can hopefully publish by end of month, then quickly follow it with a revision 34 that reorganizes a bit for readability (in particular: move tables to an appendix).</div><div><br></div><div><a href="https://github.com/noiseprotocol/noise_spec/compare/rev33">https://github.com/noiseprotocol/noise_spec/compare/rev33</a></div><div><a href="https://github.com/noiseprotocol/noise_spec/blob/rev33/output/noise.pdf">https://github.com/noiseprotocol/noise_spec/blob/rev33/output/noise.pdf</a></div><div><br></div><div><br></div><div>CHANGES:</div><div><br></div><div> * Rewrote the section on protocol names and modifiers based on list discussion:</div><div>   - pattern modifiers as "BASEmod1+mod2+mod3", alphabetical if order doesn't matter</div><div>   - multiple crypto algorithms as "alg1+alg2+alg3"</div><div>   - crypto algorithm names alphanumeric plus "/" (e.g. "SHA3/256").</div><div><br></div><div>(I also started a Wiki page with names for experimental crypto algorithms, to help experimenters:</div><div><a href="https://github.com/noiseprotocol/noise_wiki/wiki/Unofficial-crypto-algorithms-list">https://github.com/noiseprotocol/noise_wiki/wiki/Unofficial-crypto-algorithms-list</a></div><div>)</div><div><br></div><div> * Added "out-of-order" transport messages as an advanced feature, and added CipherState.SetNonce(nonce) so it's explicit that things like WireGuard are supported, and that re-implementations of CipherState should support nonce-based AEAD.</div><div><br></div><div> * Added "half-duplex protocols" as advanced feature (reusing a single CipherState for both transport directions).</div><div><br></div><div> * Clarified error-handling in ReadMessage() and WriteMessage().</div><div><br></div><div> * Added a discussion of authenticating static public keys to Security Considerations.</div><div><br></div><div> * Fixed a few typos.</div><div><br></div><div>Trevor</div><div><br></div></div>