ausimian
Decibel - An Elixir implementation of the Noise Protocol Framework
Decibel is an Elixir implementation of the Noise Protocol Framework.
Noise is a framework for building crypto protocols. Noise protocols support mutual and optional authentication, identity hiding, forward secrecy, zero round-trip encryption, and other advanced features.
Decibel supports all the handshakes listed in r34 of the specification, including fundamental, deferred and one-way handshakes. In addition it has support for fallback protocols and multiple pre-shared symmetric keys.
It’s test-suite includes the cacophony and snow test vectors, totalling over 1300 tests.
It’s currently at 0.1.0, but at this point I don’t anticipate any breaking api changes, rather just improvements to documentation before going to 1.0.0.
Most Liked
ausimian
Decibel 0.2.0 has been released.
This release was mainly focused on proving support for Compound Protocols, in particular Noise Pipes:
- AEAD decryption failures raise
Decibel.DecryptionErrorrather thanRuntimeError. - Additional test-cases for fallback protocols, using vectors from noise-c
- Improved documentation around Noise Pipes including examples
- Improved documentation around Connectionless Transports
ausimian
Once the handshake is complete and the session established, it absolutely can tolerate missing messages.
Providing every packet contains the nonce value alongside the encrypted data, the recipient reads both, and sets the nonce before decrypting.







