API Reference Noise Protocol v#0.3.0
View SourceModules
Elixir implementation of the Noise Protocol Framework (revision 34).
A CipherState (spec §5.1): a 32-byte key k and a 64-bit nonce n.
Behaviour for AEAD cipher functions (spec §4.2).
AES-256-GCM cipher (spec §12.4): 96-bit big-endian nonce, 16-byte tag appended.
ChaCha20-Poly1305 cipher (spec §12.3): 96-bit little-endian nonce, 16-byte tag appended.
Behaviour for Diffie-Hellman functions (spec §4.1).
secp256k1 Diffie-Hellman, via the optional lib_secp256k1 dependency.
X25519 Diffie-Hellman (spec §12.1), via OTP :crypto.
X448 Diffie-Hellman (spec §12.2), via OTP :crypto.
Behaviour for hash functions (spec §4.3).
BLAKE2b Hash implementation.
BLAKE2s Hash implementation.
SHA-256 Hash implementation.
SHA-512 Hash implementation.
A HandshakeState (spec §5.3): the symmetric state plus the local and
remote key material and the message patterns still to process.
A handshake pattern (spec §7): pre-messages and message token sequences.
A parsed Noise protocol name (spec §8): handshake pattern plus the DH, cipher and hash functions it names, resolved to implementation modules.
A SymmetricState (spec §5.2): chaining key ck, handshake hash h and
an embedded Noise.CipherState.