[noise] Noise Explorer: Generate Software Implementations

dawuud 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
> Patterns.
> 
> 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
> implementations.
> •    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
> PublicKey.
> 
> 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
> devices.
> 
> 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
> https://moderncrypto.org/mailman/listinfo/noise



More information about the Noise mailing list