<div dir="ltr"><div><div><div>New Hope [1] seems to be the latest "it" PQ scheme, with Google investigating adding it to TLS.  So I did a little digging and experimenting.<br><br></div>New Hope only supports ephemeral keys, so the only handshake pattern it can work with is "NN", but that would be sufficient to run a "Noise_NN_NewHope" handshake inside a regular "Noise_XX_25519" handshake.  The two could be combined by generating a resumption PSK on the "Noise_NN_NewHope" handshake and passing it as an SSK to the regular handshake's Split() call.<br><br></div>I've put the details on the method on the wiki [2], and have modified Noise-C [3] to include "NewHope" as a new Diffie-Hellman algorithm to demonstrate the concept.<br><br></div>There are some wrinkles to supporting New Hope that are different than regular DH schemes due to its "unbalanced" nature but it ended up being easier to integrate than I had first thought.<br><div><div><br></div><div>Cheers,<br><br></div><div>Rhys.<br></div><div><br>[1] <a href="https://eprint.iacr.org/2015/1092">https://eprint.iacr.org/2015/1092</a><br>[2] <a href="https://github.com/noiseprotocol/noise_wiki/wiki/Post-Quantum-Noise-with-New-Hope">https://github.com/noiseprotocol/noise_wiki/wiki/Post-Quantum-Noise-with-New-Hope</a><br>[3] <a href="https://github.com/rweather/noise-c">https://github.com/rweather/noise-c</a><br><br></div></div></div>