Home - noiseprotocol/noise_spec GitHub Wiki

Introduction

Noise is a pair of crypto protocols:

  • Noise boxes protect stand-alone messages (similar to PGP, NaCl, etc.)
  • Noise pipes protect interactive sessions (similar to SSL, SSH, CurveCP, etc.)

Noise pipes are built from Noise boxes for easy implementation.

Noise offers a simple and efficient cryptographic core which can be used in different applications.

Table of Contents

IPR

The Noise specification (this wiki) is hereby placed in the public domain.

Acknowledgements

Noise is inspired by the NaCl and CurveCP protocols from Dan Bernstein et al., and also by HOMQV from Hugo Krawzcyk.

Moxie Marlinspike and Christian Winnerlein assisted in designing the key derivation process. The Noise KDF has some similarity with HKDF from Hugo Krawzcyk, who also provided some feedback.

Additional feedback on spec and pseudocode came from: Jonathan Rudenberg.

Jeremy Clark, Thomas Ristenpart, and Joe Bonneau gave feedback on earlier versions.

⚠️ **GitHub.com Fallback** ⚠️