[noise] Noise Explorer: Generate Software Implementations
dawuud at riseup.net
Mon Apr 8 10:08:19 PDT 2019
Cool! I'm very glad to hear there is a noise protocol rust code generator.
But really, I want to use XX with some PQ KEM in HFS mode.
Currently Katzenpost uses Noise_XXhfs_25519+NewHopeSimple_ChaChaPoly_Blake2b.
On Mon, Apr 08, 2019 at 03:02:26PM +0300, Georgio Nicholas wrote:
> Hello everyone,
> Under Nadim’s mentorship, I have assisted in enabling Noise Explorer to
> generate Rust software implementations for arbitrary Noise Handshake
> In addition to Noise Explorer’s existing support for generating Go
> implementations, anyone can now generate enhanced implementations in Rust
> that provide the following guarantees, in addition to Rust’s memory safety
> and performance features:
> • Memory safe, functionally correct, and secret independent Curve25519
> and ChaCha20Poly1305 operations by using FFI bindings to HACL* reference
> • All Hash, Key, Message, and Nonce objects are now constrained to their
> appropriate sizes as defined in the specification.
> • Clearing operations for Key and Hash objects are strictly
> unoptimizable by LLVM and overwrite data with zeros.
> • Nonce objects can only be incremented after successful
> encryption/decryption and their constructor/destructor functions are called
> exclusively and simultaneously with those of a wrapping CipherState.
> • Ephemeral Keys are cleared immediately after use in an
> encryption/decryption operation.
> • Operations are executed in constant time.
> • Keypairs cannot hold anything other than one PrivateKey and one
> We are also planning to support targeting WebAssembly from the generated
> Rust code, as well as no_std which would allow us to compile for embedded
> You can try out Noise Explorer’s code generation features directly via the
> web application: https://noiseexplorer.com
> You can also run Noise Explorer locally by downloading the command-line
> tool: https://github.com/symbolicsoft/noiseexplorer
> We welcome your feedback on this and hope to contribute more soon!
> Georgio Nicolas
> *Symbolic Software • https://symbolic.software <https://symbolic.software/>*
> Noise mailing list
> Noise at moderncrypto.org
More information about the Noise